{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/foundation-sites/dist/js/plugins/foundation.util.keyboard.js","webpack:///./node_modules/foundation-sites/dist/js/plugins/foundation.util.nest.js","webpack:///./node_modules/foundation-sites/dist/js/plugins/foundation.core.js","webpack:///./node_modules/foundation-sites/dist/js/plugins/foundation.responsiveToggle.js","webpack:///./node_modules/foundation-sites/dist/js/plugins/foundation.util.motion.js","webpack:///./node_modules/foundation-sites/dist/js/plugins/foundation.util.touch.js","webpack:///./assets/scripts/components/foundation.js","webpack:///./assets/scripts/components/shades.js","webpack:///./node_modules/foundation-sites/dist/js/plugins/foundation.util.box.js","webpack:///./node_modules/foundation-sites/dist/js/foundation.esm.js","webpack:///./node_modules/foundation-sites/js/foundation.core.utils.js","webpack:///./node_modules/foundation-sites/js/foundation.core.plugin.js","webpack:///./node_modules/foundation-sites/js/foundation.util.keyboard.js","webpack:///./node_modules/foundation-sites/js/foundation.util.mediaQuery.js","webpack:///./node_modules/foundation-sites/js/foundation.util.motion.js","webpack:///./node_modules/foundation-sites/js/foundation.util.triggers.js","webpack:///./node_modules/foundation-sites/js/foundation.util.touch.js","webpack:///./node_modules/foundation-sites/js/foundation.reveal.js","webpack:///./assets/scripts/main.js","webpack:///./node_modules/foundation-sites/dist/js/plugins/foundation.dropdownMenu.js","webpack:///./node_modules/foundation-sites/dist/js/plugins/foundation.util.mediaQuery.js","webpack:///external \"jQuery\""],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","r","value","n","__esModule","object","property","prototype","hasOwnProperty","p","s","factory","window","__WEBPACK_EXTERNAL_MODULE__foundation_core__","__WEBPACK_EXTERNAL_MODULE_jquery__","Symbol","toStringTag","t","mode","ns","create","key","bind","__webpack_exports__","_foundation_core__WEBPACK_IMPORTED_MODULE_0__","_foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__","Keyboard","jquery__WEBPACK_IMPORTED_MODULE_0__","jquery__WEBPACK_IMPORTED_MODULE_0___default","_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__","keyCodes","9","13","27","32","35","36","37","38","39","40","commands","findFocusable","$element","find","filter","this","is","attr","parseKey","event","which","keyCode","String","fromCharCode","toUpperCase","replace","shiftKey","concat","ctrlKey","altKey","keys","kcs","k","kc","getKeyCodes","handleKey","component","functions","fn","commandList","console","warn","zfIsKeyHandled","ltr","a","extend","rtl","returnValue","apply","handled","unhandled","register","componentName","cmds","trapFocus","$focusable","$firstFocusable","eq","$lastFocusable","on","target","preventDefault","focus","releaseFocus","off","23","_foundation_util_nest__WEBPACK_IMPORTED_MODULE_1__","Nest","Feather","menu","type","arguments","length","undefined","items","subMenuClass","subItemClass","hasSubClass","applyAria","each","$item","$sub","children","addClass","text","parent","Burn","removeClass","removeAttr","css","26","_foundation_core__WEBPACK_IMPORTED_MODULE_1__","_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_2__","_foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__","addToJquery","Plugin","GetYoDigits","transitionend","RegExpEscape","onLoad","Foundation","_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_2__","_typeof","obj","iterator","constructor","version","_plugins","_uuids","plugin","_plugin","className","functionName","attrName","hyphenate","registerPlugin","pluginName","toLowerCase","uuid","data","trigger","push","unregisterPlugin","prop","splice","indexOf","removeData","reInit","plugins","isJQ","_init","_this","plgs","forEach","foundation","err","error","reflow","elem","addBack","$el","opts","split","option","_index","str","opt","map","el","trim","isNaN","parseFloat","er","getFnName","$","method","$noJS","TypeError","args","Array","slice","plugClass","ReferenceError","Function","results","exec","toString","util","throttle","func","delay","timer","context","setTimeout","Date","now","getTime","vendors","requestAnimationFrame","vp","cancelAnimationFrame","test","navigator","userAgent","lastTime","callback","nextTime","Math","max","clearTimeout","performance","start","oThis","aArgs","fToBind","fNOP","fBound","_defineProperties","props","descriptor","writable","element","options","instance","Constructor","_classCallCheck","_setup","getPluginName","protoProps","staticProps","_destroy","ignoreMousedisappear","namespace","chars","charsLength","floor","random","$elem","end","transitions","document","createElement","transition","style","triggerHandler","handler","didLoad","readyState","eventType","cb","one","_ref","_ref$ignoreLeaveWindo","ignoreLeaveWindow","_ref$ignoreReappear","ignoreReappear","eLeave","_len","rest","_key","relatedTarget","hasFocus","eReenter","currentTarget","has","MediaQuery","_slicedToArray","arr","isArray","_arrayWithHoles","_arr","_n","_d","_e","_s","_i","next","done","_iterableToArrayLimit","_nonIterableRest","matchMedia","styleMedia","media","info","script","getElementsByTagName","id","parentNode","insertBefore","head","appendChild","getComputedStyle","currentStyle","matchMedium","styleSheet","cssText","textContent","width","matches","queries","current","isInitialized","appendTo","namedQueries","extractedStyles","styleObject","reduce","ret","param","parts","val","decodeURIComponent","_getCurrentSize","_watcher","_reInit","atLeast","size","query","only","upTo","nextSize","_parts","bpSize","_parts$","bpModifier","Error","queryIndex","findIndex","q","_getQueryName","nextQuery","matched","_this2","newSize","currentSize","0","__WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__","__WEBPACK_EXTERNAL_MODULE__foundation_util_motion__","_foundation_responsiveToggle__WEBPACK_IMPORTED_MODULE_1__","ResponsiveToggle","_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_1__","_foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__","_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_3__","_possibleConstructorReturn","self","_assertThisInitialized","_getPrototypeOf","setPrototypeOf","getPrototypeOf","__proto__","_setPrototypeOf","_Plugin","subClass","superClass","_inherits","defaults","_events","targetID","$targetMenu","$toggler","animate","input","animationIn","animationOut","_update","_updateMqHandler","toggleMenu","hideFor","hide","show","animateIn","animateOut","toggle","_foundation_util_motion__WEBPACK_IMPORTED_MODULE_1__","Motion","Move","initClasses","activeClasses","animation","duration","anim","prog","move","ts","isIn","initClass","activeClass","reset","offsetWidth","transitionDuration","25","_foundation_util_touch__WEBPACK_IMPORTED_MODULE_1__","_foundation_core__WEBPACK_IMPORTED_MODULE_2__","init","Touch","startPosX","startTime","elapsedTime","startEvent","isMoving","didMoved","onTouchEnd","e","removeEventListener","onTouchMove","tapEvent","Event","spotSwipe","dir","x","touches","pageX","dx","pageY","abs","moveThreshold","timeThreshold","assign","onTouchStart","addEventListener","SpotSwipe","enabled","documentElement","special","swipe","setup","tap","noop","setupSpotSwipe","setupTouchHandler","addTouch","handleTouch","simulatedEvent","first","changedTouches","touchstart","touchmove","touchend","MouseEvent","screenX","screenY","clientX","clientY","createEvent","initMouseEvent","dispatchEvent","28","jQuery","settings","copyWithHashtag","intToHex","rgbint","number","pad","min","round","rgbShade","rgb","red","green","blue","rgbTint","calculate","colorValue","shadeOrTint","color","parseInt","substr","hexToRGB","shadeValues","calculateTints","makeTableRowColors","colors","displayType","tableRow","createTintsAndShades","firstTime","colorValues","colorValuesArray","parsedColorsArray","match","item","newItem","acc","it","colorDisplayRows","tableRowCounter","calculatedShades","calculatedTints","colorDisplayTable","join","html","location","hash","scrollTop","offset","top","blur","stop","ready","submit","colorCells","checked","cell","colorCode","keypress","click","_foundation_util_box__WEBPACK_IMPORTED_MODULE_1__","Box","ImNotTouchingYou","lrOnly","tbOnly","ignoreBottom","OverlapArea","GetDimensions","GetExplicitOffsets","anchor","position","alignment","vOffset","hOffset","isOverflow","topVal","leftVal","$eleDims","$anchorDims","height","left","topOver","bottomOver","leftOver","rightOver","eleDims","parDims","windowDims","sqrt","rect","getBoundingClientRect","parRect","winRect","body","winY","pageYOffset","winX","pageXOffset","parentDims","21","_createClass","_get","receiver","Reflect","base","_superPropBase","desc","getOwnPropertyDescriptor","parseStyleToObject","parseValue","onImagesLoaded","images","unloaded","singleImageLoaded","complete","naturalWidth","image","Image","events","me","src","Timer","nameSpace","remain","isPaused","restart","infinite","pause","MutationObserver","prefixes","Triggers","Listeners","Basic","Global","Initializers","debounceGlobalListener","debounce","listener","openListener","closeListener","toggleListener","closeableListener","stopPropagation","fadeOut","toggleFocusListener","addOpenListener","addCloseListener","addToggleListener","addCloseableListener","addToggleFocusListener","resizeListener","$nodes","scrollListener","closeMeListener","pluginId","not","addClosemeListener","yetiBoxes","plugNames","listeners","addResizeListener","addScrollListener","addMutationEventsListener","listeningElementsMutation","mutationRecordsList","$target","attributeName","closest","observe","attributes","childList","characterData","subtree","attributeFilter","addSimpleListeners","$document","addGlobalListeners","triggersInitialized","IHearYou","Abide","isEnabled","formnovalidate","$inputs","merge","$submits","$globalErrors","a11yAttributes","addA11yAttributes","addGlobalErrorA11yAttributes","_this3","resetForm","validateForm","getAttribute","validateOn","validateInput","liveValidate","validateOnBlur","isGood","failedValidators","_this4","$error","siblings","formErrorSelector","add","v","$label","$els","_this5","labels","_this6","findLabel","$formError","findFormError","labelErrorClass","formErrorClass","inputErrorClass","$errors","$labels","errorId","elemId","label","a11yErrorLevel","groupName","findRadioLabels","$formErrors","findCheckboxLabels","removeRadioErrorClasses","removeCheckboxErrorClasses","_this7","clearRequire","requiredCheck","validator","manageErrorClasses","_validationIsDisabled","validateRadio","validateCheckbox","validateText","required","validators","equalTo","goodToGo","message","dependentElements","removeErrorClasses","addErrorClasses","checkboxGroupName","_this8","initialized","noError","pattern","inputText","valid","patterns","RegExp","$group","_this9","minRequired","_this10","$form","alpha","alpha_numeric","integer","card","cvv","email","url","domain","datetime","date","time","dateISO","month_day_year","day_month_year","website","Accordion","_isInitializing","$tabs","idx","$content","linkId","$initActive","_initialAnchor","prev","_openSingleTab","_checkDeepLink","$anchor","$link","hasClass","_closeAllTabs","deepLinkSmudge","deepLinkSmudgeOffset","deepLinkSmudgeDelay","deepLink","$tabContent","$a","multiExpand","previous","up","down","updateHistory","history","pushState","replaceState","_openTab","$targetItem","$othersItems","allowAllClosed","_closeTab","$activeContents","targetContentId","finish","slideDown","slideSpeed","slideUp","$activeTabs","AccordionMenu","multiOpen","$menuLinks","subId","isActive","parentLink","clone","prependTo","wrap","submenuToggle","after","submenuToggleText","initPanes","$submenu","$prevElement","$nextElement","$elements","parents","open","close","closeAll","hideAll","$targetBranch","parentsUntil","$othersActiveSubmenus","$submenus","$allmenus","detach","remove","Drilldown","autoApplyClass","$submenuAnchors","$menuItems","$currentMenu","_prepareMenu","_registerEvents","_keyboardEvents","$menu","backButtonPosition","append","backButton","prepend","_back","autoHeight","$wrapper","wrapper","animateHeight","_getMaxDims","_show","closeOnClick","$body","contains","_hideAll","_bindHandler","_scrollTop","_resize","$scrollTopElement","scrollTopElement","scrollPos","scrollTopOffset","animationDuration","animationEasing","_hide","calcHeight","parentSubMenu","autoFocus","index","_setHideSubMenuClasses","isLastChild","_setShowSubMenuClasses","maxHeight","result","unwrap","POSITIONS","VERTICAL_ALIGNMENTS","HORIZONTAL_ALIGNMENTS","ALIGNMENTS","nextItem","array","currentIdx","Positionable","triedPositions","_getDefaultPosition","_getDefaultAlignment","originalPosition","originalAlignment","_alignmentsExhausted","_realign","_addTriedPosition","isExhausted","$parent","allowOverlap","_getVOffset","_getHOffset","minOverlap","minCoordinates","_positionsExhausted","overlap","allowBottomOverlap","_reposition","_Positionable","Dropdown","$id","$anchors","_setCurrentAnchor","parentClass","$currentAnchor","horizontalPosition","hasTouch","ontouchstart","_setPosition","forceFollow","hover","bodyData","whatinput","timeout","hoverDelay","hoverPane","_addBodyHandler","DropdownMenu","subs","verticalClass","rightClass","changed","parClass","clickOpen","hasSub","hasClicked","stopImmediatePropagation","closeOnClickInside","disableHover","autoclose","closingTime","isTab","nextSibling","prevSibling","openSub","closeSub","_isVertical","_isRtl","_removeBodyHandler","$sibs","clear","oldClass","$parentLi","$toClose","$activeItem","Equalizer","eqId","$watched","hasNested","isNested","isOn","onResizeMeBound","_onResizeMe","onPostEqualizedBound","_onPostEqualized","tooSmall","imgs","equalizeOn","_checkMQ","_reflow","_pauseEvents","equalizeOnStack","_isStacked","equalizeByRow","getHeightsByRow","applyHeightByRow","getHeights","applyHeight","heights","len","offsetHeight","lastElTopOffset","groups","group","elOffsetTop","j","ln","groupsILength","lenJ","Interchange","rules","currentPath","_parseOptions","_addBreakpoints","_generateRules","rule","path","log","SPECIAL_QUERIES","rulesList","nodeName","response","SmoothScroll","_linkClickListener","_handleLinkClick","arrival","_inTransition","scrollToLoc","loc","$loc","threshold","Magellan","calcPoints","$targets","$links","$active","points","winHeight","innerHeight","clientHeight","docHeight","scrollHeight","$tar","pt","targetPoint","deepLinking","_updateActive","onLoadListener","_deepLinkScroll","activeIdx","newScrollPos","isScrollingUp","visibleLinks","$oldActive","activeHash","isNewActive","isNewHash","pathname","search","OffCanvas","contentClasses","reveal","$lastTrigger","$triggers","nested","$sticky","isInCanvas","contentId","contentOverlay","overlay","overlayPosition","setAttribute","$overlay","insertAfter","revealOnClass","revealClass","isRevealed","revealOn","_setMQChecker","transitionTime","contentScroll","inCanvasFor","inCanvasOn","_checkInCanvas","_removeContentClasses","_handleKeyboard","hasReveal","_","absoluteTopVal","stickyData","_addContentClasses","allowUp","allowDown","lastY","originalEvent","hasAttribute","forceTo","scrollTo","_stopScrolling","_recordScrollable","_stopScrollPropagation","canvasFocus","_fixStickyElements","_unfixStickyElements","Orbit","_reset","containerClass","$slides","slideClass","$images","initActive","useMUI","_prepareForOrbit","bullets","_loadBullets","autoPlay","geoSync","accessible","$bullets","boxOfBullets","timerDelay","changeSlide","_setWrapperHeight","temp","counter","pauseOnHover","navButtons","nextClass","prevClass","$slide","_updateBullets","isLTR","chosenSlide","$curSlide","$newSlide","$firstSlide","$lastSlide","last","dirIn","dirOut","infiniteWrap","$oldBullet","$othersBullets","$newBullet","activeStateDescriptor","spans","toArray","b","every","count","animInFromRight","animOutToRight","animInFromLeft","animOutToLeft","MenuPlugins","dropdown","cssClass","drilldown","accordion","ResponsiveMenu","currentMq","currentPlugin","rulesTree","ruleSize","rulePlugin","isEmptyObject","_checkMediaQueries","matchedMq","destroy","Reveal","cached","mq","fullScreen","_makeOverlay","additionalOverlayClasses","outerWidth","outerHeight","margin","_updatePosition","_handleState","$activeAnchor","activeElement","multipleOpened","_disableScroll","focusableElements","_addGlobalClasses","showDelay","_addGlobalListeners","updateScrollbarClass","toggleClass","closeOnEsc","finishUp","_removeGlobalClasses","_enableScroll","hideDelay","resetOnClose","urlWithoutHash","title","Slider","inputs","handles","$handle","$input","$fill","vertical","disabled","disabledClass","binding","_setInitAttr","doubleSided","$handle2","$input2","setHandles","_setHandlePos","pctOfBar","percent","positionValueFunction","_logTransform","_powTransform","toFixed","baseLog","nonLinearBase","pow","$hndl","isDbl","h2Val","step","h1Val","vert","hOrW","lOrT","handleDim","elemDim","_pctOfBar","movement","decimal","_setValues","dim","isLeftHndl","handlePct","handlePos","initialStart","moveTime","changedDelay","initVal","initialEnd","_adjustValue","direction","eventOffset","barDim","windowScroll","scrollLeft","elemOffset","barXY","eventFromBar","offsetPct","_value","absPosition","prev_val","div","_eventsForHandle","curHandle","handleChangeEvent","_handleEvent","clickSelect","draggable","newValue","_$handle","oldValue","decrease","increase","decrease_fast","increase_fast","frac","num","clickPos","invertVertical","Sticky","$container","wasWrapped","container","stickyClass","scrollCount","checkEvery","isStuck","containerHeight","elemHeight","_parsePoints","_setSizes","scroll","_calc","_removeSticky","topPoint","reverse","pts","topAnchor","btmAnchor","breaks","place","canStick","_eventsHandler","_pauseListeners","checkSizes","bottomPoint","_setSticky","stickTo","mrgn","notStuckTo","isTop","stickToTop","anchorPt","anchorHeight","topOrBottom","stickyOn","newElemWidth","comp","pdngl","pdngr","dynamicHeight","newContainerHeight","_setBreakPoints","mTop","emCalc","marginTop","mBtm","marginBottom","bottom","em","fontSize","Tabs","$tabTitles","linkClass","linkActiveClass","matchHeight","_setHeight","anchorNoHash","selectTab","_collapse","_addKeyHandler","_addClickHandler","_setHeightMqHandler","_handleTabChange","wrapOnKeys","historyHandled","activeCollapse","$oldTab","$tabLink","$targetContent","_collapseTab","panelActiveClass","$target_anchor","$activeTab","idStr","hashIdStr","panelClass","panel","Toggler","toggler","$trigger","controls","_updateARIA","Tooltip","isClick","tipText","template","_buildTemplate","allowHtml","triggerClass","elementClassName","SVGElement","baseVal","tooltipWidth","tooltipHeight","templateClasses","tooltipClass","showOn","fadeIn","fadeInDuration","fadeOutDuration","isFocus","disableForTouch","touchCloseText","MenuPlugins$1","tabs","ResponsiveAccordionTabs","storezfData","currentRule","_getAllOptions","allOptions","dummyPlugin","tmpPlugin","keyKey","objObj","_changedZfMediaQueryHandler","_handleMarkup","toSet","fromString","$panels","tabsTitle","tabsPanel","$liHeads","$liHeadsA","display","visibility","$tabsContent","$placeholder","tempValue","_target","_this$currentRule","_this$currentRule2","_this$currentRule3","require","Sortable","list","handle","add_button","jscolor","html2canvas","querySelector","then","canvas","dataURL","toDataURL","href","download","ClipboardJS","classList","clearSelection","__WEBPACK_EXTERNAL_MODULE__foundation_util_box__","__WEBPACK_EXTERNAL_MODULE__foundation_util_keyboard__","__WEBPACK_EXTERNAL_MODULE__foundation_util_nest__","__WEBPACK_EXTERNAL_MODULE__foundation_util_touch__","_foundation_dropdownMenu__WEBPACK_IMPORTED_MODULE_1__","_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_1__","_foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_2__","_foundation_util_nest__WEBPACK_IMPORTED_MODULE_3__","_foundation_util_box__WEBPACK_IMPORTED_MODULE_4__","_foundation_util_touch__WEBPACK_IMPORTED_MODULE_5__","5","24"],"mappings":"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","file":"/scripts/main.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/app/themes/seekcolors/dist/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.util.keyboard\"] = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.keyboard\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE_jquery__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 23);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"./foundation.core\":\n/*!****************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"} ***!\n \\****************************************************************************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;\n\n/***/ }),\n\n/***/ \"./js/entries/plugins/foundation.util.keyboard.js\":\n/*!********************************************************!*\\\n !*** ./js/entries/plugins/foundation.util.keyboard.js ***!\n \\********************************************************/\n/*! exports provided: Foundation, Keyboard */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _foundation_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./foundation.core */ \"./foundation.core\");\n/* harmony import */ var _foundation_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_foundation_core__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Foundation\", function() { return _foundation_core__WEBPACK_IMPORTED_MODULE_0__[\"Foundation\"]; });\n\n/* harmony import */ var _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../foundation.util.keyboard */ \"./js/foundation.util.keyboard.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Keyboard\", function() { return _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__[\"Keyboard\"]; });\n\n\n\n_foundation_core__WEBPACK_IMPORTED_MODULE_0__[\"Foundation\"].Keyboard = _foundation_util_keyboard__WEBPACK_IMPORTED_MODULE_1__[\"Keyboard\"];\n\n\n/***/ }),\n\n/***/ \"./js/foundation.util.keyboard.js\":\n/*!****************************************!*\\\n !*** ./js/foundation.util.keyboard.js ***!\n \\****************************************/\n/*! exports provided: Keyboard */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Keyboard\", function() { return Keyboard; });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.core.utils */ \"./foundation.core\");\n/* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__);\n/*******************************************\n * *\n * This util was created by Marius Olbertz *\n * Please thank Marius on GitHub /owlbertz *\n * or the web http://www.mariusolbertz.de/ *\n * *\n ******************************************/\n\n\n\n\nvar keyCodes = {\n 9: 'TAB',\n 13: 'ENTER',\n 27: 'ESCAPE',\n 32: 'SPACE',\n 35: 'END',\n 36: 'HOME',\n 37: 'ARROW_LEFT',\n 38: 'ARROW_UP',\n 39: 'ARROW_RIGHT',\n 40: 'ARROW_DOWN'\n};\nvar commands = {}; // Functions pulled out to be referenceable from internals\n\nfunction findFocusable($element) {\n if (!$element) {\n return false;\n }\n\n return $element.find('a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable]').filter(function () {\n if (!jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).is(':visible') || jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).attr('tabindex') < 0) {\n return false;\n } //only have visible elements and those that have a tabindex greater or equal 0\n\n\n return true;\n });\n}\n\nfunction parseKey(event) {\n var key = keyCodes[event.which || event.keyCode] || String.fromCharCode(event.which).toUpperCase(); // Remove un-printable characters, e.g. for `fromCharCode` calls for CTRL only events\n\n key = key.replace(/\\W+/, '');\n if (event.shiftKey) key = \"SHIFT_\".concat(key);\n if (event.ctrlKey) key = \"CTRL_\".concat(key);\n if (event.altKey) key = \"ALT_\".concat(key); // Remove trailing underscore, in case only modifiers were used (e.g. only `CTRL_ALT`)\n\n key = key.replace(/_$/, '');\n return key;\n}\n\nvar Keyboard = {\n keys: getKeyCodes(keyCodes),\n\n /**\n * Parses the (keyboard) event and returns a String that represents its key\n * Can be used like Foundation.parseKey(event) === Foundation.keys.SPACE\n * @param {Event} event - the event generated by the event handler\n * @return String key - String that represents the key pressed\n */\n parseKey: parseKey,\n\n /**\n * Handles the given (keyboard) event\n * @param {Event} event - the event generated by the event handler\n * @param {String} component - Foundation component's name, e.g. Slider or Reveal\n * @param {Objects} functions - collection of functions that are to be executed\n */\n handleKey: function handleKey(event, component, functions) {\n var commandList = commands[component],\n keyCode = this.parseKey(event),\n cmds,\n command,\n fn;\n if (!commandList) return console.warn('Component not defined!'); // Ignore the event if it was already handled\n\n if (event.zfIsKeyHandled === true) return; // This component does not differentiate between ltr and rtl\n\n if (typeof commandList.ltr === 'undefined') {\n cmds = commandList; // use plain list\n } else {\n // merge ltr and rtl: if document is rtl, rtl overwrites ltr and vice versa\n if (Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__[\"rtl\"])()) cmds = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, commandList.ltr, commandList.rtl);else cmds = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, commandList.rtl, commandList.ltr);\n }\n\n command = cmds[keyCode];\n fn = functions[command]; // Execute the handler if found\n\n if (fn && typeof fn === 'function') {\n var returnValue = fn.apply(); // Mark the event as \"handled\" to prevent future handlings\n\n event.zfIsKeyHandled = true; // Execute function when event was handled\n\n if (functions.handled || typeof functions.handled === 'function') {\n functions.handled(returnValue);\n }\n } else {\n // Execute function when event was not handled\n if (functions.unhandled || typeof functions.unhandled === 'function') {\n functions.unhandled();\n }\n }\n },\n\n /**\n * Finds all focusable elements within the given `$element`\n * @param {jQuery} $element - jQuery object to search within\n * @return {jQuery} $focusable - all focusable elements within `$element`\n */\n findFocusable: findFocusable,\n\n /**\n * Returns the component name name\n * @param {Object} component - Foundation component, e.g. Slider or Reveal\n * @return String componentName\n */\n register: function register(componentName, cmds) {\n commands[componentName] = cmds;\n },\n // TODO9438: These references to Keyboard need to not require global. Will 'this' work in this context?\n //\n\n /**\n * Traps the focus in the given element.\n * @param {jQuery} $element jQuery object to trap the foucs into.\n */\n trapFocus: function trapFocus($element) {\n var $focusable = findFocusable($element),\n $firstFocusable = $focusable.eq(0),\n $lastFocusable = $focusable.eq(-1);\n $element.on('keydown.zf.trapfocus', function (event) {\n if (event.target === $lastFocusable[0] && parseKey(event) === 'TAB') {\n event.preventDefault();\n $firstFocusable.focus();\n } else if (event.target === $firstFocusable[0] && parseKey(event) === 'SHIFT_TAB') {\n event.preventDefault();\n $lastFocusable.focus();\n }\n });\n },\n\n /**\n * Releases the trapped focus from the given element.\n * @param {jQuery} $element jQuery object to release the focus for.\n */\n releaseFocus: function releaseFocus($element) {\n $element.off('keydown.zf.trapfocus');\n }\n};\n/*\n * Constants for easier comparing.\n * Can be used like Foundation.parseKey(event) === Foundation.keys.SPACE\n */\n\nfunction getKeyCodes(kcs) {\n var k = {};\n\n for (var kc in kcs) {\n k[kcs[kc]] = kcs[kc];\n }\n\n return k;\n}\n\n\n\n/***/ }),\n\n/***/ 23:\n/*!**************************************************************!*\\\n !*** multi ./js/entries/plugins/foundation.util.keyboard.js ***!\n \\**************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(/*! /Users/joeworkman/Development/foundation-sites/js/entries/plugins/foundation.util.keyboard.js */\"./js/entries/plugins/foundation.util.keyboard.js\");\n\n\n/***/ }),\n\n/***/ \"jquery\":\n/*!********************************************************************************************!*\\\n !*** external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"} ***!\n \\********************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;\n\n/***/ })\n\n/******/ });\n});\n//# sourceMappingURL=foundation.util.keyboard.js.map","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.util.nest\"] = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.nest\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE_jquery__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 26);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"./foundation.core\":\n/*!****************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"} ***!\n \\****************************************************************************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;\n\n/***/ }),\n\n/***/ \"./js/entries/plugins/foundation.util.nest.js\":\n/*!****************************************************!*\\\n !*** ./js/entries/plugins/foundation.util.nest.js ***!\n \\****************************************************/\n/*! exports provided: Foundation, Nest */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _foundation_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./foundation.core */ \"./foundation.core\");\n/* harmony import */ var _foundation_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_foundation_core__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Foundation\", function() { return _foundation_core__WEBPACK_IMPORTED_MODULE_0__[\"Foundation\"]; });\n\n/* harmony import */ var _foundation_util_nest__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../foundation.util.nest */ \"./js/foundation.util.nest.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Nest\", function() { return _foundation_util_nest__WEBPACK_IMPORTED_MODULE_1__[\"Nest\"]; });\n\n\n\n_foundation_core__WEBPACK_IMPORTED_MODULE_0__[\"Foundation\"].Nest = _foundation_util_nest__WEBPACK_IMPORTED_MODULE_1__[\"Nest\"];\n\n\n/***/ }),\n\n/***/ \"./js/foundation.util.nest.js\":\n/*!************************************!*\\\n !*** ./js/foundation.util.nest.js ***!\n \\************************************/\n/*! exports provided: Nest */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Nest\", function() { return Nest; });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n\n\n\nvar Nest = {\n Feather: function Feather(menu) {\n var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'zf';\n menu.attr('role', 'menubar');\n menu.find('a').attr({\n 'role': 'menuitem'\n });\n var items = menu.find('li').attr({\n 'role': 'none'\n }),\n subMenuClass = \"is-\".concat(type, \"-submenu\"),\n subItemClass = \"\".concat(subMenuClass, \"-item\"),\n hasSubClass = \"is-\".concat(type, \"-submenu-parent\"),\n applyAria = type !== 'accordion'; // Accordions handle their own ARIA attriutes.\n\n items.each(function () {\n var $item = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this),\n $sub = $item.children('ul');\n\n if ($sub.length) {\n $item.addClass(hasSubClass);\n\n if (applyAria) {\n $item.attr({\n 'aria-haspopup': true,\n 'aria-label': $item.children('a:first').text()\n }); // Note: Drilldowns behave differently in how they hide, and so need\n // additional attributes. We should look if this possibly over-generalized\n // utility (Nest) is appropriate when we rework menus in 6.4\n\n if (type === 'drilldown') {\n $item.attr({\n 'aria-expanded': false\n });\n }\n }\n\n $sub.addClass(\"submenu \".concat(subMenuClass)).attr({\n 'data-submenu': '',\n 'role': 'menubar'\n });\n\n if (type === 'drilldown') {\n $sub.attr({\n 'aria-hidden': true\n });\n }\n }\n\n if ($item.parent('[data-submenu]').length) {\n $item.addClass(\"is-submenu-item \".concat(subItemClass));\n }\n });\n return;\n },\n Burn: function Burn(menu, type) {\n var //items = menu.find('li'),\n subMenuClass = \"is-\".concat(type, \"-submenu\"),\n subItemClass = \"\".concat(subMenuClass, \"-item\"),\n hasSubClass = \"is-\".concat(type, \"-submenu-parent\");\n menu.find('>li, > li > ul, .menu, .menu > li, [data-submenu] > li').removeClass(\"\".concat(subMenuClass, \" \").concat(subItemClass, \" \").concat(hasSubClass, \" is-submenu-item submenu is-active\")).removeAttr('data-submenu').css('display', '');\n }\n};\n\n\n/***/ }),\n\n/***/ 26:\n/*!**********************************************************!*\\\n !*** multi ./js/entries/plugins/foundation.util.nest.js ***!\n \\**********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(/*! /Users/joeworkman/Development/foundation-sites/js/entries/plugins/foundation.util.nest.js */\"./js/entries/plugins/foundation.util.nest.js\");\n\n\n/***/ }),\n\n/***/ \"jquery\":\n/*!********************************************************************************************!*\\\n !*** external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"} ***!\n \\********************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;\n\n/***/ })\n\n/******/ });\n});\n//# sourceMappingURL=foundation.util.nest.js.map","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.core\"] = factory(require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"] = factory(root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE_jquery__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 0);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"./js/entries/plugins/foundation.core.js\":\n/*!***********************************************!*\\\n !*** ./js/entries/plugins/foundation.core.js ***!\n \\***********************************************/\n/*! exports provided: Foundation, Plugin, rtl, GetYoDigits, RegExpEscape, transitionend, onLoad, ignoreMousedisappear */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _foundation_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../foundation.core */ \"./js/foundation.core.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Foundation\", function() { return _foundation_core__WEBPACK_IMPORTED_MODULE_1__[\"Foundation\"]; });\n\n/* harmony import */ var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../foundation.core.plugin */ \"./js/foundation.core.plugin.js\");\n/* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../foundation.core.utils */ \"./js/foundation.core.utils.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Plugin\", function() { return _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_2__[\"Plugin\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"rtl\", function() { return _foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__[\"rtl\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"GetYoDigits\", function() { return _foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__[\"GetYoDigits\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"RegExpEscape\", function() { return _foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__[\"RegExpEscape\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"transitionend\", function() { return _foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__[\"transitionend\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"onLoad\", function() { return _foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__[\"onLoad\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ignoreMousedisappear\", function() { return _foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__[\"ignoreMousedisappear\"]; });\n\n// --- Foundation Core API ---\n// Initialize Foundation and add some utilities to its public API for backward compatibility.\n// Please note that every utility do not have to be added to the core API.\n\n\n\n\n_foundation_core__WEBPACK_IMPORTED_MODULE_1__[\"Foundation\"].addToJquery(jquery__WEBPACK_IMPORTED_MODULE_0___default.a); // Every plugin depends on plugin now, we can include that on the core for the\n// script inclusion path.\n\n_foundation_core__WEBPACK_IMPORTED_MODULE_1__[\"Foundation\"].Plugin = _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_2__[\"Plugin\"]; // These are now separated out, but historically were a part of this module,\n// and since this is here for backwards compatibility we include them in\n// this entry.\n\n_foundation_core__WEBPACK_IMPORTED_MODULE_1__[\"Foundation\"].rtl = _foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__[\"rtl\"];\n_foundation_core__WEBPACK_IMPORTED_MODULE_1__[\"Foundation\"].GetYoDigits = _foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__[\"GetYoDigits\"];\n_foundation_core__WEBPACK_IMPORTED_MODULE_1__[\"Foundation\"].transitionend = _foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__[\"transitionend\"];\n_foundation_core__WEBPACK_IMPORTED_MODULE_1__[\"Foundation\"].RegExpEscape = _foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__[\"RegExpEscape\"];\n_foundation_core__WEBPACK_IMPORTED_MODULE_1__[\"Foundation\"].onLoad = _foundation_core_utils__WEBPACK_IMPORTED_MODULE_3__[\"onLoad\"];\nwindow.Foundation = _foundation_core__WEBPACK_IMPORTED_MODULE_1__[\"Foundation\"]; // --- Foundation Core exports ---\n// Export \"Plugin\" and all core utilities, since the `foundation.core` entry plays the role of\n// all core source files.\n\n\n\n\n\n/***/ }),\n\n/***/ \"./js/foundation.core.js\":\n/*!*******************************!*\\\n !*** ./js/foundation.core.js ***!\n \\*******************************/\n/*! exports provided: Foundation */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Foundation\", function() { return Foundation; });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.core.utils */ \"./js/foundation.core.utils.js\");\n/* harmony import */ var _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation.util.mediaQuery */ \"./js/foundation.util.mediaQuery.js\");\n\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n\n\n\nvar FOUNDATION_VERSION = '6.6.3'; // Global Foundation object\n// This is attached to the window, or used as a module for AMD/Browserify\n\nvar Foundation = {\n version: FOUNDATION_VERSION,\n\n /**\n * Stores initialized plugins.\n */\n _plugins: {},\n\n /**\n * Stores generated unique ids for plugin instances\n */\n _uuids: [],\n\n /**\n * Defines a Foundation plugin, adding it to the `Foundation` namespace and the list of plugins to initialize when reflowing.\n * @param {Object} plugin - The constructor of the plugin.\n */\n plugin: function plugin(_plugin, name) {\n // Object key to use when adding to global Foundation object\n // Examples: Foundation.Reveal, Foundation.OffCanvas\n var className = name || functionName(_plugin); // Object key to use when storing the plugin, also used to create the identifying data attribute for the plugin\n // Examples: data-reveal, data-off-canvas\n\n var attrName = hyphenate(className); // Add to the Foundation object and the plugins list (for reflowing)\n\n this._plugins[attrName] = this[className] = _plugin;\n },\n\n /**\n * @function\n * Populates the _uuids array with pointers to each individual plugin instance.\n * Adds the `zfPlugin` data-attribute to programmatically created plugins to allow use of $(selector).foundation(method) calls.\n * Also fires the initialization event for each plugin, consolidating repetitive code.\n * @param {Object} plugin - an instance of a plugin, usually `this` in context.\n * @param {String} name - the name of the plugin, passed as a camelCased string.\n * @fires Plugin#init\n */\n registerPlugin: function registerPlugin(plugin, name) {\n var pluginName = name ? hyphenate(name) : functionName(plugin.constructor).toLowerCase();\n plugin.uuid = Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__[\"GetYoDigits\"])(6, pluginName);\n\n if (!plugin.$element.attr(\"data-\".concat(pluginName))) {\n plugin.$element.attr(\"data-\".concat(pluginName), plugin.uuid);\n }\n\n if (!plugin.$element.data('zfPlugin')) {\n plugin.$element.data('zfPlugin', plugin);\n }\n /**\n * Fires when the plugin has initialized.\n * @event Plugin#init\n */\n\n\n plugin.$element.trigger(\"init.zf.\".concat(pluginName));\n\n this._uuids.push(plugin.uuid);\n\n return;\n },\n\n /**\n * @function\n * Removes the plugins uuid from the _uuids array.\n * Removes the zfPlugin data attribute, as well as the data-plugin-name attribute.\n * Also fires the destroyed event for the plugin, consolidating repetitive code.\n * @param {Object} plugin - an instance of a plugin, usually `this` in context.\n * @fires Plugin#destroyed\n */\n unregisterPlugin: function unregisterPlugin(plugin) {\n var pluginName = hyphenate(functionName(plugin.$element.data('zfPlugin').constructor));\n\n this._uuids.splice(this._uuids.indexOf(plugin.uuid), 1);\n\n plugin.$element.removeAttr(\"data-\".concat(pluginName)).removeData('zfPlugin')\n /**\n * Fires when the plugin has been destroyed.\n * @event Plugin#destroyed\n */\n .trigger(\"destroyed.zf.\".concat(pluginName));\n\n for (var prop in plugin) {\n plugin[prop] = null; //clean up script to prep for garbage collection.\n }\n\n return;\n },\n\n /**\n * @function\n * Causes one or more active plugins to re-initialize, resetting event listeners, recalculating positions, etc.\n * @param {String} plugins - optional string of an individual plugin key, attained by calling `$(element).data('pluginName')`, or string of a plugin class i.e. `'dropdown'`\n * @default If no argument is passed, reflow all currently active plugins.\n */\n reInit: function reInit(plugins) {\n var isJQ = plugins instanceof jquery__WEBPACK_IMPORTED_MODULE_0___default.a;\n\n try {\n if (isJQ) {\n plugins.each(function () {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('zfPlugin')._init();\n });\n } else {\n var type = _typeof(plugins),\n _this = this,\n fns = {\n 'object': function object(plgs) {\n plgs.forEach(function (p) {\n p = hyphenate(p);\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-' + p + ']').foundation('_init');\n });\n },\n 'string': function string() {\n plugins = hyphenate(plugins);\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-' + plugins + ']').foundation('_init');\n },\n 'undefined': function undefined() {\n this['object'](Object.keys(_this._plugins));\n }\n };\n\n fns[type](plugins);\n }\n } catch (err) {\n console.error(err);\n } finally {\n return plugins;\n }\n },\n\n /**\n * Initialize plugins on any elements within `elem` (and `elem` itself) that aren't already initialized.\n * @param {Object} elem - jQuery object containing the element to check inside. Also checks the element itself, unless it's the `document` object.\n * @param {String|Array} plugins - A list of plugins to initialize. Leave this out to initialize everything.\n */\n reflow: function reflow(elem, plugins) {\n // If plugins is undefined, just grab everything\n if (typeof plugins === 'undefined') {\n plugins = Object.keys(this._plugins);\n } // If plugins is a string, convert it to an array with one item\n else if (typeof plugins === 'string') {\n plugins = [plugins];\n }\n\n var _this = this; // Iterate through each plugin\n\n\n jquery__WEBPACK_IMPORTED_MODULE_0___default.a.each(plugins, function (i, name) {\n // Get the current plugin\n var plugin = _this._plugins[name]; // Localize the search to all elements inside elem, as well as elem itself, unless elem === document\n\n var $elem = jquery__WEBPACK_IMPORTED_MODULE_0___default()(elem).find('[data-' + name + ']').addBack('[data-' + name + ']').filter(function () {\n return typeof jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data(\"zfPlugin\") === 'undefined';\n }); // For each plugin found, initialize it\n\n $elem.each(function () {\n var $el = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this),\n opts = {\n reflow: true\n };\n\n if ($el.attr('data-options')) {\n $el.attr('data-options').split(';').forEach(function (option, _index) {\n var opt = option.split(':').map(function (el) {\n return el.trim();\n });\n if (opt[0]) opts[opt[0]] = parseValue(opt[1]);\n });\n }\n\n try {\n $el.data('zfPlugin', new plugin(jquery__WEBPACK_IMPORTED_MODULE_0___default()(this), opts));\n } catch (er) {\n console.error(er);\n } finally {\n return;\n }\n });\n });\n },\n getFnName: functionName,\n addToJquery: function addToJquery($) {\n // TODO: consider not making this a jQuery function\n // TODO: need way to reflow vs. re-initialize\n\n /**\n * The Foundation jQuery method.\n * @param {String|Array} method - An action to perform on the current jQuery object.\n */\n var foundation = function foundation(method) {\n var type = _typeof(method),\n $noJS = $('.no-js');\n\n if ($noJS.length) {\n $noJS.removeClass('no-js');\n }\n\n if (type === 'undefined') {\n //needs to initialize the Foundation object, or an individual plugin.\n _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_2__[\"MediaQuery\"]._init();\n\n Foundation.reflow(this);\n } else if (type === 'string') {\n //an individual method to invoke on a plugin or group of plugins\n var args = Array.prototype.slice.call(arguments, 1); //collect all the arguments, if necessary\n\n var plugClass = this.data('zfPlugin'); //determine the class of plugin\n\n if (typeof plugClass !== 'undefined' && typeof plugClass[method] !== 'undefined') {\n //make sure both the class and method exist\n if (this.length === 1) {\n //if there's only one, call it directly.\n plugClass[method].apply(plugClass, args);\n } else {\n this.each(function (i, el) {\n //otherwise loop through the jQuery collection and invoke the method on each\n plugClass[method].apply($(el).data('zfPlugin'), args);\n });\n }\n } else {\n //error for no class or no method\n throw new ReferenceError(\"We're sorry, '\" + method + \"' is not an available method for \" + (plugClass ? functionName(plugClass) : 'this element') + '.');\n }\n } else {\n //error for invalid argument type\n throw new TypeError(\"We're sorry, \".concat(type, \" is not a valid parameter. You must use a string representing the method you wish to invoke.\"));\n }\n\n return this;\n };\n\n $.fn.foundation = foundation;\n return $;\n }\n};\nFoundation.util = {\n /**\n * Function for applying a debounce effect to a function call.\n * @function\n * @param {Function} func - Function to be called at end of timeout.\n * @param {Number} delay - Time in ms to delay the call of `func`.\n * @returns function\n */\n throttle: function throttle(func, delay) {\n var timer = null;\n return function () {\n var context = this,\n args = arguments;\n\n if (timer === null) {\n timer = setTimeout(function () {\n func.apply(context, args);\n timer = null;\n }, delay);\n }\n };\n }\n};\nwindow.Foundation = Foundation; // Polyfill for requestAnimationFrame\n\n(function () {\n if (!Date.now || !window.Date.now) window.Date.now = Date.now = function () {\n return new Date().getTime();\n };\n var vendors = ['webkit', 'moz'];\n\n for (var i = 0; i < vendors.length && !window.requestAnimationFrame; ++i) {\n var vp = vendors[i];\n window.requestAnimationFrame = window[vp + 'RequestAnimationFrame'];\n window.cancelAnimationFrame = window[vp + 'CancelAnimationFrame'] || window[vp + 'CancelRequestAnimationFrame'];\n }\n\n if (/iP(ad|hone|od).*OS 6/.test(window.navigator.userAgent) || !window.requestAnimationFrame || !window.cancelAnimationFrame) {\n var lastTime = 0;\n\n window.requestAnimationFrame = function (callback) {\n var now = Date.now();\n var nextTime = Math.max(lastTime + 16, now);\n return setTimeout(function () {\n callback(lastTime = nextTime);\n }, nextTime - now);\n };\n\n window.cancelAnimationFrame = clearTimeout;\n }\n /**\n * Polyfill for performance.now, required by rAF\n */\n\n\n if (!window.performance || !window.performance.now) {\n window.performance = {\n start: Date.now(),\n now: function now() {\n return Date.now() - this.start;\n }\n };\n }\n})();\n\nif (!Function.prototype.bind) {\n Function.prototype.bind = function (oThis) {\n if (typeof this !== 'function') {\n // closest thing possible to the ECMAScript 5\n // internal IsCallable function\n throw new TypeError('Function.prototype.bind - what is trying to be bound is not callable');\n }\n\n var aArgs = Array.prototype.slice.call(arguments, 1),\n fToBind = this,\n fNOP = function fNOP() {},\n fBound = function fBound() {\n return fToBind.apply(this instanceof fNOP ? this : oThis, aArgs.concat(Array.prototype.slice.call(arguments)));\n };\n\n if (this.prototype) {\n // native functions don't have a prototype\n fNOP.prototype = this.prototype;\n }\n\n fBound.prototype = new fNOP();\n return fBound;\n };\n} // Polyfill to get the name of a function in IE9\n\n\nfunction functionName(fn) {\n if (typeof Function.prototype.name === 'undefined') {\n var funcNameRegex = /function\\s([^(]{1,})\\(/;\n var results = funcNameRegex.exec(fn.toString());\n return results && results.length > 1 ? results[1].trim() : \"\";\n } else if (typeof fn.prototype === 'undefined') {\n return fn.constructor.name;\n } else {\n return fn.prototype.constructor.name;\n }\n}\n\nfunction parseValue(str) {\n if ('true' === str) return true;else if ('false' === str) return false;else if (!isNaN(str * 1)) return parseFloat(str);\n return str;\n} // Convert PascalCase to kebab-case\n// Thank you: http://stackoverflow.com/a/8955580\n\n\nfunction hyphenate(str) {\n return str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n}\n\n\n\n/***/ }),\n\n/***/ \"./js/foundation.core.plugin.js\":\n/*!**************************************!*\\\n !*** ./js/foundation.core.plugin.js ***!\n \\**************************************/\n/*! exports provided: Plugin */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Plugin\", function() { return Plugin; });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.core.utils */ \"./js/foundation.core.utils.js\");\n\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n\n // Abstract class for providing lifecycle hooks. Expect plugins to define AT LEAST\n// {function} _setup (replaces previous constructor),\n// {function} _destroy (replaces previous destroy)\n\nvar Plugin =\n/*#__PURE__*/\nfunction () {\n function Plugin(element, options) {\n _classCallCheck(this, Plugin);\n\n this._setup(element, options);\n\n var pluginName = getPluginName(this);\n this.uuid = Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__[\"GetYoDigits\"])(6, pluginName);\n\n if (!this.$element.attr(\"data-\".concat(pluginName))) {\n this.$element.attr(\"data-\".concat(pluginName), this.uuid);\n }\n\n if (!this.$element.data('zfPlugin')) {\n this.$element.data('zfPlugin', this);\n }\n /**\n * Fires when the plugin has initialized.\n * @event Plugin#init\n */\n\n\n this.$element.trigger(\"init.zf.\".concat(pluginName));\n }\n\n _createClass(Plugin, [{\n key: \"destroy\",\n value: function destroy() {\n this._destroy();\n\n var pluginName = getPluginName(this);\n this.$element.removeAttr(\"data-\".concat(pluginName)).removeData('zfPlugin')\n /**\n * Fires when the plugin has been destroyed.\n * @event Plugin#destroyed\n */\n .trigger(\"destroyed.zf.\".concat(pluginName));\n\n for (var prop in this) {\n this[prop] = null; //clean up script to prep for garbage collection.\n }\n }\n }]);\n\n return Plugin;\n}(); // Convert PascalCase to kebab-case\n// Thank you: http://stackoverflow.com/a/8955580\n\n\nfunction hyphenate(str) {\n return str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n}\n\nfunction getPluginName(obj) {\n return hyphenate(obj.className);\n}\n\n\n\n/***/ }),\n\n/***/ \"./js/foundation.core.utils.js\":\n/*!*************************************!*\\\n !*** ./js/foundation.core.utils.js ***!\n \\*************************************/\n/*! exports provided: rtl, GetYoDigits, RegExpEscape, transitionend, onLoad, ignoreMousedisappear */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"rtl\", function() { return rtl; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"GetYoDigits\", function() { return GetYoDigits; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"RegExpEscape\", function() { return RegExpEscape; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"transitionend\", function() { return transitionend; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"onLoad\", function() { return onLoad; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ignoreMousedisappear\", function() { return ignoreMousedisappear; });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n\n\n // Core Foundation Utilities, utilized in a number of places.\n\n/**\n * Returns a boolean for RTL support\n */\n\nfunction rtl() {\n return jquery__WEBPACK_IMPORTED_MODULE_0___default()('html').attr('dir') === 'rtl';\n}\n/**\n * returns a random base-36 uid with namespacing\n * @function\n * @param {Number} length - number of random base-36 digits desired. Increase for more random strings.\n * @param {String} namespace - name of plugin to be incorporated in uid, optional.\n * @default {String} '' - if no plugin name is provided, nothing is appended to the uid.\n * @returns {String} - unique id\n */\n\n\nfunction GetYoDigits() {\n var length = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 6;\n var namespace = arguments.length > 1 ? arguments[1] : undefined;\n var str = '';\n var chars = '0123456789abcdefghijklmnopqrstuvwxyz';\n var charsLength = chars.length;\n\n for (var i = 0; i < length; i++) {\n str += chars[Math.floor(Math.random() * charsLength)];\n }\n\n return namespace ? \"\".concat(str, \"-\").concat(namespace) : str;\n}\n/**\n * Escape a string so it can be used as a regexp pattern\n * @function\n * @see https://stackoverflow.com/a/9310752/4317384\n *\n * @param {String} str - string to escape.\n * @returns {String} - escaped string\n */\n\n\nfunction RegExpEscape(str) {\n return str.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\n}\n\nfunction transitionend($elem) {\n var transitions = {\n 'transition': 'transitionend',\n 'WebkitTransition': 'webkitTransitionEnd',\n 'MozTransition': 'transitionend',\n 'OTransition': 'otransitionend'\n };\n var elem = document.createElement('div'),\n end;\n\n for (var transition in transitions) {\n if (typeof elem.style[transition] !== 'undefined') {\n end = transitions[transition];\n }\n }\n\n if (end) {\n return end;\n } else {\n setTimeout(function () {\n $elem.triggerHandler('transitionend', [$elem]);\n }, 1);\n return 'transitionend';\n }\n}\n/**\n * Return an event type to listen for window load.\n *\n * If `$elem` is passed, an event will be triggered on `$elem`. If window is already loaded, the event will still be triggered.\n * If `handler` is passed, attach it to the event on `$elem`.\n * Calling `onLoad` without handler allows you to get the event type that will be triggered before attaching the handler by yourself.\n * @function\n *\n * @param {Object} [] $elem - jQuery element on which the event will be triggered if passed.\n * @param {Function} [] handler - function to attach to the event.\n * @returns {String} - event type that should or will be triggered.\n */\n\n\nfunction onLoad($elem, handler) {\n var didLoad = document.readyState === 'complete';\n var eventType = (didLoad ? '_didLoad' : 'load') + '.zf.util.onLoad';\n\n var cb = function cb() {\n return $elem.triggerHandler(eventType);\n };\n\n if ($elem) {\n if (handler) $elem.one(eventType, handler);\n if (didLoad) setTimeout(cb);else jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).one('load', cb);\n }\n\n return eventType;\n}\n/**\n * Retuns an handler for the `mouseleave` that ignore disappeared mouses.\n *\n * If the mouse \"disappeared\" from the document (like when going on a browser UI element, See https://git.io/zf-11410),\n * the event is ignored.\n * - If the `ignoreLeaveWindow` is `true`, the event is ignored when the user actually left the window\n * (like by switching to an other window with [Alt]+[Tab]).\n * - If the `ignoreReappear` is `true`, the event will be ignored when the mouse will reappear later on the document\n * outside of the element it left.\n *\n * @function\n *\n * @param {Function} [] handler - handler for the filtered `mouseleave` event to watch.\n * @param {Object} [] options - object of options:\n * - {Boolean} [false] ignoreLeaveWindow - also ignore when the user switched windows.\n * - {Boolean} [false] ignoreReappear - also ignore when the mouse reappeared outside of the element it left.\n * @returns {Function} - filtered handler to use to listen on the `mouseleave` event.\n */\n\n\nfunction ignoreMousedisappear(handler) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref$ignoreLeaveWindo = _ref.ignoreLeaveWindow,\n ignoreLeaveWindow = _ref$ignoreLeaveWindo === void 0 ? false : _ref$ignoreLeaveWindo,\n _ref$ignoreReappear = _ref.ignoreReappear,\n ignoreReappear = _ref$ignoreReappear === void 0 ? false : _ref$ignoreReappear;\n\n return function leaveEventHandler(eLeave) {\n for (var _len = arguments.length, rest = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n rest[_key - 1] = arguments[_key];\n }\n\n var callback = handler.bind.apply(handler, [this, eLeave].concat(rest)); // The mouse left: call the given callback if the mouse entered elsewhere\n\n if (eLeave.relatedTarget !== null) {\n return callback();\n } // Otherwise, check if the mouse actually left the window.\n // In firefox if the user switched between windows, the window sill have the focus by the time\n // the event is triggered. We have to debounce the event to test this case.\n\n\n setTimeout(function leaveEventDebouncer() {\n if (!ignoreLeaveWindow && document.hasFocus && !document.hasFocus()) {\n return callback();\n } // Otherwise, wait for the mouse to reeapear outside of the element,\n\n\n if (!ignoreReappear) {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(document).one('mouseenter', function reenterEventHandler(eReenter) {\n if (!jquery__WEBPACK_IMPORTED_MODULE_0___default()(eLeave.currentTarget).has(eReenter.target).length) {\n // Fill where the mouse finally entered.\n eLeave.relatedTarget = eReenter.target;\n callback();\n }\n });\n }\n }, 0);\n };\n}\n\n\n\n/***/ }),\n\n/***/ \"./js/foundation.util.mediaQuery.js\":\n/*!******************************************!*\\\n !*** ./js/foundation.util.mediaQuery.js ***!\n \\******************************************/\n/*! exports provided: MediaQuery */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MediaQuery\", function() { return MediaQuery; });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\n // Default set of media queries\n\nvar defaultQueries = {\n 'default': 'only screen',\n landscape: 'only screen and (orientation: landscape)',\n portrait: 'only screen and (orientation: portrait)',\n retina: 'only screen and (-webkit-min-device-pixel-ratio: 2),' + 'only screen and (min--moz-device-pixel-ratio: 2),' + 'only screen and (-o-min-device-pixel-ratio: 2/1),' + 'only screen and (min-device-pixel-ratio: 2),' + 'only screen and (min-resolution: 192dpi),' + 'only screen and (min-resolution: 2dppx)'\n}; // matchMedia() polyfill - Test a CSS media type/query in JS.\n// Authors & copyright © 2012: Scott Jehl, Paul Irish, Nicholas Zakas, David Knight. MIT license\n\n/* eslint-disable */\n\nwindow.matchMedia || (window.matchMedia = function () {\n \"use strict\"; // For browsers that support matchMedium api such as IE 9 and webkit\n\n var styleMedia = window.styleMedia || window.media; // For those that don't support matchMedium\n\n if (!styleMedia) {\n var style = document.createElement('style'),\n script = document.getElementsByTagName('script')[0],\n info = null;\n style.type = 'text/css';\n style.id = 'matchmediajs-test';\n\n if (!script) {\n document.head.appendChild(style);\n } else {\n script.parentNode.insertBefore(style, script);\n } // 'style.currentStyle' is used by IE <= 8 and 'window.getComputedStyle' for all other browsers\n\n\n info = 'getComputedStyle' in window && window.getComputedStyle(style, null) || style.currentStyle;\n styleMedia = {\n matchMedium: function matchMedium(media) {\n var text = '@media ' + media + '{ #matchmediajs-test { width: 1px; } }'; // 'style.styleSheet' is used by IE <= 8 and 'style.textContent' for all other browsers\n\n if (style.styleSheet) {\n style.styleSheet.cssText = text;\n } else {\n style.textContent = text;\n } // Test if media query is true or false\n\n\n return info.width === '1px';\n }\n };\n }\n\n return function (media) {\n return {\n matches: styleMedia.matchMedium(media || 'all'),\n media: media || 'all'\n };\n };\n}());\n/* eslint-enable */\n\nvar MediaQuery = {\n queries: [],\n current: '',\n\n /**\n * Initializes the media query helper, by extracting the breakpoint list from the CSS and activating the breakpoint watcher.\n * @function\n * @private\n */\n _init: function _init() {\n // make sure the initialization is only done once when calling _init() several times\n if (this.isInitialized === true) {\n return;\n } else {\n this.isInitialized = true;\n }\n\n var self = this;\n var $meta = jquery__WEBPACK_IMPORTED_MODULE_0___default()('meta.foundation-mq');\n\n if (!$meta.length) {\n jquery__WEBPACK_IMPORTED_MODULE_0___default()('').appendTo(document.head);\n }\n\n var extractedStyles = jquery__WEBPACK_IMPORTED_MODULE_0___default()('.foundation-mq').css('font-family');\n var namedQueries;\n namedQueries = parseStyleToObject(extractedStyles);\n self.queries = []; // reset\n\n for (var key in namedQueries) {\n if (namedQueries.hasOwnProperty(key)) {\n self.queries.push({\n name: key,\n value: \"only screen and (min-width: \".concat(namedQueries[key], \")\")\n });\n }\n }\n\n this.current = this._getCurrentSize();\n\n this._watcher();\n },\n\n /**\n * Reinitializes the media query helper.\n * Useful if your CSS breakpoint configuration has just been loaded or has changed since the initialization.\n * @function\n * @private\n */\n _reInit: function _reInit() {\n this.isInitialized = false;\n\n this._init();\n },\n\n /**\n * Checks if the screen is at least as wide as a breakpoint.\n * @function\n * @param {String} size - Name of the breakpoint to check.\n * @returns {Boolean} `true` if the breakpoint matches, `false` if it's smaller.\n */\n atLeast: function atLeast(size) {\n var query = this.get(size);\n\n if (query) {\n return window.matchMedia(query).matches;\n }\n\n return false;\n },\n\n /**\n * Checks if the screen is within the given breakpoint.\n * If smaller than the breakpoint of larger than its upper limit it returns false.\n * @function\n * @param {String} size - Name of the breakpoint to check.\n * @returns {Boolean} `true` if the breakpoint matches, `false` otherwise.\n */\n only: function only(size) {\n return size === this._getCurrentSize();\n },\n\n /**\n * Checks if the screen is within a breakpoint or smaller.\n * @function\n * @param {String} size - Name of the breakpoint to check.\n * @returns {Boolean} `true` if the breakpoint matches, `false` if it's larger.\n */\n upTo: function upTo(size) {\n var nextSize = this.next(size); // If the next breakpoint does not match, the screen is smaller than\n // the upper limit of this breakpoint.\n\n if (nextSize) {\n return !this.atLeast(nextSize);\n } // If there is no next breakpoint, the \"size\" breakpoint does not have\n // an upper limit and the screen will always be within it or smaller.\n\n\n return true;\n },\n\n /**\n * Checks if the screen matches to a breakpoint.\n * @function\n * @param {String} size - Name of the breakpoint to check, either 'small only' or 'small'. Omitting 'only' falls back to using atLeast() method.\n * @returns {Boolean} `true` if the breakpoint matches, `false` if it does not.\n */\n is: function is(size) {\n var parts = size.trim().split(' ').filter(function (p) {\n return !!p.length;\n });\n\n var _parts = _slicedToArray(parts, 2),\n bpSize = _parts[0],\n _parts$ = _parts[1],\n bpModifier = _parts$ === void 0 ? '' : _parts$; // Only the breakpont\n\n\n if (bpModifier === 'only') {\n return this.only(bpSize);\n } // At least the breakpoint (included)\n\n\n if (!bpModifier || bpModifier === 'up') {\n return this.atLeast(bpSize);\n } // Up to the breakpoint (included)\n\n\n if (bpModifier === 'down') {\n return this.upTo(bpSize);\n }\n\n throw new Error(\"\\n Invalid breakpoint passed to MediaQuery.is().\\n Expected a breakpoint name formatted like \\\" \\\", got \\\"\".concat(size, \"\\\".\\n \"));\n },\n\n /**\n * Gets the media query of a breakpoint.\n * @function\n * @param {String} size - Name of the breakpoint to get.\n * @returns {String|null} - The media query of the breakpoint, or `null` if the breakpoint doesn't exist.\n */\n get: function get(size) {\n for (var i in this.queries) {\n if (this.queries.hasOwnProperty(i)) {\n var query = this.queries[i];\n if (size === query.name) return query.value;\n }\n }\n\n return null;\n },\n\n /**\n * Get the breakpoint following the given breakpoint.\n * @function\n * @param {String} size - Name of the breakpoint.\n * @returns {String|null} - The name of the following breakpoint, or `null` if the passed breakpoint was the last one.\n */\n next: function next(size) {\n var _this = this;\n\n var queryIndex = this.queries.findIndex(function (q) {\n return _this._getQueryName(q) === size;\n });\n\n if (queryIndex === -1) {\n throw new Error(\"\\n Unknown breakpoint \\\"\".concat(size, \"\\\" passed to MediaQuery.next().\\n Ensure it is present in your Sass \\\"$breakpoints\\\" setting.\\n \"));\n }\n\n var nextQuery = this.queries[queryIndex + 1];\n return nextQuery ? nextQuery.name : null;\n },\n\n /**\n * Returns the name of the breakpoint related to the given value.\n * @function\n * @private\n * @param {String|Object} value - Breakpoint name or query object.\n * @returns {String} Name of the breakpoint.\n */\n _getQueryName: function _getQueryName(value) {\n if (typeof value === 'string') return value;\n if (_typeof(value) === 'object') return value.name;\n throw new TypeError(\"\\n Invalid value passed to MediaQuery._getQueryName().\\n Expected a breakpoint name (String) or a breakpoint query (Object), got \\\"\".concat(value, \"\\\" (\").concat(_typeof(value), \")\\n \"));\n },\n\n /**\n * Gets the current breakpoint name by testing every breakpoint and returning the last one to match (the biggest one).\n * @function\n * @private\n * @returns {String} Name of the current breakpoint.\n */\n _getCurrentSize: function _getCurrentSize() {\n var matched;\n\n for (var i = 0; i < this.queries.length; i++) {\n var query = this.queries[i];\n\n if (window.matchMedia(query.value).matches) {\n matched = query;\n }\n }\n\n return matched && this._getQueryName(matched);\n },\n\n /**\n * Activates the breakpoint watcher, which fires an event on the window whenever the breakpoint changes.\n * @function\n * @private\n */\n _watcher: function _watcher() {\n var _this2 = this;\n\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off('resize.zf.mediaquery').on('resize.zf.mediaquery', function () {\n var newSize = _this2._getCurrentSize(),\n currentSize = _this2.current;\n\n if (newSize !== currentSize) {\n // Change the current media query\n _this2.current = newSize; // Broadcast the media query change on the window\n\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).trigger('changed.zf.mediaquery', [newSize, currentSize]);\n }\n });\n }\n}; // Thank you: https://github.com/sindresorhus/query-string\n\nfunction parseStyleToObject(str) {\n var styleObject = {};\n\n if (typeof str !== 'string') {\n return styleObject;\n }\n\n str = str.trim().slice(1, -1); // browsers re-quote string style values\n\n if (!str) {\n return styleObject;\n }\n\n styleObject = str.split('&').reduce(function (ret, param) {\n var parts = param.replace(/\\+/g, ' ').split('=');\n var key = parts[0];\n var val = parts[1];\n key = decodeURIComponent(key); // missing `=` should be `null`:\n // http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n\n val = typeof val === 'undefined' ? null : decodeURIComponent(val);\n\n if (!ret.hasOwnProperty(key)) {\n ret[key] = val;\n } else if (Array.isArray(ret[key])) {\n ret[key].push(val);\n } else {\n ret[key] = [ret[key], val];\n }\n\n return ret;\n }, {});\n return styleObject;\n}\n\n\n\n/***/ }),\n\n/***/ 0:\n/*!*****************************************************!*\\\n !*** multi ./js/entries/plugins/foundation.core.js ***!\n \\*****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(/*! /Users/joeworkman/Development/foundation-sites/js/entries/plugins/foundation.core.js */\"./js/entries/plugins/foundation.core.js\");\n\n\n/***/ }),\n\n/***/ \"jquery\":\n/*!********************************************************************************************!*\\\n !*** external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"} ***!\n \\********************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;\n\n/***/ })\n\n/******/ });\n});\n//# sourceMappingURL=foundation.core.js.map","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"./foundation.util.mediaQuery\"), require(\"./foundation.util.motion\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"./foundation.util.mediaQuery\", \"./foundation.util.motion\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.responsiveToggle\"] = factory(require(\"./foundation.core\"), require(\"./foundation.util.mediaQuery\"), require(\"./foundation.util.motion\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.responsiveToggle\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.mediaQuery\"], root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.motion\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__, __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__, __WEBPACK_EXTERNAL_MODULE_jquery__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 13);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"./foundation.core\":\n/*!****************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"} ***!\n \\****************************************************************************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;\n\n/***/ }),\n\n/***/ \"./foundation.util.mediaQuery\":\n/*!************************************************************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.mediaQuery\"],\"amd\":\"./foundation.util.mediaQuery\",\"commonjs\":\"./foundation.util.mediaQuery\",\"commonjs2\":\"./foundation.util.mediaQuery\"} ***!\n \\************************************************************************************************************************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_mediaQuery__;\n\n/***/ }),\n\n/***/ \"./foundation.util.motion\":\n/*!********************************************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.util.motion\"],\"amd\":\"./foundation.util.motion\",\"commonjs\":\"./foundation.util.motion\",\"commonjs2\":\"./foundation.util.motion\"} ***!\n \\********************************************************************************************************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__foundation_util_motion__;\n\n/***/ }),\n\n/***/ \"./js/entries/plugins/foundation.responsiveToggle.js\":\n/*!***********************************************************!*\\\n !*** ./js/entries/plugins/foundation.responsiveToggle.js ***!\n \\***********************************************************/\n/*! exports provided: Foundation, ResponsiveToggle */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _foundation_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./foundation.core */ \"./foundation.core\");\n/* harmony import */ var _foundation_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_foundation_core__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Foundation\", function() { return _foundation_core__WEBPACK_IMPORTED_MODULE_0__[\"Foundation\"]; });\n\n/* harmony import */ var _foundation_responsiveToggle__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../foundation.responsiveToggle */ \"./js/foundation.responsiveToggle.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ResponsiveToggle\", function() { return _foundation_responsiveToggle__WEBPACK_IMPORTED_MODULE_1__[\"ResponsiveToggle\"]; });\n\n\n\n_foundation_core__WEBPACK_IMPORTED_MODULE_0__[\"Foundation\"].plugin(_foundation_responsiveToggle__WEBPACK_IMPORTED_MODULE_1__[\"ResponsiveToggle\"], 'ResponsiveToggle');\n\n\n/***/ }),\n\n/***/ \"./js/foundation.responsiveToggle.js\":\n/*!*******************************************!*\\\n !*** ./js/foundation.responsiveToggle.js ***!\n \\*******************************************/\n/*! exports provided: ResponsiveToggle */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ResponsiveToggle\", function() { return ResponsiveToggle; });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.util.mediaQuery */ \"./foundation.util.mediaQuery\");\n/* harmony import */ var _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation.util.motion */ \"./foundation.util.motion\");\n/* harmony import */ var _foundation_util_motion__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./foundation.core.plugin */ \"./foundation.core\");\n/* harmony import */ var _foundation_core_plugin__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_3__);\n\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n\n\n\n\n/**\n * ResponsiveToggle module.\n * @module foundation.responsiveToggle\n * @requires foundation.util.mediaQuery\n * @requires foundation.util.motion\n */\n\nvar ResponsiveToggle =\n/*#__PURE__*/\nfunction (_Plugin) {\n _inherits(ResponsiveToggle, _Plugin);\n\n function ResponsiveToggle() {\n _classCallCheck(this, ResponsiveToggle);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(ResponsiveToggle).apply(this, arguments));\n }\n\n _createClass(ResponsiveToggle, [{\n key: \"_setup\",\n\n /**\n * Creates a new instance of Tab Bar.\n * @class\n * @name ResponsiveToggle\n * @fires ResponsiveToggle#init\n * @param {jQuery} element - jQuery object to attach tab bar functionality to.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n value: function _setup(element, options) {\n this.$element = jquery__WEBPACK_IMPORTED_MODULE_0___default()(element);\n this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, ResponsiveToggle.defaults, this.$element.data(), options);\n this.className = 'ResponsiveToggle'; // ie9 back compat\n\n this._init();\n\n this._events();\n }\n /**\n * Initializes the tab bar by finding the target element, toggling element, and running update().\n * @function\n * @private\n */\n\n }, {\n key: \"_init\",\n value: function _init() {\n _foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_1__[\"MediaQuery\"]._init();\n\n var targetID = this.$element.data('responsive-toggle');\n\n if (!targetID) {\n console.error('Your tab bar needs an ID of a Menu as the value of data-tab-bar.');\n }\n\n this.$targetMenu = jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"#\".concat(targetID));\n this.$toggler = this.$element.find('[data-toggle]').filter(function () {\n var target = jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).data('toggle');\n return target === targetID || target === \"\";\n });\n this.options = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.extend({}, this.options, this.$targetMenu.data()); // If they were set, parse the animation classes\n\n if (this.options.animate) {\n var input = this.options.animate.split(' ');\n this.animationIn = input[0];\n this.animationOut = input[1] || null;\n }\n\n this._update();\n }\n /**\n * Adds necessary event handlers for the tab bar to work.\n * @function\n * @private\n */\n\n }, {\n key: \"_events\",\n value: function _events() {\n var _this = this;\n\n this._updateMqHandler = this._update.bind(this);\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).on('changed.zf.mediaquery', this._updateMqHandler);\n this.$toggler.on('click.zf.responsiveToggle', this.toggleMenu.bind(this));\n }\n /**\n * Checks the current media query to determine if the tab bar should be visible or hidden.\n * @function\n * @private\n */\n\n }, {\n key: \"_update\",\n value: function _update() {\n // Mobile\n if (!_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_1__[\"MediaQuery\"].atLeast(this.options.hideFor)) {\n this.$element.show();\n this.$targetMenu.hide();\n } // Desktop\n else {\n this.$element.hide();\n this.$targetMenu.show();\n }\n }\n /**\n * Toggles the element attached to the tab bar. The toggle only happens if the screen is small enough to allow it.\n * @function\n * @fires ResponsiveToggle#toggled\n */\n\n }, {\n key: \"toggleMenu\",\n value: function toggleMenu() {\n var _this2 = this;\n\n if (!_foundation_util_mediaQuery__WEBPACK_IMPORTED_MODULE_1__[\"MediaQuery\"].atLeast(this.options.hideFor)) {\n /**\n * Fires when the element attached to the tab bar toggles.\n * @event ResponsiveToggle#toggled\n */\n if (this.options.animate) {\n if (this.$targetMenu.is(':hidden')) {\n _foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__[\"Motion\"].animateIn(this.$targetMenu, this.animationIn, function () {\n _this2.$element.trigger('toggled.zf.responsiveToggle');\n\n _this2.$targetMenu.find('[data-mutate]').triggerHandler('mutateme.zf.trigger');\n });\n } else {\n _foundation_util_motion__WEBPACK_IMPORTED_MODULE_2__[\"Motion\"].animateOut(this.$targetMenu, this.animationOut, function () {\n _this2.$element.trigger('toggled.zf.responsiveToggle');\n });\n }\n } else {\n this.$targetMenu.toggle(0);\n this.$targetMenu.find('[data-mutate]').trigger('mutateme.zf.trigger');\n this.$element.trigger('toggled.zf.responsiveToggle');\n }\n }\n }\n }, {\n key: \"_destroy\",\n value: function _destroy() {\n this.$element.off('.zf.responsiveToggle');\n this.$toggler.off('.zf.responsiveToggle');\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(window).off('changed.zf.mediaquery', this._updateMqHandler);\n }\n }]);\n\n return ResponsiveToggle;\n}(_foundation_core_plugin__WEBPACK_IMPORTED_MODULE_3__[\"Plugin\"]);\n\nResponsiveToggle.defaults = {\n /**\n * The breakpoint after which the menu is always shown, and the tab bar is hidden.\n * @option\n * @type {string}\n * @default 'medium'\n */\n hideFor: 'medium',\n\n /**\n * To decide if the toggle should be animated or not.\n * @option\n * @type {boolean}\n * @default false\n */\n animate: false\n};\n\n\n/***/ }),\n\n/***/ 13:\n/*!*****************************************************************!*\\\n !*** multi ./js/entries/plugins/foundation.responsiveToggle.js ***!\n \\*****************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(/*! /Users/joeworkman/Development/foundation-sites/js/entries/plugins/foundation.responsiveToggle.js */\"./js/entries/plugins/foundation.responsiveToggle.js\");\n\n\n/***/ }),\n\n/***/ \"jquery\":\n/*!********************************************************************************************!*\\\n !*** external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"} ***!\n \\********************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;\n\n/***/ })\n\n/******/ });\n});\n//# sourceMappingURL=foundation.responsiveToggle.js.map","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.util.motion\"] = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.motion\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE_jquery__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 25);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"./foundation.core\":\n/*!****************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"} ***!\n \\****************************************************************************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;\n\n/***/ }),\n\n/***/ \"./js/entries/plugins/foundation.util.motion.js\":\n/*!******************************************************!*\\\n !*** ./js/entries/plugins/foundation.util.motion.js ***!\n \\******************************************************/\n/*! exports provided: Foundation, Motion, Move */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _foundation_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./foundation.core */ \"./foundation.core\");\n/* harmony import */ var _foundation_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_foundation_core__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Foundation\", function() { return _foundation_core__WEBPACK_IMPORTED_MODULE_0__[\"Foundation\"]; });\n\n/* harmony import */ var _foundation_util_motion__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../foundation.util.motion */ \"./js/foundation.util.motion.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Motion\", function() { return _foundation_util_motion__WEBPACK_IMPORTED_MODULE_1__[\"Motion\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Move\", function() { return _foundation_util_motion__WEBPACK_IMPORTED_MODULE_1__[\"Move\"]; });\n\n\n\n_foundation_core__WEBPACK_IMPORTED_MODULE_0__[\"Foundation\"].Motion = _foundation_util_motion__WEBPACK_IMPORTED_MODULE_1__[\"Motion\"];\n_foundation_core__WEBPACK_IMPORTED_MODULE_0__[\"Foundation\"].Move = _foundation_util_motion__WEBPACK_IMPORTED_MODULE_1__[\"Move\"];\n\n\n/***/ }),\n\n/***/ \"./js/foundation.util.motion.js\":\n/*!**************************************!*\\\n !*** ./js/foundation.util.motion.js ***!\n \\**************************************/\n/*! exports provided: Move, Motion */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Move\", function() { return Move; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Motion\", function() { return Motion; });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./foundation.core.utils */ \"./foundation.core\");\n/* harmony import */ var _foundation_core_utils__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__);\n\n\n\n\n/**\n * Motion module.\n * @module foundation.motion\n */\n\nvar initClasses = ['mui-enter', 'mui-leave'];\nvar activeClasses = ['mui-enter-active', 'mui-leave-active'];\nvar Motion = {\n animateIn: function animateIn(element, animation, cb) {\n animate(true, element, animation, cb);\n },\n animateOut: function animateOut(element, animation, cb) {\n animate(false, element, animation, cb);\n }\n};\n\nfunction Move(duration, elem, fn) {\n var anim,\n prog,\n start = null; // console.log('called');\n\n if (duration === 0) {\n fn.apply(elem);\n elem.trigger('finished.zf.animate', [elem]).triggerHandler('finished.zf.animate', [elem]);\n return;\n }\n\n function move(ts) {\n if (!start) start = ts; // console.log(start, ts);\n\n prog = ts - start;\n fn.apply(elem);\n\n if (prog < duration) {\n anim = window.requestAnimationFrame(move, elem);\n } else {\n window.cancelAnimationFrame(anim);\n elem.trigger('finished.zf.animate', [elem]).triggerHandler('finished.zf.animate', [elem]);\n }\n }\n\n anim = window.requestAnimationFrame(move);\n}\n/**\n * Animates an element in or out using a CSS transition class.\n * @function\n * @private\n * @param {Boolean} isIn - Defines if the animation is in or out.\n * @param {Object} element - jQuery or HTML object to animate.\n * @param {String} animation - CSS class to use.\n * @param {Function} cb - Callback to run when animation is finished.\n */\n\n\nfunction animate(isIn, element, animation, cb) {\n element = jquery__WEBPACK_IMPORTED_MODULE_0___default()(element).eq(0);\n if (!element.length) return;\n var initClass = isIn ? initClasses[0] : initClasses[1];\n var activeClass = isIn ? activeClasses[0] : activeClasses[1]; // Set up the animation\n\n reset();\n element.addClass(animation).css('transition', 'none');\n requestAnimationFrame(function () {\n element.addClass(initClass);\n if (isIn) element.show();\n }); // Start the animation\n\n requestAnimationFrame(function () {\n // will trigger the browser to synchronously calculate the style and layout\n // also called reflow or layout thrashing\n // see https://gist.github.com/paulirish/5d52fb081b3570c81e3a\n element[0].offsetWidth;\n element.css('transition', '').addClass(activeClass);\n }); // Clean up the animation when it finishes\n\n element.one(Object(_foundation_core_utils__WEBPACK_IMPORTED_MODULE_1__[\"transitionend\"])(element), finish); // Hides the element (for out animations), resets the element, and runs a callback\n\n function finish() {\n if (!isIn) element.hide();\n reset();\n if (cb) cb.apply(element);\n } // Resets transitions and removes motion-specific classes\n\n\n function reset() {\n element[0].style.transitionDuration = 0;\n element.removeClass(\"\".concat(initClass, \" \").concat(activeClass, \" \").concat(animation));\n }\n}\n\n\n\n/***/ }),\n\n/***/ 25:\n/*!************************************************************!*\\\n !*** multi ./js/entries/plugins/foundation.util.motion.js ***!\n \\************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(/*! /Users/joeworkman/Development/foundation-sites/js/entries/plugins/foundation.util.motion.js */\"./js/entries/plugins/foundation.util.motion.js\");\n\n\n/***/ }),\n\n/***/ \"jquery\":\n/*!********************************************************************************************!*\\\n !*** external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"} ***!\n \\********************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;\n\n/***/ })\n\n/******/ });\n});\n//# sourceMappingURL=foundation.util.motion.js.map","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\", \"jquery\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.util.touch\"] = factory(require(\"./foundation.core\"), require(\"jquery\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.touch\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"], root[\"jQuery\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__, __WEBPACK_EXTERNAL_MODULE_jquery__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 28);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"./foundation.core\":\n/*!****************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"} ***!\n \\****************************************************************************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;\n\n/***/ }),\n\n/***/ \"./js/entries/plugins/foundation.util.touch.js\":\n/*!*****************************************************!*\\\n !*** ./js/entries/plugins/foundation.util.touch.js ***!\n \\*****************************************************/\n/*! exports provided: Foundation, Touch */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _foundation_util_touch__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../foundation.util.touch */ \"./js/foundation.util.touch.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Touch\", function() { return _foundation_util_touch__WEBPACK_IMPORTED_MODULE_1__[\"Touch\"]; });\n\n/* harmony import */ var _foundation_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./foundation.core */ \"./foundation.core\");\n/* harmony import */ var _foundation_core__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_foundation_core__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Foundation\", function() { return _foundation_core__WEBPACK_IMPORTED_MODULE_2__[\"Foundation\"]; });\n\n\n\n_foundation_util_touch__WEBPACK_IMPORTED_MODULE_1__[\"Touch\"].init(jquery__WEBPACK_IMPORTED_MODULE_0___default.a);\nwindow.Foundation.Touch = _foundation_util_touch__WEBPACK_IMPORTED_MODULE_1__[\"Touch\"];\n\n\n\n/***/ }),\n\n/***/ \"./js/foundation.util.touch.js\":\n/*!*************************************!*\\\n !*** ./js/foundation.util.touch.js ***!\n \\*************************************/\n/*! exports provided: Touch */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Touch\", function() { return Touch; });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n//**************************************************\n//**Work inspired by multiple jquery swipe plugins**\n//**Done by Yohai Ararat ***************************\n//**************************************************\n\nvar Touch = {};\nvar startPosX,\n startPosY,\n startTime,\n elapsedTime,\n startEvent,\n isMoving = false,\n didMoved = false;\n\nfunction onTouchEnd(e) {\n this.removeEventListener('touchmove', onTouchMove);\n this.removeEventListener('touchend', onTouchEnd); // If the touch did not move, consider it as a \"tap\"\n\n if (!didMoved) {\n var tapEvent = jquery__WEBPACK_IMPORTED_MODULE_0___default.a.Event('tap', startEvent || e);\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).trigger(tapEvent);\n }\n\n startEvent = null;\n isMoving = false;\n didMoved = false;\n}\n\nfunction onTouchMove(e) {\n if (jquery__WEBPACK_IMPORTED_MODULE_0___default.a.spotSwipe.preventDefault) {\n e.preventDefault();\n }\n\n if (isMoving) {\n var x = e.touches[0].pageX;\n var y = e.touches[0].pageY;\n var dx = startPosX - x;\n var dy = startPosY - y;\n var dir;\n didMoved = true;\n elapsedTime = new Date().getTime() - startTime;\n\n if (Math.abs(dx) >= jquery__WEBPACK_IMPORTED_MODULE_0___default.a.spotSwipe.moveThreshold && elapsedTime <= jquery__WEBPACK_IMPORTED_MODULE_0___default.a.spotSwipe.timeThreshold) {\n dir = dx > 0 ? 'left' : 'right';\n } // else if(Math.abs(dy) >= $.spotSwipe.moveThreshold && elapsedTime <= $.spotSwipe.timeThreshold) {\n // dir = dy > 0 ? 'down' : 'up';\n // }\n\n\n if (dir) {\n e.preventDefault();\n onTouchEnd.apply(this, arguments);\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(this).trigger(jquery__WEBPACK_IMPORTED_MODULE_0___default.a.Event('swipe', Object.assign({}, e)), dir).trigger(jquery__WEBPACK_IMPORTED_MODULE_0___default.a.Event(\"swipe\".concat(dir), Object.assign({}, e)));\n }\n }\n}\n\nfunction onTouchStart(e) {\n if (e.touches.length == 1) {\n startPosX = e.touches[0].pageX;\n startPosY = e.touches[0].pageY;\n startEvent = e;\n isMoving = true;\n didMoved = false;\n startTime = new Date().getTime();\n this.addEventListener('touchmove', onTouchMove, false);\n this.addEventListener('touchend', onTouchEnd, false);\n }\n}\n\nfunction init() {\n this.addEventListener && this.addEventListener('touchstart', onTouchStart, false);\n}\n\nfunction teardown() {\n this.removeEventListener('touchstart', onTouchStart);\n}\n\nvar SpotSwipe =\n/*#__PURE__*/\nfunction () {\n function SpotSwipe($) {\n _classCallCheck(this, SpotSwipe);\n\n this.version = '1.0.0';\n this.enabled = 'ontouchstart' in document.documentElement;\n this.preventDefault = false;\n this.moveThreshold = 75;\n this.timeThreshold = 200;\n this.$ = $;\n\n this._init();\n }\n\n _createClass(SpotSwipe, [{\n key: \"_init\",\n value: function _init() {\n var $ = this.$;\n $.event.special.swipe = {\n setup: init\n };\n $.event.special.tap = {\n setup: init\n };\n $.each(['left', 'up', 'down', 'right'], function () {\n $.event.special[\"swipe\".concat(this)] = {\n setup: function setup() {\n $(this).on('swipe', $.noop);\n }\n };\n });\n }\n }]);\n\n return SpotSwipe;\n}();\n/****************************************************\n * As far as I can tell, both setupSpotSwipe and *\n * setupTouchHandler should be idempotent, *\n * because they directly replace functions & *\n * values, and do not add event handlers directly. *\n ****************************************************/\n\n\nTouch.setupSpotSwipe = function ($) {\n $.spotSwipe = new SpotSwipe($);\n};\n/****************************************************\n * Method for adding pseudo drag events to elements *\n ***************************************************/\n\n\nTouch.setupTouchHandler = function ($) {\n $.fn.addTouch = function () {\n this.each(function (i, el) {\n $(el).bind('touchstart touchmove touchend touchcancel', function (event) {\n //we pass the original event object because the jQuery event\n //object is normalized to w3c specs and does not provide the TouchList\n handleTouch(event);\n });\n });\n\n var handleTouch = function handleTouch(event) {\n var touches = event.changedTouches,\n first = touches[0],\n eventTypes = {\n touchstart: 'mousedown',\n touchmove: 'mousemove',\n touchend: 'mouseup'\n },\n type = eventTypes[event.type],\n simulatedEvent;\n\n if ('MouseEvent' in window && typeof window.MouseEvent === 'function') {\n simulatedEvent = new window.MouseEvent(type, {\n 'bubbles': true,\n 'cancelable': true,\n 'screenX': first.screenX,\n 'screenY': first.screenY,\n 'clientX': first.clientX,\n 'clientY': first.clientY\n });\n } else {\n simulatedEvent = document.createEvent('MouseEvent');\n simulatedEvent.initMouseEvent(type, true, true, window, 1, first.screenX, first.screenY, first.clientX, first.clientY, false, false, false, false, 0\n /*left*/\n , null);\n }\n\n first.target.dispatchEvent(simulatedEvent);\n };\n };\n};\n\nTouch.init = function ($) {\n if (typeof $.spotSwipe === 'undefined') {\n Touch.setupSpotSwipe($);\n Touch.setupTouchHandler($);\n }\n};\n\n\n\n/***/ }),\n\n/***/ 28:\n/*!***********************************************************!*\\\n !*** multi ./js/entries/plugins/foundation.util.touch.js ***!\n \\***********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(/*! /Users/joeworkman/Development/foundation-sites/js/entries/plugins/foundation.util.touch.js */\"./js/entries/plugins/foundation.util.touch.js\");\n\n\n/***/ }),\n\n/***/ \"jquery\":\n/*!********************************************************************************************!*\\\n !*** external {\"root\":[\"jQuery\"],\"amd\":\"jquery\",\"commonjs\":\"jquery\",\"commonjs2\":\"jquery\"} ***!\n \\********************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE_jquery__;\n\n/***/ })\n\n/******/ });\n});\n//# sourceMappingURL=foundation.util.touch.js.map","import $ from 'jquery';\r\n\r\n/**\r\n * All used foundation plugins are included here, so only used plugins are loaded.\r\n * Files can be found inside the \"node_modules/foundation-sites/dist/js/plugins\" directory.\r\n */\r\nimport 'foundation-sites/dist/js/plugins/foundation.core';\r\nimport 'foundation-sites/dist/js/plugins/foundation.dropdownMenu';\r\nimport 'foundation-sites/dist/js/plugins/foundation.responsiveToggle';\r\n\r\n$( document ).foundation();","var $ = jQuery;\r\n\r\nvar settings = { copyWithHashtag: false }; function parseColorValues(colorValues) {\r\n var colorValuesArray = colorValues.match(/\\b[0-9A-Fa-f]{3}\\b|[0-9A-Fa-f]{6}\\b/g); if (colorValuesArray) {\r\n colorValuesArray = colorValuesArray.map(function (item) {\r\n if (item.length === 3) { var newItem = item.toString().split(''); newItem = newItem.reduce(function (acc, it) { return acc + it + it; }, ''); return newItem; }\r\n return item;\r\n });\r\n }\r\n return colorValuesArray;\r\n}\r\nfunction pad(number, length) {\r\n var str = '' + number; while (str.length < length) { str = '0' + str; }\r\n return str;\r\n}\r\nfunction hexToRGB(colorValue) { return { red: parseInt(colorValue.substr(0, 2), 16), green: parseInt(colorValue.substr(2, 2), 16), blue: parseInt(colorValue.substr(4, 2), 16) } }\r\nfunction intToHex(rgbint) { return pad(Math.min(Math.max(Math.round(rgbint), 0), 255).toString(16), 2); }\r\nfunction rgbToHex(rgb) { return intToHex(rgb.red) + intToHex(rgb.green) + intToHex(rgb.blue); }\r\nfunction rgbShade(rgb, i) { return { red: rgb.red * (1 - 0.1 * i), green: rgb.green * (1 - 0.1 * i), blue: rgb.blue * (1 - 0.1 * i) } }\r\nfunction rgbTint(rgb, i) { return { red: rgb.red + (255 - rgb.red) * i * 0.1, green: rgb.green + (255 - rgb.green) * i * 0.1, blue: rgb.blue + (255 - rgb.blue) * i * 0.1 } }\r\nfunction calculate(colorValue, shadeOrTint) {\r\n var color = hexToRGB(colorValue); var shadeValues = []; for (var i = 0; i < 10; i++) { shadeValues[i] = rgbToHex(shadeOrTint(color, i)); }\r\n return shadeValues;\r\n}\r\nfunction calculateShades(colorValue) { return calculate(colorValue, rgbShade).concat(\"000000\"); }\r\nfunction calculateTints(colorValue) { return calculate(colorValue, rgbTint).concat(\"ffffff\"); }\r\nfunction updateClipboardData() { var colorCells = $(\"#tints-and-shades td[data-clipboard-text]\"); $.each(colorCells, function (i, cell) { var colorCode = $(cell).attr(\"data-clipboard-text\"); if (settings.copyWithHashtag) { $(cell).attr(\"data-clipboard-text\", \"#\" + colorCode); } else { $(cell).attr(\"data-clipboard-text\", colorCode.substr(1)); } }); }\r\nfunction makeTableRowColors(colors, displayType) {\r\n var tableRow = \"\"; for (var i = 0; i < colors.length; i++) { var color = colors[i].toString(16); if (displayType == \"colors\") { var colorPrefix = settings.copyWithHashtag ? \"#\" : \"\"; tableRow += \"\"; } else { tableRow += \"\" + color.toUpperCase() + \"\"; } }\r\n tableRow += \"\"; return tableRow;\r\n}\r\n\r\nfunction createTintsAndShades(firstTime) {\r\n\r\n var parsedColorsArray = parseColorValues($(\"#color-values\").val()); \r\n \r\n if (parsedColorsArray !== null) {\r\n var colorDisplayRows = []; \r\n var tableRowCounter = 0; \r\n\r\n for (var i = 0; i < parsedColorsArray.length; i++) { \r\n var calculatedShades = calculateShades(parsedColorsArray[i]); \r\n colorDisplayRows[tableRowCounter] = makeTableRowColors(calculatedShades, \"colors\"); \r\n tableRowCounter++; \r\n colorDisplayRows[tableRowCounter] = makeTableRowColors(calculatedShades, \"RGBValues\"); \r\n tableRowCounter++; \r\n var calculatedTints = calculateTints(parsedColorsArray[i]); \r\n colorDisplayRows[tableRowCounter] = makeTableRowColors(calculatedTints, \"colors\"); \r\n tableRowCounter++; \r\n colorDisplayRows[tableRowCounter] = makeTableRowColors(calculatedTints, \"RGBValues\"); \r\n tableRowCounter++; \r\n }\r\n\r\n var colorDisplayTable = \"\" + colorDisplayRows.join(\"\") + \"
0%10%20%30%40%50%60%70%80%90%100%
\";\r\n $(\"#tints-and-shades\").html(colorDisplayTable); \r\n\r\n var bodyClass = $(\"body\").attr('class');\r\n\r\n if(bodyClass !== 'single-colors'){\r\n window.location.hash = parsedColorsArray.join(\",\"); \r\n }\r\n\r\n $('html,body').animate({ scrollTop: $(\"#ts-scroll-top\").offset().top }, 400); \r\n setTimeout(function () { $(\"#tints-and-shades\").attr(\"tabindex\", \"0\");\r\n $(\"#tints-and-shades\").focus(); }, 400); \r\n $(\"#tints-and-shades\").blur(function () { \r\n $(\"#tints-and-shades\").attr(\"tabindex\", \"-1\"); \r\n })\r\n } else if (firstTime != true) { \r\n $('html,body').stop().animate({ scrollTop: 0 }, 200, function () { $(\"#tints-and-shades\").html(\"\"); window.location.hash = \"\"; \r\n $(\"#warning\").addClass(\"visible\"); \r\n setTimeout(function () { $(\"#warning\").removeClass(\"visible\"); }, 3000); }); \r\n $(\"#color-values\").focus(); \r\n }\r\n return false;\r\n}\r\n\r\n$(document).ready(function () {\r\n\r\n \r\n var bodyClass = $(\"body\").attr('class');\r\n\r\n if(bodyClass !== 'single-colors'){\r\n $(\"#color-values\").val(window.location.hash.slice(1).replace(/,/g, \" \"));\r\n }\r\n\r\n createTintsAndShades(true);\r\n\r\n $(\"#color-entry-form\").submit(createTintsAndShades);\r\n $(\"#copy-with-hashtag\").on(\"click\", function (e) {\r\n settings.copyWithHashtag = e.target.checked; updateClipboardData();\r\n }\r\n );\r\n }\r\n\r\n);\r\n $(document).keypress(function (event) {\r\n if ((event.keyCode ? event.keyCode : event.which) == \"13\") $(\":focus\").click();\r\n }\r\n);\r\n","(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"./foundation.core\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"./foundation.core\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"foundation.util.box\"] = factory(require(\"./foundation.core\"));\n\telse\n\t\troot[\"__FOUNDATION_EXTERNAL__\"] = root[\"__FOUNDATION_EXTERNAL__\"] || {}, root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.util.box\"] = factory(root[\"__FOUNDATION_EXTERNAL__\"][\"foundation.core\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__foundation_core__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 21);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"./foundation.core\":\n/*!****************************************************************************************************************************************************************!*\\\n !*** external {\"root\":[\"__FOUNDATION_EXTERNAL__\",\"foundation.core\"],\"amd\":\"./foundation.core\",\"commonjs\":\"./foundation.core\",\"commonjs2\":\"./foundation.core\"} ***!\n \\****************************************************************************************************************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__foundation_core__;\n\n/***/ }),\n\n/***/ \"./js/entries/plugins/foundation.util.box.js\":\n/*!***************************************************!*\\\n !*** ./js/entries/plugins/foundation.util.box.js ***!\n \\***************************************************/\n/*! exports provided: Foundation, Box */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _foundation_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./foundation.core */ \"./foundation.core\");\n/* harmony import */ var _foundation_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_foundation_core__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Foundation\", function() { return _foundation_core__WEBPACK_IMPORTED_MODULE_0__[\"Foundation\"]; });\n\n/* harmony import */ var _foundation_util_box__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../foundation.util.box */ \"./js/foundation.util.box.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Box\", function() { return _foundation_util_box__WEBPACK_IMPORTED_MODULE_1__[\"Box\"]; });\n\n\n\n_foundation_core__WEBPACK_IMPORTED_MODULE_0__[\"Foundation\"].Box = _foundation_util_box__WEBPACK_IMPORTED_MODULE_1__[\"Box\"];\n\n\n/***/ }),\n\n/***/ \"./js/foundation.util.box.js\":\n/*!***********************************!*\\\n !*** ./js/foundation.util.box.js ***!\n \\***********************************/\n/*! exports provided: Box */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Box\", function() { return Box; });\n\n\nvar Box = {\n ImNotTouchingYou: ImNotTouchingYou,\n OverlapArea: OverlapArea,\n GetDimensions: GetDimensions,\n GetExplicitOffsets: GetExplicitOffsets\n /**\n * Compares the dimensions of an element to a container and determines collision events with container.\n * @function\n * @param {jQuery} element - jQuery object to test for collisions.\n * @param {jQuery} parent - jQuery object to use as bounding container.\n * @param {Boolean} lrOnly - set to true to check left and right values only.\n * @param {Boolean} tbOnly - set to true to check top and bottom values only.\n * @default if no parent object passed, detects collisions with `window`.\n * @returns {Boolean} - true if collision free, false if a collision in any direction.\n */\n\n};\n\nfunction ImNotTouchingYou(element, parent, lrOnly, tbOnly, ignoreBottom) {\n return OverlapArea(element, parent, lrOnly, tbOnly, ignoreBottom) === 0;\n}\n\nfunction OverlapArea(element, parent, lrOnly, tbOnly, ignoreBottom) {\n var eleDims = GetDimensions(element),\n topOver,\n bottomOver,\n leftOver,\n rightOver;\n\n if (parent) {\n var parDims = GetDimensions(parent);\n bottomOver = parDims.height + parDims.offset.top - (eleDims.offset.top + eleDims.height);\n topOver = eleDims.offset.top - parDims.offset.top;\n leftOver = eleDims.offset.left - parDims.offset.left;\n rightOver = parDims.width + parDims.offset.left - (eleDims.offset.left + eleDims.width);\n } else {\n bottomOver = eleDims.windowDims.height + eleDims.windowDims.offset.top - (eleDims.offset.top + eleDims.height);\n topOver = eleDims.offset.top - eleDims.windowDims.offset.top;\n leftOver = eleDims.offset.left - eleDims.windowDims.offset.left;\n rightOver = eleDims.windowDims.width - (eleDims.offset.left + eleDims.width);\n }\n\n bottomOver = ignoreBottom ? 0 : Math.min(bottomOver, 0);\n topOver = Math.min(topOver, 0);\n leftOver = Math.min(leftOver, 0);\n rightOver = Math.min(rightOver, 0);\n\n if (lrOnly) {\n return leftOver + rightOver;\n }\n\n if (tbOnly) {\n return topOver + bottomOver;\n } // use sum of squares b/c we care about overlap area.\n\n\n return Math.sqrt(topOver * topOver + bottomOver * bottomOver + leftOver * leftOver + rightOver * rightOver);\n}\n/**\n * Uses native methods to return an object of dimension values.\n * @function\n * @param {jQuery || HTML} element - jQuery object or DOM element for which to get the dimensions. Can be any element other that document or window.\n * @returns {Object} - nested object of integer pixel values\n * TODO - if element is window, return only those values.\n */\n\n\nfunction GetDimensions(elem) {\n elem = elem.length ? elem[0] : elem;\n\n if (elem === window || elem === document) {\n throw new Error(\"I'm sorry, Dave. I'm afraid I can't do that.\");\n }\n\n var rect = elem.getBoundingClientRect(),\n parRect = elem.parentNode.getBoundingClientRect(),\n winRect = document.body.getBoundingClientRect(),\n winY = window.pageYOffset,\n winX = window.pageXOffset;\n return {\n width: rect.width,\n height: rect.height,\n offset: {\n top: rect.top + winY,\n left: rect.left + winX\n },\n parentDims: {\n width: parRect.width,\n height: parRect.height,\n offset: {\n top: parRect.top + winY,\n left: parRect.left + winX\n }\n },\n windowDims: {\n width: winRect.width,\n height: winRect.height,\n offset: {\n top: winY,\n left: winX\n }\n }\n };\n}\n/**\n * Returns an object of top and left integer pixel values for dynamically rendered elements,\n * such as: Tooltip, Reveal, and Dropdown. Maintained for backwards compatibility, and where\n * you don't know alignment, but generally from\n * 6.4 forward you should use GetExplicitOffsets, as GetOffsets conflates position and alignment.\n * @function\n * @param {jQuery} element - jQuery object for the element being positioned.\n * @param {jQuery} anchor - jQuery object for the element's anchor point.\n * @param {String} position - a string relating to the desired position of the element, relative to it's anchor\n * @param {Number} vOffset - integer pixel value of desired vertical separation between anchor and element.\n * @param {Number} hOffset - integer pixel value of desired horizontal separation between anchor and element.\n * @param {Boolean} isOverflow - if a collision event is detected, sets to true to default the element to full width - any desired offset.\n * TODO alter/rewrite to work with `em` values as well/instead of pixels\n */\n\n\nfunction GetExplicitOffsets(element, anchor, position, alignment, vOffset, hOffset, isOverflow) {\n var $eleDims = GetDimensions(element),\n $anchorDims = anchor ? GetDimensions(anchor) : null;\n var topVal, leftVal;\n\n if ($anchorDims !== null) {\n // set position related attribute\n switch (position) {\n case 'top':\n topVal = $anchorDims.offset.top - ($eleDims.height + vOffset);\n break;\n\n case 'bottom':\n topVal = $anchorDims.offset.top + $anchorDims.height + vOffset;\n break;\n\n case 'left':\n leftVal = $anchorDims.offset.left - ($eleDims.width + hOffset);\n break;\n\n case 'right':\n leftVal = $anchorDims.offset.left + $anchorDims.width + hOffset;\n break;\n } // set alignment related attribute\n\n\n switch (position) {\n case 'top':\n case 'bottom':\n switch (alignment) {\n case 'left':\n leftVal = $anchorDims.offset.left + hOffset;\n break;\n\n case 'right':\n leftVal = $anchorDims.offset.left - $eleDims.width + $anchorDims.width - hOffset;\n break;\n\n case 'center':\n leftVal = isOverflow ? hOffset : $anchorDims.offset.left + $anchorDims.width / 2 - $eleDims.width / 2 + hOffset;\n break;\n }\n\n break;\n\n case 'right':\n case 'left':\n switch (alignment) {\n case 'bottom':\n topVal = $anchorDims.offset.top - vOffset + $anchorDims.height - $eleDims.height;\n break;\n\n case 'top':\n topVal = $anchorDims.offset.top + vOffset;\n break;\n\n case 'center':\n topVal = $anchorDims.offset.top + vOffset + $anchorDims.height / 2 - $eleDims.height / 2;\n break;\n }\n\n break;\n }\n }\n\n return {\n top: topVal,\n left: leftVal\n };\n}\n\n\n\n/***/ }),\n\n/***/ 21:\n/*!*********************************************************!*\\\n !*** multi ./js/entries/plugins/foundation.util.box.js ***!\n \\*********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(/*! /Users/joeworkman/Development/foundation-sites/js/entries/plugins/foundation.util.box.js */\"./js/entries/plugins/foundation.util.box.js\");\n\n\n/***/ })\n\n/******/ });\n});\n//# sourceMappingURL=foundation.util.box.js.map","import $ from 'jquery';\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return _assertThisInitialized(self);\n}\n\nfunction _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = _getPrototypeOf(object);\n if (object === null) break;\n }\n\n return object;\n}\n\nfunction _get(target, property, receiver) {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get;\n } else {\n _get = function _get(target, property, receiver) {\n var base = _superPropBase(target, property);\n\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.get) {\n return desc.get.call(receiver);\n }\n\n return desc.value;\n };\n }\n\n return _get(target, property, receiver || target);\n}\n\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();\n}\n\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nfunction _iterableToArrayLimit(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\n\n/**\n * Returns a boolean for RTL support\n */\n\nfunction rtl() {\n return $('html').attr('dir') === 'rtl';\n}\n/**\n * returns a random base-36 uid with namespacing\n * @function\n * @param {Number} length - number of random base-36 digits desired. Increase for more random strings.\n * @param {String} namespace - name of plugin to be incorporated in uid, optional.\n * @default {String} '' - if no plugin name is provided, nothing is appended to the uid.\n * @returns {String} - unique id\n */\n\n\nfunction GetYoDigits() {\n var length = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 6;\n var namespace = arguments.length > 1 ? arguments[1] : undefined;\n var str = '';\n var chars = '0123456789abcdefghijklmnopqrstuvwxyz';\n var charsLength = chars.length;\n\n for (var i = 0; i < length; i++) {\n str += chars[Math.floor(Math.random() * charsLength)];\n }\n\n return namespace ? \"\".concat(str, \"-\").concat(namespace) : str;\n}\n/**\n * Escape a string so it can be used as a regexp pattern\n * @function\n * @see https://stackoverflow.com/a/9310752/4317384\n *\n * @param {String} str - string to escape.\n * @returns {String} - escaped string\n */\n\n\nfunction RegExpEscape(str) {\n return str.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\n}\n\nfunction transitionend($elem) {\n var transitions = {\n 'transition': 'transitionend',\n 'WebkitTransition': 'webkitTransitionEnd',\n 'MozTransition': 'transitionend',\n 'OTransition': 'otransitionend'\n };\n var elem = document.createElement('div'),\n end;\n\n for (var transition in transitions) {\n if (typeof elem.style[transition] !== 'undefined') {\n end = transitions[transition];\n }\n }\n\n if (end) {\n return end;\n } else {\n setTimeout(function () {\n $elem.triggerHandler('transitionend', [$elem]);\n }, 1);\n return 'transitionend';\n }\n}\n/**\n * Return an event type to listen for window load.\n *\n * If `$elem` is passed, an event will be triggered on `$elem`. If window is already loaded, the event will still be triggered.\n * If `handler` is passed, attach it to the event on `$elem`.\n * Calling `onLoad` without handler allows you to get the event type that will be triggered before attaching the handler by yourself.\n * @function\n *\n * @param {Object} [] $elem - jQuery element on which the event will be triggered if passed.\n * @param {Function} [] handler - function to attach to the event.\n * @returns {String} - event type that should or will be triggered.\n */\n\n\nfunction onLoad($elem, handler) {\n var didLoad = document.readyState === 'complete';\n var eventType = (didLoad ? '_didLoad' : 'load') + '.zf.util.onLoad';\n\n var cb = function cb() {\n return $elem.triggerHandler(eventType);\n };\n\n if ($elem) {\n if (handler) $elem.one(eventType, handler);\n if (didLoad) setTimeout(cb);else $(window).one('load', cb);\n }\n\n return eventType;\n}\n/**\n * Retuns an handler for the `mouseleave` that ignore disappeared mouses.\n *\n * If the mouse \"disappeared\" from the document (like when going on a browser UI element, See https://git.io/zf-11410),\n * the event is ignored.\n * - If the `ignoreLeaveWindow` is `true`, the event is ignored when the user actually left the window\n * (like by switching to an other window with [Alt]+[Tab]).\n * - If the `ignoreReappear` is `true`, the event will be ignored when the mouse will reappear later on the document\n * outside of the element it left.\n *\n * @function\n *\n * @param {Function} [] handler - handler for the filtered `mouseleave` event to watch.\n * @param {Object} [] options - object of options:\n * - {Boolean} [false] ignoreLeaveWindow - also ignore when the user switched windows.\n * - {Boolean} [false] ignoreReappear - also ignore when the mouse reappeared outside of the element it left.\n * @returns {Function} - filtered handler to use to listen on the `mouseleave` event.\n */\n\n\nfunction ignoreMousedisappear(handler) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref$ignoreLeaveWindo = _ref.ignoreLeaveWindow,\n ignoreLeaveWindow = _ref$ignoreLeaveWindo === void 0 ? false : _ref$ignoreLeaveWindo,\n _ref$ignoreReappear = _ref.ignoreReappear,\n ignoreReappear = _ref$ignoreReappear === void 0 ? false : _ref$ignoreReappear;\n\n return function leaveEventHandler(eLeave) {\n for (var _len = arguments.length, rest = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n rest[_key - 1] = arguments[_key];\n }\n\n var callback = handler.bind.apply(handler, [this, eLeave].concat(rest)); // The mouse left: call the given callback if the mouse entered elsewhere\n\n if (eLeave.relatedTarget !== null) {\n return callback();\n } // Otherwise, check if the mouse actually left the window.\n // In firefox if the user switched between windows, the window sill have the focus by the time\n // the event is triggered. We have to debounce the event to test this case.\n\n\n setTimeout(function leaveEventDebouncer() {\n if (!ignoreLeaveWindow && document.hasFocus && !document.hasFocus()) {\n return callback();\n } // Otherwise, wait for the mouse to reeapear outside of the element,\n\n\n if (!ignoreReappear) {\n $(document).one('mouseenter', function reenterEventHandler(eReenter) {\n if (!$(eLeave.currentTarget).has(eReenter.target).length) {\n // Fill where the mouse finally entered.\n eLeave.relatedTarget = eReenter.target;\n callback();\n }\n });\n }\n }, 0);\n };\n}\n\nvar foundation_core_utils = /*#__PURE__*/Object.freeze({\n rtl: rtl,\n GetYoDigits: GetYoDigits,\n RegExpEscape: RegExpEscape,\n transitionend: transitionend,\n onLoad: onLoad,\n ignoreMousedisappear: ignoreMousedisappear\n});\n\n// Authors & copyright © 2012: Scott Jehl, Paul Irish, Nicholas Zakas, David Knight. MIT license\n\n/* eslint-disable */\n\nwindow.matchMedia || (window.matchMedia = function () {\n\n var styleMedia = window.styleMedia || window.media; // For those that don't support matchMedium\n\n if (!styleMedia) {\n var style = document.createElement('style'),\n script = document.getElementsByTagName('script')[0],\n info = null;\n style.type = 'text/css';\n style.id = 'matchmediajs-test';\n\n if (!script) {\n document.head.appendChild(style);\n } else {\n script.parentNode.insertBefore(style, script);\n } // 'style.currentStyle' is used by IE <= 8 and 'window.getComputedStyle' for all other browsers\n\n\n info = 'getComputedStyle' in window && window.getComputedStyle(style, null) || style.currentStyle;\n styleMedia = {\n matchMedium: function matchMedium(media) {\n var text = '@media ' + media + '{ #matchmediajs-test { width: 1px; } }'; // 'style.styleSheet' is used by IE <= 8 and 'style.textContent' for all other browsers\n\n if (style.styleSheet) {\n style.styleSheet.cssText = text;\n } else {\n style.textContent = text;\n } // Test if media query is true or false\n\n\n return info.width === '1px';\n }\n };\n }\n\n return function (media) {\n return {\n matches: styleMedia.matchMedium(media || 'all'),\n media: media || 'all'\n };\n };\n}());\n/* eslint-enable */\n\nvar MediaQuery = {\n queries: [],\n current: '',\n\n /**\n * Initializes the media query helper, by extracting the breakpoint list from the CSS and activating the breakpoint watcher.\n * @function\n * @private\n */\n _init: function _init() {\n // make sure the initialization is only done once when calling _init() several times\n if (this.isInitialized === true) {\n return;\n } else {\n this.isInitialized = true;\n }\n\n var self = this;\n var $meta = $('meta.foundation-mq');\n\n if (!$meta.length) {\n $('').appendTo(document.head);\n }\n\n var extractedStyles = $('.foundation-mq').css('font-family');\n var namedQueries;\n namedQueries = parseStyleToObject(extractedStyles);\n self.queries = []; // reset\n\n for (var key in namedQueries) {\n if (namedQueries.hasOwnProperty(key)) {\n self.queries.push({\n name: key,\n value: \"only screen and (min-width: \".concat(namedQueries[key], \")\")\n });\n }\n }\n\n this.current = this._getCurrentSize();\n\n this._watcher();\n },\n\n /**\n * Reinitializes the media query helper.\n * Useful if your CSS breakpoint configuration has just been loaded or has changed since the initialization.\n * @function\n * @private\n */\n _reInit: function _reInit() {\n this.isInitialized = false;\n\n this._init();\n },\n\n /**\n * Checks if the screen is at least as wide as a breakpoint.\n * @function\n * @param {String} size - Name of the breakpoint to check.\n * @returns {Boolean} `true` if the breakpoint matches, `false` if it's smaller.\n */\n atLeast: function atLeast(size) {\n var query = this.get(size);\n\n if (query) {\n return window.matchMedia(query).matches;\n }\n\n return false;\n },\n\n /**\n * Checks if the screen is within the given breakpoint.\n * If smaller than the breakpoint of larger than its upper limit it returns false.\n * @function\n * @param {String} size - Name of the breakpoint to check.\n * @returns {Boolean} `true` if the breakpoint matches, `false` otherwise.\n */\n only: function only(size) {\n return size === this._getCurrentSize();\n },\n\n /**\n * Checks if the screen is within a breakpoint or smaller.\n * @function\n * @param {String} size - Name of the breakpoint to check.\n * @returns {Boolean} `true` if the breakpoint matches, `false` if it's larger.\n */\n upTo: function upTo(size) {\n var nextSize = this.next(size); // If the next breakpoint does not match, the screen is smaller than\n // the upper limit of this breakpoint.\n\n if (nextSize) {\n return !this.atLeast(nextSize);\n } // If there is no next breakpoint, the \"size\" breakpoint does not have\n // an upper limit and the screen will always be within it or smaller.\n\n\n return true;\n },\n\n /**\n * Checks if the screen matches to a breakpoint.\n * @function\n * @param {String} size - Name of the breakpoint to check, either 'small only' or 'small'. Omitting 'only' falls back to using atLeast() method.\n * @returns {Boolean} `true` if the breakpoint matches, `false` if it does not.\n */\n is: function is(size) {\n var parts = size.trim().split(' ').filter(function (p) {\n return !!p.length;\n });\n\n var _parts = _slicedToArray(parts, 2),\n bpSize = _parts[0],\n _parts$ = _parts[1],\n bpModifier = _parts$ === void 0 ? '' : _parts$; // Only the breakpont\n\n\n if (bpModifier === 'only') {\n return this.only(bpSize);\n } // At least the breakpoint (included)\n\n\n if (!bpModifier || bpModifier === 'up') {\n return this.atLeast(bpSize);\n } // Up to the breakpoint (included)\n\n\n if (bpModifier === 'down') {\n return this.upTo(bpSize);\n }\n\n throw new Error(\"\\n Invalid breakpoint passed to MediaQuery.is().\\n Expected a breakpoint name formatted like \\\" \\\", got \\\"\".concat(size, \"\\\".\\n \"));\n },\n\n /**\n * Gets the media query of a breakpoint.\n * @function\n * @param {String} size - Name of the breakpoint to get.\n * @returns {String|null} - The media query of the breakpoint, or `null` if the breakpoint doesn't exist.\n */\n get: function get(size) {\n for (var i in this.queries) {\n if (this.queries.hasOwnProperty(i)) {\n var query = this.queries[i];\n if (size === query.name) return query.value;\n }\n }\n\n return null;\n },\n\n /**\n * Get the breakpoint following the given breakpoint.\n * @function\n * @param {String} size - Name of the breakpoint.\n * @returns {String|null} - The name of the following breakpoint, or `null` if the passed breakpoint was the last one.\n */\n next: function next(size) {\n var _this = this;\n\n var queryIndex = this.queries.findIndex(function (q) {\n return _this._getQueryName(q) === size;\n });\n\n if (queryIndex === -1) {\n throw new Error(\"\\n Unknown breakpoint \\\"\".concat(size, \"\\\" passed to MediaQuery.next().\\n Ensure it is present in your Sass \\\"$breakpoints\\\" setting.\\n \"));\n }\n\n var nextQuery = this.queries[queryIndex + 1];\n return nextQuery ? nextQuery.name : null;\n },\n\n /**\n * Returns the name of the breakpoint related to the given value.\n * @function\n * @private\n * @param {String|Object} value - Breakpoint name or query object.\n * @returns {String} Name of the breakpoint.\n */\n _getQueryName: function _getQueryName(value) {\n if (typeof value === 'string') return value;\n if (_typeof(value) === 'object') return value.name;\n throw new TypeError(\"\\n Invalid value passed to MediaQuery._getQueryName().\\n Expected a breakpoint name (String) or a breakpoint query (Object), got \\\"\".concat(value, \"\\\" (\").concat(_typeof(value), \")\\n \"));\n },\n\n /**\n * Gets the current breakpoint name by testing every breakpoint and returning the last one to match (the biggest one).\n * @function\n * @private\n * @returns {String} Name of the current breakpoint.\n */\n _getCurrentSize: function _getCurrentSize() {\n var matched;\n\n for (var i = 0; i < this.queries.length; i++) {\n var query = this.queries[i];\n\n if (window.matchMedia(query.value).matches) {\n matched = query;\n }\n }\n\n return matched && this._getQueryName(matched);\n },\n\n /**\n * Activates the breakpoint watcher, which fires an event on the window whenever the breakpoint changes.\n * @function\n * @private\n */\n _watcher: function _watcher() {\n var _this2 = this;\n\n $(window).off('resize.zf.mediaquery').on('resize.zf.mediaquery', function () {\n var newSize = _this2._getCurrentSize(),\n currentSize = _this2.current;\n\n if (newSize !== currentSize) {\n // Change the current media query\n _this2.current = newSize; // Broadcast the media query change on the window\n\n $(window).trigger('changed.zf.mediaquery', [newSize, currentSize]);\n }\n });\n }\n}; // Thank you: https://github.com/sindresorhus/query-string\n\nfunction parseStyleToObject(str) {\n var styleObject = {};\n\n if (typeof str !== 'string') {\n return styleObject;\n }\n\n str = str.trim().slice(1, -1); // browsers re-quote string style values\n\n if (!str) {\n return styleObject;\n }\n\n styleObject = str.split('&').reduce(function (ret, param) {\n var parts = param.replace(/\\+/g, ' ').split('=');\n var key = parts[0];\n var val = parts[1];\n key = decodeURIComponent(key); // missing `=` should be `null`:\n // http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n\n val = typeof val === 'undefined' ? null : decodeURIComponent(val);\n\n if (!ret.hasOwnProperty(key)) {\n ret[key] = val;\n } else if (Array.isArray(ret[key])) {\n ret[key].push(val);\n } else {\n ret[key] = [ret[key], val];\n }\n\n return ret;\n }, {});\n return styleObject;\n}\n\nvar FOUNDATION_VERSION = '6.6.3'; // Global Foundation object\n// This is attached to the window, or used as a module for AMD/Browserify\n\nvar Foundation = {\n version: FOUNDATION_VERSION,\n\n /**\n * Stores initialized plugins.\n */\n _plugins: {},\n\n /**\n * Stores generated unique ids for plugin instances\n */\n _uuids: [],\n\n /**\n * Defines a Foundation plugin, adding it to the `Foundation` namespace and the list of plugins to initialize when reflowing.\n * @param {Object} plugin - The constructor of the plugin.\n */\n plugin: function plugin(_plugin, name) {\n // Object key to use when adding to global Foundation object\n // Examples: Foundation.Reveal, Foundation.OffCanvas\n var className = name || functionName(_plugin); // Object key to use when storing the plugin, also used to create the identifying data attribute for the plugin\n // Examples: data-reveal, data-off-canvas\n\n var attrName = hyphenate(className); // Add to the Foundation object and the plugins list (for reflowing)\n\n this._plugins[attrName] = this[className] = _plugin;\n },\n\n /**\n * @function\n * Populates the _uuids array with pointers to each individual plugin instance.\n * Adds the `zfPlugin` data-attribute to programmatically created plugins to allow use of $(selector).foundation(method) calls.\n * Also fires the initialization event for each plugin, consolidating repetitive code.\n * @param {Object} plugin - an instance of a plugin, usually `this` in context.\n * @param {String} name - the name of the plugin, passed as a camelCased string.\n * @fires Plugin#init\n */\n registerPlugin: function registerPlugin(plugin, name) {\n var pluginName = name ? hyphenate(name) : functionName(plugin.constructor).toLowerCase();\n plugin.uuid = GetYoDigits(6, pluginName);\n\n if (!plugin.$element.attr(\"data-\".concat(pluginName))) {\n plugin.$element.attr(\"data-\".concat(pluginName), plugin.uuid);\n }\n\n if (!plugin.$element.data('zfPlugin')) {\n plugin.$element.data('zfPlugin', plugin);\n }\n /**\n * Fires when the plugin has initialized.\n * @event Plugin#init\n */\n\n\n plugin.$element.trigger(\"init.zf.\".concat(pluginName));\n\n this._uuids.push(plugin.uuid);\n\n return;\n },\n\n /**\n * @function\n * Removes the plugins uuid from the _uuids array.\n * Removes the zfPlugin data attribute, as well as the data-plugin-name attribute.\n * Also fires the destroyed event for the plugin, consolidating repetitive code.\n * @param {Object} plugin - an instance of a plugin, usually `this` in context.\n * @fires Plugin#destroyed\n */\n unregisterPlugin: function unregisterPlugin(plugin) {\n var pluginName = hyphenate(functionName(plugin.$element.data('zfPlugin').constructor));\n\n this._uuids.splice(this._uuids.indexOf(plugin.uuid), 1);\n\n plugin.$element.removeAttr(\"data-\".concat(pluginName)).removeData('zfPlugin')\n /**\n * Fires when the plugin has been destroyed.\n * @event Plugin#destroyed\n */\n .trigger(\"destroyed.zf.\".concat(pluginName));\n\n for (var prop in plugin) {\n plugin[prop] = null; //clean up script to prep for garbage collection.\n }\n\n return;\n },\n\n /**\n * @function\n * Causes one or more active plugins to re-initialize, resetting event listeners, recalculating positions, etc.\n * @param {String} plugins - optional string of an individual plugin key, attained by calling `$(element).data('pluginName')`, or string of a plugin class i.e. `'dropdown'`\n * @default If no argument is passed, reflow all currently active plugins.\n */\n reInit: function reInit(plugins) {\n var isJQ = plugins instanceof $;\n\n try {\n if (isJQ) {\n plugins.each(function () {\n $(this).data('zfPlugin')._init();\n });\n } else {\n var type = _typeof(plugins),\n _this = this,\n fns = {\n 'object': function object(plgs) {\n plgs.forEach(function (p) {\n p = hyphenate(p);\n $('[data-' + p + ']').foundation('_init');\n });\n },\n 'string': function string() {\n plugins = hyphenate(plugins);\n $('[data-' + plugins + ']').foundation('_init');\n },\n 'undefined': function undefined$1() {\n this['object'](Object.keys(_this._plugins));\n }\n };\n\n fns[type](plugins);\n }\n } catch (err) {\n console.error(err);\n } finally {\n return plugins;\n }\n },\n\n /**\n * Initialize plugins on any elements within `elem` (and `elem` itself) that aren't already initialized.\n * @param {Object} elem - jQuery object containing the element to check inside. Also checks the element itself, unless it's the `document` object.\n * @param {String|Array} plugins - A list of plugins to initialize. Leave this out to initialize everything.\n */\n reflow: function reflow(elem, plugins) {\n // If plugins is undefined, just grab everything\n if (typeof plugins === 'undefined') {\n plugins = Object.keys(this._plugins);\n } // If plugins is a string, convert it to an array with one item\n else if (typeof plugins === 'string') {\n plugins = [plugins];\n }\n\n var _this = this; // Iterate through each plugin\n\n\n $.each(plugins, function (i, name) {\n // Get the current plugin\n var plugin = _this._plugins[name]; // Localize the search to all elements inside elem, as well as elem itself, unless elem === document\n\n var $elem = $(elem).find('[data-' + name + ']').addBack('[data-' + name + ']').filter(function () {\n return typeof $(this).data(\"zfPlugin\") === 'undefined';\n }); // For each plugin found, initialize it\n\n $elem.each(function () {\n var $el = $(this),\n opts = {\n reflow: true\n };\n\n if ($el.attr('data-options')) {\n $el.attr('data-options').split(';').forEach(function (option, _index) {\n var opt = option.split(':').map(function (el) {\n return el.trim();\n });\n if (opt[0]) opts[opt[0]] = parseValue(opt[1]);\n });\n }\n\n try {\n $el.data('zfPlugin', new plugin($(this), opts));\n } catch (er) {\n console.error(er);\n } finally {\n return;\n }\n });\n });\n },\n getFnName: functionName,\n addToJquery: function addToJquery($) {\n // TODO: consider not making this a jQuery function\n // TODO: need way to reflow vs. re-initialize\n\n /**\n * The Foundation jQuery method.\n * @param {String|Array} method - An action to perform on the current jQuery object.\n */\n var foundation = function foundation(method) {\n var type = _typeof(method),\n $noJS = $('.no-js');\n\n if ($noJS.length) {\n $noJS.removeClass('no-js');\n }\n\n if (type === 'undefined') {\n //needs to initialize the Foundation object, or an individual plugin.\n MediaQuery._init();\n\n Foundation.reflow(this);\n } else if (type === 'string') {\n //an individual method to invoke on a plugin or group of plugins\n var args = Array.prototype.slice.call(arguments, 1); //collect all the arguments, if necessary\n\n var plugClass = this.data('zfPlugin'); //determine the class of plugin\n\n if (typeof plugClass !== 'undefined' && typeof plugClass[method] !== 'undefined') {\n //make sure both the class and method exist\n if (this.length === 1) {\n //if there's only one, call it directly.\n plugClass[method].apply(plugClass, args);\n } else {\n this.each(function (i, el) {\n //otherwise loop through the jQuery collection and invoke the method on each\n plugClass[method].apply($(el).data('zfPlugin'), args);\n });\n }\n } else {\n //error for no class or no method\n throw new ReferenceError(\"We're sorry, '\" + method + \"' is not an available method for \" + (plugClass ? functionName(plugClass) : 'this element') + '.');\n }\n } else {\n //error for invalid argument type\n throw new TypeError(\"We're sorry, \".concat(type, \" is not a valid parameter. You must use a string representing the method you wish to invoke.\"));\n }\n\n return this;\n };\n\n $.fn.foundation = foundation;\n return $;\n }\n};\nFoundation.util = {\n /**\n * Function for applying a debounce effect to a function call.\n * @function\n * @param {Function} func - Function to be called at end of timeout.\n * @param {Number} delay - Time in ms to delay the call of `func`.\n * @returns function\n */\n throttle: function throttle(func, delay) {\n var timer = null;\n return function () {\n var context = this,\n args = arguments;\n\n if (timer === null) {\n timer = setTimeout(function () {\n func.apply(context, args);\n timer = null;\n }, delay);\n }\n };\n }\n};\nwindow.Foundation = Foundation; // Polyfill for requestAnimationFrame\n\n(function () {\n if (!Date.now || !window.Date.now) window.Date.now = Date.now = function () {\n return new Date().getTime();\n };\n var vendors = ['webkit', 'moz'];\n\n for (var i = 0; i < vendors.length && !window.requestAnimationFrame; ++i) {\n var vp = vendors[i];\n window.requestAnimationFrame = window[vp + 'RequestAnimationFrame'];\n window.cancelAnimationFrame = window[vp + 'CancelAnimationFrame'] || window[vp + 'CancelRequestAnimationFrame'];\n }\n\n if (/iP(ad|hone|od).*OS 6/.test(window.navigator.userAgent) || !window.requestAnimationFrame || !window.cancelAnimationFrame) {\n var lastTime = 0;\n\n window.requestAnimationFrame = function (callback) {\n var now = Date.now();\n var nextTime = Math.max(lastTime + 16, now);\n return setTimeout(function () {\n callback(lastTime = nextTime);\n }, nextTime - now);\n };\n\n window.cancelAnimationFrame = clearTimeout;\n }\n /**\n * Polyfill for performance.now, required by rAF\n */\n\n\n if (!window.performance || !window.performance.now) {\n window.performance = {\n start: Date.now(),\n now: function now() {\n return Date.now() - this.start;\n }\n };\n }\n})();\n\nif (!Function.prototype.bind) {\n Function.prototype.bind = function (oThis) {\n if (typeof this !== 'function') {\n // closest thing possible to the ECMAScript 5\n // internal IsCallable function\n throw new TypeError('Function.prototype.bind - what is trying to be bound is not callable');\n }\n\n var aArgs = Array.prototype.slice.call(arguments, 1),\n fToBind = this,\n fNOP = function fNOP() {},\n fBound = function fBound() {\n return fToBind.apply(this instanceof fNOP ? this : oThis, aArgs.concat(Array.prototype.slice.call(arguments)));\n };\n\n if (this.prototype) {\n // native functions don't have a prototype\n fNOP.prototype = this.prototype;\n }\n\n fBound.prototype = new fNOP();\n return fBound;\n };\n} // Polyfill to get the name of a function in IE9\n\n\nfunction functionName(fn) {\n if (typeof Function.prototype.name === 'undefined') {\n var funcNameRegex = /function\\s([^(]{1,})\\(/;\n var results = funcNameRegex.exec(fn.toString());\n return results && results.length > 1 ? results[1].trim() : \"\";\n } else if (typeof fn.prototype === 'undefined') {\n return fn.constructor.name;\n } else {\n return fn.prototype.constructor.name;\n }\n}\n\nfunction parseValue(str) {\n if ('true' === str) return true;else if ('false' === str) return false;else if (!isNaN(str * 1)) return parseFloat(str);\n return str;\n} // Convert PascalCase to kebab-case\n// Thank you: http://stackoverflow.com/a/8955580\n\n\nfunction hyphenate(str) {\n return str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n}\n\nvar Box = {\n ImNotTouchingYou: ImNotTouchingYou,\n OverlapArea: OverlapArea,\n GetDimensions: GetDimensions,\n GetExplicitOffsets: GetExplicitOffsets\n /**\n * Compares the dimensions of an element to a container and determines collision events with container.\n * @function\n * @param {jQuery} element - jQuery object to test for collisions.\n * @param {jQuery} parent - jQuery object to use as bounding container.\n * @param {Boolean} lrOnly - set to true to check left and right values only.\n * @param {Boolean} tbOnly - set to true to check top and bottom values only.\n * @default if no parent object passed, detects collisions with `window`.\n * @returns {Boolean} - true if collision free, false if a collision in any direction.\n */\n\n};\n\nfunction ImNotTouchingYou(element, parent, lrOnly, tbOnly, ignoreBottom) {\n return OverlapArea(element, parent, lrOnly, tbOnly, ignoreBottom) === 0;\n}\n\nfunction OverlapArea(element, parent, lrOnly, tbOnly, ignoreBottom) {\n var eleDims = GetDimensions(element),\n topOver,\n bottomOver,\n leftOver,\n rightOver;\n\n if (parent) {\n var parDims = GetDimensions(parent);\n bottomOver = parDims.height + parDims.offset.top - (eleDims.offset.top + eleDims.height);\n topOver = eleDims.offset.top - parDims.offset.top;\n leftOver = eleDims.offset.left - parDims.offset.left;\n rightOver = parDims.width + parDims.offset.left - (eleDims.offset.left + eleDims.width);\n } else {\n bottomOver = eleDims.windowDims.height + eleDims.windowDims.offset.top - (eleDims.offset.top + eleDims.height);\n topOver = eleDims.offset.top - eleDims.windowDims.offset.top;\n leftOver = eleDims.offset.left - eleDims.windowDims.offset.left;\n rightOver = eleDims.windowDims.width - (eleDims.offset.left + eleDims.width);\n }\n\n bottomOver = ignoreBottom ? 0 : Math.min(bottomOver, 0);\n topOver = Math.min(topOver, 0);\n leftOver = Math.min(leftOver, 0);\n rightOver = Math.min(rightOver, 0);\n\n if (lrOnly) {\n return leftOver + rightOver;\n }\n\n if (tbOnly) {\n return topOver + bottomOver;\n } // use sum of squares b/c we care about overlap area.\n\n\n return Math.sqrt(topOver * topOver + bottomOver * bottomOver + leftOver * leftOver + rightOver * rightOver);\n}\n/**\n * Uses native methods to return an object of dimension values.\n * @function\n * @param {jQuery || HTML} element - jQuery object or DOM element for which to get the dimensions. Can be any element other that document or window.\n * @returns {Object} - nested object of integer pixel values\n * TODO - if element is window, return only those values.\n */\n\n\nfunction GetDimensions(elem) {\n elem = elem.length ? elem[0] : elem;\n\n if (elem === window || elem === document) {\n throw new Error(\"I'm sorry, Dave. I'm afraid I can't do that.\");\n }\n\n var rect = elem.getBoundingClientRect(),\n parRect = elem.parentNode.getBoundingClientRect(),\n winRect = document.body.getBoundingClientRect(),\n winY = window.pageYOffset,\n winX = window.pageXOffset;\n return {\n width: rect.width,\n height: rect.height,\n offset: {\n top: rect.top + winY,\n left: rect.left + winX\n },\n parentDims: {\n width: parRect.width,\n height: parRect.height,\n offset: {\n top: parRect.top + winY,\n left: parRect.left + winX\n }\n },\n windowDims: {\n width: winRect.width,\n height: winRect.height,\n offset: {\n top: winY,\n left: winX\n }\n }\n };\n}\n/**\n * Returns an object of top and left integer pixel values for dynamically rendered elements,\n * such as: Tooltip, Reveal, and Dropdown. Maintained for backwards compatibility, and where\n * you don't know alignment, but generally from\n * 6.4 forward you should use GetExplicitOffsets, as GetOffsets conflates position and alignment.\n * @function\n * @param {jQuery} element - jQuery object for the element being positioned.\n * @param {jQuery} anchor - jQuery object for the element's anchor point.\n * @param {String} position - a string relating to the desired position of the element, relative to it's anchor\n * @param {Number} vOffset - integer pixel value of desired vertical separation between anchor and element.\n * @param {Number} hOffset - integer pixel value of desired horizontal separation between anchor and element.\n * @param {Boolean} isOverflow - if a collision event is detected, sets to true to default the element to full width - any desired offset.\n * TODO alter/rewrite to work with `em` values as well/instead of pixels\n */\n\n\nfunction GetExplicitOffsets(element, anchor, position, alignment, vOffset, hOffset, isOverflow) {\n var $eleDims = GetDimensions(element),\n $anchorDims = anchor ? GetDimensions(anchor) : null;\n var topVal, leftVal;\n\n if ($anchorDims !== null) {\n // set position related attribute\n switch (position) {\n case 'top':\n topVal = $anchorDims.offset.top - ($eleDims.height + vOffset);\n break;\n\n case 'bottom':\n topVal = $anchorDims.offset.top + $anchorDims.height + vOffset;\n break;\n\n case 'left':\n leftVal = $anchorDims.offset.left - ($eleDims.width + hOffset);\n break;\n\n case 'right':\n leftVal = $anchorDims.offset.left + $anchorDims.width + hOffset;\n break;\n } // set alignment related attribute\n\n\n switch (position) {\n case 'top':\n case 'bottom':\n switch (alignment) {\n case 'left':\n leftVal = $anchorDims.offset.left + hOffset;\n break;\n\n case 'right':\n leftVal = $anchorDims.offset.left - $eleDims.width + $anchorDims.width - hOffset;\n break;\n\n case 'center':\n leftVal = isOverflow ? hOffset : $anchorDims.offset.left + $anchorDims.width / 2 - $eleDims.width / 2 + hOffset;\n break;\n }\n\n break;\n\n case 'right':\n case 'left':\n switch (alignment) {\n case 'bottom':\n topVal = $anchorDims.offset.top - vOffset + $anchorDims.height - $eleDims.height;\n break;\n\n case 'top':\n topVal = $anchorDims.offset.top + vOffset;\n break;\n\n case 'center':\n topVal = $anchorDims.offset.top + vOffset + $anchorDims.height / 2 - $eleDims.height / 2;\n break;\n }\n\n break;\n }\n }\n\n return {\n top: topVal,\n left: leftVal\n };\n}\n\n/**\n * Runs a callback function when images are fully loaded.\n * @param {Object} images - Image(s) to check if loaded.\n * @param {Func} callback - Function to execute when image is fully loaded.\n */\n\nfunction onImagesLoaded(images, callback) {\n var unloaded = images.length;\n\n if (unloaded === 0) {\n callback();\n }\n\n images.each(function () {\n // Check if image is loaded\n if (this.complete && typeof this.naturalWidth !== 'undefined') {\n singleImageLoaded();\n } else {\n // If the above check failed, simulate loading on detached element.\n var image = new Image(); // Still count image as loaded if it finalizes with an error.\n\n var events = \"load.zf.images error.zf.images\";\n $(image).one(events, function me(event) {\n // Unbind the event listeners. We're using 'one' but only one of the two events will have fired.\n $(this).off(events, me);\n singleImageLoaded();\n });\n image.src = $(this).attr('src');\n }\n });\n\n function singleImageLoaded() {\n unloaded--;\n\n if (unloaded === 0) {\n callback();\n }\n }\n}\n\n/*******************************************\n * *\n * This util was created by Marius Olbertz *\n * Please thank Marius on GitHub /owlbertz *\n * or the web http://www.mariusolbertz.de/ *\n * *\n ******************************************/\nvar keyCodes = {\n 9: 'TAB',\n 13: 'ENTER',\n 27: 'ESCAPE',\n 32: 'SPACE',\n 35: 'END',\n 36: 'HOME',\n 37: 'ARROW_LEFT',\n 38: 'ARROW_UP',\n 39: 'ARROW_RIGHT',\n 40: 'ARROW_DOWN'\n};\nvar commands = {}; // Functions pulled out to be referenceable from internals\n\nfunction findFocusable($element) {\n if (!$element) {\n return false;\n }\n\n return $element.find('a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable]').filter(function () {\n if (!$(this).is(':visible') || $(this).attr('tabindex') < 0) {\n return false;\n } //only have visible elements and those that have a tabindex greater or equal 0\n\n\n return true;\n });\n}\n\nfunction parseKey(event) {\n var key = keyCodes[event.which || event.keyCode] || String.fromCharCode(event.which).toUpperCase(); // Remove un-printable characters, e.g. for `fromCharCode` calls for CTRL only events\n\n key = key.replace(/\\W+/, '');\n if (event.shiftKey) key = \"SHIFT_\".concat(key);\n if (event.ctrlKey) key = \"CTRL_\".concat(key);\n if (event.altKey) key = \"ALT_\".concat(key); // Remove trailing underscore, in case only modifiers were used (e.g. only `CTRL_ALT`)\n\n key = key.replace(/_$/, '');\n return key;\n}\n\nvar Keyboard = {\n keys: getKeyCodes(keyCodes),\n\n /**\n * Parses the (keyboard) event and returns a String that represents its key\n * Can be used like Foundation.parseKey(event) === Foundation.keys.SPACE\n * @param {Event} event - the event generated by the event handler\n * @return String key - String that represents the key pressed\n */\n parseKey: parseKey,\n\n /**\n * Handles the given (keyboard) event\n * @param {Event} event - the event generated by the event handler\n * @param {String} component - Foundation component's name, e.g. Slider or Reveal\n * @param {Objects} functions - collection of functions that are to be executed\n */\n handleKey: function handleKey(event, component, functions) {\n var commandList = commands[component],\n keyCode = this.parseKey(event),\n cmds,\n command,\n fn;\n if (!commandList) return console.warn('Component not defined!'); // Ignore the event if it was already handled\n\n if (event.zfIsKeyHandled === true) return; // This component does not differentiate between ltr and rtl\n\n if (typeof commandList.ltr === 'undefined') {\n cmds = commandList; // use plain list\n } else {\n // merge ltr and rtl: if document is rtl, rtl overwrites ltr and vice versa\n if (rtl()) cmds = $.extend({}, commandList.ltr, commandList.rtl);else cmds = $.extend({}, commandList.rtl, commandList.ltr);\n }\n\n command = cmds[keyCode];\n fn = functions[command]; // Execute the handler if found\n\n if (fn && typeof fn === 'function') {\n var returnValue = fn.apply(); // Mark the event as \"handled\" to prevent future handlings\n\n event.zfIsKeyHandled = true; // Execute function when event was handled\n\n if (functions.handled || typeof functions.handled === 'function') {\n functions.handled(returnValue);\n }\n } else {\n // Execute function when event was not handled\n if (functions.unhandled || typeof functions.unhandled === 'function') {\n functions.unhandled();\n }\n }\n },\n\n /**\n * Finds all focusable elements within the given `$element`\n * @param {jQuery} $element - jQuery object to search within\n * @return {jQuery} $focusable - all focusable elements within `$element`\n */\n findFocusable: findFocusable,\n\n /**\n * Returns the component name name\n * @param {Object} component - Foundation component, e.g. Slider or Reveal\n * @return String componentName\n */\n register: function register(componentName, cmds) {\n commands[componentName] = cmds;\n },\n // TODO9438: These references to Keyboard need to not require global. Will 'this' work in this context?\n //\n\n /**\n * Traps the focus in the given element.\n * @param {jQuery} $element jQuery object to trap the foucs into.\n */\n trapFocus: function trapFocus($element) {\n var $focusable = findFocusable($element),\n $firstFocusable = $focusable.eq(0),\n $lastFocusable = $focusable.eq(-1);\n $element.on('keydown.zf.trapfocus', function (event) {\n if (event.target === $lastFocusable[0] && parseKey(event) === 'TAB') {\n event.preventDefault();\n $firstFocusable.focus();\n } else if (event.target === $firstFocusable[0] && parseKey(event) === 'SHIFT_TAB') {\n event.preventDefault();\n $lastFocusable.focus();\n }\n });\n },\n\n /**\n * Releases the trapped focus from the given element.\n * @param {jQuery} $element jQuery object to release the focus for.\n */\n releaseFocus: function releaseFocus($element) {\n $element.off('keydown.zf.trapfocus');\n }\n};\n/*\n * Constants for easier comparing.\n * Can be used like Foundation.parseKey(event) === Foundation.keys.SPACE\n */\n\nfunction getKeyCodes(kcs) {\n var k = {};\n\n for (var kc in kcs) {\n k[kcs[kc]] = kcs[kc];\n }\n\n return k;\n}\n\n/**\n * Motion module.\n * @module foundation.motion\n */\n\nvar initClasses = ['mui-enter', 'mui-leave'];\nvar activeClasses = ['mui-enter-active', 'mui-leave-active'];\nvar Motion = {\n animateIn: function animateIn(element, animation, cb) {\n animate(true, element, animation, cb);\n },\n animateOut: function animateOut(element, animation, cb) {\n animate(false, element, animation, cb);\n }\n};\n\nfunction Move(duration, elem, fn) {\n var anim,\n prog,\n start = null; // console.log('called');\n\n if (duration === 0) {\n fn.apply(elem);\n elem.trigger('finished.zf.animate', [elem]).triggerHandler('finished.zf.animate', [elem]);\n return;\n }\n\n function move(ts) {\n if (!start) start = ts; // console.log(start, ts);\n\n prog = ts - start;\n fn.apply(elem);\n\n if (prog < duration) {\n anim = window.requestAnimationFrame(move, elem);\n } else {\n window.cancelAnimationFrame(anim);\n elem.trigger('finished.zf.animate', [elem]).triggerHandler('finished.zf.animate', [elem]);\n }\n }\n\n anim = window.requestAnimationFrame(move);\n}\n/**\n * Animates an element in or out using a CSS transition class.\n * @function\n * @private\n * @param {Boolean} isIn - Defines if the animation is in or out.\n * @param {Object} element - jQuery or HTML object to animate.\n * @param {String} animation - CSS class to use.\n * @param {Function} cb - Callback to run when animation is finished.\n */\n\n\nfunction animate(isIn, element, animation, cb) {\n element = $(element).eq(0);\n if (!element.length) return;\n var initClass = isIn ? initClasses[0] : initClasses[1];\n var activeClass = isIn ? activeClasses[0] : activeClasses[1]; // Set up the animation\n\n reset();\n element.addClass(animation).css('transition', 'none');\n requestAnimationFrame(function () {\n element.addClass(initClass);\n if (isIn) element.show();\n }); // Start the animation\n\n requestAnimationFrame(function () {\n // will trigger the browser to synchronously calculate the style and layout\n // also called reflow or layout thrashing\n // see https://gist.github.com/paulirish/5d52fb081b3570c81e3a\n element[0].offsetWidth;\n element.css('transition', '').addClass(activeClass);\n }); // Clean up the animation when it finishes\n\n element.one(transitionend(element), finish); // Hides the element (for out animations), resets the element, and runs a callback\n\n function finish() {\n if (!isIn) element.hide();\n reset();\n if (cb) cb.apply(element);\n } // Resets transitions and removes motion-specific classes\n\n\n function reset() {\n element[0].style.transitionDuration = 0;\n element.removeClass(\"\".concat(initClass, \" \").concat(activeClass, \" \").concat(animation));\n }\n}\n\nvar Nest = {\n Feather: function Feather(menu) {\n var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'zf';\n menu.attr('role', 'menubar');\n menu.find('a').attr({\n 'role': 'menuitem'\n });\n var items = menu.find('li').attr({\n 'role': 'none'\n }),\n subMenuClass = \"is-\".concat(type, \"-submenu\"),\n subItemClass = \"\".concat(subMenuClass, \"-item\"),\n hasSubClass = \"is-\".concat(type, \"-submenu-parent\"),\n applyAria = type !== 'accordion'; // Accordions handle their own ARIA attriutes.\n\n items.each(function () {\n var $item = $(this),\n $sub = $item.children('ul');\n\n if ($sub.length) {\n $item.addClass(hasSubClass);\n\n if (applyAria) {\n $item.attr({\n 'aria-haspopup': true,\n 'aria-label': $item.children('a:first').text()\n }); // Note: Drilldowns behave differently in how they hide, and so need\n // additional attributes. We should look if this possibly over-generalized\n // utility (Nest) is appropriate when we rework menus in 6.4\n\n if (type === 'drilldown') {\n $item.attr({\n 'aria-expanded': false\n });\n }\n }\n\n $sub.addClass(\"submenu \".concat(subMenuClass)).attr({\n 'data-submenu': '',\n 'role': 'menubar'\n });\n\n if (type === 'drilldown') {\n $sub.attr({\n 'aria-hidden': true\n });\n }\n }\n\n if ($item.parent('[data-submenu]').length) {\n $item.addClass(\"is-submenu-item \".concat(subItemClass));\n }\n });\n return;\n },\n Burn: function Burn(menu, type) {\n var //items = menu.find('li'),\n subMenuClass = \"is-\".concat(type, \"-submenu\"),\n subItemClass = \"\".concat(subMenuClass, \"-item\"),\n hasSubClass = \"is-\".concat(type, \"-submenu-parent\");\n menu.find('>li, > li > ul, .menu, .menu > li, [data-submenu] > li').removeClass(\"\".concat(subMenuClass, \" \").concat(subItemClass, \" \").concat(hasSubClass, \" is-submenu-item submenu is-active\")).removeAttr('data-submenu').css('display', '');\n }\n};\n\nfunction Timer(elem, options, cb) {\n var _this = this,\n duration = options.duration,\n //options is an object for easily adding features later.\n nameSpace = Object.keys(elem.data())[0] || 'timer',\n remain = -1,\n start,\n timer;\n\n this.isPaused = false;\n\n this.restart = function () {\n remain = -1;\n clearTimeout(timer);\n this.start();\n };\n\n this.start = function () {\n this.isPaused = false; // if(!elem.data('paused')){ return false; }//maybe implement this sanity check if used for other things.\n\n clearTimeout(timer);\n remain = remain <= 0 ? duration : remain;\n elem.data('paused', false);\n start = Date.now();\n timer = setTimeout(function () {\n if (options.infinite) {\n _this.restart(); //rerun the timer.\n\n }\n\n if (cb && typeof cb === 'function') {\n cb();\n }\n }, remain);\n elem.trigger(\"timerstart.zf.\".concat(nameSpace));\n };\n\n this.pause = function () {\n this.isPaused = true; //if(elem.data('paused')){ return false; }//maybe implement this sanity check if used for other things.\n\n clearTimeout(timer);\n elem.data('paused', true);\n var end = Date.now();\n remain = remain - (end - start);\n elem.trigger(\"timerpaused.zf.\".concat(nameSpace));\n };\n}\n\nvar Touch = {};\nvar startPosX,\n startPosY,\n startTime,\n elapsedTime,\n startEvent,\n isMoving = false,\n didMoved = false;\n\nfunction onTouchEnd(e) {\n this.removeEventListener('touchmove', onTouchMove);\n this.removeEventListener('touchend', onTouchEnd); // If the touch did not move, consider it as a \"tap\"\n\n if (!didMoved) {\n var tapEvent = $.Event('tap', startEvent || e);\n $(this).trigger(tapEvent);\n }\n\n startEvent = null;\n isMoving = false;\n didMoved = false;\n}\n\nfunction onTouchMove(e) {\n if ($.spotSwipe.preventDefault) {\n e.preventDefault();\n }\n\n if (isMoving) {\n var x = e.touches[0].pageX;\n var y = e.touches[0].pageY;\n var dx = startPosX - x;\n var dir;\n didMoved = true;\n elapsedTime = new Date().getTime() - startTime;\n\n if (Math.abs(dx) >= $.spotSwipe.moveThreshold && elapsedTime <= $.spotSwipe.timeThreshold) {\n dir = dx > 0 ? 'left' : 'right';\n } // else if(Math.abs(dy) >= $.spotSwipe.moveThreshold && elapsedTime <= $.spotSwipe.timeThreshold) {\n // dir = dy > 0 ? 'down' : 'up';\n // }\n\n\n if (dir) {\n e.preventDefault();\n onTouchEnd.apply(this, arguments);\n $(this).trigger($.Event('swipe', Object.assign({}, e)), dir).trigger($.Event(\"swipe\".concat(dir), Object.assign({}, e)));\n }\n }\n}\n\nfunction onTouchStart(e) {\n if (e.touches.length == 1) {\n startPosX = e.touches[0].pageX;\n startPosY = e.touches[0].pageY;\n startEvent = e;\n isMoving = true;\n didMoved = false;\n startTime = new Date().getTime();\n this.addEventListener('touchmove', onTouchMove, false);\n this.addEventListener('touchend', onTouchEnd, false);\n }\n}\n\nfunction init() {\n this.addEventListener && this.addEventListener('touchstart', onTouchStart, false);\n}\n\nvar SpotSwipe =\n/*#__PURE__*/\nfunction () {\n function SpotSwipe($) {\n _classCallCheck(this, SpotSwipe);\n\n this.version = '1.0.0';\n this.enabled = 'ontouchstart' in document.documentElement;\n this.preventDefault = false;\n this.moveThreshold = 75;\n this.timeThreshold = 200;\n this.$ = $;\n\n this._init();\n }\n\n _createClass(SpotSwipe, [{\n key: \"_init\",\n value: function _init() {\n var $ = this.$;\n $.event.special.swipe = {\n setup: init\n };\n $.event.special.tap = {\n setup: init\n };\n $.each(['left', 'up', 'down', 'right'], function () {\n $.event.special[\"swipe\".concat(this)] = {\n setup: function setup() {\n $(this).on('swipe', $.noop);\n }\n };\n });\n }\n }]);\n\n return SpotSwipe;\n}();\n/****************************************************\n * As far as I can tell, both setupSpotSwipe and *\n * setupTouchHandler should be idempotent, *\n * because they directly replace functions & *\n * values, and do not add event handlers directly. *\n ****************************************************/\n\n\nTouch.setupSpotSwipe = function ($) {\n $.spotSwipe = new SpotSwipe($);\n};\n/****************************************************\n * Method for adding pseudo drag events to elements *\n ***************************************************/\n\n\nTouch.setupTouchHandler = function ($) {\n $.fn.addTouch = function () {\n this.each(function (i, el) {\n $(el).bind('touchstart touchmove touchend touchcancel', function (event) {\n //we pass the original event object because the jQuery event\n //object is normalized to w3c specs and does not provide the TouchList\n handleTouch(event);\n });\n });\n\n var handleTouch = function handleTouch(event) {\n var touches = event.changedTouches,\n first = touches[0],\n eventTypes = {\n touchstart: 'mousedown',\n touchmove: 'mousemove',\n touchend: 'mouseup'\n },\n type = eventTypes[event.type],\n simulatedEvent;\n\n if ('MouseEvent' in window && typeof window.MouseEvent === 'function') {\n simulatedEvent = new window.MouseEvent(type, {\n 'bubbles': true,\n 'cancelable': true,\n 'screenX': first.screenX,\n 'screenY': first.screenY,\n 'clientX': first.clientX,\n 'clientY': first.clientY\n });\n } else {\n simulatedEvent = document.createEvent('MouseEvent');\n simulatedEvent.initMouseEvent(type, true, true, window, 1, first.screenX, first.screenY, first.clientX, first.clientY, false, false, false, false, 0\n /*left*/\n , null);\n }\n\n first.target.dispatchEvent(simulatedEvent);\n };\n };\n};\n\nTouch.init = function ($) {\n if (typeof $.spotSwipe === 'undefined') {\n Touch.setupSpotSwipe($);\n Touch.setupTouchHandler($);\n }\n};\n\nvar MutationObserver = function () {\n var prefixes = ['WebKit', 'Moz', 'O', 'Ms', ''];\n\n for (var i = 0; i < prefixes.length; i++) {\n if (\"\".concat(prefixes[i], \"MutationObserver\") in window) {\n return window[\"\".concat(prefixes[i], \"MutationObserver\")];\n }\n }\n\n return false;\n}();\n\nvar triggers = function triggers(el, type) {\n el.data(type).split(' ').forEach(function (id) {\n $(\"#\".concat(id))[type === 'close' ? 'trigger' : 'triggerHandler'](\"\".concat(type, \".zf.trigger\"), [el]);\n });\n};\n\nvar Triggers = {\n Listeners: {\n Basic: {},\n Global: {}\n },\n Initializers: {}\n};\nTriggers.Listeners.Basic = {\n openListener: function openListener() {\n triggers($(this), 'open');\n },\n closeListener: function closeListener() {\n var id = $(this).data('close');\n\n if (id) {\n triggers($(this), 'close');\n } else {\n $(this).trigger('close.zf.trigger');\n }\n },\n toggleListener: function toggleListener() {\n var id = $(this).data('toggle');\n\n if (id) {\n triggers($(this), 'toggle');\n } else {\n $(this).trigger('toggle.zf.trigger');\n }\n },\n closeableListener: function closeableListener(e) {\n var animation = $(this).data('closable'); // Only close the first closable element. See https://git.io/zf-7833\n\n e.stopPropagation();\n\n if (animation !== '') {\n Motion.animateOut($(this), animation, function () {\n $(this).trigger('closed.zf');\n });\n } else {\n $(this).fadeOut().trigger('closed.zf');\n }\n },\n toggleFocusListener: function toggleFocusListener() {\n var id = $(this).data('toggle-focus');\n $(\"#\".concat(id)).triggerHandler('toggle.zf.trigger', [$(this)]);\n }\n}; // Elements with [data-open] will reveal a plugin that supports it when clicked.\n\nTriggers.Initializers.addOpenListener = function ($elem) {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.openListener);\n $elem.on('click.zf.trigger', '[data-open]', Triggers.Listeners.Basic.openListener);\n}; // Elements with [data-close] will close a plugin that supports it when clicked.\n// If used without a value on [data-close], the event will bubble, allowing it to close a parent component.\n\n\nTriggers.Initializers.addCloseListener = function ($elem) {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.closeListener);\n $elem.on('click.zf.trigger', '[data-close]', Triggers.Listeners.Basic.closeListener);\n}; // Elements with [data-toggle] will toggle a plugin that supports it when clicked.\n\n\nTriggers.Initializers.addToggleListener = function ($elem) {\n $elem.off('click.zf.trigger', Triggers.Listeners.Basic.toggleListener);\n $elem.on('click.zf.trigger', '[data-toggle]', Triggers.Listeners.Basic.toggleListener);\n}; // Elements with [data-closable] will respond to close.zf.trigger events.\n\n\nTriggers.Initializers.addCloseableListener = function ($elem) {\n $elem.off('close.zf.trigger', Triggers.Listeners.Basic.closeableListener);\n $elem.on('close.zf.trigger', '[data-closeable], [data-closable]', Triggers.Listeners.Basic.closeableListener);\n}; // Elements with [data-toggle-focus] will respond to coming in and out of focus\n\n\nTriggers.Initializers.addToggleFocusListener = function ($elem) {\n $elem.off('focus.zf.trigger blur.zf.trigger', Triggers.Listeners.Basic.toggleFocusListener);\n $elem.on('focus.zf.trigger blur.zf.trigger', '[data-toggle-focus]', Triggers.Listeners.Basic.toggleFocusListener);\n}; // More Global/complex listeners and triggers\n\n\nTriggers.Listeners.Global = {\n resizeListener: function resizeListener($nodes) {\n if (!MutationObserver) {\n //fallback for IE 9\n $nodes.each(function () {\n $(this).triggerHandler('resizeme.zf.trigger');\n });\n } //trigger all listening elements and signal a resize event\n\n\n $nodes.attr('data-events', \"resize\");\n },\n scrollListener: function scrollListener($nodes) {\n if (!MutationObserver) {\n //fallback for IE 9\n $nodes.each(function () {\n $(this).triggerHandler('scrollme.zf.trigger');\n });\n } //trigger all listening elements and signal a scroll event\n\n\n $nodes.attr('data-events', \"scroll\");\n },\n closeMeListener: function closeMeListener(e, pluginId) {\n var plugin = e.namespace.split('.')[0];\n var plugins = $(\"[data-\".concat(plugin, \"]\")).not(\"[data-yeti-box=\\\"\".concat(pluginId, \"\\\"]\"));\n plugins.each(function () {\n var _this = $(this);\n\n _this.triggerHandler('close.zf.trigger', [_this]);\n });\n } // Global, parses whole document.\n\n};\n\nTriggers.Initializers.addClosemeListener = function (pluginName) {\n var yetiBoxes = $('[data-yeti-box]'),\n plugNames = ['dropdown', 'tooltip', 'reveal'];\n\n if (pluginName) {\n if (typeof pluginName === 'string') {\n plugNames.push(pluginName);\n } else if (_typeof(pluginName) === 'object' && typeof pluginName[0] === 'string') {\n plugNames = plugNames.concat(pluginName);\n } else {\n console.error('Plugin names must be strings');\n }\n }\n\n if (yetiBoxes.length) {\n var listeners = plugNames.map(function (name) {\n return \"closeme.zf.\".concat(name);\n }).join(' ');\n $(window).off(listeners).on(listeners, Triggers.Listeners.Global.closeMeListener);\n }\n};\n\nfunction debounceGlobalListener(debounce, trigger, listener) {\n var timer,\n args = Array.prototype.slice.call(arguments, 3);\n $(window).off(trigger).on(trigger, function (e) {\n if (timer) {\n clearTimeout(timer);\n }\n\n timer = setTimeout(function () {\n listener.apply(null, args);\n }, debounce || 10); //default time to emit scroll event\n });\n}\n\nTriggers.Initializers.addResizeListener = function (debounce) {\n var $nodes = $('[data-resize]');\n\n if ($nodes.length) {\n debounceGlobalListener(debounce, 'resize.zf.trigger', Triggers.Listeners.Global.resizeListener, $nodes);\n }\n};\n\nTriggers.Initializers.addScrollListener = function (debounce) {\n var $nodes = $('[data-scroll]');\n\n if ($nodes.length) {\n debounceGlobalListener(debounce, 'scroll.zf.trigger', Triggers.Listeners.Global.scrollListener, $nodes);\n }\n};\n\nTriggers.Initializers.addMutationEventsListener = function ($elem) {\n if (!MutationObserver) {\n return false;\n }\n\n var $nodes = $elem.find('[data-resize], [data-scroll], [data-mutate]'); //element callback\n\n var listeningElementsMutation = function listeningElementsMutation(mutationRecordsList) {\n var $target = $(mutationRecordsList[0].target); //trigger the event handler for the element depending on type\n\n switch (mutationRecordsList[0].type) {\n case \"attributes\":\n if ($target.attr(\"data-events\") === \"scroll\" && mutationRecordsList[0].attributeName === \"data-events\") {\n $target.triggerHandler('scrollme.zf.trigger', [$target, window.pageYOffset]);\n }\n\n if ($target.attr(\"data-events\") === \"resize\" && mutationRecordsList[0].attributeName === \"data-events\") {\n $target.triggerHandler('resizeme.zf.trigger', [$target]);\n }\n\n if (mutationRecordsList[0].attributeName === \"style\") {\n $target.closest(\"[data-mutate]\").attr(\"data-events\", \"mutate\");\n $target.closest(\"[data-mutate]\").triggerHandler('mutateme.zf.trigger', [$target.closest(\"[data-mutate]\")]);\n }\n\n break;\n\n case \"childList\":\n $target.closest(\"[data-mutate]\").attr(\"data-events\", \"mutate\");\n $target.closest(\"[data-mutate]\").triggerHandler('mutateme.zf.trigger', [$target.closest(\"[data-mutate]\")]);\n break;\n\n default:\n return false;\n //nothing\n }\n };\n\n if ($nodes.length) {\n //for each element that needs to listen for resizing, scrolling, or mutation add a single observer\n for (var i = 0; i <= $nodes.length - 1; i++) {\n var elementObserver = new MutationObserver(listeningElementsMutation);\n elementObserver.observe($nodes[i], {\n attributes: true,\n childList: true,\n characterData: false,\n subtree: true,\n attributeFilter: [\"data-events\", \"style\"]\n });\n }\n }\n};\n\nTriggers.Initializers.addSimpleListeners = function () {\n var $document = $(document);\n Triggers.Initializers.addOpenListener($document);\n Triggers.Initializers.addCloseListener($document);\n Triggers.Initializers.addToggleListener($document);\n Triggers.Initializers.addCloseableListener($document);\n Triggers.Initializers.addToggleFocusListener($document);\n};\n\nTriggers.Initializers.addGlobalListeners = function () {\n var $document = $(document);\n Triggers.Initializers.addMutationEventsListener($document);\n Triggers.Initializers.addResizeListener();\n Triggers.Initializers.addScrollListener();\n Triggers.Initializers.addClosemeListener();\n};\n\nTriggers.init = function ($, Foundation) {\n onLoad($(window), function () {\n if ($.triggersInitialized !== true) {\n Triggers.Initializers.addSimpleListeners();\n Triggers.Initializers.addGlobalListeners();\n $.triggersInitialized = true;\n }\n });\n\n if (Foundation) {\n Foundation.Triggers = Triggers; // Legacy included to be backwards compatible for now.\n\n Foundation.IHearYou = Triggers.Initializers.addGlobalListeners;\n }\n};\n\n// {function} _setup (replaces previous constructor),\n// {function} _destroy (replaces previous destroy)\n\nvar Plugin =\n/*#__PURE__*/\nfunction () {\n function Plugin(element, options) {\n _classCallCheck(this, Plugin);\n\n this._setup(element, options);\n\n var pluginName = getPluginName(this);\n this.uuid = GetYoDigits(6, pluginName);\n\n if (!this.$element.attr(\"data-\".concat(pluginName))) {\n this.$element.attr(\"data-\".concat(pluginName), this.uuid);\n }\n\n if (!this.$element.data('zfPlugin')) {\n this.$element.data('zfPlugin', this);\n }\n /**\n * Fires when the plugin has initialized.\n * @event Plugin#init\n */\n\n\n this.$element.trigger(\"init.zf.\".concat(pluginName));\n }\n\n _createClass(Plugin, [{\n key: \"destroy\",\n value: function destroy() {\n this._destroy();\n\n var pluginName = getPluginName(this);\n this.$element.removeAttr(\"data-\".concat(pluginName)).removeData('zfPlugin')\n /**\n * Fires when the plugin has been destroyed.\n * @event Plugin#destroyed\n */\n .trigger(\"destroyed.zf.\".concat(pluginName));\n\n for (var prop in this) {\n this[prop] = null; //clean up script to prep for garbage collection.\n }\n }\n }]);\n\n return Plugin;\n}(); // Convert PascalCase to kebab-case\n// Thank you: http://stackoverflow.com/a/8955580\n\n\nfunction hyphenate$1(str) {\n return str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n}\n\nfunction getPluginName(obj) {\n return hyphenate$1(obj.className);\n}\n\n/**\n * Abide module.\n * @module foundation.abide\n */\n\nvar Abide =\n/*#__PURE__*/\nfunction (_Plugin) {\n _inherits(Abide, _Plugin);\n\n function Abide() {\n _classCallCheck(this, Abide);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(Abide).apply(this, arguments));\n }\n\n _createClass(Abide, [{\n key: \"_setup\",\n\n /**\n * Creates a new instance of Abide.\n * @class\n * @name Abide\n * @fires Abide#init\n * @param {Object} element - jQuery object to add the trigger to.\n * @param {Object} options - Overrides to the default plugin settings.\n */\n value: function _setup(element) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.$element = element;\n this.options = $.extend(true, {}, Abide.defaults, this.$element.data(), options);\n this.isEnabled = true;\n this.formnovalidate = null;\n this.className = 'Abide'; // ie9 back compat\n\n this._init();\n }\n /**\n * Initializes the Abide plugin and calls functions to get Abide functioning on load.\n * @private\n */\n\n }, {\n key: \"_init\",\n value: function _init() {\n var _this2 = this;\n\n this.$inputs = $.merge( // Consider as input to validate:\n this.$element.find('input').not('[type=\"submit\"]'), // * all input fields expect submit\n this.$element.find('textarea, select') // * all textareas and select fields\n );\n this.$submits = this.$element.find('[type=\"submit\"]');\n var $globalErrors = this.$element.find('[data-abide-error]'); // Add a11y attributes to all fields\n\n if (this.options.a11yAttributes) {\n this.$inputs.each(function (i, input) {\n return _this2.addA11yAttributes($(input));\n });\n $globalErrors.each(function (i, error) {\n return _this2.addGlobalErrorA11yAttributes($(error));\n });\n }\n\n this._events();\n }\n /**\n * Initializes events for Abide.\n * @private\n */\n\n }, {\n key: \"_events\",\n value: function _events() {\n var _this3 = this;\n\n this.$element.off('.abide').on('reset.zf.abide', function () {\n _this3.resetForm();\n }).on('submit.zf.abide', function () {\n return _this3.validateForm();\n });\n this.$submits.off('click.zf.abide keydown.zf.abide').on('click.zf.abide keydown.zf.abide', function (e) {\n if (!e.key || e.key === ' ' || e.key === 'Enter') {\n e.preventDefault();\n _this3.formnovalidate = e.target.getAttribute('formnovalidate') !== null;\n\n _this3.$element.submit();\n }\n });\n\n if (this.options.validateOn === 'fieldChange') {\n this.$inputs.off('change.zf.abide').on('change.zf.abide', function (e) {\n _this3.validateInput($(e.target));\n });\n }\n\n if (this.options.liveValidate) {\n this.$inputs.off('input.zf.abide').on('input.zf.abide', function (e) {\n _this3.validateInput($(e.target));\n });\n }\n\n if (this.options.validateOnBlur) {\n this.$inputs.off('blur.zf.abide').on('blur.zf.abide', function (e) {\n _this3.validateInput($(e.target));\n });\n }\n }\n /**\n * Calls necessary functions to update Abide upon DOM change\n * @private\n */\n\n }, {\n key: \"_reflow\",\n value: function _reflow() {\n this._init();\n }\n /**\n * Checks whether the submitted form should be validated or not, consodering formnovalidate and isEnabled\n * @returns {Boolean}\n * @private\n */\n\n }, {\n key: \"_validationIsDisabled\",\n value: function _validationIsDisabled() {\n if (this.isEnabled === false) {\n // whole validation disabled\n return true;\n } else if (typeof this.formnovalidate === 'boolean') {\n // triggered by $submit\n return this.formnovalidate;\n } // triggered by Enter in non-submit input\n\n\n return this.$submits.length ? this.$submits[0].getAttribute('formnovalidate') !== null : false;\n }\n /**\n * Enables the whole validation\n */\n\n }, {\n key: \"enableValidation\",\n value: function enableValidation() {\n this.isEnabled = true;\n }\n /**\n * Disables the whole validation\n */\n\n }, {\n key: \"disableValidation\",\n value: function disableValidation() {\n this.isEnabled = false;\n }\n /**\n * Checks whether or not a form element has the required attribute and if it's checked or not\n * @param {Object} element - jQuery object to check for required attribute\n * @returns {Boolean} Boolean value depends on whether or not attribute is checked or empty\n */\n\n }, {\n key: \"requiredCheck\",\n value: function requiredCheck($el) {\n if (!$el.attr('required')) return true;\n var isGood = true;\n\n switch ($el[0].type) {\n case 'checkbox':\n isGood = $el[0].checked;\n break;\n\n case 'select':\n case 'select-one':\n case 'select-multiple':\n var opt = $el.find('option:selected');\n if (!opt.length || !opt.val()) isGood = false;\n break;\n\n default:\n if (!$el.val() || !$el.val().length) isGood = false;\n }\n\n return isGood;\n }\n /**\n * Get:\n * - Based on $el, the first element(s) corresponding to `formErrorSelector` in this order:\n * 1. The element's direct sibling('s).\n * 2. The element's parent's children.\n * - Element(s) with the attribute `[data-form-error-for]` set with the element's id.\n *\n * This allows for multiple form errors per input, though if none are found, no form errors will be shown.\n *\n * @param {Object} $el - jQuery object to use as reference to find the form error selector.\n * @param {String[]} [failedValidators] - List of failed validators.\n * @returns {Object} jQuery object with the selector.\n */\n\n }, {\n key: \"findFormError\",\n value: function findFormError($el, failedValidators) {\n var _this4 = this;\n\n var id = $el.length ? $el[0].id : '';\n var $error = $el.siblings(this.options.formErrorSelector);\n\n if (!$error.length) {\n $error = $el.parent().find(this.options.formErrorSelector);\n }\n\n if (id) {\n $error = $error.add(this.$element.find(\"[data-form-error-for=\\\"\".concat(id, \"\\\"]\")));\n }\n\n if (!!failedValidators) {\n $error = $error.not('[data-form-error-on]');\n failedValidators.forEach(function (v) {\n $error = $error.add($el.siblings(\"[data-form-error-on=\\\"\".concat(v, \"\\\"]\")));\n $error = $error.add(_this4.$element.find(\"[data-form-error-for=\\\"\".concat(id, \"\\\"][data-form-error-on=\\\"\").concat(v, \"\\\"]\")));\n });\n }\n\n return $error;\n }\n /**\n * Get the first element in this order:\n * 2. The