{"version":3,"sources":["webpack:///designwise-0b30edc0185af5e9d401.js","webpack:///./lib.js","webpack:///./components/_nav.js","webpack:///../node_modules/lodash/isObject.js","webpack:///../node_modules/lodash/_root.js","webpack:///../node_modules/lodash/_Symbol.js","webpack:///../node_modules/lodash/isObjectLike.js","webpack:///../node_modules/lodash/_baseGetTag.js","webpack:///../node_modules/lodash/_freeGlobal.js","webpack:///../node_modules/lodash/isSymbol.js","webpack:///../node_modules/lodash/_getRawTag.js","webpack:///../node_modules/lodash/_objectToString.js","webpack:///./designwise.js","webpack:///./components/_designwise.js","webpack:///../node_modules/lodash/throttle.js","webpack:///../node_modules/lodash/debounce.js","webpack:///../node_modules/lodash/now.js","webpack:///../node_modules/lodash/toNumber.js","webpack:///./components/_vids.js"],"names":["webpackJsonp","module","exports","__webpack_require__","closest","el","selector","matchesSelector","matches","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","desiredEl","call","parentElement","wrap","node","className","wrapperClass","container","document","createElement","innerHTML","outerHTML","insertBefore","removeChild","mYYYY","val","monthNames","date","Date","getMonth","getFullYear","commas","toString","replace","inMegabytes","toFixed","json","JSON","stringify","price","Object","defineProperty","value","Vimeo","play","contentWindow","postMessage","method","src","pause","Nav","nav","querySelector","classList","add","addEventListener","e","documentElement","toggle","preventDefault","selectNav","selectEl","selectedIndex","location","target","hash","default","isObject","type","freeGlobal","freeSelf","self","root","Function","Symbol","isObjectLike","baseGetTag","undefined","undefinedTag","nullTag","symToStringTag","getRawTag","objectToString","toStringTag","global","isSymbol","symbolTag","isOwn","hasOwnProperty","tag","unmasked","result","nativeObjectToString","objectProto","prototype","_interopRequireDefault","obj","__esModule","_designwise","_designwise2","_nav","_nav2","_vids","_vids2","init","_throttle","_throttle2","dw","termY","termID","clickHandler","href","split","goTo","termWindow","totalHeight","scrollHeight","terms","querySelectorAll","window","length","currentTerm","parseInt","dataset","id","forEach","i","y","scrollTop","getBoundingClientRect","top","push","loading","measure","scrollHandler","mobileScrollHandler","highlight","term","cat","substr","remove","history","replaceState","loadClear","setInterval","insta","instaRendered","clearInterval","isLoaded","setTimeout","isNavigating","termEl","nextElementSibling","diff","Math","floor","reduce","a","b","mobileNav","n","throttle","func","wait","options","leading","trailing","TypeError","FUNC_ERROR_TEXT","debounce","maxWait","invokeFunc","time","args","lastArgs","thisArg","lastThis","lastInvokeTime","apply","leadingEdge","timerId","timerExpired","remainingWait","timeSinceLastCall","lastCallTime","timeSinceLastInvoke","maxing","nativeMin","shouldInvoke","now","trailingEdge","cancel","clearTimeout","flush","debounced","isInvoking","arguments","this","toNumber","nativeMax","max","min","NAN","other","valueOf","reTrim","isBinary","reIsBinary","test","reIsOctal","freeParseInt","slice","reIsBadHex","scope","video","_lib"],"mappings":"AAAAA,cAAc,IACP,CACA,CAED,SAAUC,EAAQC,EAASC,GAEjC,YCKO,SAASC,GAAQC,EAAIC,GAQ1B,IAPA,GAAMC,GACJF,EAAGG,SACAH,EAAGI,uBACHJ,EAAGK,oBACHL,EAAGM,kBAEJC,EAAYP,EACTO,IACDL,EAAgBM,KAAKD,EAAWN,IAGpCM,EAAYA,EAAUE,aAExB,OAAOF,KAAa,EAUf,QAASG,GAAKC,EAAMC,GACzB,GAAMC,GAAeD,GAAa,KAC5BE,EAAYC,SAASC,cAAc,MACrCJ,KACFE,EAAUF,UAAYC,GAExBC,EAAUG,UAAYN,EAAKO,UAC3BP,EAAKF,cAAcU,aAAaL,EAAWH,GAC3CA,EAAKF,cAAcW,YAAYT,GA4B1B,QAASU,GAAMC,GACpB,GAAMC,IAAc,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAC3FC,EAAO,GAAIC,MAAKH,EACtB,OAAUC,GAAWC,EAAKE,YAA1B,IAAyCF,EAAKG,cAGzC,QAASC,GAAON,GACrB,MAAIA,GAAM,GACDA,EAAIO,WAAWC,QAAQ,wBAAyB,KAKpD,QAASC,GAAYT,GAC1B,OAAWA,WAAO,KAAQ,IAAIU,QAAQ,GAAtC,MAGK,QAASC,GAAKX,GACnB,MAAOY,MAAKC,UAAUb,GAGjB,QAASc,GAAMd,GACpB,GAAIA,EAAM,EAAG,CAGX,WAFgBA,EAAM,KACKU,QAAQ,GAAGH,WAAWC,QAAQ,wBAAyB,KAC5DA,QAAQ,QAAS,IAEzC,OAAO,EDzFTO,OAAOC,eAAezC,EAAS,cAC7B0C,OAAO,IAET1C,ECDgBE,UDEhBF,ECsBgBa,ODrBhBb,ECyDgBwB,QDxDhBxB,EC8DgB+B,SD7DhB/B,ECoEgBkC,cDnEhBlC,ECuEgBoC,ODtEhBpC,EC0EgBuC,OA5CHI,UAMXC,KAAM,SAACzC,GACL,QAAKA,GACEA,EAAG0C,cAAcC,aAAcC,OAAQ,QAAU5C,EAAG6C,MAO7DC,MAAO,SAAC9C,GACN,QAAKA,GACEA,EAAG0C,cAAcC,aAAcC,OAAQ,SAAW5C,EAAG6C,QDoD1D,SAAUjD,EAAQC,EAASC,GAEjC,YAGAuC,QAAOC,eAAezC,EAAS,cAC7B0C,OAAO,GEtHT,IAAMQ,KAENA,GAAIC,IAAM,WACIjC,SAASkC,cAAc,WAC7BC,UAAUC,IAAI,kBACFpC,SAASkC,cAAc,kBAC7BG,iBAAiB,QAAS,SAAUC,GAC9CtC,SAASuC,gBAAgBJ,UAAUK,OAAO,gBAC1CF,EAAEG,oBAMNT,EAAIU,UAAY,SAAUxD,GACxBA,EAAWA,GAAY,QACvB,IAAIyD,GAAW3C,SAASkC,cAAchD,EACtCyD,GAASC,cAAgB,EACzBD,EAASN,iBAAiB,SAAU,SAAUC,GAClB,MAAtBK,EAASnB,MAAM,IAAoC,MAAtBmB,EAASnB,MAAM,GAC9CqB,SAAS9B,QAAQuB,EAAEQ,OAAOtB,OACG,MAAtBmB,EAASnB,MAAM,KACtBqB,SAASE,KAAOJ,EAASnB,UF8H/B1C,EAAQkE,QE1HOhB,GF6HR,CAED,SAAUnD,EAAQC,GGrIxB,QAAAmE,GAAAzB,GACA,GAAA0B,SAAA1B,EACA,cAAAA,IAAA,UAAA0B,GAAA,YAAAA,GAGArE,EAAAC,QAAAmE,GHqKM,SAAUpE,EAAQC,EAASC,GInMjC,GAAAoE,GAAApE,EAAA,IAGAqE,EAAA,gBAAAC,kBAAA/B,iBAAA+B,KAGAC,EAAAH,GAAAC,GAAAG,SAAA,gBAEA1E,GAAAC,QAAAwE,GJ0MM,SAAUzE,EAAQC,EAASC,GKlNjC,GAAAuE,GAAAvE,EAAA,GAGAyE,EAAAF,EAAAE,MAEA3E,GAAAC,QAAA0E,GLyNM,SAAU3E,EAAQC,GMtMxB,QAAA2E,GAAAjC,GACA,aAAAA,GAAA,gBAAAA,GAGA3C,EAAAC,QAAA2E,GNqOM,SAAU5E,EAAQC,EAASC,GO/OjC,QAAA2E,GAAAlC,GACA,aAAAA,MACAmC,KAAAnC,EAAAoC,EAAAC,EAEAC,OAAAxC,QAAAE,GACAuC,EAAAvC,GACAwC,EAAAxC,GAxBA,GAAAgC,GAAAzE,EAAA,GACAgF,EAAAhF,EAAA,IACAiF,EAAAjF,EAAA,IAGA8E,EAAA,gBACAD,EAAA,qBAGAE,EAAAN,IAAAS,gBAAAN,EAkBA9E,GAAAC,QAAA4E,GPuQQ,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CAEF,SAAU7E,EAAQC,EAASC,IQ/SjC,SAAAmF,GACA,GAAAf,GAAA,gBAAAe,SAAA5C,iBAAA4C,CAEArF,GAAAC,QAAAqE,IRmT6B1D,KAAKX,EAASC,EAAoB,MAIzD,SAAUF,EAAQC,EAASC,GSnSjC,QAAAoF,GAAA3C,GACA,sBAAAA,IACAiC,EAAAjC,IAAAkC,EAAAlC,IAAA4C,EAzBA,GAAAV,GAAA3E,EAAA,GACA0E,EAAA1E,EAAA,GAGAqF,EAAA,iBAwBAvF,GAAAC,QAAAqF,GTiUM,SAAUtF,EAAQC,EAASC,GUpUjC,QAAAgF,GAAAvC,GACA,GAAA6C,GAAAC,EAAA7E,KAAA+B,EAAAsC,GACAS,EAAA/C,EAAAsC,EAEA,KACAtC,EAAAsC,OAAAH,EACA,IAAAa,IAAA,EACG,MAAAlC,IAEH,GAAAmC,GAAAC,EAAAjF,KAAA+B,EAQA,OAPAgD,KACAH,EACA7C,EAAAsC,GAAAS,QAEA/C,GAAAsC,IAGAW,EA1CA,GAAAjB,GAAAzE,EAAA,GAGA4F,EAAArD,OAAAsD,UAGAN,EAAAK,EAAAL,eAOAI,EAAAC,EAAA7D,SAGAgD,EAAAN,IAAAS,gBAAAN,EA6BA9E,GAAAC,QAAAiF,GVoWM,SAAUlF,EAAQC,GWhYxB,QAAAkF,GAAAxC,GACA,MAAAkD,GAAAjF,KAAA+B,GAjBA,GAAAmD,GAAArD,OAAAsD,UAOAF,EAAAC,EAAA7D,QAaAjC,GAAAC,QAAAkF,GXuZQ,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CACA,CAEF,SAAUnF,EAAQC,EAASC,GAEjC,YAeA,SAAS8F,GAAuBC,GAAO,MAAOA,IAAOA,EAAIC,WAAaD,GAAQ9B,QAAS8B,GYpdvF,GAAAE,GAAAjG,EAAA,IZ0cIkG,EAAeJ,EAAuBG,GYzc1CE,EAAAnG,EAAA,GZ6cIoG,EAAQN,EAAuBK,GY5cnCE,EAAArG,EAAA,IZgdIsG,EAASR,EAAuBO,EY9cpCH,GAAAjC,QAAWsC,OAEXH,EAAAnC,QAAIN,UAAU,cACdyC,EAAAnC,QAAIf,OAEJ,EAAAoD,EAAArC,SAAKhD,SAASkC,cAAc,kBZydtB,SAAUrD,EAAQC,EAASC,GAEjC,YAGAuC,QAAOC,eAAezC,EAAS,cAC7B0C,OAAO,GapeT,IAAA+D,GAAAxG,EAAA,IbyeIyG,EAEJ,SAAgCV,GAAO,MAAOA,IAAOA,EAAIC,WAAaD,GAAQ9B,QAAS8B,IAF/CS,GanelCE,IACNA,GAAGC,SACHD,EAAGE,UAEHF,EAAGG,aAAe,SAAUtD,GAC1B,GAAIqD,GAASrD,EAAEQ,OAAO+C,KAAKC,MAAM,KAAK,EACtCL,GAAGM,KAAKJ,GACRrD,EAAEG,kBAGJgD,EAAGH,KAAO,WAERG,EAAGO,WAAahG,SAASkC,cAAc,gBACvCuD,EAAGQ,YAAcR,EAAGO,WAAWE,YAG/B,IAAIC,GAAQnG,SAASoG,iBAAiB,WAClCC,QAAOxD,SAASE,KAAKuD,OACvBb,EAAGc,YAAcC,SAASH,OAAOxD,SAASE,KAAK+C,MAAM,KAAK,IAE1DL,EAAGc,YAAcC,SAASL,EAAM,GAAGM,QAAQC,IAI7CP,EAAMQ,QAAQ,SAAU1H,EAAI2H,GAC1B,GAAIC,GAAIpB,EAAGO,WAAWc,UAAY7H,EAAG8H,wBAAwBC,IAAMvB,EAAGO,WAAWe,wBAAwBC,GACzGvB,GAAGE,OAAOsB,KAAKT,SAASvH,EAAGwH,QAAQC,KACnCjB,EAAGC,MAAMuB,KAAKJ,KAEhBpB,EAAGM,KAAKN,EAAGc,aAGCvG,SAASoG,iBAAiB,aAChCO,QAAQ,SAAU1H,EAAI2H,GAC1B3H,EAAGoD,iBAAiB,QAASoD,EAAGG,gBAIlCH,EAAGyB,UACHb,OAAOhE,iBAAiB,SAAUoD,EAAG0B,SACrC1B,EAAGO,WAAW3D,iBAAiB,SAAUoD,EAAG2B,eAG5Cf,OAAOhE,iBAAiB,SAAUoD,EAAG4B,sBAGvC5B,EAAG6B,WAAY,EAAA9B,EAAAxC,SAAS,WAEtB,GAAIuE,GAAO9B,EAAGc,YAAc,GACxBiB,EAAMD,EAAKE,OAAO,EAAGF,EAAKjB,OAAS,EACvC,IAAW,OAARkB,EACD,OAAO,CAIExH,UAASoG,iBAAiB,iBAChCO,QAAQ,SAAU1H,EAAI2H,GACzB3H,EAAGkD,UAAUC,IAAI,eAEnBpC,SAASkC,cAAT,QAA+BsF,GAAOrF,UAAUuF,OAAO,aAG3C1H,SAASoG,iBAAiB,aAChCO,QAAQ,SAAC1H,EAAI2H,GACjB3H,EAAGkD,UAAUuF,OAAO,gBAEtBC,QAAQC,iBAAajE,OAAWA,GAAhC,IAA+C8B,EAAGc,aAClDvG,SAASkC,cAAT,4BAAmDqF,EAAnD,MAA6DpF,UAAUC,IAAI,cAC3EpC,SAASkC,cAAT,uBAA8CsF,EAA9C,QAAyDrF,UAAUC,IAAI,eACtE,IAEHqD,EAAGyB,QAAU,WACX,GAEIW,GAAYC,YAAY,WAC1B,GAAIC,GAAQ/H,SAASoG,iBAHN,oBAIX4B,EAAgBhI,SAASoG,iBAHN,4BAQlB2B,GAAMzB,OAAS0B,EAAc1B,OAAS,EACzCb,EAAG0B,WAEHc,cAAcJ,GACdpC,EAAGyC,UAAW,EACdC,WAAW1C,EAAG0B,QAAS,OAExB,KAGL1B,EAAGM,KAAO,SAAUwB,GAClB9B,EAAG2C,cAAe,CAClB,IACIC,GAASrI,SAASkC,cAAc,qBAAuBqF,EAAO,KAElE,IAAIc,EACF5C,EAAGO,WAAWc,UAAYrB,EAAGO,WAAWc,UAAYuB,EAAOtB,wBAAwBC,IAAMvB,EAAGO,WAAWe,wBAAwBC,IAJ3G,EAKpBvB,EAAGc,YAAcC,SAASe,GAC1B9B,EAAG6B,gBAGE,CACL,GAAIE,GAAMxH,SAASkC,cAAc,yBAA2BqF,EAAO,KAC/DC,KACF/B,EAAGO,WAAWc,UAAYrB,EAAGO,WAAWc,UAAYU,EAAIT,wBAAwBC,IAAMvB,EAAGO,WAAWe,wBAAwBC,IAZ1G,EAalBvB,EAAGc,YAAcC,SAASgB,EAAIc,mBAAmB7B,QAAQC,IACzDjB,EAAG6B,aAGP7B,EAAG2C,cAAe,GAGpB3C,EAAG0B,QAAU,WACX,GAAI1B,EAAGO,WAAWE,eAAiBT,EAAGQ,YAAa,CACjD,GAAIE,GAAQnG,SAASoG,iBAAiB,YAClCmC,IAEJpC,GAAMQ,QAAQ,SAAUY,EAAMX,GAC5B,GAAIC,GAAI2B,KAAKC,MAAMhD,EAAGO,WAAWc,UAAYS,EAAKR,wBAAwBC,IAAMvB,EAAGO,WAAWe,wBAAwBC,IAClHvB,GAAGC,MAAMkB,KAAOC,IAClBpB,EAAGC,MAAMkB,GAAKC,EACd0B,EAAKtB,KAAKT,SAASe,EAAKd,QAAQC,QAKhCjB,EAAGc,aAAegC,EAAKG,OAAO,SAACC,EAAGC,GAAJ,MAAUD,GAAIC,EAAID,EAAIC,KACtDnD,EAAGM,KAAKN,EAAGc,aAEbd,EAAGQ,YAAcR,EAAGO,WAAWE,eAInCT,EAAG4B,qBAAsB,EAAA7B,EAAAxC,SAAS,WAChC,GAAI6F,GAAY7I,SAASkC,cAAc,aACnC2G,GAAU9B,wBAAwBC,KAAO,EAC3C6B,EAAU1G,UAAUC,IAAI,YAExByG,EAAU1G,UAAUuF,OAAO,aAE5B,IAEHjC,EAAG2B,eAAgB,EAAA5B,EAAAxC,SAAS,WAC1B,GAAIyC,EAAGyC,SAAU,CAGf,IAFA,GACIY,GAAI,EACDrD,EAAGO,WAAWc,UAFC,GAE6BrB,EAAGC,MAAMoD,IAC1DA,GAEFrD,GAAGc,YAAcd,EAAGE,OAAOmD,EAAE,GAC7BrD,EAAG6B,cAEJ,KbufHxI,EAAQkE,QarfOyC,GbyfT,SAAU5G,EAAQC,EAASC,GcjnBjC,QAAAgK,GAAAC,EAAAC,EAAAC,GACA,GAAAC,IAAA,EACAC,GAAA,CAEA,sBAAAJ,GACA,SAAAK,WAAAC,EAMA,OAJArG,GAAAiG,KACAC,EAAA,WAAAD,OAAAC,UACAC,EAAA,YAAAF,OAAAE,YAEAG,EAAAP,EAAAC,GACAE,UACAK,QAAAP,EACAG,aAhEA,GAAAG,GAAAxK,EAAA,IACAkE,EAAAlE,EAAA,GAGAuK,EAAA,qBAgEAzK,GAAAC,QAAAiK,Gd0qBM,SAAUlK,EAAQC,EAASC,Ge7qBjC,QAAAwK,GAAAP,EAAAC,EAAAC,GAuBA,QAAAO,GAAAC,GACA,GAAAC,GAAAC,EACAC,EAAAC,CAKA,OAHAF,GAAAE,MAAAnG,GACAoG,EAAAL,EACAjF,EAAAuE,EAAAgB,MAAAH,EAAAF,GAIA,QAAAM,GAAAP,GAMA,MAJAK,GAAAL,EAEAQ,EAAA/B,WAAAgC,EAAAlB,GAEAE,EAAAM,EAAAC,GAAAjF,EAGA,QAAA2F,GAAAV,GACA,GAAAW,GAAAX,EAAAY,EACAC,EAAAb,EAAAK,EACAtF,EAAAwE,EAAAoB,CAEA,OAAAG,GAAAC,EAAAhG,EAAA+E,EAAAe,GAAA9F,EAGA,QAAAiG,GAAAhB,GACA,GAAAW,GAAAX,EAAAY,EACAC,EAAAb,EAAAK,CAKA,YAAApG,KAAA2G,GAAAD,GAAApB,GACAoB,EAAA,GAAAG,GAAAD,GAAAf,EAGA,QAAAW,KACA,GAAAT,GAAAiB,GACA,IAAAD,EAAAhB,GACA,MAAAkB,GAAAlB,EAGAQ,GAAA/B,WAAAgC,EAAAC,EAAAV,IAGA,QAAAkB,GAAAlB,GAKA,MAJAQ,OAAAvG,GAIAyF,GAAAQ,EACAH,EAAAC,IAEAE,EAAAE,MAAAnG,GACAc,GAGA,QAAAoG,SACAlH,KAAAuG,GACAY,aAAAZ,GAEAH,EAAA,EACAH,EAAAU,EAAAR,EAAAI,MAAAvG,GAGA,QAAAoH,KACA,WAAApH,KAAAuG,EAAAzF,EAAAmG,EAAAD,KAGA,QAAAK,KACA,GAAAtB,GAAAiB,IACAM,EAAAP,EAAAhB,EAMA,IAJAE,EAAAsB,UACApB,EAAAqB,KACAb,EAAAZ,EAEAuB,EAAA,CACA,OAAAtH,KAAAuG,EACA,MAAAD,GAAAK,EAEA,IAAAE,EAGA,MADAN,GAAA/B,WAAAgC,EAAAlB,GACAQ,EAAAa,GAMA,WAHA3G,KAAAuG,IACAA,EAAA/B,WAAAgC,EAAAlB,IAEAxE,EAlHA,GAAAmF,GACAE,EACAN,EACA/E,EACAyF,EACAI,EACAP,EAAA,EACAZ,GAAA,EACAqB,GAAA,EACApB,GAAA,CAEA,sBAAAJ,GACA,SAAAK,WAAAC,EA0GA,OAxGAL,GAAAmC,EAAAnC,IAAA,EACAhG,EAAAiG,KACAC,IAAAD,EAAAC,QACAqB,EAAA,WAAAtB,GACAM,EAAAgB,EAAAa,EAAAD,EAAAlC,EAAAM,UAAA,EAAAP,GAAAO,EACAJ,EAAA,YAAAF,OAAAE,YAiGA4B,EAAAH,SACAG,EAAAD,QACAC,EAxLA,GAAA/H,GAAAlE,EAAA,GACA4L,EAAA5L,EAAA,IACAqM,EAAArM,EAAA,IAGAuK,EAAA,sBAGA+B,EAAA7C,KAAA8C,IACAb,EAAAjC,KAAA+C,GAkLA1M,GAAAC,QAAAyK,GfqvBM,SAAU1K,EAAQC,EAASC,GgBh7BjC,GAAAuE,GAAAvE,EAAA,GAkBA4L,EAAA,WACA,MAAArH,GAAA5C,KAAAiK,MAGA9L,GAAAC,QAAA6L,GhBu7BM,SAAU9L,EAAQC,EAASC,GiBj6BjC,QAAAqM,GAAA5J,GACA,mBAAAA,GACA,MAAAA,EAEA,IAAA2C,EAAA3C,GACA,MAAAgK,EAEA,IAAAvI,EAAAzB,GAAA,CACA,GAAAiK,GAAA,kBAAAjK,GAAAkK,QAAAlK,EAAAkK,UAAAlK,CACAA,GAAAyB,EAAAwI,KAAA,GAAAA,EAEA,mBAAAjK,GACA,WAAAA,MAEAA,KAAAT,QAAA4K,EAAA,GACA,IAAAC,GAAAC,EAAAC,KAAAtK,EACA,OAAAoK,IAAAG,EAAAD,KAAAtK,GACAwK,EAAAxK,EAAAyK,MAAA,GAAAL,EAAA,KACAM,EAAAJ,KAAAtK,GAAAgK,GAAAhK,EA9DA,GAAAyB,GAAAlE,EAAA,GACAoF,EAAApF,EAAA,IAGAyM,EAAA,IAGAG,EAAA,aAGAO,EAAA,qBAGAL,EAAA,aAGAE,EAAA,cAGAC,EAAAxF,QA8CA3H,GAAAC,QAAAsM,GjBo9BM,SAAUvM,EAAQC,EAASC,GAEjC,YAGAuC,QAAOC,eAAezC,EAAS,cAC7B0C,OAAO,IAGT1C,EAAQkE,QkBvhCO,SAAUmJ,GACvBA,EAAQA,GAASnM,SACFmM,EAAM/F,iBACnB,sKAEKO,QAAQ,SAAAyF,IACoB,KAA7B,EAAAC,EAAArN,SAAQoN,EAAO,YACjB,EAAAC,EAAA1M,MAAKyM,EAAO,WATlB,IAAAC,GAAAtN,EAAA,MlBsiCG","file":"designwise-0b30edc0185af5e9d401.js","sourcesContent":["webpackJsonp([2],[\n/* 0 */,\n/* 1 */,\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.closest = closest;\nexports.wrap = wrap;\nexports.mYYYY = mYYYY;\nexports.commas = commas;\nexports.inMegabytes = inMegabytes;\nexports.json = json;\nexports.price = price;\n/**\n * Lib\n * Tools and such\n */\n\n/**\n * Find Closest parent of element matching selector\n * @param {elementNode} el\n * @param {string} selector\n */\n\nfunction closest(el, selector) {\n var matchesSelector = el.matches || el.webkitMatchesSelector || el.mozMatchesSelector || el.msMatchesSelector;\n\n var desiredEl = el;\n while (desiredEl) {\n if (matchesSelector.call(desiredEl, selector)) {\n break;\n }\n desiredEl = desiredEl.parentElement;\n }\n return desiredEl || false;\n}\n\n/**\n * Wrap element with a div with a class\n * @param {elementNode} node\n * @param {string} className\n */\n\nfunction wrap(node, className) {\n var wrapperClass = className || null;\n var container = document.createElement('div');\n if (className) {\n container.className = wrapperClass;\n }\n container.innerHTML = node.outerHTML;\n node.parentElement.insertBefore(container, node);\n node.parentElement.removeChild(node);\n}\n\n// Vimeo API\n\nvar Vimeo = exports.Vimeo = {\n\n /**\n * Play a Vimeo video\n * @param {elementNode} el\n */\n play: function play(el) {\n if (!el) return false;\n return el.contentWindow.postMessage({ method: 'play' }, el.src);\n },\n\n /**\n * Pause a Vimeo video\n * @param {elementNode} el\n */\n pause: function pause(el) {\n if (!el) return false;\n return el.contentWindow.postMessage({ method: 'pause' }, el.src);\n }\n};\n\n// Vue filters\n\nfunction mYYYY(val) {\n var monthNames = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\n var date = new Date(val);\n return monthNames[date.getMonth()] + ' ' + date.getFullYear();\n}\n\nfunction commas(val) {\n if (val > 0) {\n return val.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\n }\n return false;\n}\n\nfunction inMegabytes(val) {\n return (val / Math.pow(1024, 2)).toFixed(1) + ' MB';\n}\n\nfunction json(val) {\n return JSON.stringify(val);\n}\n\nfunction price(val) {\n if (val > 0) {\n var inCents = val / 100;\n var withCommas = inCents.toFixed(2).toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\n return '$' + withCommas.replace(/\\.00/g, '');\n }\n return false;\n}\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/**\n * Navigation\n * JS components for navigation\n */\n\nvar Nav = {};\n\nNav.nav = function () {\n var navEl = document.querySelector('#ms-nav');\n navEl.classList.add('is-initialized');\n var navSwitchEl = document.querySelector('#ms-nav-switch');\n navSwitchEl.addEventListener('click', function (e) {\n document.documentElement.classList.toggle('is-menu-open');\n e.preventDefault();\n });\n};\n\n// navigation\n\nNav.selectNav = function (selector) {\n selector = selector || 'select';\n var selectEl = document.querySelector(selector);\n selectEl.selectedIndex = 0;\n selectEl.addEventListener('change', function (e) {\n if (selectEl.value[0] === 'h' || selectEl.value[0] === '/')\n location.replace(e.target.value);\n else if (selectEl.value[0] === '#')\n location.hash = selectEl.value;\n });\n};\n\nexport default Nav;\n\n\n\n// WEBPACK FOOTER //\n// ./components/_nav.js","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/lodash/isObject.js\n// module id = 5\n// module chunks = 0 2","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/lodash/_root.js\n// module id = 6\n// module chunks = 0 2","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/lodash/_Symbol.js\n// module id = 7\n// module chunks = 0 2","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/lodash/isObjectLike.js\n// module id = 8\n// module chunks = 0 2","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/lodash/_baseGetTag.js\n// module id = 9\n// module chunks = 0 2","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/lodash/_freeGlobal.js\n// module id = 22\n// module chunks = 0 2","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/lodash/isSymbol.js\n// module id = 23\n// module chunks = 0 2","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/lodash/_getRawTag.js\n// module id = 24\n// module chunks = 0 2","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/lodash/_objectToString.js\n// module id = 25\n// module chunks = 0 2","/**\n * Design-wise\n * Legacy JS for Terms section\n */\n\nimport DesignWise from './components/_designwise';\nimport Nav from './components/_nav';\nimport Vids from './components/_vids';\n\nDesignWise.init();\n\nNav.selectNav('#dw_mobile');\nNav.nav();\n\nVids(document.querySelector('#term_window'));\n\n\n\n// WEBPACK FOOTER //\n// ./designwise.js","/**\n * Design-wise\n * Scrolly JS\n */\n\n/**\n * @section Includes\n */\n\nimport throttle from 'lodash/throttle';\n\n/**\n * @section Legacy Module\n */\n\nconst dw = {};\ndw.termY = [];\ndw.termID = [];\n\ndw.clickHandler = function (e) {\n var termID = e.target.href.split('#')[1];\n dw.goTo(termID);\n e.preventDefault();\n};\n\ndw.init = function () {\n // 1. Set up initial values\n dw.termWindow = document.querySelector('#term_window');\n dw.totalHeight = dw.termWindow.scrollHeight;\n\n // 2. Scroll to linked term, if any\n var terms = document.querySelectorAll('.dw-term');\n if (window.location.hash.length) {\n dw.currentTerm = parseInt(window.location.hash.split('#')[1]);\n } else {\n dw.currentTerm = parseInt(terms[0].dataset.id);\n }\n\n // 3. Calculate heights\n terms.forEach(function (el, i) {\n var y = dw.termWindow.scrollTop + el.getBoundingClientRect().top - dw.termWindow.getBoundingClientRect().top;\n dw.termID.push(parseInt(el.dataset.id));\n dw.termY.push(y);\n });\n dw.goTo(dw.currentTerm);\n\n // 4. Handle link clicks\n var links = document.querySelectorAll('.dw-nav a');\n links.forEach(function (el, i) {\n el.addEventListener('click', dw.clickHandler);\n });\n\n // 5. Recalculate heights while loading & resizing\n dw.loading();\n window.addEventListener('resize', dw.measure);\n dw.termWindow.addEventListener('scroll', dw.scrollHandler);\n\n // 6. Set up mobile nav\n window.addEventListener('scroll', dw.mobileScrollHandler);\n};\n\ndw.highlight = throttle(function () {\n // 1. Get current category\n var term = dw.currentTerm + \"\";\n var cat = term.substr(0, term.length - 2);\n if(cat === null || undefined) {\n return false;\n }\n\n // 2. Show current category pane\n var tabs = document.querySelectorAll('.dw-nav--term');\n tabs.forEach(function (el, i) {\n el.classList.add('is-hiding');\n });\n document.querySelector(`#cat_${cat}`).classList.remove('is-hiding');\n\n // 3. Highlight current term & category\n var links = document.querySelectorAll('.dw-nav a');\n links.forEach((el, i) => {\n el.classList.remove('is-viewing');\n });\n history.replaceState(undefined, undefined, `#${dw.currentTerm}`);\n document.querySelector(`.dw-nav--term a[data-id=\"${term}\"]`).classList.add('is-viewing');\n document.querySelector(`.dw-nav a[data-cat=\"${cat}00\"]`).classList.add('is-viewing');\n}, 16);\n\ndw.loading = () => {\n var instaClass = '.instagram-media';\n var instaRenderedClass = '.instagram-media-rendered';\n var loadClear = setInterval(() => {\n var insta = document.querySelectorAll(instaClass);\n var instaRendered = document.querySelectorAll(instaRenderedClass);\n\n // This '+ 1' seems wonky, but for some reason, when scrolled to\n // a term on page load, it adds that term twice to the insta list\n // but doesn't add it to the rendered list\n if ((insta.length > instaRendered.length + 1)) {\n dw.measure();\n } else {\n clearInterval(loadClear);\n dw.isLoaded = true;\n setTimeout(dw.measure, 500);\n }\n }, 16);\n};\n\ndw.goTo = function (term) {\n dw.isNavigating = true;\n var magicAdjustment = 2;\n var termEl = document.querySelector('.dw-term[data-id=\"' + term + '\"]');\n // If valid term\n if (termEl) {\n dw.termWindow.scrollTop = dw.termWindow.scrollTop + termEl.getBoundingClientRect().top - dw.termWindow.getBoundingClientRect().top + magicAdjustment;\n dw.currentTerm = parseInt(term);\n dw.highlight();\n\n // If valid category\n } else {\n var cat = document.querySelector('.dw-heading[data-cat=\"' + term + '\"]');\n if (cat) {\n dw.termWindow.scrollTop = dw.termWindow.scrollTop + cat.getBoundingClientRect().top - dw.termWindow.getBoundingClientRect().top + magicAdjustment;\n dw.currentTerm = parseInt(cat.nextElementSibling.dataset.id);\n dw.highlight();\n }\n }\n dw.isNavigating = false;\n};\n\ndw.measure = function () {\n if (dw.termWindow.scrollHeight !== dw.totalHeight) {\n var terms = document.querySelectorAll('.dw-term');\n var diff = [];\n // Get new tops of each\n terms.forEach(function (term, i) {\n var y = Math.floor(dw.termWindow.scrollTop + term.getBoundingClientRect().top - dw.termWindow.getBoundingClientRect().top);\n if (dw.termY[i] !== y) {\n dw.termY[i] = y;\n diff.push(parseInt(term.dataset.id));\n }\n });\n\n // See if user has scrolled past loaded area\n if (dw.currentTerm >= diff.reduce((a, b) => a < b ? a : b)) {\n dw.goTo(dw.currentTerm);\n }\n dw.totalHeight = dw.termWindow.scrollHeight;\n }\n};\n\ndw.mobileScrollHandler = throttle(function () {\n var mobileNav = document.querySelector('.dw-mobile');\n if (mobileNav.getBoundingClientRect().top <= 0) {\n mobileNav.classList.add('is-fixed');\n } else {\n mobileNav.classList.remove('is-fixed');\n }\n}, 33);\n\ndw.scrollHandler = throttle(() => {\n if (dw.isLoaded) {\n var magicAdjustment = 64;\n var n = 0;\n while (dw.termWindow.scrollTop + magicAdjustment > dw.termY[n]) {\n n++;\n }\n dw.currentTerm = dw.termID[n-1];\n dw.highlight();\n }\n}, 100);\n\nexport default dw;\n\n\n\n// WEBPACK FOOTER //\n// ./components/_designwise.js","var debounce = require('./debounce'),\n isObject = require('./isObject');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\nfunction throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n}\n\nmodule.exports = throttle;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/lodash/throttle.js\n// module id = 55\n// module chunks = 2","var isObject = require('./isObject'),\n now = require('./now'),\n toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/lodash/debounce.js\n// module id = 56\n// module chunks = 2","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nmodule.exports = now;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/lodash/now.js\n// module id = 57\n// module chunks = 2","var isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ../node_modules/lodash/toNumber.js\n// module id = 58\n// module chunks = 2","/**\n * Vids\n * Fluid-width video helper\n */\n\nimport { closest, wrap } from '../lib';\n\nexport default function (scope) {\n scope = scope || document;\n const videos = scope.querySelectorAll(\n 'iframe[src*=\"player.vimeo.com\"], iframe[src*=\"youtube.com\"], iframe[src*=\"youtube-nocookie.com\"], iframe[src*=\"kickstarter.com\"][src*=\"video.html\"], object, embed',\n );\n videos.forEach(video => {\n if (closest(video, '.video') === false) {\n wrap(video, 'video');\n }\n });\n}\n\n\n\n// WEBPACK FOOTER //\n// ./components/_vids.js"],"sourceRoot":""}