{"version":3,"sources":["node_modules/browser-pack/_prelude.js","node_modules/@babel/runtime/helpers/asyncToGenerator.js","node_modules/@babel/runtime/helpers/classCallCheck.js","node_modules/@babel/runtime/helpers/createClass.js","node_modules/@babel/runtime/helpers/interopRequireDefault.js","node_modules/@babel/runtime/regenerator/index.js","node_modules/regenerator-runtime/runtime.js","src/js/main.js","src/js/partials/missioninfoanimation.js","src/js/partials/timeline.js","src/js/partials/video/Video.js","src/js/partials/video/index.js"],"names":["r","e","n","t","o","i","f","c","require","u","a","Error","code","p","exports","call","length","1","module","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","fn","self","this","args","arguments","apply","err","undefined","__esModule","instance","Constructor","TypeError","_defineProperties","target","props","descriptor","enumerable","configurable","writable","Object","defineProperty","protoProps","staticProps","prototype","obj","default","runtime","Op","hasOwn","hasOwnProperty","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","wrap","innerFn","outerFn","tryLocsList","context","state","protoGenerator","Generator","generator","create","Context","_invoke","GenStateSuspendedStart","method","GenStateExecuting","GenStateCompleted","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","record","tryCatch","type","resultName","next","nextLoc","sent","_sent","dispatchException","abrupt","GenStateSuspendedYield","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","AsyncIterator","PromiseImpl","previousPromise","callInvokeWithMethodAndArg","invoke","result","__await","unwrapped","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","displayName","isGeneratorFunction","genFun","ctor","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","iter","keys","object","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","catch","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","globalThis","Function","$","S","PassportObj","jQuery","_init","settings","resizeListener","circleAtomAnimation","preloader","loaderAnimation","detectAnimation","TweenLite","to","autoAlpha","display","addClass","accordian","circleLoader","redirectRight","redirectLeft","navTriggers","toolTips","emailPopup","lazyLoadImg","fixedSideBars","parallaxOvers","parallaxScrolls","manualFormOpener","scrollDierectionChecker","scrollBarWidth","testimonialSlider","awardSlider","planSlider","selectPlanSlider","articleSlider","remarkQuoteSider","articleSliderB","scrollDisable","readmoreTrigger","anchorLinks","joinUsBtnText","windowWidth","window","innerWidth","windowHeight","innerHeight","scrollClassTrigger","debounce","func","wait","immediate","timeout","callNow","clearTimeout","setTimeout","resizeFunctions","html","resize","addEventListener","htmlScrollEaser","easeScroll","frameRate","animationTime","stepSize","pulseAlgorithm","pulseScale","pulseNormalize","accelerationDelta","accelerationMax","keyboardSupport","arrowScroll","touchpadSupport","fixedBackground","bodyScroll","niceScroll","cursorcolor","cursorwidth","cursorborder","scrollspeed","autohidemode","background","hidecursordelay","cursorfixedheight","cursorminheight","enablekeyboard","horizrailenabled","bouncescroll","smoothscroll","iframeautoresize","touchbehavior","zindex","niceScrolls","each","elem","controller","ScrollMagic","Controller","Scene","triggerElement","on","niceScrollActivated","addTo","loaderMain","loaderIcon","find","loaderIconFinal","loaderTexts","tl","TimelineMax","onStart","onComplete","removeClass","totalPageReveal","from","scale","ease","Linear","easeNone","morphSVG","shape","x","seek","circle","TweenMax","rotation","svgOrigin","repeat","Power1","easeInOut","document","onmousewheel","removeEventListener","scroll","scrollEnable","arrow","scrollDirCheck","deltaY","wheelDelta","detail","querySelector","classList","remove","add","onscroll","scrollY","click","preventDefault","para","panel","parent","textWrapper","hasClass","maxHeight","getNiceScroll","height","form","trigger","TimelineLite","staggerFrom","y","outer","createElement","style","visibility","width","msOverflowStyle","body","appendChild","widthNoScroll","offsetWidth","overflow","inner","widthWithScroll","parentNode","removeChild","slideToggle","toggleClass","addActivePerspective","slides","activeSlides","slide","removeAttribute","setAttribute","slick","arrows","dots","slidesToShow","slidesToScroll","autoplay","autoplaySpeed","infinite","centerMode","pauseOnHover","pauseOnFocus","responsive","breakpoint","centerPadding","event","currentSlide","nextSlide","speed","initialSlide","dir","tweenReveal","contents","figure","artSection","plusWrapper","cog","paperPlane","staggerItems","delay","staggerFromTo","Power2","easeOut","fromTo","Back","config","fade","cssEase","set","transformOrigin","nextElem","eq","currentElem","staggerTo","overwrite","easeIn","wrapper","tweenHide","elemGraphic","article","scrollBar","index","slider","sliderNav","navItem","sliderBar","xPercent","adaptiveHeight","parents","mainWrapper","clearProps","atom","singlePath","Math","random","Power0","yoyo","toggleNav","mainTarget","animateItems","css","hide","appendTo","show","animeEntry","data","offset","top","animate","scrollTop","animationPresetA","waves","graphs","person","plus","iconCircleHolder","drawSVG","animationPresetB","CSSPlugin","useSVGTransformAttr","phone","planePath","planeTraces","planeMotionPath","MorphSVGPlugin","pathDataToBezier","align","offsetX","yPercent","Power3","bezier","curviness","autoRotate","rotationX","elems","giveImage","imageSrc","attr","scrollController","images","triggerHook","triggerElem","img","getImageSize","w","h","callback","$img","setInterval","naturalWidth","naturalHeight","clearInterval","pageWt","pageHt","parallaxElems","pageX","pageY","fixer","clientLeft","clientTop","items","duration","hook","tween","setTween","heroAnimation","node","hero","logo","tie","plane","planeRes","tieAnimation","partnersAnimation","woman","man","container","is","has","emailPopupOpenTrigger","emailPopupCloseTrigger","emailer","sideBar","setPin","setClassToggle","elementAnimation","opacity","speedspeed","textTween","textGradeGroup","textIterator","CreditPassport","MessageInfoAnim","ele","options","extend","defaultOptions","$container","$infoRows","$line","init","setScene","lineProgressScene","row","textContents","icon","waveOrigin","waveRotation","line","lineOffset","messageInfoAnimation","MainTimeline","$timelineItems","$navigationSectionBtn","$scrollWrapper","scrollDirectionYTemp","currentLineOffset","hookOffset","lineDuration","contentStaggerDuration","_this","scrollBars","item","_this2","articleContents","dot","lineOffseting","outerHeight","scrollDirection","currentTarget","lineScene","navigateSectionScroll","_this3","_this4","scrollWrapper","bind","scrollUpdates","getScrollTop","getContentSize","TimelineInfo","VideoController","Video","_classCallCheck2","videoType","dataset","videoID","videoId","videoPlayer","playButton","player","playing","playerReady","_callYtApi","_createClass2","callRespectiveApi","createScrollHook","_addListeners","callYtApi","_asyncToGenerator2","_regenerator","_callee","_context","createPlayer","updateHTML","YT","Player","concat","playerVars","playsinline","controls","autohide","events","onReady","onPlayerReady","onStateChange","onPlayerStateChange","getPlayerState","playVideo","pauseVideo","stopVideo","_pauseVideo","_playVideo","loadYtScript","scriptTag","getElementById","src","append","allVideoCanvas","_Video","querySelectorAll","onYouTubeIframeAPIReady","canvas"],"mappings":"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","file":"main.js","sourcesContent":["(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n });\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n define(Gp, iteratorSymbol, function() {\n return this;\n });\n\n define(Gp, \"toString\", function() {\n return \"[object Generator]\";\n });\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, in modern engines\n // we can explicitly access globalThis. In older engines we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","import \"./partials/missioninfoanimation.js\" \r\nimport \"./partials/timeline.js\" \r\nimport \"./partials/video\" \r\n(function($) {\r\n \"use strict\";\r\n\r\n var S, PassportObj = {\r\n _init() {\r\n S = PassportObj.settings\r\n this.resizeListener()\r\n //this.htmlScrollEaser() \r\n\r\n this.circleAtomAnimation()\r\n if (S.preloader) {\r\n this.loaderAnimation()\r\n } else {\r\n this.detectAnimation()\r\n TweenLite.to('#main-loader', 0.5, { autoAlpha: 0, display: 'none' })\r\n $('html').addClass('html-revealed')\r\n //this.totalPageReveal()\r\n //this.bodyScroll()\r\n //this.niceScrolls()\r\n }\r\n // Accordian\r\n this.accordian()\r\n // Circle loader\r\n this.circleLoader()\r\n // redirect loaders\r\n this.redirectRight()\r\n this.redirectLeft()\r\n // nav triggers\r\n this.navTriggers()\r\n // tooltips\r\n this.toolTips()\r\n // Email popup\r\n this.emailPopup()\r\n // Lazyloading images\r\n this.lazyLoadImg()\r\n // Fixed sidebars\r\n this.fixedSideBars()\r\n // Parallaxes\r\n this.parallaxOvers()\r\n this.parallaxScrolls()\r\n this.manualFormOpener()\r\n this.scrollDierectionChecker()\r\n this.scrollBarWidth()\r\n this.testimonialSlider()\r\n this.awardSlider()\r\n this.planSlider()\r\n this.selectPlanSlider()\r\n this.articleSlider()\r\n this.remarkQuoteSider()\r\n this.articleSliderB()\r\n this.scrollDisable()\r\n this.readmoreTrigger()\r\n this.anchorLinks()\r\n\r\n // Join us btn\r\n this.joinUsBtnText()\r\n },\r\n\r\n settings: {\r\n preloader: true,\r\n windowWidth: window.innerWidth,\r\n windowHeight: window.innerHeight,\r\n scrollBarWidth: 0,\r\n scrollClassTrigger: 0\r\n },\r\n\r\n // Debounce function to optimize event listeners. we dont want it fire every time.\r\n debounce(func, wait, immediate) {\r\n var timeout;\r\n return function() {\r\n var context = this,\r\n args = arguments;\r\n var later = function() {\r\n timeout = null;\r\n if (!immediate) func.apply(context, args);\r\n };\r\n var callNow = immediate && !timeout;\r\n clearTimeout(timeout);\r\n timeout = setTimeout(later, wait);\r\n if (callNow) func.apply(context, args);\r\n }\r\n },\r\n\r\n // Resize Function\r\n resizeFunctions() {\r\n S.windowWidth = window.innerWidth\r\n S.windowHeight = window.innerHeight\r\n\r\n // Join us button\r\n PassportObj.joinUsBtnText()\r\n },\r\n\r\n joinUsBtnText() {\r\n if($('.header-cta-list .join-btn').length) {\r\n if(S.windowWidth < 575){\r\n $('.header-cta-list .join-btn>a').html('Join')\r\n } else {\r\n $('.header-cta-list .join-btn>a').html('Join for free')\r\n }\r\n \r\n }\r\n },\r\n\r\n // ResizeListener \r\n resizeListener() {\r\n let resize = this.debounce(this.resizeFunctions, 250)\r\n window.addEventListener('resize', resize)\r\n },\r\n\r\n // Scroll Easer: Using jquery plugin\r\n htmlScrollEaser() {\r\n $(\"body\").easeScroll({\r\n frameRate: 60,\r\n animationTime: 2000,\r\n stepSize: 120,\r\n pulseAlgorithm: 1,\r\n pulseScale: 8,\r\n pulseNormalize: 1,\r\n accelerationDelta: 20,\r\n accelerationMax: 1,\r\n keyboardSupport: true,\r\n arrowScroll: 50,\r\n touchpadSupport: true,\r\n fixedBackground: false\r\n });\r\n },\r\n\r\n // Nice scrol\r\n bodyScroll() {\r\n let niceBody = $(\"body\").niceScroll({\r\n cursorcolor: \"#6ec0a6\",\r\n cursorwidth: \"12px\",\r\n cursorborder: \"0px solid #000\",\r\n scrollspeed: 100,\r\n autohidemode: true,\r\n background: '#f6f6f6',\r\n hidecursordelay: 400,\r\n cursorfixedheight: false,\r\n cursorminheight: 20,\r\n enablekeyboard: true,\r\n horizrailenabled: false,\r\n bouncescroll: false,\r\n smoothscroll: true,\r\n iframeautoresize: true,\r\n touchbehavior: false,\r\n zindex: 999\r\n });\r\n\r\n\r\n },\r\n\r\n niceScrolls() {\r\n $('.nice-scroll').each((i, elem) => {\r\n let controller = new ScrollMagic.Controller()\r\n let Scene = new ScrollMagic.Scene({\r\n triggerElement: elem\r\n })\r\n .on('enter', function(){\r\n if(elem.niceScrollActivated) return\r\n let niceScroll = $(elem).niceScroll({\r\n cursorcolor: \"#6ec0a6\",\r\n cursorwidth: \"12px\",\r\n cursorborder: \"0px solid #000\",\r\n scrollspeed: 100,\r\n autohidemode: false,\r\n hidecursordelay: 1000,\r\n background: '#f6f6f6',\r\n cursorfixedheight: false,\r\n cursorminheight: 20,\r\n enablekeyboard: true,\r\n horizrailenabled: true,\r\n bouncescroll: true,\r\n smoothscroll: true,\r\n iframeautoresize: true,\r\n touchbehavior: true,\r\n zindex: 'auto'\r\n });\r\n elem.niceScrollActivated = true\r\n })\r\n .addTo(controller)\r\n \r\n })\r\n \r\n },\r\n\r\n // Loading animation\r\n loaderAnimation() {\r\n let loaderMain = $('#loading-svg'),\r\n loaderIcon = loaderMain.find('.first-path'),\r\n loaderIconFinal = loaderMain.find('.final-path'),\r\n loaderTexts = loaderMain.find('.text-layer'),\r\n tl = new TimelineMax({\r\n onStart: function() {\r\n $('body').addClass('no-scroll')\r\n //.css('padding-right', S.scrollBarWidth)\r\n //$('#main-header').css('padding-right', S.scrollBarWidth)\r\n },\r\n onComplete: function() {\r\n $('body').removeClass('no-scroll')\r\n //.css('padding-right', 0)\r\n //$('#main-header').css('padding-right', 0)\r\n PassportObj.detectAnimation()\r\n PassportObj.totalPageReveal()\r\n setTimeout(function() {\r\n //PassportObj.bodyScroll()\r\n PassportObj.niceScrolls()\r\n }, 2000)\r\n\r\n }\r\n })\r\n\r\n\r\n\r\n tl.from(loaderMain, 4, { scale: 0.2, ease: Linear.easeNone })\r\n .to(loaderMain, 0.5, { autoAlpha: 1 }, 0)\r\n .to(loaderIcon, 0.5, { morphSVG: { shape: loaderIconFinal } }, 0.5)\r\n .to(loaderIcon, 0.5, { x: -64 }, 1.9)\r\n .to(loaderTexts, 0.5, { autoAlpha: 1 }, 2.2)\r\n .to(loaderMain, 0.5, { autoAlpha: 0 }, 3.5)\r\n .to('#main-loader', 0.5, { autoAlpha: 0, display: 'none' })\r\n\r\n tl.seek(4)\r\n },\r\n\r\n // circleLoader\r\n circleLoader() {\r\n let loaderSvg = $('.progress-circle-loader.progress-circle-loader.animate-loader')\r\n\r\n loaderSvg.each(function() {\r\n let circle = $(this).find('circle')\r\n\r\n TweenMax.to(circle, 1.5, { rotation: 360, svgOrigin: \"155 155\", repeat: -1, ease: Power1.easeInOut })\r\n\r\n\r\n })\r\n },\r\n scrollDisable() {\r\n document.onmousewheel = null;\r\n document.removeEventListener('mousewheel', scroll, false);\r\n document.removeEventListener('DOMMouseScroll', scroll, false);\r\n },\r\n\r\n scrollEnable() {\r\n document.addEventListener('mousewheel', scroll, false);\r\n document.addEventListener('DOMMouseScroll', scroll, false);\r\n },\r\n // redirect loaders\r\n redirectRight() {\r\n let redirectSvg = $('.redirect-icon-right.animate')\r\n\r\n redirectSvg.each(function() {\r\n let arrow = $(this).find('.arrow')\r\n TweenMax.to(arrow, 1.5, { x: 50, autoAlpha: 0, repeat: -1 })\r\n })\r\n },\r\n redirectLeft() {\r\n let redirectSvg = $('.redirect-icon-left.animate')\r\n\r\n redirectSvg.each(function() {\r\n let arrow = $(this).find('.arrow')\r\n TweenMax.to(arrow, 1.5, { x: -50, autoAlpha: 0, repeat: -1 })\r\n })\r\n },\r\n\r\n // Scrollchecker\r\n // Adding scroll class\r\n scrollDierectionChecker() {\r\n\r\n function scrollCheck() {\r\n if (window.scrollY > S.scrollClassTrigger) {\r\n document.querySelector('body').classList.add('scrolled');\r\n } else {\r\n document.querySelector('body').classList.remove('scrolled');\r\n }\r\n }\r\n\r\n function scrollDirCheck(e) {\r\n var delta = ((e.deltaY || -e.wheelDelta || e.detail) >> 10) || 1;;\r\n if (delta > 0) {\r\n\r\n document.querySelector('body').classList.remove('scrolling-up');\r\n document.querySelector('body').classList.add('scrolling-down');\r\n } else {\r\n document.querySelector('body').classList.remove('scrolling-down');\r\n document.querySelector('body').classList.add('scrolling-up');\r\n }\r\n }\r\n\r\n window.onscroll = function() { scrollCheck() };\r\n window.addEventListener('mousewheel', scrollDirCheck);\r\n window.addEventListener('DOMMouseScroll', scrollDirCheck);\r\n\r\n },\r\n\r\n readmoreTrigger() {\r\n let readmoreTrigger = $('.extend-para'),\r\n minHeight = 100\r\n\r\n readmoreTrigger.click(function(e){\r\n e.preventDefault()\r\n let para = $(this).prev().find('.para-wrapper'),\r\n panel = $(this).parent(),\r\n textWrapper = $(this).prev()\r\n\r\n if(!panel.hasClass('active')){\r\n panel.addClass('active')\r\n TweenLite.to(textWrapper, 0.5, {maxHeight: para.height(),\r\n onComplete: function(){\r\n $('.nice-scroll').getNiceScroll().resize()\r\n }\r\n })\r\n $(this).html('read less')\r\n } else {\r\n panel.removeClass('active')\r\n TweenLite.to(textWrapper, 0.5, {maxHeight: minHeight,\r\n onComplete: function(){\r\n $('.nice-scroll').getNiceScroll().resize()\r\n }\r\n })\r\n $(this).html('read more')\r\n }\r\n })\r\n },\r\n\r\n\r\n //manualFormOpener\r\n manualFormOpener() {\r\n let form = $('.manual-type-form-block'),\r\n trigger = form.find('.form-selection-trigger')\r\n\r\n trigger.on('click', function(e) {\r\n e.preventDefault()\r\n if (!form.hasClass('active')) {\r\n form.addClass('active')\r\n trigger.find('.icon-right-open').removeClass('icon-right-open').addClass('icon-down-open')\r\n let tl = new TimelineLite({\r\n onComplete: () => {\r\n\r\n }\r\n })\r\n\r\n tl.to(form.find('.form-elements'), 1, { maxHeight: 1000 })\r\n .staggerFrom(form.find('.form-elements>*'), 0.5, { y: -50, autoAlpha: 0 }, 0.1, 0)\r\n }\r\n })\r\n },\r\n //Update scroll bar width\r\n scrollBarWidth() {\r\n var outer = document.createElement(\"div\");\r\n outer.style.visibility = \"hidden\";\r\n outer.style.width = \"100px\";\r\n outer.style.msOverflowStyle = \"scrollbar\"; // needed for WinJS apps\r\n\r\n document.body.appendChild(outer);\r\n\r\n var widthNoScroll = outer.offsetWidth;\r\n // force scrollbars\r\n outer.style.overflow = \"scroll\";\r\n\r\n // add innerdiv\r\n var inner = document.createElement(\"div\");\r\n inner.style.width = \"100%\";\r\n outer.appendChild(inner);\r\n\r\n var widthWithScroll = inner.offsetWidth;\r\n\r\n // remove divs\r\n outer.parentNode.removeChild(outer);\r\n\r\n S.scrollBarWidth = widthNoScroll - widthWithScroll;\r\n\r\n\r\n },\r\n // Accordian\r\n accordian() {\r\n let triggerElem = $('.accordian-trigger')\r\n triggerElem.on('click', function() {\r\n let panel = $(this).next(),\r\n parent = $(this).parent()\r\n\r\n\r\n panel.slideToggle(200, \"swing\", () => {\r\n parent.toggleClass('active')\r\n })\r\n })\r\n },\r\n // Sliders\r\n awardSlider() {\r\n let elem = $('.award-slider')\r\n\r\n elem.on('init', () => addActivePerspective())\r\n elem.slick({\r\n arrows: false,\r\n dots: false,\r\n slidesToShow: 5,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n autoplaySpeed: 3000,\r\n infinite: true,\r\n centerMode: true,\r\n pauseOnHover: false,\r\n pauseOnFocus: false,\r\n responsive: [{\r\n breakpoint: 1440,\r\n settings: {\r\n slidesToShow: 3,\r\n slidesToScroll: 1,\r\n }\r\n },{\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 3,\r\n }\r\n },{\r\n breakpoint: 768,\r\n settings: {\r\n slidesToShow: 1,\r\n centerPadding: '20%'\r\n }\r\n },{\r\n breakpoint: 568,\r\n settings: {\r\n slidesToShow: 1,\r\n centerPadding: '15%'\r\n }\r\n }]\r\n });\r\n\r\n elem.on('afterChange', function(event, slick, currentSlide, nextSlide) {\r\n\r\n addActivePerspective()\r\n })\r\n \r\n function addActivePerspective() {\r\n const slides = elem.find('.award-slide')\r\n const activeSlides = elem.find('.slick-active')\r\n\r\n slides.each((i, slide) => {\r\n slide.removeAttribute('data-active')\r\n })\r\n \r\n activeSlides.each((i, slide) => {\r\n slide.setAttribute('data-active', i)\r\n })\r\n }\r\n },\r\n\r\n testimonialSlider() {\r\n let elem = $('.testimonial-slider')\r\n elem.slick({\r\n arrows: false,\r\n dots: true,\r\n slidesToShow: 3,\r\n slidesToScroll: 1,\r\n infinite: true,\r\n responsive: [{\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n }\r\n }, ]\r\n });\r\n },\r\n planSlider() {\r\n let elem = $('.plan-slider')\r\n elem.slick({\r\n arrows: false,\r\n infinite: false,\r\n //initialSlide: 1,\r\n //centerMode: true,\r\n //centerPadding: '12%',\r\n slidesToShow: 3,\r\n speed: 500,\r\n responsive: [{\r\n breakpoint: 742,\r\n settings: {\r\n initialSlide: 0,\r\n centerMode: true,\r\n centerPadding: '30%',\r\n slidesToShow: 1\r\n }\r\n }, {\r\n breakpoint: 567,\r\n settings: {\r\n initialSlide: 0,\r\n centerMode: true,\r\n centerPadding: '20%',\r\n slidesToShow: 1\r\n }\r\n }, {\r\n breakpoint: 402,\r\n settings: {\r\n initialSlide: 0,\r\n centerMode: true,\r\n centerPadding: '15%',\r\n slidesToShow: 1\r\n }\r\n },{\r\n breakpoint: 360,\r\n settings: {\r\n initialSlide: 0,\r\n centerMode: true,\r\n centerPadding: '13%',\r\n slidesToShow: 1\r\n }\r\n }]\r\n });\r\n },\r\n selectPlanSlider() {\r\n let elem = $('.select-plan-cards-list')\r\n elem.slick({\r\n arrows: false,\r\n infinite: false,\r\n //initialSlide: 1,\r\n //centerMode: true,\r\n //centerPadding: '12%',\r\n slidesToShow: 3,\r\n speed: 500,\r\n responsive: [{\r\n breakpoint: 742,\r\n settings: {\r\n initialSlide: 0,\r\n centerMode: true,\r\n centerPadding: '30%',\r\n slidesToShow: 1\r\n }\r\n }, {\r\n breakpoint: 567,\r\n settings: {\r\n initialSlide: 0,\r\n centerMode: true,\r\n centerPadding: '20%',\r\n slidesToShow: 1\r\n }\r\n }, {\r\n breakpoint: 402,\r\n settings: {\r\n initialSlide: 0,\r\n centerMode: true,\r\n centerPadding: '13%',\r\n slidesToShow: 1\r\n }\r\n },{\r\n breakpoint: 360,\r\n settings: {\r\n initialSlide: 0,\r\n centerMode: true,\r\n centerPadding: '13%',\r\n slidesToShow: 1\r\n }\r\n }]\r\n });\r\n },\r\n remarkQuoteSider() {\r\n let elem = $('.remark-slider')\r\n\r\n elem.slick({\r\n arrows: false,\r\n autoplay: true,\r\n autoplaySpeed: 15000,\r\n dots: true,\r\n slidesToShow: 1,\r\n speed: 800,\r\n //pauseOnHover: false,\r\n })\r\n },\r\n articleSlider() {\r\n let elem = $('.article-carousel-slider'),\r\n dir = 'left'\r\n elem.on('init', function(slick) {\r\n tweenReveal(elem.find('.slick-current'))\r\n })\r\n elem.slick({\r\n arrows: false,\r\n autoplay: true,\r\n autoplaySpeed: 15000,\r\n dots: true,\r\n slidesToShow: 1,\r\n infinite: true,\r\n fade: true,\r\n speed: 800,\r\n //pauseOnHover: false,\r\n cssEase: 'linear'\r\n })\r\n\r\n TweenLite.set(elem.find('article > *,.art-section'), { x: -100, autoAlpha: 0 })\r\n TweenLite.set(elem.find('.cog'), { transformOrigin: \"50% 50%\" })\r\n elem.on('beforeChange', function(event, slick, currentSlide, nextSlide) {\r\n\r\n let nextElem = elem.find('.slick-slide').eq(nextSlide),\r\n currentElem = elem.find('.slick-slide').eq(currentSlide)\r\n\r\n dir = nextSlide < currentSlide ? 'right' : 'left'\r\n tweenHide(currentElem, dir)\r\n tweenReveal(nextElem, dir)\r\n })\r\n\r\n function tweenReveal(slide, dir) {\r\n let contents = slide.find('article>*'),\r\n figure = slide.find('figure'),\r\n artSection = slide.find('.art-section'),\r\n plusWrapper = slide.find('.plus-wrapper'),\r\n cog = slide.find('.cog'),\r\n paperPlane = slide.find('.paper-plane'),\r\n staggerItems = slide.find('.stagger-items'),\r\n tl = new TimelineMax({ delay: 0.8 })\r\n\r\n\r\n tl.staggerFromTo(contents, 0.5, {\r\n x: dir === 'left' ? 100 : -100,\r\n autoAlpha: 0,\r\n ease: Power2.easeOut\r\n }, {\r\n x: 0,\r\n autoAlpha: 1,\r\n ease: Power2.easeOut\r\n }, 0.1)\r\n .fromTo(figure, 0.5, {\r\n x: dir === 'left' ? 100 : -100,\r\n autoAlpha: 0,\r\n ease: Power2.easeOut\r\n }, {\r\n x: 0,\r\n autoAlpha: 1,\r\n ease: Power2.easeOut\r\n }, 0.5)\r\n .fromTo(artSection, 0.5, {\r\n x: dir === 'left' ? 100 : -100,\r\n autoAlpha: 0,\r\n ease: Power2.easeOut\r\n }, {\r\n x: 0,\r\n autoAlpha: 1,\r\n ease: Power2.easeOut\r\n }, 0.2)\r\n\r\n if (plusWrapper.length) {\r\n tl.staggerFromTo(plusWrapper.find('>*'), 0.5, {\r\n y: 50,\r\n autoAlpha: 0,\r\n }, {\r\n y: 0,\r\n autoAlpha: 1,\r\n }, 0.1, 0.4)\r\n }\r\n\r\n if (cog.length) {\r\n tl.staggerFromTo(cog, 1, {\r\n rotation: 0\r\n }, {\r\n rotation: 180,\r\n ease: Back.easeOut.config(1.7)\r\n }, 0.1, 0.2)\r\n }\r\n\r\n if (paperPlane.length) {\r\n tl.staggerFromTo(slide.find('.plane-path > g>*'), 0.5, {\r\n autoAlpha: 0\r\n }, {\r\n autoAlpha: 1\r\n }, -0.05, 0.4)\r\n .fromTo(paperPlane, 0.5, {\r\n x: -20,\r\n y: 20,\r\n autoAlpha: 0\r\n }, {\r\n x: 0,\r\n y: 0,\r\n autoAlpha: 1\r\n }, 1.5)\r\n .staggerFromTo(slide.find('.plane-traces > *'), 0.5, {\r\n autoAlpha: 0,\r\n scale: 0.2\r\n }, {\r\n autoAlpha: 1,\r\n scale: 1\r\n }, 0.05, 1.5)\r\n }\r\n\r\n if (staggerItems.length) {\r\n tl.staggerFromTo(staggerItems.find('> *'), 0.5, {\r\n y: 20,\r\n autoAlpha: 0\r\n }, {\r\n y: 0,\r\n autoAlpha: 1\r\n }, 0.05, 0.2)\r\n }\r\n }\r\n\r\n function tweenHide(slide, dir) {\r\n let contents = slide.find('article>*'),\r\n figure = slide.find('figure'),\r\n artSection = slide.find('.art-section'),\r\n tl = new TimelineMax()\r\n\r\n tl.staggerTo(contents, 0.5, {\r\n x: dir === 'left' ? -100 : 100,\r\n autoAlpha: 0,\r\n overwrite: 'all',\r\n ease: Power2.easeIn\r\n }, -0.1)\r\n .to(figure, 0.5, {\r\n x: dir === 'left' ? -100 : 100,\r\n autoAlpha: 0,\r\n overwrite: 'all',\r\n ease: Power2.easeIn\r\n }, 0.2)\r\n .to(artSection, 0.5, {\r\n x: dir === 'left' ? -100 : 100,\r\n autoAlpha: 0,\r\n overwrite: 'all',\r\n ease: Power2.easeIn\r\n }, 0.3)\r\n }\r\n },\r\n\r\n // article-slider\r\n articleSliderB() {\r\n let wrapper = $('.article-slider-wrapper'),\r\n elem = $('.article-slider'),\r\n dir = 'left'\r\n tweenHide(elem)\r\n elem.on('init', function(slick) {\r\n tweenReveal(elem.find('.slick-current'))\r\n sliderPagination(this)\r\n scrollBar(0, this)\r\n })\r\n elem.slick({\r\n arrows: false,\r\n autoplay: true,\r\n autoplaySpeed: 15000,\r\n adaptiveHeight: true,\r\n //dots: true,\r\n slidesToShow: 1,\r\n infinite: false,\r\n fade: false,\r\n speed: 800,\r\n //pauseOnHover: false,\r\n //cssEase: 'linear'\r\n })\r\n\r\n // arrow navigation\r\n\r\n wrapper.find('.article-prev').click(function() {\r\n let slider = $(this).parents('.article-slider-wrapper').find('.article-slider')\r\n slider.slick('slickPrev')\r\n })\r\n wrapper.find('.article-next').click(function() {\r\n let slider = $(this).parents('.article-slider-wrapper').find('.article-slider')\r\n slider.slick('slickNext')\r\n })\r\n\r\n // Animations\r\n elem.on('beforeChange', function(event, slick, currentSlide, nextSlide) {\r\n let nextElem = elem.find('.slick-slide').eq(nextSlide),\r\n currentElem = elem.find('.slick-slide').eq(currentSlide)\r\n dir = nextSlide < currentSlide ? 'right' : 'left'\r\n tweenHide(currentElem, dir)\r\n //console.log(nextElem)\r\n tweenReveal(nextElem, dir)\r\n scrollBar(nextSlide, this)\r\n })\r\n\r\n function tweenHide(elem, dir) {\r\n let tl = new TimelineMax(),\r\n elemGraphic = $(elem).find('.wave-icon-wrapper'),\r\n article = $(elem).find('article')\r\n\r\n tl.staggerTo($(elemGraphic).find('.short-wave > path'),1,{\r\n rotation: 45,\r\n autoAlpha: 0,\r\n ease: Back.easeOut.config(1.8),\r\n transformOrigin: '0% 100%',\r\n overwrite: \"all\"\r\n },0.1)\r\n .to($(elemGraphic).find('.icon-circle'),0.5,{autoAlpha: 0, scale: 0.5},0)\r\n .staggerTo($(article).find('>*'),1,{\r\n y: 100,\r\n autoAlpha: 0,\r\n overwrite: \"all\",\r\n ease: Power2.easeOut\r\n },-0.1,0)\r\n }\r\n\r\n function tweenReveal(elem, dir){\r\n \r\n let tl = new TimelineMax({delay: 0.5}),\r\n elemGraphic = $(elem).find('.wave-icon-wrapper'),\r\n article = $(elem).find('article')\r\n\r\n tl.staggerTo($(elemGraphic).find('.short-wave > path'),1,{\r\n rotation: 0,\r\n autoAlpha: 1,\r\n ease: Back.easeOut.config(1.8),\r\n transformOrigin: '0% 100%',\r\n overwrite: \"all\"\r\n },0.1)\r\n .to($(elemGraphic).find('.icon-circle'),0.5,{autoAlpha: 1, scale: 1},0.2)\r\n .staggerTo($(article).find('>*'),1,{\r\n y: 0,\r\n autoAlpha: 1,\r\n overwrite: \"all\",\r\n ease: Power2.easeOut\r\n },0.1,0.2)\r\n }\r\n\r\n\r\n // scrollbar nav\r\n function scrollBar(index, slider) {\r\n let sliderNav = $(slider).parent().find('.article-slide-nav-wrapper'),\r\n navItem = sliderNav.find('.slider-nav>li'),\r\n sliderBar = sliderNav.find('.slider-bar')\r\n //console.log(sliderNav)\r\n navItem.removeClass('active')\r\n navItem.eq(index).addClass('active')\r\n\r\n TweenLite.to(sliderBar, 0.5, {xPercent: index * 100})\r\n }\r\n\r\n // Slider pagination navigation\r\n function sliderPagination(slider) {\r\n let navItem = $(slider).parent().find('.slider-nav>li')\r\n \r\n navItem.click(function(){\r\n $(slider).slick('slickGoTo', $(this).index())\r\n })\r\n }\r\n\r\n },\r\n // Animation standallone\r\n totalPageReveal() {\r\n let mainWrapper = $('#main-wrapper main'),\r\n tl = new TimelineMax\r\n \r\n tl.to([mainWrapper, '#main-header', '#main-footer'], 0.5, { scale: 1, autoAlpha: 1, transformOrigin: \"50% 0%\",\r\n onComplete() {\r\n $('html').addClass('html-revealed')\r\n\r\n TweenLite.set([mainWrapper, '#main-header', '#main-footer'], {clearProps:\"all\"})\r\n }\r\n })\r\n },\r\n circleAtomAnimation() {\r\n let atom = $('.atoms-rotate'),\r\n singlePath = atom.find('.circle-g'),\r\n centerAtom = atom.find('>circle'),\r\n tl = new TimelineMax({ delay: 0 })\r\n\r\n singlePath.each(function() {\r\n tl.to(this, Math.random() * 5 + 3, { rotation: 360, transformOrigin: \"center\", ease: Power0.easeNone, repeat: -1 }, 0)\r\n .to(this, Math.random() * 5 + 3, { scale: 0.6, transformOrigin: \"center\", ease: Power0.easeNone, repeat: -1, yoyo: true }, 0)\r\n })\r\n // tl.staggerTo(singlePath, 2, {\r\n // rotation: 360,\r\n // transformOrigin: \"center\",\r\n // repeat: -1,\r\n // repeatDelay: 2,\r\n // ease: Back.easeInOut\r\n // }, 0.05)\r\n },\r\n\r\n // nav-trigger\r\n navTriggers() {\r\n let trigger = $('.nav-trigger');\r\n\r\n\r\n trigger.click(function(e) {\r\n e.preventDefault();\r\n let target = $(this).data('target');\r\n // if checks for already active navs\r\n if (target !== \"#main-nav\" && $('#main-nav').hasClass('active')) {\r\n toggleNav(\"#main-nav\")\r\n }\r\n if (target !== \"#main-side-nav\" && $('#main-side-nav').hasClass('active')) {\r\n toggleNav(\"#main-side-nav\")\r\n }\r\n // main toggles\r\n toggleNav(target)\r\n })\r\n\r\n function toggleNav(target) {\r\n if ($(target).length === 0) return\r\n if (!$(target).hasClass('active')) {\r\n createOverlay(target)\r\n if (target === \"#main-nav\") {\r\n animeEntry(target)\r\n }\r\n $(target).addClass('active');\r\n $('body').addClass('nav-opened')\r\n $('.nav-trigger[data-target=\"' + target + '\"]').addClass('active')\r\n } else {\r\n removeOverlay(target)\r\n if (target === \"#main-nav\") {\r\n animeLeave(target)\r\n }\r\n $(target).removeClass('active');\r\n $('body').removeClass('nav-opened')\r\n $('.nav-trigger[data-target=\"' + target + '\"]').removeClass('active')\r\n\r\n }\r\n }\r\n\r\n function animeEntry(target) {\r\n let mainTarget = $(target),\r\n animateItems = mainTarget.find('.move-anim'),\r\n tl = new TimelineLite()\r\n $('body').addClass('no-scroll')\r\n if (!$('#main-wrapper').hasClass('dashboard-content-layout')) {\r\n\r\n $('body,#main-header,.bottom-scroll-indicator').css(\"padding-right\", S.scrollBarWidth + 'px')\r\n }\r\n\r\n TweenLite.set(mainTarget, { autoAlpha: 0 })\r\n TweenLite.set(animateItems, { y: 50, autoAlpha: 0 })\r\n\r\n tl.to(mainTarget, 0.5, { display: 'block', autoAlpha: 1, ease: Power0.easeNone })\r\n .staggerTo(animateItems, 0.5, { y: 0, autoAlpha: 1 }, 0.05, 0.2)\r\n }\r\n\r\n function animeLeave(target) {\r\n let mainTarget = $(target),\r\n animateItems = mainTarget.find('.move-anim'),\r\n tl = new TimelineLite({\r\n onComplete: function() {\r\n $('body').removeClass('no-scroll')\r\n if (!$('#main-wrapper').hasClass('dashboard-content-layout')) {\r\n\r\n $('body,#main-header,.bottom-scroll-indicator').css(\"padding-right\", '0px')\r\n }\r\n\r\n }\r\n })\r\n\r\n\r\n tl.to(mainTarget, 0.5, { display: 'none', autoAlpha: 0, ease: Power0.easeNone, overwrite: \"all\" }, 0.2)\r\n .staggerTo(animateItems, 0.5, { y: 50, autoAlpha: 0, overwrite: \"all\" }, -0.05, 0)\r\n }\r\n\r\n\r\n function createOverlay(target) {\r\n let overlay = \"\";\r\n $(overlay).hide().appendTo('#main-wrapper').show()\r\n }\r\n\r\n function removeOverlay(target) {\r\n $('.nav-overlay[data-target=\"' + target + '\"]').remove()\r\n }\r\n\r\n $(document).on(\"click touchstart\", \".nav-overlay\", function() {\r\n let target = $(this).data('target');\r\n toggleNav(target)\r\n })\r\n },\r\n\r\n\r\n // Anchor links\r\n anchorLinks() {\r\n let links = $('.anchor-link')\r\n\r\n links.click(function(e) {\r\n e.preventDefault()\r\n let target = $(this).data('target') ? $($(this).data('target')).offset().top - 200 : S.windowHeight\r\n $('html,body').animate({scrollTop: target })\r\n })\r\n },\r\n\r\n // Preset section animation\r\n animationPresetA(elem) {\r\n let tl = new TimelineMax(),\r\n waves = $(elem).find('#wave-a'),\r\n artSection = $(elem).find('.art-section'),\r\n graphs = $(elem).find('.graphs > path'),\r\n person = $(elem).find('.person'),\r\n plus = $(elem).find('.plus > g'),\r\n iconCircleHolder = $(elem).find('.svg-circle-holder-wrapper,.svg-grade-holder-wrapper')\r\n\r\n tl.staggerFrom($(waves).find('path'), 1, {\r\n //scale: 0.5,\r\n rotation: 40,\r\n autoAlpha: 0,\r\n ease: Back.easeOut,\r\n transformOrigin: '50% 100%'\r\n }, 0.1)\r\n .staggerFrom(graphs, 0.5, { drawSVG: \"0% 0%\", autoAlpha: 0 }, -0.2, 0.5)\r\n .from(person, 0.5, { y: 50, x: -20, autoAlpha: 0 }, 0.9)\r\n .staggerFrom(plus, 0.5, { y: 50, autoAlpha: 0 }, 0.05, 1)\r\n .from(iconCircleHolder, 0.5, { scale: 0.5, autoAlpha: 0, ease: Back.easeOut })\r\n\r\n return tl\r\n },\r\n\r\n animationPresetB(elem) {\r\n CSSPlugin.useSVGTransformAttr = false;\r\n let tl = new TimelineMax({ CSSPlugin: { useSVGTransformAttr: false } }),\r\n phone = $(elem).find('.phone-wrapper'),\r\n //phoneScreen = $(elem).find('.phone-screen>*'),\r\n paperPlane = $(elem).find('.paper-plane'),\r\n planePath = $(elem).find('#plane-mask-path'),\r\n planeTraces = $(elem).find('.plane-traces>path'),\r\n planeMotionPath = MorphSVGPlugin.pathDataToBezier(planePath, { align: paperPlane, offsetX: 0 }),\r\n waves = $(elem).find('.wave-icon-wrapper .short-wave>path')\r\n\r\n TweenLite.set(paperPlane, { scale: 0.2, yPercent: -5 })\r\n\r\n tl//.staggerFrom(phoneScreen, 2, { y: 100, autoAlpha: 0, ease: Power3.easeOut }, 0.1, 0.3)\r\n .add('plane-flight')\r\n .staggerFrom(waves,1,{\r\n rotation: 45,\r\n autoAlpha: 0,\r\n ease: Back.easeOut.config(1.8),\r\n transformOrigin: \"0% 100%\"\r\n },0.1,0.5)\r\n .from(phone, 2, { y: 100, autoAlpha: 0, ease: Power3.easeOut }, 0.8)\r\n .to(paperPlane, 3, {\r\n scale: 1,\r\n bezier: { values: planeMotionPath, type: \"cubic\", curviness: 2, autoRotate: true },\r\n ease: Power1.easeOut\r\n }, 'plane-flight')\r\n .to(paperPlane, 0.2, { autoAlpha: 1 }, 'plane-flight')\r\n .to(paperPlane, 0.5, { rotationX: 180, xPercent: 3 }, 'plane-flight+=2.2')\r\n //.to(paperPlane,0.5,{x: \"-=30\", y:\"-=30\", ease: Power0.easeNone},'ending-flight')\r\n .staggerFrom(planeTraces, 0.5, { x: 20, autoAlpha: 0 }, 0.1, 'plane-flight+=2.5')\r\n .from(planePath, 3, { drawSVG: \"0% 0%\" }, 'plane-flight+=0.05')\r\n\r\n return tl\r\n },\r\n\r\n // lazyLoadImg\r\n lazyLoadImg(elems){\r\n let images = elems || $('.lazy-load-img'),\r\n processFigure = function(figure) {\r\n let imageSrc = $(figure).find('>img').data('src')\r\n if (imageSrc) {\r\n var img = $(\"\").attr('src', imageSrc)\r\n PassportObj.getImageSize(img, function(w, h) {\r\n $(figure).find('>img').attr({\r\n 'width': w,\r\n 'height': h\r\n })\r\n })\r\n if (img.complete) {\r\n giveImage(imageSrc, figure);\r\n } else {\r\n img.on('load', function() {\r\n giveImage(imageSrc, figure);\r\n })\r\n .on('error', function() {\r\n \r\n })\r\n }\r\n }\r\n },\r\n giveImage = function(imageSrc, figure){\r\n $(figure).addClass('loaded');\r\n $(figure).find('>img').attr('src', imageSrc)\r\n }\r\n if(images.length){\r\n let scrollController = new ScrollMagic.Controller()\r\n\r\n images.each(function(){\r\n let scene = new ScrollMagic.Scene({ triggerElement: this, triggerHook: 'onEnter' })\r\n .on('enter', function() {\r\n var triggerElem = this.triggerElement();\r\n processFigure(triggerElem);\r\n })\r\n .addTo(scrollController)\r\n })\r\n }\r\n \r\n },\r\n\r\n getImageSize (img, callback) {\r\n var $img = $(img);\r\n\r\n var wait = setInterval(function() {\r\n var w = $img[0].naturalWidth,\r\n h = $img[0].naturalHeight;\r\n if (w && h) {\r\n clearInterval(wait);\r\n callback.apply(this, [w, h]);\r\n }\r\n }, 30);\r\n },\r\n\r\n // Parallax \r\n parallaxOvers() {\r\n let canvas = $('.hover-parallax-wrapper')\r\n\r\n canvas.on('mousemove', onHover)\r\n\r\n function onHover(e) {\r\n let pageWt = window.innerWidth,\r\n pageHt = window.innerHeight,\r\n parallaxElems = $(this).find('.parallax-elem'),\r\n pageX = e.pageX - pageWt,\r\n pageY = e.pageY - pageHt,\r\n fixer = -0.002\r\n if (parallaxElems.length) {\r\n parallaxElems.each(function(index, value) {\r\n fixer = $(this).data('fixer') || fixer - 0.008\r\n TweenMax.to(this, 1, {\r\n x: (this.clientLeft + pageX) * fixer,\r\n y: (this.clientTop + pageY) * fixer,\r\n ease: Power2.easeOut,\r\n //overwrite: \"all\"\r\n })\r\n })\r\n }\r\n }\r\n },\r\n\r\n parallaxScrolls() {\r\n let items = $('.scroll-item-down-parallax'),\r\n scrollController = new ScrollMagic.Controller()\r\n\r\n items.each(function(){\r\n let duration = $(this).data('duration') ? $(this).data('duration') : \"400%\",\r\n hook = $(this).data('hook') ? $(this).data('hook') : \"onEnter\",\r\n autoAlpha = $(this).data('alpha-out') ? 0 : 1,\r\n triggerElement = $(this).data('trigger-parent') ? $(this).parent()[0] : this\r\n\r\n \r\n\r\n let tween = TweenLite.to($(this),0.5,{\r\n y:\"100%\", \r\n rotation:0.002,\r\n autoAlpha: autoAlpha\r\n })\r\n let scene = new ScrollMagic.Scene({\r\n triggerElement: triggerElement,\r\n triggerHook: hook,\r\n reverse: true,\r\n duration: duration\r\n })\r\n .setTween(tween)\r\n .addTo(scrollController);\r\n })\r\n },\r\n\r\n // Main hero animation\r\n heroAnimation (node) {\r\n let tween = new TimelineMax(),\r\n hero = node.find('.hero'),\r\n logo = node.find('.main-logo'),\r\n tie = node.find('.tie-base'),\r\n planePath = node.find('#plane-mask-path-b'),\r\n plane = node.find('.paper-plane'),\r\n planeRes = node.find('.plane-res'),\r\n tieAnimation = new TimelineMax({\r\n repeat: 5,\r\n yoyo: true,\r\n ease: Power0.easeNone\r\n })\r\n\r\n tween.from(hero, 1, {autoAlpha: 0, y: 100})\r\n .from(planePath, 1, {\r\n drawSVG:\"0% 0%\"\r\n })\r\n .from(plane, 0.5, {x: -20, y :20, autoAlpha: 0},'planeMotion')\r\n .staggerFrom(planeRes.find('>path'), 0.5, {x: -20, autoAlpha: 0},0.1,'planeMotion+=0.1')\r\n .from(logo, 1, {autoAlpha: 0},1.1)\r\n .add(tieAnimation, 0)\r\n \r\n\r\n tieAnimation\r\n .to(tie,0.2,{\r\n morphSVG: {\r\n shape: node.find('.t-to-1'),\r\n \r\n },\r\n //y: -1,\r\n //x: 1,\r\n ease: Power0.easeNone\r\n })\r\n // .to(tie,0.2,{\r\n // morphSVG: {\r\n // shape: node.find('.t-to-2'),\r\n \r\n // },\r\n // ease: Power0.easeNone\r\n // })\r\n return tween\r\n },\r\n\r\n partnersAnimation(node) {\r\n let tl = new TimelineMax(),\r\n woman = node.find('.woman'),\r\n man = node.find('.man')\r\n\r\n tl.from(woman,1,{autoAlpha: 0, x : -100, ease: Power2.easeOut})\r\n .from(man,1,{autoAlpha: 0, x : 100, ease: Power2.easeOut},0)\r\n\r\n return tl\r\n },\r\n\r\n // Tooltips\r\n toolTips() {\r\n let toolTips = $('.info-link')\r\n\r\n toolTips.click(function(){\r\n $(this).addClass('active')\r\n })\r\n\r\n \r\n $(document.body).on('click touchstart', function (e){\r\n \r\n var container = $(\".info-link.active\");\r\n\r\n if (!container.is(e.target) && container.has(e.target).length === 0){\r\n\r\n $(\".info-link.active\").removeClass('active')\r\n \r\n }\r\n }); \r\n \r\n \r\n },\r\n\r\n //emailPopup\r\n emailPopup(){\r\n let emailPopupOpenTrigger = $('.open-emailer-trigger'),\r\n emailPopupCloseTrigger = $('.emailer-popup .close-popup')\r\n\r\n emailPopupOpenTrigger.on('click', function(e) {\r\n e.preventDefault()\r\n let emailer = $(this).next()\r\n TweenLite.to(emailer,0.5,{\r\n display: \"block\",\r\n autoAlpha: 1,\r\n top: \"50%\",\r\n ease: Power2.easeOut,\r\n onStart() {\r\n $('body').addClass('emailer-on')\r\n }\r\n })\r\n })\r\n\r\n emailPopupCloseTrigger.on('click', function(e) {\r\n e.preventDefault()\r\n let emailer = $(this).parent()\r\n TweenLite.to(emailer,0.5,{\r\n display: \"none\",\r\n autoAlpha: 0,\r\n top: \"70%\",\r\n ease: Power2.easeOut,\r\n onStart() {\r\n $('body').removeClass('emailer-on')\r\n }\r\n })\r\n })\r\n },\r\n\r\n // Fixed bars\r\n fixedSideBars() {\r\n let sideBar = $('.aside-fixed-bar'),\r\n scrollController = new ScrollMagic.Controller()\r\n\r\n new ScrollMagic.Scene({\r\n triggerElement: sideBar[0],\r\n triggerHook: 'onLeave',\r\n offset: -100,\r\n duration: $('.inner-content-wrapper').innerHeight() - 150\r\n })\r\n .setPin(sideBar[0])\r\n .setClassToggle(sideBar[0],'fixed')\r\n .addTo(scrollController)\r\n },\r\n\r\n // detect animation on scroll\r\n detectAnimation(elems) {\r\n var controller = new ScrollMagic.Controller();\r\n var elem = elems || $('.detect-animate');\r\n\r\n elem.each(function() {\r\n \r\n var elem = this;\r\n var triggerElem = $(elem).data('top') ? $(elem).data('top') : elem;\r\n var elementAnimation = $(elem).data('animation');\r\n var delay = $(elem).data('delay') ? $(elem).data('delay') : 0;\r\n var speed = $(elem).data('speed') ? $(elem).data('speed') : 1;\r\n var hook = $(elem).data('hook') ? $(elem).data('hook') : 'onEnter';\r\n var offset = $(elem).data('offset') || 200;\r\n var tween = '';\r\n var duration = 0;\r\n var reverse = ($(elem).data('reverse') === false) ? false : true;\r\n var staggerOffset = 0.1;\r\n var ease = $(elem).data('ease') ? $(elem).data('ease') : Power2.easeOut;\r\n \r\n TweenLite.set(elem, { autoAlpha: 1 });\r\n\r\n if(window.innerWidth <= 1024) offset = 5;\r\n\r\n switch (elementAnimation) {\r\n case \"fade-in\":\r\n tween = TweenMax.from(elem, speed, { autoAlpha: 0, ease: ease, delay: delay });\r\n break;\r\n case \"from-top\":\r\n tween = TweenMax.from(elem, speed, { y: '-100px', opacity: 0, ease: ease, delay: delay });\r\n break;\r\n case \"from-top-jerk\":\r\n tween = TweenMax.from(elem, speedspeed, { y: '-100px', opacity: 0, ease: Back.easeInOut, delay: delay });\r\n break;\r\n case \"from-bottom\":\r\n tween = TweenMax.from(elem, speed, { y: '100px', opacity: 0, ease: ease, delay: delay });\r\n break;\r\n case \"from-bottom-jerk\":\r\n tween = TweenMax.from(elem, speed, { y: '100px', opacity: 0, ease: Back.easeInOut, delay: delay });\r\n break;\r\n case \"from-left\":\r\n tween = TweenMax.from(elem, speed, { x: '-100px', opacity: 0, ease: ease, delay: delay });\r\n break;\r\n case \"from-left-jerk\":\r\n tween = TweenMax.from(elem, speed, { x: '-100px', opacity: 0, ease: Back.easeInOut, delay: delay });\r\n break;\r\n case \"from-right\":\r\n tween = TweenMax.from(elem, speed, { x: '100px', opacity: 0, ease: ease, delay: delay });\r\n break;\r\n case \"from-right-jerk\":\r\n tween = TweenMax.from(elem, speed, { x: '100px', opacity: 0, ease: Back.easeInOut, delay: delay });\r\n break;\r\n case \"from-bottom-elements-lazy\":\r\n tween = TweenMax.staggerFrom($(elem).find('>*'), speed, { y: '100px', opacity: 0, ease: ease, delay: delay }, staggerOffset);\r\n break;\r\n case \"from-bottom-elements-lazy-jerk\":\r\n tween = TweenMax.staggerFrom($(elem).find('>*'), speed, { y: '100px', opacity: 0, ease: Back.easeInOut, delay: delay }, staggerOffset);\r\n break;\r\n case \"from-left-elements-lazy\":\r\n tween = TweenMax.staggerFrom($(elem).find('>*'), speed, { x: '-100px', opacity: 0, ease: ease, delay: delay }, staggerOffset);\r\n break;\r\n case \"from-left-elements-lazy-jerk\":\r\n tween = TweenMax.staggerFrom($(elem).find('>*'), speed, { x: '-100px', opacity: 0, ease: Back.easeInOut, delay: delay }, staggerOffset);\r\n break;\r\n case \"from-right-elements-lazy\":\r\n tween = TweenMax.staggerFrom($(elem).find('>*'), speed, { x: '100px', opacity: 0, ease: ease, delay: delay }, staggerOffset);\r\n break;\r\n case \"from-right-elements-lazy-jerk\":\r\n tween = TweenMax.staggerFrom($(elem).find('>*'), speed, { x: '100px', opacity: 0, ease: Back.easeInOut, delay: delay }, staggerOffset);\r\n break;\r\n case \"from-top-elements-lazy\":\r\n tween = TweenMax.staggerFrom($(elem).find('>*'), speed, { y: '-100px', opacity: 0, ease: ease, delay: delay }, staggerOffset);\r\n break;\r\n case \"from-bottom-items-lazy\":\r\n tween = TweenMax.staggerFrom($(elem).find('.animate-item'), speed, { y: '100px', opacity: 0, ease: ease, delay: delay }, staggerOffset);\r\n break;\r\n case \"from-bottom-items-lazy-jerk\":\r\n tween = TweenMax.staggerFrom($(elem).find('.animate-item'), speed, { y: '100px', opacity: 0, ease: Back.easeInOut, delay: delay }, staggerOffset);\r\n break;\r\n case \"from-left-items-lazy\":\r\n tween = TweenMax.staggerFrom($(elem).find('.animate-item'), speed, { x: '-100px', opacity: 0, ease: ease, delay: delay }, staggerOffset);\r\n break;\r\n case \"from-left-items-lazy-jerk\":\r\n tween = TweenMax.staggerFrom($(elem).find('.animate-item'), speed, { x: '-100px', opacity: 0, ease: Back.easeInOut, delay: delay }, staggerOffset);\r\n break;\r\n case \"draw-bank\":\r\n tween = new TimelineLite()\r\n .staggerFrom($(elem).find('.house>g>path'), speed, {\r\n y: 50,\r\n autoAlpha: 0\r\n },0.2)\r\n .staggerFrom($(elem).find('.house>g>g>path'), speed, {\r\n autoAlpha: 0\r\n },0.2)\r\n break;\r\n case \"animation-preset-a\":\r\n tween = new TimelineMax()\r\n tween.from(elem, 0.5, { autoAlpha: 0 })\r\n .add(PassportObj.animationPresetA(elem))\r\n break;\r\n case \"animation-preset-b\":\r\n tween = new TimelineMax()\r\n tween.from(elem, 0.5, { autoAlpha: 0 })\r\n .add(PassportObj.animationPresetB(elem))\r\n break;\r\n case \"wave-pattern-b\":\r\n tween = new TimelineMax()\r\n tween.staggerFrom($(elem).find('path'), 1, { autoAlpha: 0, ease: Back.easeOut }, 0.1)\r\n break;\r\n case \"info-animation-a\":\r\n tween = new TimelineMax()\r\n tween.from(elem, 1, { autoAlpha: 0 })\r\n .from($(elem).find('.icon-holder'), 1, { autoAlpha: 0, scale: 0.5 }, 0.2)\r\n .staggerFrom($(elem).find('.icon-holder path'), 1, { drawSVG: \"20% 20%\" }, 0.1, 0.5)\r\n .staggerFrom($(elem).find('ul>li'), 1, { y: 40, autoAlpha: 0 }, 0.1, 0.5)\r\n break;\r\n case \"info-animation-b\":\r\n tween = new TimelineMax()\r\n tween.from(elem, 1, { autoAlpha: 0 })\r\n .from($(elem).find('.icon-holder'), 1, { autoAlpha: 0, scale: 0.5 }, 0.2)\r\n .staggerFrom($(elem).find('.icon-holder path'), 1, { drawSVG: \"20% 20%\" }, 0.1, 0.5)\r\n .staggerFrom($(elem).find('.content-holder>*'), 1, { y: 40, autoAlpha: 0 }, 0.1, 0.5)\r\n break;\r\n case \"grade-selector\":\r\n let textTween = new TimelineMax(),\r\n textGradeGroup = $(elem).find('.text-grade-group > g'),\r\n textIterator = 0\r\n tween = new TimelineMax()\r\n tween.from(elem, 1.3, { autoAlpha: 0, y: 120 })\r\n .staggerFrom($(elem).find('.grade-triggers text'), 0.8, { autoAlpha: 0 }, 0.1, 0.2)\r\n .add(textTween, 0)\r\n .to($(elem).find('.grade-icon-wrapper'), 0.5, { width: 466 }, 2)\r\n .staggerFrom($(elem).find('.info-text> *'), 0.5, { y: 50, autoAlpha: 0 }, 0.1)\r\n\r\n textGradeGroup.each(function(key, value) {\r\n TweenLite.set(this, { y: -15, transformOrigin: 'center' })\r\n textTween.to(this, 0.2, { autoAlpha: 1, y: 0, transformOrigin: 'center', ease: Power0.easeNone }, 0 + textIterator)\r\n if (!$(this).hasClass('active')) {\r\n textTween.to(this, 0.2, { autoAlpha: 0, y: 15, transformOrigin: 'center', ease: Power0.easeNone })\r\n }\r\n textIterator += 0.3\r\n })\r\n break;\r\n case \"the-hero\":\r\n tween = new TimelineMax()\r\n tween.add(PassportObj.heroAnimation($(elem)))\r\n break;\r\n case \"the-partners\":\r\n tween = new TimelineMax()\r\n tween.add(PassportObj.partnersAnimation($(elem)))\r\n break;\r\n case \"the-phone\":\r\n tween = new TimelineMax()\r\n tween.from($(elem).find('.telephone-svg .main-outline>path:first-child'),2,{drawSVG:\"0% 0%\", autoAlpha:0})\r\n .from($(elem).find('.telephone-svg .main-outline>.end'),1,{drawSVG:\"0% 0%\", autoAlpha:0},0)\r\n .from($(elem).find('.telephone-svg .dial'),1.2,{rotation:-465, ease: Back.easeOut, transformOrigin:\"center center\", autoAlpha:0},0.2)\r\n break;\r\n case \"icon-article-reveal\":\r\n tween = new TimelineMax()\r\n tween.from($(elem).find('.icon-wrapper'),0.5,{\r\n autoAlpha: 0,\r\n scale: 0,\r\n ease: Back.easeOut\r\n })\r\n .from($(elem).find('.icon-wrapper .main-icon'),0.5,{\r\n autoAlpha: 0,\r\n y: 50,\r\n ease: Back.easeOut\r\n },0.3)\r\n .staggerFrom($(elem).find('.content > *'),0.5,{\r\n autoAlpha: 0,\r\n y: 50\r\n },0.1,0.5)\r\n break;\r\n case \"wave-rotate\":\r\n tween = new TimelineMax()\r\n tween.staggerFrom($(elem).find('.short-wave > path'),1,{\r\n rotation: 45,\r\n autoAlpha: 0,\r\n ease: Back.easeOut.config(1.8),\r\n transformOrigin: '0% 100%'\r\n },0.1)\r\n .from($(elem).find('.icon-center'),0.8,{autoAlpha: 0, scale: 0.5},0.5)\r\n break;\r\n case \"wave-rotate-b\":\r\n tween = new TimelineMax()\r\n tween.staggerFrom($(elem).find('.short-wave > path'),1,{\r\n rotation: 45,\r\n autoAlpha: 0,\r\n ease: Back.easeOut.config(1.8),\r\n transformOrigin: '0% 100%'\r\n },0.1)\r\n .from($(elem).find('.icon-center'),0.5,{autoAlpha: 0, scale: 0.5},0.2)\r\n break;\r\n case \"plus-group-animation\":\r\n tween = new TimelineMax()\r\n tween.staggerFromTo($(elem).find('.plus-wrapper>*, .icon-plus-group path'), 0.5, {\r\n y: 50,\r\n autoAlpha: 0,\r\n }, {\r\n y: 0,\r\n autoAlpha: 1,\r\n }, 0.1, 0.4)\r\n .staggerFromTo($(elem).find('.cog'), 1, {\r\n rotation: 0\r\n }, {\r\n rotation: 180,\r\n transformOrigin: \"50% 50%\",\r\n ease: Back.easeOut.config(1.7)\r\n }, 0.1, 0.2)\r\n break;\r\n default:\r\n tween = '';\r\n };\r\n\r\n new ScrollMagic.Scene({ triggerElement: triggerElem, triggerHook: hook, offset: offset, duration: duration, reverse: false })\r\n .setTween(tween)\r\n .addTo(controller);\r\n\r\n\r\n })\r\n }\r\n }\r\n\r\n PassportObj._init()\r\n window.CreditPassport = PassportObj\r\n\r\n})(jQuery)\r\n","(function($){\r\n\r\n\tlet defaultOptions = {\r\n\t\treverse: false,\r\n\t\thook: \"onCenter\"\r\n\t}\r\n\r\n\tconst MessageInfoAnim= function(ele,options){\r\n\t\tthis.settings = $.extend({},defaultOptions, options)\r\n\t\tthis.$container = $(ele)\r\n\t\tthis.$infoRows = this.$container.find('.info-graphics-row')\r\n\t\tthis.$line = this.$container.find('.line-wrapper')\r\n\t\tthis.scrollController = new ScrollMagic.Controller()\r\n\t}\r\n\r\n\tMessageInfoAnim.prototype = {\r\n\t\tinit() {\r\n\t\t\tTweenLite.set(this.$container,{autoAlpha: 1})\r\n\t\t\tfor(let i=0; i<=this.$infoRows.length; i++){\r\n\t\t\t\tthis.setScene(this.$infoRows[i], i)\r\n\r\n\t\t\t}\r\n\t\t\tthis.lineProgressScene()\r\n\t\t},\r\n\r\n\t\tsetScene(row, index){\r\n\t\t\tlet textContents = $(row).find('.text-wrapper>article>*'),\r\n\t\t\t\twaves = $(row).find('.short-wave>*'),\r\n\t\t\t\ticon = $(row).find('.wave-icon-wrapper>[class*=\"icon-\"]'),\r\n\t\t\t\ttween = new TimelineMax(),\r\n\t\t\t\twaveOrigin = \"50% 50%\",\r\n\t\t\t\twaveRotation = 45,\r\n\t\t\t\ttriggerHook = index === 0 ? \"onEnter\" : this.settings.hook\r\n\r\n\t\t\t\tif(index == 0){\r\n\t\t\t\t\twaveOrigin = \"0% 100%\"\r\n\t\t\t\t\twaveRotation = 45\r\n\t\t\t\t} else if(index == 1){\r\n\t\t\t\t\twaveOrigin = \"0% 100%\"\r\n\t\t\t\t\twaveRotation = 45\r\n\t\t\t\t} else if(index == 2) {\r\n\t\t\t\t\twaveOrigin = \"0% 100%\"\r\n\t\t\t\t\twaveRotation = 45\r\n\t\t\t\t}\r\n\r\n\t\t\t\ttween.staggerFrom(textContents, 0.5, {\r\n\t\t\t\t\ty: 50,\r\n\t\t\t\t\tautoAlpha: 0\r\n\t\t\t\t},0.1)\r\n\t\t\t\t.staggerFrom(waves,1,{\r\n\t\t\t\t\trotation: waveRotation,\r\n\t\t\t\t\tautoAlpha: 0,\r\n\t\t\t\t\tease: Back.easeOut.config(1.8),\r\n\t\t\t\t\ttransformOrigin: waveOrigin\r\n\t\t\t\t},0.1,0)\r\n\t\t\t\t.from(icon,0.5,{\r\n\t\t\t\t\tscale: 0.6,\r\n\t\t\t\t\tautoAlpha: 0\r\n\t\t\t\t},0.5)\r\n\r\n\r\n\t\t\tlet scene = new ScrollMagic.Scene({\r\n\t\t\t\ttriggerElement: row,\r\n\t\t\t\ttriggerHook: triggerHook,\r\n\t\t\t\treverse: this.settings.reverse,\r\n\t\t\t\toffset: 50,\r\n\t\t\t\tduration: 0\r\n\t\t\t})\r\n\t\t\t.setTween(tween)\r\n\t\t\t.addTo(this.scrollController);\r\n\t\t},\r\n\r\n\t\tlineProgressScene() {\r\n\t\t\tlet tween = new TimelineMax(),\r\n\t\t\tline = this.$line.find('svg mask > path'),\r\n\t\t\tlineOffset = 0\r\n\r\n\t\t\tif(window.innerWidth > 1024){\r\n\t\t\t\tlineOffset = 200\r\n\t\t\t} else {\r\n\t\t\t\tlineOffset = 200\r\n\t\t\t}\r\n\r\n\t\t\ttween.fromTo(line,1,{\r\n\t\t\t\tdrawSVG:\"0% 0%\"\r\n\t\t\t},{\r\n\t\t\t\tdrawSVG:\"0% 100%\"\r\n\t\t\t})\r\n\r\n\t\t\tlet scene = new ScrollMagic.Scene({\r\n\t\t\t\ttriggerElement: this.$container[0],\r\n\t\t\t\ttriggerHook: this.settings.hook,\r\n\t\t\t\treverse: this.settings.reverse,\r\n\t\t\t\toffset: lineOffset,\r\n\t\t\t\tduration: \"120%\"\r\n\t\t\t})\r\n\t\t\t.setTween(tween)\r\n\t\t\t.addTo(this.scrollController);\r\n\t\t}\r\n\t}\r\n\r\n\r\n\t$.fn.messageInfoAnimation = function(options) {\r\n\t\treturn new MessageInfoAnim(this,options)\r\n\t}\r\n\r\n\t$('.mission-infographics-canvas').messageInfoAnimation({\r\n\t\treverse: true\r\n\t}).init()\r\n\r\n})(jQuery)","(function($){\r\n\tlet defaultOptions={\r\n\t\thook: \"onEnter\",\r\n\t\thookOffset: 0,\r\n\t\treverse: false,\r\n\t\tlineDuration: \"200%\",\r\n\t\tcontentStaggerDuration: 0.8\r\n\t}\r\n\r\n\tconst MainTimeline = function(ele,options){\r\n\t\tthis.settings = $.extend({},defaultOptions, options)\r\n\t\tthis.$container = $(ele),\r\n\t\tthis.$line = this.$container.find('.timeline-line')\r\n\t\tthis.$timelineItems = this.$container.find('.timeline-item')\r\n\t\tthis.$navigationSectionBtn = this.$container.find('.navigate-section')\r\n\t\tthis.$scrollWrapper = this.$container.find('.timeline-scrollwrapper')\r\n\t\tthis.scrollDirectionYTemp = 0\r\n\t\tthis.scrollController = new ScrollMagic.Controller({container: this.$scrollWrapper[0]})\r\n\t\tthis.currentLineOffset = 0\r\n\t}\r\n\r\n\tMainTimeline.prototype = {\r\n\t\tinit() {\r\n\t\t\tTweenLite.to(this.$container,0.2,{autoAlpha: 1})\r\n\t\t\tfor(let i=0; i<=this.$timelineItems.length - 1; i++){\r\n\t\t\t\tthis.setScene(this.$timelineItems[i], i)\r\n\r\n\t\t\t}\r\n\r\n\t\t\t//this.navigateSectionScroll()\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t this.scrollBars()\t\r\n\t\t\t},1000)\r\n\t\t\t\r\n\t\t\t//this.lineScene()\r\n\t\t},\r\n\r\n\t\tsetScene(item, index){\r\n\t\t\tlet articleContents = $(item).find('.timeline-article > *'),\r\n\t\t\tdot = $(item).find('.timeline-dot'),\r\n\t\t\ttween = new TimelineMax(),\r\n\t\t\tcanvasHeight = this.$container.find('.timeline-list').outerHeight(),\r\n\t\t\tlineOffseting = 100/this.$timelineItems.length * (index + 1) < 100 ? 100/this.$timelineItems.length * (index + 1) : 100\r\n\r\n\t\t\t\r\n\t\t\t\r\n\t\t\ttween.staggerFrom(articleContents,this.settings.contentStaggerDuration,{\r\n\t\t\t\ty: 100,\r\n\t\t\t\tautoAlpha: 0,\r\n\t\t\t\tease: Power1.easeInOut\r\n\t\t\t}, 0.1,0.1)\r\n\t\t\t.to(dot,0.8, {\r\n\t\t\t\tautoAlpha: 1,\r\n\t\t\t\tscale: 1,\r\n\t\t\t\tease: Back.easeOut.config(3)\r\n\t\t\t},0)\r\n\r\n\t\t\tlet scene = new ScrollMagic.Scene({\r\n\t\t\t\ttriggerElement: item,\r\n\t\t\t\ttriggerHook: this.settings.hook,\r\n\t\t\t\toffset: this.settings.hookOffset,\r\n\t\t\t\treverse: this.settings.reverse,\r\n\t\t\t\tduration: 0\r\n\t\t\t})\r\n\t\t\t.setTween(tween)\r\n\t\t\t.addTo(this.scrollController);\r\n\r\n\t\t\tlet classToggleScene = new ScrollMagic.Scene({\r\n\t\t\t\ttriggerElement: item,\r\n\t\t\t\ttriggerHook: this.settings.hook,\r\n\t\t\t\treverse: true,\r\n\t\t\t\tduration: $(item).outerHeight()\r\n\t\t\t})\r\n\t\t\t.on('enter', (e) => {\r\n\r\n\t\t\t\tif(!this.settings.reverse){\r\n\t\t\t\t\tif(e.scrollDirection === \"FORWARD\"){\r\n\t\t\t\t\t\tif(this.currentLineOffset < lineOffseting) {\r\n\t\t\t\t\t\t\tthis.currentLineOffset = lineOffseting\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tTweenLite.to(this.$line, 1, {height: this.currentLineOffset + \"%\"})\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn\r\n\t\t\t\t}\r\n\t\t\t\tif(e.scrollDirection === \"REVERSE\" && $(e.currentTarget.triggerElement()).index() === 1){\r\n\t\t\t\t\tTweenLite.to(this.$line, 1, {height: \"0%\",overwrite: \"all\"})\r\n\t\t\t\t} else {\r\n\t\t\t\t\tTweenLite.to(this.$line, 1, {height: lineOffseting + \"%\"})\r\n\t\t\t\t}\r\n\t\t\t\tthis.currentLineOffset = lineOffseting\r\n\t\t\t\t\r\n\t\t\t})\r\n\t\t\t.setClassToggle(item,\"active\")\r\n\t\t\t.addTo(this.scrollController);\r\n\r\n\r\n\t\t},\r\n\r\n\t\tlineScene() {\r\n\t\t\tlet tween = TweenLite.to(this.$line,1,{height: \"100%\"})\r\n\r\n\t\t\tlet scene = new ScrollMagic.Scene({\r\n\t\t\t\ttriggerElement: this.$timelineItems[0],\r\n\t\t\t\ttriggerHook: this.settings.hook,\r\n\t\t\t\toffset: this.settings.hookOffset,\r\n\t\t\t\treverse: this.settings.reverse,\r\n\t\t\t\tduration: this.$container.innerHeight() + 200\r\n\t\t\t})\r\n\t\t\t.setTween(tween)\r\n\t\t\t.addTo(this.scrollController);\r\n\t\t},\r\n\r\n\t\tnavigateSectionScroll() {\r\n\t\t\tlet scene = new ScrollMagic.Scene({\r\n\t\t\t\ttriggerElement: this.$container[0],\r\n\t\t\t\ttriggerHook: \"onLeave\",\r\n\t\t\t\tduration: this.$container.innerHeight() - 1000,\r\n\t\t\t})\r\n\t\t\t//.setPin(this.$navigationSectionBtn[0])\r\n\t\t\t.setClassToggle(this.$navigationSectionBtn[0],'fixed')\r\n\t\t\t.addTo(this.scrollController);\r\n\r\n\t\t\tthis.$navigationSectionBtn.on('click', () => {\r\n\t\t\t\t$('html, body').animate({scrollTop: this.$container.offset().top + this.$container.innerHeight() - 200},'slow')\r\n\t\t\t})\r\n\r\n\t\t},\r\n\r\n\t\tscrollBars() {\r\n\t\t\tlet scrollWrapper = this.$scrollWrapper\r\n\t\t\tscrollWrapper.addClass('reached-top')\r\n\t\t\tthis.$scrollWrapper.niceScroll({\r\n\t cursorcolor: \"transparent\",\r\n\t cursorwidth: \"12px\",\r\n\t cursorborder: \"0px solid #000\",\r\n\t scrollspeed: 100,\r\n\t autohidemode: false,\r\n\t hidecursordelay: 1000,\r\n\t background: 'transparent',\r\n\t cursorfixedheight: false,\r\n\t cursorminheight: 20,\r\n\t enablekeyboard: true,\r\n\t horizrailenabled: true,\r\n\t bouncescroll: true,\r\n\t smoothscroll: true,\r\n\t iframeautoresize: true,\r\n\t touchbehavior: true,\r\n\t zindex: 'auto'\r\n\t })\r\n\r\n\t\t scrollWrapper.bind(\"scroll\", () => {\r\n\t \tthis.scrollUpdates(scrollWrapper.getNiceScroll()[0].getScrollTop())\r\n\t })\r\n\t\t},\r\n\r\n\t\tscrollUpdates(scrollTop) {\r\n\t\t\tlet scrollWrapper = this.$scrollWrapper\r\n\t\t\tif(this.scrollDirectionYTemp < scrollTop){\r\n\t\t\t \tscrollWrapper.addClass('scrolling-down')\r\n\t\t\t \tscrollWrapper.removeClass('scrolling-up')\r\n\t\t\t } else {\r\n\t\t\t \tscrollWrapper.removeClass('scrolling-down')\r\n\t\t\t \tscrollWrapper.addClass('scrolling-up')\r\n\t\t\t }\r\n\r\n\t\t\t \r\n\t\t\t this.scrollDirectionYTemp = scrollTop\r\n\r\n\r\n\t\t\t if(scrollTop >= scrollWrapper.getNiceScroll()[0].getContentSize().h - scrollWrapper.innerHeight() - 100) {\r\n\t\t\t \tscrollWrapper.addClass('reached-bottom')\r\n\t\t\t } else {\r\n\t\t\t \tscrollWrapper.removeClass('reached-bottom')\r\n\t\t\t }\r\n\r\n\t\t\t if(scrollTop >= 200){\r\n\t\t\t \tscrollWrapper.removeClass('reached-top')\r\n\t\t\t } else {\r\n\t\t\t \tscrollWrapper.addClass('reached-top')\r\n\t\t\t }\r\n\t\t}\r\n\t}\r\n\r\n\t\r\n\r\n\t$.fn.TimelineInfo = function(options) {\r\n\t\treturn new MainTimeline(this, options)\r\n\t}\r\n \r\n if($('.timeline-canvas').length){\r\n \t$('.timeline-canvas').TimelineInfo({\r\n\t\t\treverse: true\r\n\t\t}).init()\r\n }\r\n\t\r\n})(jQuery)","export const VideoController = (function () {\r\n\r\n class Video {\r\n constructor(container) {\r\n this.container = container\r\n this.videoType = this.container.dataset.type || null\r\n this.videoID = this.container.dataset.videoId || null\r\n this.videoPlayer = this.container.querySelector(`.video-canvas__player`)\r\n this.playButton = this.container.querySelector(`.video-canvas__controls-play`)\r\n this.player = null\r\n this.playing = false\r\n this.playerReady = false\r\n this.done = false\r\n this.scrollController= null\r\n\r\n this._init()\r\n }\r\n\r\n _init() {\r\n if (this.videoType && this.videoType !== 'native') this.callRespectiveApi()\r\n this.createScrollHook()\r\n this._addListeners()\r\n }\r\n\r\n callRespectiveApi() {\r\n switch (this.videoType) {\r\n case 'yt':\r\n this.callYtApi()\r\n break\r\n }\r\n }\r\n\r\n // APIS\r\n // You tube\r\n async callYtApi() {\r\n const target = await this.createPlayer()\r\n this.playerReady = true\r\n this.updateHTML()\r\n }\r\n\r\n createPlayer() {\r\n return new Promise((resolve, reject) => {\r\n this.player = new YT.Player(this.videoPlayer, {\r\n height: '100%',\r\n width: '100%',\r\n videoId: `${this.videoID}`,\r\n playerVars: {\r\n 'playsinline': 1,\r\n // 'autoplay': 0,\r\n 'controls': 0,\r\n 'autohide': 1,\r\n // 'wmode': 'opaque',\r\n },\r\n events: {\r\n 'onReady': (e) => {\r\n resolve(e.target)\r\n this.onPlayerReady(e)\r\n },\r\n 'onStateChange': (e) => this.onPlayerStateChange(e)\r\n },\r\n \r\n })\r\n })\r\n \r\n }\r\n\r\n\r\n\r\n // Generic methods\r\n onPlayerReady(e) {\r\n //console.log(e.target.playVideo())\r\n }\r\n\r\n onPlayerStateChange(e) {\r\n this.playing = (this.player.getPlayerState() === 1) ? true : false\r\n this.updateHTML();\r\n }\r\n\r\n // callbacks\r\n _playVideo() {\r\n this.player.playVideo()\r\n }\r\n _pauseVideo() {\r\n this.player.pauseVideo()\r\n }\r\n _stopVideo() {\r\n this.player.stopVideo()\r\n }\r\n \r\n\r\n // Updates\r\n updateHTML() {\r\n this.playing ? this.container.classList.add('video-canvas--playing') : this.container.classList.remove('video-canvas--playing')\r\n this.playerReady ? this.container.classList.add('video-canvas--player-ready') : this.container.classList.remove('video-canvas--player-ready')\r\n }\r\n\r\n // Scrollhooks\r\n createScrollHook() {\r\n if(!this.scrollController) this.scrollController = new ScrollMagic.Controller()\r\n new ScrollMagic.Scene({ triggerElement: this.container, \r\n triggerHook: 'onEnter', \r\n offset: 100,\r\n duration: () => window.innerHeight, \r\n reverse: true \r\n })\r\n .on('leave', () => this.playing && this._pauseVideo())\r\n .addTo(this.scrollController);\r\n }\r\n\r\n // Addlisteners\r\n _addListeners() {\r\n this.playButton.addEventListener(\"click\", (e) => {\r\n e.preventDefault()\r\n this.playing ? this._pauseVideo(e) : this._playVideo(e)\r\n })\r\n }\r\n }\r\n\r\n function loadYtScript() {\r\n const scriptTag = document.getElementById('youtube-api') || document.createElement('script')\r\n scriptTag.setAttribute('id', 'youtube-api')\r\n scriptTag.src = \"https://www.youtube.com/iframe_api\"\r\n\r\n document.body.append(scriptTag)\r\n }\r\n\r\n return {\r\n Video,\r\n loadYtScript\r\n }\r\n\r\n})()\r\n\r\nexport default VideoController","import {VideoController} from './Video'\r\n\r\n(function(){\r\n 'use-strict'\r\n const allVideoCanvas = document.querySelectorAll('.video-canvas')\r\n if(allVideoCanvas.length) {\r\n VideoController.loadYtScript()\r\n window.onYouTubeIframeAPIReady = () => allVideoCanvas.forEach((canvas) => new VideoController.Video(canvas))\r\n }\r\n \r\n})()"]}