From 582e08df4e0ca3a5bd938f6d62840742944d7d48 Mon Sep 17 00:00:00 2001 From: Albino Tonnina Date: Fri, 1 Mar 2019 16:20:53 +0000 Subject: [PATCH] some updates, damn, this code is old. --- build/bundle.js | 6 +- build/bundle.js.map | 2 +- .../.cache | 2 +- build/index.html | 364 +- package.json | 40 +- yarn.lock | 9432 +++++++++++++++++ 6 files changed, 9639 insertions(+), 207 deletions(-) create mode 100644 yarn.lock diff --git a/build/bundle.js b/build/bundle.js index 38542a5..f45eb22 100644 --- a/build/bundle.js +++ b/build/bundle.js @@ -222,13 +222,13 @@ module.exports = { * execution of handlers on events like resize and scroll. * * @param {Number} delay A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful. - * @param {Boolean} noTrailing Optional, defaults to false. If noTrailing is true, callback will only execute every `delay` milliseconds while the + * @param {Boolean} [noTrailing] Optional, defaults to false. If noTrailing is true, callback will only execute every `delay` milliseconds while the * throttled-function is being called. If noTrailing is false or unspecified, callback will be executed one final time * after the last throttled-function call. (After the throttled-function has not been called for `delay` milliseconds, * the internal counter is reset) * @param {Function} callback A function to be executed after delay milliseconds. The `this` context and all arguments are passed through, as-is, * to `callback` when the throttled-function is executed. - * @param {Boolean} debounceMode If `debounceMode` is true (at begin), schedule `clear` to execute after `delay` ms. If `debounceMode` is false (at end), + * @param {Boolean} [debounceMode] If `debounceMode` is true (at begin), schedule `clear` to execute after `delay` ms. If `debounceMode` is false (at end), * schedule `callback` to execute after `delay` ms. * * @return {Function} A new, throttled, function. @@ -1243,7 +1243,7 @@ var throttle = __webpack_require__(5); * very beginning of a series of calls, or at the very end. * * @param {Number} delay A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful. - * @param {Boolean} atBegin Optional, defaults to false. If atBegin is false or unspecified, callback will only be executed `delay` milliseconds + * @param {Boolean} [atBegin] Optional, defaults to false. If atBegin is false or unspecified, callback will only be executed `delay` milliseconds * after the last debounced-function call. If atBegin is true, callback will be executed only at the first debounced-function call. * (After the throttled-function has not been called for `delay` milliseconds, the internal counter is reset). * @param {Function} callback A function to be executed after delay milliseconds. The `this` context and all arguments are passed through, as-is, diff --git a/build/bundle.js.map b/build/bundle.js.map index 9696660..ab7cd5d 100644 --- a/build/bundle.js.map +++ b/build/bundle.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap ce56db52223e2a0778f0","webpack:///./src/scripts/utilities.js","webpack:///./src/svg/scene6/images/colleagues.png","webpack:///./node_modules/animejs/anime.min.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/throttle-debounce/index.js","webpack:///./node_modules/throttle-debounce/throttle.js","webpack:///./src/index.js","webpack:///./node_modules/webfontloader/webfontloader.js","webpack:///./src/scripts/Site.js","webpack:///./src/svg/menu/animation.js","webpack:///./src/svg/menu/scene.svg","webpack:///./src/svg/menu/scene.html","webpack:///./src/svg/scene1/animation.js","webpack:///./src/svg/scene1/scene.svg","webpack:///./src/svg/scene1/scene.html","webpack:///./src/svg/scene2/animation.js","webpack:///./src/svg/scene2/scene.svg","webpack:///./src/svg/scene2/scene.html","webpack:///./src/svg/scene3/animation.js","webpack:///./src/svg/scene3/scene.svg","webpack:///./src/svg/scene3/scene.html","webpack:///./src/svg/scene4/animation.js","webpack:///./src/svg/scene4/scene.svg","webpack:///./src/svg/scene4/scene.html","webpack:///./src/svg/scene5/animation.js","webpack:///./src/svg/scene5/scene.svg","webpack:///./src/svg/scene5/scene.html","webpack:///./src/svg/scene6/animation.js","webpack:///./src/svg/scene6/scene.svg","webpack:///./src/svg/scene6/scene.html","webpack:///./src/svg/scene6/images/jonathan_snook.jpg","webpack:///./src/svg/scene6/images/jonathan_snook.png","webpack:///./src/svg/scene6/images/vitaly_friedman.jpg","webpack:///./src/svg/scene6/images/vitaly_friedman.png","webpack:///./src/svg/scene6/images/addy_osmani.jpg","webpack:///./src/svg/scene6/images/addy_osmani.png","webpack:///./src/svg/scene6/images/douglas_crockford.jpg","webpack:///./src/svg/scene6/images/douglas_crockford.png","webpack:///./src/svg/scene6/images/colleagues1.jpg","webpack:///./src/svg/scene6/images/colleagues2.jpg","webpack:///./src/svg/scene6/images/colleagues3.jpg","webpack:///./src/svg/scene6/keywords.js","webpack:///./node_modules/knuth-shuffle/index.js","webpack:///./node_modules/throttle-debounce/debounce.js","webpack:///./src/libs/skrollr.scripts.js","webpack:///./node_modules/skrollr/dist/skrollr.min.js","webpack:///./src/libs/skrollr.menu.js","webpack:///./src/libs/skrollr.stylesheets.js","webpack:///./src/scripts/timing.js","webpack:///./src/styles/main.scss","webpack:///./src/svg/animation.scss"],"names":["waitForWebfonts","fonts","callback","WebFont","load","google","families","active","setAttributes","el","attrs","key","setAttribute","isMobile","test","navigator","userAgent","createElementWithAttrs","tagName","document","createElement","shouldFallbackToBoringCV","maxHeight","window","innerWidth","innerHeight","onBeforePrint","matchMedia","addListener","media","matches","onbeforeprint","onLoad","site","initDivertissement","onload","skrollr","skrollrscripts","scenes","scene1","scene2","scene3","scene5","scene4","scene6","defaults","mobileDeceleration","smoothScrollingDuration","smoothScrolling","timing","_initEvents","_addEventToReopenBtn","_buildDOMElements","_initScenes","_hideLoader","querySelector","addEventListener","ev","preventDefault","show","onresize","debounce","bind","utils","destroy","clientHeight","documentElement","forEach","call","querySelectorAll","scene","width","height","style","siteRoot","role","nav","id","appendChild","body","name","init","menu","resizeScenes","render","data","beforerender","get","Object","assign","getSkrollrConfiguration","stylesheets","animate","easing","scale","duration","currentTop","targetTop","Math","abs","refresh","initSkrollr","removeAttribute","scroll","innerHTML","lightlast","lastKeyPercentage","minY","maxY","isOnscreen","open","activateCvLink","sceneTiming","scrolledPercentage","getScrolledPercentage","curTop","begin","end","toFixed","renderMbpLight","keyFreqPercentage","floor","random","shouldExecute","display","anime","targets","opacity","delay","iskey","keyfreq","lightfreq","islight","mousefreq","ismouse","mouselast","newq","addVideoPlayer","getPhoneDimensionsInAHackyWayCauseFirefoxDoesNotWork","rectt","newrect","cloneNode","svg","videoPlayerDiv","videoPlayerIframe","src","frameborder","allowfullscreen","rect","getBoundingClientRect","left","top","direction","keys1","keys2","keys3","randomKey1","length","randomKey2","randomKey3","fill","skillShape","pos","points","repeat","me","newskills","knuthShuffle","keywordArray","slice","initClickEvents","skills","animateMe","resizeSkills","throttle","renderSkillWords","renderSkills","renderMe","animateSkills","animationNum","translateY","loop","gen","minX","maxX","i","word","pop","fontSize","wordTag","class","skrollrstylesheets","skrollrmenu","module","exports","DEFAULT_DURATION","DEFAULT_EASING","DEFAULT_SCALE","MENU_OFFSET_ATTR","history","supportsHistory","pushState","findParentLink","element","parentNode","handleClick","e","which","button","link","target","handleLink","fake","patt","RegExp","isMenu","menuTop","scenetoLoad","replace","href","_handleLink","_scenes","menuoffset","_scale","scrollTarget","getElementById","substr","_skrollrInstance","relativeToAbsolute","menuOffset","getAttribute","_animate","animateTo","_duration","getScrollTop","_easing","defer","setScrollTop","jumpStraightToHash","location","hash","fn","setTimeout","skrollrInstance","options","addEvent","state","scrollTo","content","contents","rxAnimation","rxKeyframes","rxSingleKeyframe","keyframeNameOptionalPrefix","rxAnimationUsage","rxAttributeSetter","fetchRemote","url","xhr","XMLHttpRequest","send","XDomainRequest","responseText","kickstart","stylesheetIndex","sheet","textContent","innerText","push","reverse","animations","selectors","attributes","contentIndex","parseAnimationDeclarations","parseAnimationUsage","parseAttributeSetters","applyKeyframeAttributes","applyAttributeSetters","input","output","lastIndex","animation","rawKeyframes","keyframe","curAnimation","exec","extractSelector","startIndex","charAt","substring","match","selector","elements","keyframes","keyframeName","cleanKeyframeName","elementIndex","attributeName","attributeValue","curElement","selectorIndex","indexOf","hasAttribute","curSelector","sceneTimes","offset"],"mappings":"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","file":"bundle.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 6);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap ce56db52223e2a0778f0","import WebFont from 'webfontloader'\n\nexport const waitForWebfonts = function (fonts, callback) {\n WebFont.load({\n google: {\n families: fonts\n },\n active: callback\n })\n}\n\nexport const setAttributes = (el, attrs) => {\n for (let key in attrs) {\n el.setAttribute(key, attrs[key])\n }\n}\n\nexport const isMobile = function () {\n return (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent))\n}\n\nexport const createElementWithAttrs = (tagName, attrs) => {\n const el = document.createElement(tagName)\n setAttributes(el, attrs)\n return el\n}\n\nexport const shouldFallbackToBoringCV = () => {\n const maxHeight = 768 / 1024 * window.innerWidth\n return window.innerHeight > maxHeight\n}\n\nexport const onBeforePrint = (callback) => {\n if ('matchMedia' in window) {\n // Chrome, Firefox, and IE 10 support mediaMatch listeners\n window.matchMedia('print').addListener((media) => {\n if (media.matches) {\n callback()\n }\n })\n } else {\n // IE and Firefox fire before/after events\n window.onbeforeprint = callback\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/scripts/utilities.js","module.exports = __webpack_public_path__ + \"d66b2db7584fb99ed7a76848f8a217f7.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/svg/scene6/images/colleagues.png\n// module id = 1\n// module chunks = 0","/*\n 2017 Julian Garnier\n Released under the MIT license\n*/\nvar $jscomp={scope:{}};$jscomp.defineProperty=\"function\"==typeof Object.defineProperties?Object.defineProperty:function(e,r,p){if(p.get||p.set)throw new TypeError(\"ES3 does not support getters and setters.\");e!=Array.prototype&&e!=Object.prototype&&(e[r]=p.value)};$jscomp.getGlobal=function(e){return\"undefined\"!=typeof window&&window===e?e:\"undefined\"!=typeof global&&null!=global?global:e};$jscomp.global=$jscomp.getGlobal(this);$jscomp.SYMBOL_PREFIX=\"jscomp_symbol_\";\n$jscomp.initSymbol=function(){$jscomp.initSymbol=function(){};$jscomp.global.Symbol||($jscomp.global.Symbol=$jscomp.Symbol)};$jscomp.symbolCounter_=0;$jscomp.Symbol=function(e){return $jscomp.SYMBOL_PREFIX+(e||\"\")+$jscomp.symbolCounter_++};\n$jscomp.initSymbolIterator=function(){$jscomp.initSymbol();var e=$jscomp.global.Symbol.iterator;e||(e=$jscomp.global.Symbol.iterator=$jscomp.global.Symbol(\"iterator\"));\"function\"!=typeof Array.prototype[e]&&$jscomp.defineProperty(Array.prototype,e,{configurable:!0,writable:!0,value:function(){return $jscomp.arrayIterator(this)}});$jscomp.initSymbolIterator=function(){}};$jscomp.arrayIterator=function(e){var r=0;return $jscomp.iteratorPrototype(function(){return rb&&(b+=1);1b?c:b<2/3?a+(c-a)*(2/3-b)*6:a}var d=/hsl\\((\\d+),\\s*([\\d.]+)%,\\s*([\\d.]+)%\\)/g.exec(a)||/hsla\\((\\d+),\\s*([\\d.]+)%,\\s*([\\d.]+)%,\\s*([\\d.]+)\\)/g.exec(a);a=parseInt(d[1])/360;var b=parseInt(d[2])/100,f=parseInt(d[3])/100,d=d[4]||1;if(0==b)f=b=a=f;else{var n=.5>f?f*(1+b):f+b-f*b,k=2*f-n,f=c(k,n,a+1/3),b=c(k,n,a);a=c(k,n,a-1/3)}return\"rgba(\"+\n255*f+\",\"+255*b+\",\"+255*a+\",\"+d+\")\"}function y(a){if(a=/([\\+\\-]?[0-9#\\.]+)(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(a))return a[2]}function V(a){if(-1=g.currentTime)for(var G=0;G=w||!k)g.began||(g.began=!0,f(\"begin\")),f(\"run\");if(q>n&&q=k&&r!==k||!k)b(k),x||e();f(\"update\");a>=k&&(g.remaining?(t=h,\"alternate\"===g.direction&&(g.reversed=!g.reversed)):(g.pause(),g.completed||(g.completed=!0,f(\"complete\"),\"Promise\"in window&&(p(),m=c()))),l=0)}a=void 0===a?{}:a;var h,t,l=0,p=null,m=c(),g=fa(a);g.reset=function(){var a=g.direction,c=g.loop;g.currentTime=\n0;g.progress=0;g.paused=!0;g.began=!1;g.completed=!1;g.reversed=\"reverse\"===a;g.remaining=\"alternate\"===a&&1===c?2:c;b(0);for(a=g.children.length;a--;)g.children[a].reset()};g.tick=function(a){h=a;t||(t=h);k((l+h-t)*q.speed)};g.seek=function(a){k(d(a))};g.pause=function(){var a=v.indexOf(g);-1=c&&0<=b&&1>=b){var e=new Float32Array(11);if(c!==d||b!==f)for(var k=0;11>k;++k)e[k]=a(.1*k,c,b);return function(k){if(c===d&&b===f)return k;if(0===k)return 0;if(1===k)return 1;for(var h=0,l=1;10!==l&&e[l]<=k;++l)h+=.1;--l;var l=h+(k-e[l])/(e[l+1]-e[l])*.1,n=3*(1-3*b+3*c)*l*l+2*(3*b-6*c)*l+3*c;if(.001<=n){for(h=0;4>h;++h){n=3*(1-3*b+3*c)*l*l+2*(3*b-6*c)*l+3*c;if(0===n)break;var m=a(l,c,b)-k,l=l-m/n}k=l}else if(0===\nn)k=l;else{var l=h,h=h+.1,g=0;do m=l+(h-l)/2,n=a(m,c,b)-k,0++g);k=m}return a(k,d,f)}}}}(),Q=function(){function a(a,b){return 0===a||1===a?a:-Math.pow(2,10*(a-1))*Math.sin(2*(a-1-b/(2*Math.PI)*Math.asin(1))*Math.PI/b)}var c=\"Quad Cubic Quart Quint Sine Expo Circ Back Elastic\".split(\" \"),d={In:[[.55,.085,.68,.53],[.55,.055,.675,.19],[.895,.03,.685,.22],[.755,.05,.855,.06],[.47,0,.745,.715],[.95,.05,.795,.035],[.6,.04,.98,.335],[.6,-.28,.735,.045],a],Out:[[.25,\n.46,.45,.94],[.215,.61,.355,1],[.165,.84,.44,1],[.23,1,.32,1],[.39,.575,.565,1],[.19,1,.22,1],[.075,.82,.165,1],[.175,.885,.32,1.275],function(b,c){return 1-a(1-b,c)}],InOut:[[.455,.03,.515,.955],[.645,.045,.355,1],[.77,0,.175,1],[.86,0,.07,1],[.445,.05,.55,.95],[1,0,0,1],[.785,.135,.15,.86],[.68,-.55,.265,1.55],function(b,c){return.5>b?a(2*b,c)/2:1-a(-2*b+2,c)/2}]},b={linear:A(.25,.25,.75,.75)},f={},e;for(e in d)f.type=e,d[f.type].forEach(function(a){return function(d,f){b[\"ease\"+a.type+c[f]]=h.fnc(d)?\nd:A.apply($jscomp$this,d)}}(f)),f={type:f.type};return b}(),ha={css:function(a,c,d){return a.style[c]=d},attribute:function(a,c,d){return a.setAttribute(c,d)},object:function(a,c,d){return a[c]=d},transform:function(a,c,d,b,f){b[f]||(b[f]=[]);b[f].push(c+\"(\"+d+\")\")}},v=[],B=0,ia=function(){function a(){B=requestAnimationFrame(c)}function c(c){var b=v.length;if(b){for(var d=0;db&&(c.duration=d.duration);c.children.push(d)});c.seek(0);c.reset();c.autoplay&&c.restart();return c};return c};q.random=function(a,c){return Math.floor(Math.random()*(c-a+1))+a};return q});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/animejs/anime.min.js\n// module id = 2\n// module chunks = 0","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/global.js\n// module id = 3\n// module chunks = 0","var throttle = require('./throttle');\nvar debounce = require('./debounce');\n\nmodule.exports = {\n\tthrottle: throttle,\n\tdebounce: debounce\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/throttle-debounce/index.js\n// module id = 4\n// module chunks = 0","/* eslint-disable no-undefined,no-param-reassign,no-shadow */\n\n/**\n * Throttle execution of a function. Especially useful for rate limiting\n * execution of handlers on events like resize and scroll.\n *\n * @param {Number} delay A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful.\n * @param {Boolean} noTrailing Optional, defaults to false. If noTrailing is true, callback will only execute every `delay` milliseconds while the\n * throttled-function is being called. If noTrailing is false or unspecified, callback will be executed one final time\n * after the last throttled-function call. (After the throttled-function has not been called for `delay` milliseconds,\n * the internal counter is reset)\n * @param {Function} callback A function to be executed after delay milliseconds. The `this` context and all arguments are passed through, as-is,\n * to `callback` when the throttled-function is executed.\n * @param {Boolean} debounceMode If `debounceMode` is true (at begin), schedule `clear` to execute after `delay` ms. If `debounceMode` is false (at end),\n * schedule `callback` to execute after `delay` ms.\n *\n * @return {Function} A new, throttled, function.\n */\nmodule.exports = function ( delay, noTrailing, callback, debounceMode ) {\n\n\t// After wrapper has stopped being called, this timeout ensures that\n\t// `callback` is executed at the proper times in `throttle` and `end`\n\t// debounce modes.\n\tvar timeoutID;\n\n\t// Keep track of the last time `callback` was executed.\n\tvar lastExec = 0;\n\n\t// `noTrailing` defaults to falsy.\n\tif ( typeof noTrailing !== 'boolean' ) {\n\t\tdebounceMode = callback;\n\t\tcallback = noTrailing;\n\t\tnoTrailing = undefined;\n\t}\n\n\t// The `wrapper` function encapsulates all of the throttling / debouncing\n\t// functionality and when executed will limit the rate at which `callback`\n\t// is executed.\n\tfunction wrapper () {\n\n\t\tvar self = this;\n\t\tvar elapsed = Number(new Date()) - lastExec;\n\t\tvar args = arguments;\n\n\t\t// Execute `callback` and update the `lastExec` timestamp.\n\t\tfunction exec () {\n\t\t\tlastExec = Number(new Date());\n\t\t\tcallback.apply(self, args);\n\t\t}\n\n\t\t// If `debounceMode` is true (at begin) this is used to clear the flag\n\t\t// to allow future `callback` executions.\n\t\tfunction clear () {\n\t\t\ttimeoutID = undefined;\n\t\t}\n\n\t\tif ( debounceMode && !timeoutID ) {\n\t\t\t// Since `wrapper` is being called for the first time and\n\t\t\t// `debounceMode` is true (at begin), execute `callback`.\n\t\t\texec();\n\t\t}\n\n\t\t// Clear any existing timeout.\n\t\tif ( timeoutID ) {\n\t\t\tclearTimeout(timeoutID);\n\t\t}\n\n\t\tif ( debounceMode === undefined && elapsed > delay ) {\n\t\t\t// In throttle mode, if `delay` time has been exceeded, execute\n\t\t\t// `callback`.\n\t\t\texec();\n\n\t\t} else if ( noTrailing !== true ) {\n\t\t\t// In trailing throttle mode, since `delay` time has not been\n\t\t\t// exceeded, schedule `callback` to execute `delay` ms after most\n\t\t\t// recent execution.\n\t\t\t//\n\t\t\t// If `debounceMode` is true (at begin), schedule `clear` to execute\n\t\t\t// after `delay` ms.\n\t\t\t//\n\t\t\t// If `debounceMode` is false (at end), schedule `callback` to\n\t\t\t// execute after `delay` ms.\n\t\t\ttimeoutID = setTimeout(debounceMode ? clear : exec, debounceMode === undefined ? delay - elapsed : delay);\n\t\t}\n\n\t}\n\n\t// Return the wrapper function.\n\treturn wrapper;\n\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/throttle-debounce/throttle.js\n// module id = 5\n// module chunks = 0","import {waitForWebfonts} from './scripts/utilities'\nimport Site from './scripts/Site'\n\nconst onLoad = () => {\n const site = new Site()\n site.initDivertissement()\n}\n\nwindow.onload = waitForWebfonts(['Roboto:400,100,300,700,900'], onLoad)\n\n\n\n// WEBPACK FOOTER //\n// ./src/index.js","/* Web Font Loader v1.6.28 - (c) Adobe Systems, Google. License: Apache 2.0 */(function(){function aa(a,b,c){return a.call.apply(a.bind,arguments)}function ba(a,b,c){if(!a)throw Error();if(2=b.f?e():a.fonts.load(fa(b.a),b.h).then(function(a){1<=a.length?d():setTimeout(f,25)},function(){e()})}f()}),e=null,f=new Promise(function(a,d){e=setTimeout(d,b.f)});Promise.race([f,d]).then(function(){e&&(clearTimeout(e),e=null);b.g(b.a)},function(){b.j(b.a)})};function Q(a,b,c,d,e,f,g){this.v=a;this.B=b;this.c=c;this.a=d;this.s=g||\"BESbswy\";this.f={};this.w=e||3E3;this.u=f||null;this.m=this.j=this.h=this.g=null;this.g=new M(this.c,this.s);this.h=new M(this.c,this.s);this.j=new M(this.c,this.s);this.m=new M(this.c,this.s);a=new G(this.a.c+\",serif\",J(this.a));a=O(a);this.g.a.style.cssText=a;a=new G(this.a.c+\",sans-serif\",J(this.a));a=O(a);this.h.a.style.cssText=a;a=new G(\"serif\",J(this.a));a=O(a);this.j.a.style.cssText=a;a=new G(\"sans-serif\",J(this.a));a=\nO(a);this.m.a.style.cssText=a;N(this.g);N(this.h);N(this.j);N(this.m)}var R={D:\"serif\",C:\"sans-serif\"},S=null;function T(){if(null===S){var a=/AppleWebKit\\/([0-9]+)(?:\\.([0-9]+))/.exec(window.navigator.userAgent);S=!!a&&(536>parseInt(a[1],10)||536===parseInt(a[1],10)&&11>=parseInt(a[2],10))}return S}Q.prototype.start=function(){this.f.serif=this.j.a.offsetWidth;this.f[\"sans-serif\"]=this.m.a.offsetWidth;this.A=q();U(this)};\nfunction la(a,b,c){for(var d in R)if(R.hasOwnProperty(d)&&b===a.f[R[d]]&&c===a.f[R[d]])return!0;return!1}function U(a){var b=a.g.a.offsetWidth,c=a.h.a.offsetWidth,d;(d=b===a.f.serif&&c===a.f[\"sans-serif\"])||(d=T()&&la(a,b,c));d?q()-a.A>=a.w?T()&&la(a,b,c)&&(null===a.u||a.u.hasOwnProperty(a.a.c))?V(a,a.v):V(a,a.B):ma(a):V(a,a.v)}function ma(a){setTimeout(p(function(){U(this)},a),50)}function V(a,b){setTimeout(p(function(){v(this.g.a);v(this.h.a);v(this.j.a);v(this.m.a);b(this.a)},a),0)};function W(a,b,c){this.c=a;this.a=b;this.f=0;this.m=this.j=!1;this.s=c}var X=null;W.prototype.g=function(a){var b=this.a;b.g&&w(b.f,[b.a.c(\"wf\",a.c,J(a).toString(),\"active\")],[b.a.c(\"wf\",a.c,J(a).toString(),\"loading\"),b.a.c(\"wf\",a.c,J(a).toString(),\"inactive\")]);K(b,\"fontactive\",a);this.m=!0;na(this)};\nW.prototype.h=function(a){var b=this.a;if(b.g){var c=y(b.f,b.a.c(\"wf\",a.c,J(a).toString(),\"active\")),d=[],e=[b.a.c(\"wf\",a.c,J(a).toString(),\"loading\")];c||d.push(b.a.c(\"wf\",a.c,J(a).toString(),\"inactive\"));w(b.f,d,e)}K(b,\"fontinactive\",a);na(this)};function na(a){0==--a.f&&a.j&&(a.m?(a=a.a,a.g&&w(a.f,[a.a.c(\"wf\",\"active\")],[a.a.c(\"wf\",\"loading\"),a.a.c(\"wf\",\"inactive\")]),K(a,\"active\")):L(a.a))};function oa(a){this.j=a;this.a=new ja;this.h=0;this.f=this.g=!0}oa.prototype.load=function(a){this.c=new ca(this.j,a.context||this.j);this.g=!1!==a.events;this.f=!1!==a.classes;pa(this,new ha(this.c,a),a)};\nfunction qa(a,b,c,d,e){var f=0==--a.h;(a.f||a.g)&&setTimeout(function(){var a=e||null,m=d||null||{};if(0===c.length&&f)L(b.a);else{b.f+=c.length;f&&(b.j=f);var h,l=[];for(h=0;h {\n ev.preventDefault()\n this.show()\n })\n }\n }\n\n _initEvents () {\n window.onresize = debounce(100, false, this.initDivertissement.bind(this))\n utils.onBeforePrint(this.destroy.bind(this))\n }\n\n _hideLoader () {\n document.querySelector('#loader').setAttribute('uiState', 'hidden')\n }\n\n resizeScenes () {\n const innerWidth = window.innerWidth\n const clientHeight = utils.isMobile() ? document.documentElement.clientHeight : window.innerHeight;\n\n [].forEach.call(document.querySelectorAll('[data-scene] svg'), scene => {\n utils.setAttributes(scene, {\n width: innerWidth,\n height: clientHeight\n })\n })\n\n utils.setAttributes(document.querySelector('#menu svg'), {\n width: innerWidth,\n height: (clientHeight * 60) / 768\n })\n\n document.querySelector('#menu').style.width = `${innerWidth}px`\n document.querySelector('#menu').style.height = `${(clientHeight * 60) / 768}px`\n }\n\n _buildDOMElements () {\n this.siteRoot = utils.createElementWithAttrs('figure', {role: 'site'})\n const nav = utils.createElementWithAttrs('nav', {id: 'menu'})\n this.siteRoot.appendChild(nav)\n for (let key in this.timing) {\n this.siteRoot.appendChild(utils.createElementWithAttrs('div', {\n 'data-scene': key,\n id: key\n }))\n }\n document.body.appendChild(this.siteRoot)\n }\n\n _initScenes () {\n for (let name in this.scenes) {\n this.scenes[name].init(this)\n }\n\n menu.init(this)\n }\n\n initDivertissement () {\n if (utils.shouldFallbackToBoringCV()) {\n this.destroy()\n } else {\n this.resizeScenes()\n this.show()\n }\n }\n\n getSkrollrConfiguration () {\n return {\n render: data => {\n for (let name in this.scenes) {\n if (typeof this.scenes[name].render === 'function') {\n this.scenes[name].render(data)\n }\n }\n },\n beforerender: data => {\n for (let name in this.scenes) {\n if (typeof this.scenes[name].beforerender === 'function') {\n this.scenes[name].beforerender(data)\n }\n }\n }\n }\n }\n\n initSkrollr () {\n if (!skrollr.get()) {\n this.skrollr = skrollr.init(Object.assign(this.defaults, this.getSkrollrConfiguration()))\n skrollr.stylesheets.init()\n\n skrollr.menu.init(this.skrollr, {\n animate: true,\n easing: 'swing',\n scenes: this.timing,\n scale: 1,\n duration (currentTop, targetTop) {\n return Math.abs(currentTop - targetTop) * 0.5\n }\n })\n }\n\n this.skrollr.refresh()\n }\n\n show () {\n document.body.setAttribute('data-display', 'divertissement')\n document.querySelector('#vignette').setAttribute('uiState', 'show')\n this.siteRoot.setAttribute('uiState', 'show')\n this.initSkrollr()\n }\n\n destroy () {\n document.body.removeAttribute('style')\n document.body.removeAttribute('data-display')\n document.querySelector('#vignette').setAttribute('uiState', 'hidden')\n this.siteRoot.setAttribute('uiState', 'hidden')\n if (skrollr.get()) {\n this.skrollr.destroy()\n window.scroll(0, 0)\n }\n }\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/scripts/Site.js","import sceneSvg from './scene.svg'\nimport sceneHtml from './scene.html'\n\nexport default {\n\n init () {\n document.querySelector('#menu').innerHTML = sceneHtml\n document.querySelector('#menu .svg').innerHTML = sceneSvg\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/svg/menu/animation.js","module.exports = \"ABOUT MESKILLSWORKCONNECT\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/svg/menu/scene.svg\n// module id = 10\n// module chunks = 0","module.exports = \"
\\n\\n\\n\\n
\\n\\n
\\n\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/svg/menu/scene.html\n// module id = 11\n// module chunks = 0","import anime from 'animejs'\nimport sceneSvg from './scene.svg'\nimport sceneHtml from './scene.html'\n\nexport default {\n lightlast: 'none',\n lastKeyPercentage: 0,\n minY: 400,\n maxY: 700,\n isOnscreen: false,\n\n init (site) {\n document.querySelector('[data-scene=\"scene1\"]').innerHTML = sceneHtml\n\n document.querySelector('[data-scene=\"scene1\"] .svg').innerHTML = sceneSvg\n\n document.querySelector('#intro2').addEventListener('click', () => {\n window.open('http://www.workshare.com', '_blank')\n })\n\n document.querySelector('#viewresume').addEventListener('click', () => {\n site.destroy()\n })\n\n this.activateCvLink()\n\n this.sceneTiming = site.timing.scene1\n },\n\n beforerender: function (data) {\n const scrolledPercentage = this.getScrolledPercentage(data, this.sceneTiming)\n\n this.isOnscreen = scrolledPercentage > 0 && scrolledPercentage <= 100\n },\n\n getScrolledPercentage (data, timing) {\n if (data.curTop <= timing.begin || data.curTop >= timing.end) {\n return 0\n }\n\n return Math.abs(((data.curTop - timing.begin) / timing.duration) * 100).toFixed(3)\n },\n\n render: function (data) {\n if (!this.isOnscreen) {\n return\n }\n\n this.renderMbpLight(data)\n },\n\n renderMbpLight (data) {\n const scrolledPercentage = this.getScrolledPercentage(data, this.sceneTiming)\n const keyFreqPercentage = Math.floor(Math.random() * 6) + 5\n\n if (scrolledPercentage > 0 && scrolledPercentage < 100) {\n const shouldExecute = Math.abs(scrolledPercentage - this.lastKeyPercentage) > keyFreqPercentage\n\n if (shouldExecute) {\n this.lightlast = this.lightlast === 'none' ? 'inline' : 'none'\n document.querySelector('#mbplight').style.display = this.lightlast\n\n this.lastKeyPercentage = scrolledPercentage\n }\n }\n },\n\n activateCvLink () {\n anime({targets: '#scrolldown', opacity: 1, delay: 1500})\n anime({targets: '#viewresume', opacity: 1, delay: 2500})\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/svg/scene1/animation.js","module.exports = \"helloscroll downor just view my resume.a design and technology hybrid . - Participate in the design process: Discover, Ideate, Design & Def ine - Leads the UI development efforts across all web applications, ensuring best practices are followed at all times. * An engineer who has the technical knowhow and edge to create production code and: I’m Lead Product Design Engineer* @ Workshare.com, LondonI’m Albino Tonnina,a self-taught developer.\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/svg/scene1/scene.svg\n// module id = 13\n// module chunks = 0","module.exports = \"
\\n\\n\\n\\n
\\n\\n
\\n\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/svg/scene1/scene.html\n// module id = 14\n// module chunks = 0","import sceneSvg from './scene.svg'\nimport sceneHtml from './scene.html'\n\nexport default {\n\n init () {\n document.querySelector('[data-scene=\"scene2\"]').innerHTML = sceneHtml\n document.querySelector('[data-scene=\"scene2\"] .svg').innerHTML = sceneSvg\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/svg/scene2/animation.js","module.exports = \"to Londonfrom RomeIn 2014 I moved\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/svg/scene2/scene.svg\n// module id = 16\n// module chunks = 0","module.exports = \"
\\n\\n\\n\\n
\\n\\n
\\n\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/svg/scene2/scene.html\n// module id = 17\n// module chunks = 0","import sceneSvg from './scene.svg'\nimport sceneHtml from './scene.html'\n\nexport default {\n\n init () {\n document.querySelector('[data-scene=\"scene3\"]').innerHTML = sceneHtml\n document.querySelector('[data-scene=\"scene3\"] .svg').innerHTML = sceneSvg\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/svg/scene3/animation.js","module.exports = \"At work, I do:UX and Design Front-End development Mobile ApplicationsResponsive Web DesignProject ManagementEstimating / Strategy / PlanningClient relationshipMentoring, Team Leading\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/svg/scene3/scene.svg\n// module id = 19\n// module chunks = 0","module.exports = \"
\\n\\n\\n\\n
\\n\\n
\\n\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/svg/scene3/scene.html\n// module id = 20\n// module chunks = 0","import sceneSvg from './scene.svg'\nimport sceneHtml from './scene.html'\n\nexport default {\n init () {\n document.querySelector('[data-scene=\"scene4\"]').innerHTML = sceneHtml\n document.querySelector('[data-scene=\"scene4\"] .svg').innerHTML = sceneSvg\n\n document.querySelector('#lalineag').addEventListener('click', () => {\n window.open('http://en.wikipedia.org/wiki/La_Linea_(TV_series)')\n })\n document.querySelector('#book1').addEventListener('click', () => {\n window.open('https://youtu.be/9BdtGjoIN4E?t=10s')\n })\n document.querySelector('#book2').addEventListener('click', () => {\n window.open('https://www.youtube.com/watch?v=p0O1VVqRSK0')\n })\n document.querySelector('#book3').addEventListener('click', () => {\n window.open('https://addyosmani.com/resources/essentialjsdesignpatterns/book/')\n })\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/svg/scene4/animation.js","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/svg/scene4/scene.svg\n// module id = 22\n// module chunks = 0","module.exports = \"\\n\\n
\\n\\n\\n
\\n\\n
\\n\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/svg/scene4/scene.html\n// module id = 23\n// module chunks = 0","import sceneSvg from './scene.svg'\nimport sceneHtml from './scene.html'\nimport * as utils from '../../scripts/utilities'\n\nexport default {\n iskey: 0,\n keyfreq: Math.floor(Math.random() * 2) + 4,\n lightfreq: Math.floor(Math.random() * 21) + 10,\n lightlast: 'none',\n islight: 0,\n mousefreq: Math.floor(Math.random() * 21) + 30,\n ismouse: 0,\n mouselast: 0,\n minY: 3600,\n maxY: 5800,\n newq: [0, 0],\n\n init (site) {\n document.querySelector('[data-scene=\"scene5\"]').innerHTML = sceneHtml\n document.querySelector('[data-scene=\"scene5\"] .svg').innerHTML = sceneSvg\n\n this.addVideoPlayer(site)\n\n this.getPhoneDimensionsInAHackyWayCauseFirefoxDoesNotWork()\n },\n\n getPhoneDimensionsInAHackyWayCauseFirefoxDoesNotWork () {\n const rectt = document.querySelector('#iphone5positionpath')\n const newrect = rectt.cloneNode(true)\n newrect.setAttribute('id', 'dear_firefox_come_on')\n newrect.setAttribute('fill', 'transparent')\n newrect.setAttribute('transform', 'rotate(90) translate(-6930, -530) scale(8)')\n\n // const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n // document.body.appendChild(svg);\n\n const svg = document.querySelector('#svg5')\n\n svg.appendChild(newrect)\n },\n\n addVideoPlayer (site) {\n const videoPlayerDiv = utils.createElementWithAttrs('div', {\n id: 'videoPlayer'\n })\n\n const videoPlayerIframe = utils.createElementWithAttrs('iframe', {\n id: 'vimeoPlayer',\n src: '//player.vimeo.com/video/88016428',\n width: '100%',\n height: '100%',\n frameborder: '0',\n allowfullscreen: true\n })\n\n videoPlayerDiv.appendChild(videoPlayerIframe)\n site.siteRoot.appendChild(videoPlayerDiv)\n },\n\n render: function (data) {\n if (data.curTop > 5550 && data.curTop < 5900) {\n // console.log('resizing');\n\n const rect = document.querySelector('#dear_firefox_come_on').getBoundingClientRect()\n\n const videoPlayerIframe = document.querySelector('#videoPlayer')\n videoPlayerIframe.style.left = `${Math.floor(rect.left)}px`\n videoPlayerIframe.style.top = `${Math.floor(rect.top)}px`\n videoPlayerIframe.style.width = `${Math.floor(rect.width)}px`\n videoPlayerIframe.style.height = `${Math.floor(rect.height)}px`\n }\n\n if (data.curTop > this.minY && data.curTop < this.maxY) {\n if ((data.curTop - this.iskey > this.keyfreq && data.direction === 'down') || (this.iskey - data.curTop > this.keyfreq && data.direction === 'up')) {\n const keys1 = document.querySelectorAll('#keyboard rect')\n const keys2 = document.querySelectorAll('#keyboard2 rect')\n const keys3 = document.querySelectorAll('#keyboard3 rect')\n\n const randomKey1 = Math.floor(Math.random() * keys1.length)\n const randomKey2 = Math.floor(Math.random() * keys2.length)\n const randomKey3 = Math.floor(Math.random() * keys3.length)\n\n keys1[randomKey1].style.fill = '#ccd1d9'\n keys2[randomKey2].style.fill = '#f7f9f8'\n keys3[randomKey3].style.fill = '#f7f9f8'\n\n this.iskey = data.curTop\n }\n\n if ((data.curTop - this.islight > this.lightfreq && data.direction === 'down') || (this.islight - data.curTop > this.lightfreq && data.direction === 'up')) {\n this.lightlast = this.lightlast === 'none' ? 'inline' : 'none'\n document.querySelector('#imaclight').style.display = this.lightlast\n this.islight = data.curTop\n }\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/svg/scene5/animation.js","module.exports = \"as an entrepreneuras an employeeas a freelancerOver the years I worked for clients and companies\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/svg/scene5/scene.svg\n// module id = 25\n// module chunks = 0","module.exports = \"
\\n\\n\\n\\n
\\n\\n
\\n\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/svg/scene5/scene.html\n// module id = 26\n// module chunks = 0","import sceneSvg from './scene.svg'\nimport sceneHtml from './scene.html'\nimport anime from 'animejs'\nimport keywordArray from './keywords'\nimport {knuthShuffle} from 'knuth-shuffle'\n// import * as utils from '../../scripts/utilities';\nimport {debounce, throttle} from 'throttle-debounce'\nimport {createElementWithAttrs} from '../../scripts/utilities'\n\nexport default {\n skillShape: {\n pos: [6000, 6200, 6400, 6600, 6800, 7000, 7200, 7400],\n points: [\n '729.6,-147.8 748.5,-69.4 709.5,-69.4',\n '729.6,-147.8 765.8,-53.3 709.5,-69.4',\n '729.6,-164.2 765.8,-53.3 693.4,-53.3',\n '729.6,-167 783.6,-36.7 693.4,-53.3',\n '729.6,-203 783.6,-36.7 664,-25.9',\n '729.6,-203 819.4,-3.3 625.9,9.6',\n '729.6,-230.5 833.3,9.6 625.9,9.6'\n ],\n repeat: 0\n },\n\n me: {\n pos: [7300, 7340],\n repeat: 0\n },\n\n lastKeyPercentage: 0,\n\n repeat: 0,\n\n get newskills () {\n return knuthShuffle(keywordArray.slice(0))\n },\n\n init (site) {\n document.querySelector('[data-scene=\"scene6\"]').innerHTML = sceneHtml\n document.querySelector('[data-scene=\"scene6\"] .svg').innerHTML = sceneSvg\n\n this.initClickEvents(site)\n this.skills = this.newskills\n this.sceneTiming = site.timing.scene6\n\n this.animateMe = debounce(10000, true, this.animateMe)\n this.resizeSkills = throttle(250, true, this.resizeSkills)\n },\n\n beforerender: function (data) {\n return this.getScrolledPercentage(data, this.sceneTiming) > 0\n },\n\n render: function (data) {\n this.renderSkillWords(data)\n this.resizeSkills()\n this.renderSkills(data)\n this.renderMe(data)\n },\n\n getScrolledPercentage (data, timing) {\n return data.curTop >= timing.begin ? Math.abs(((data.curTop - timing.begin) / timing.duration) * 100).toFixed(3) : 0\n },\n\n initClickEvents (site) {\n document.querySelector('#email').addEventListener('click', () => {\n window.open('mailto:albinotonnina@gmail.com')\n })\n\n document.querySelector('#medium').addEventListener('click', () => {\n window.open('https://medium.com/@albinotonnina')\n })\n\n document.querySelector('#linkedin').addEventListener('click', () => {\n window.open('http://www.linkedin.com/in/albinotonnina', '_blank')\n })\n\n document.querySelector('#githubsite').addEventListener('click', () => {\n window.open('http://github.com/albinotonnina/albinotonnina.com', '_blank')\n })\n\n document.querySelector('#instagram').addEventListener('click', () => {\n window.open('http://www.instagram.com/albino_tonnina', '_blank')\n })\n\n document.querySelector('#twitter').addEventListener('click', () => {\n window.open('https://twitter.com/albinotonnina', '_blank')\n })\n\n document.querySelector('#contactresume').addEventListener('click', () => {\n site.destroy()\n })\n },\n\n animateSkills (points, animationNum) {\n anime({\n targets: '#skillpath',\n points: points,\n easing: 'easeOutQuad',\n duration: 1000,\n begin: () => {\n this.skillShape.repeat = animationNum\n }\n })\n },\n\n animateMe () {\n anime({\n targets: '#invincible #me',\n translateY: '-30px',\n easing: 'easeInOutQuad',\n duration: 1000,\n loop: 12,\n direction: 'alternate'\n })\n },\n\n gen (minX, maxX, minY, maxY) {\n return {\n top: Math.floor(Math.random() * (maxX - minX + 1) + minX),\n left: Math.floor(Math.random() * (maxY - minY + 1) + minY)\n }\n },\n\n renderSkills (data) {\n for (let i = 0; i < this.skillShape.points.length; i++) {\n if (data.curTop > this.skillShape.pos[i] && data.curTop < this.skillShape.pos[i + 1] && this.skillShape.repeat !== i + 1) {\n this.animateSkills(this.skillShape.points[i], i + 1)\n }\n }\n },\n\n renderMe (data) {\n if (data.curTop > this.me.pos[0] && data.curTop < this.me.pos[1]) {\n this.animateMe()\n }\n },\n\n renderSkillWords (data) {\n const keyFreqPercentage = 2\n const scrolledPercentage = this.getScrolledPercentage(data, this.sceneTiming)\n\n if (scrolledPercentage > 2 && scrolledPercentage < 45) {\n const shouldExecute = Math.abs(scrolledPercentage - this.lastKeyPercentage) > keyFreqPercentage\n\n if (shouldExecute) {\n const word = this.skills.pop()\n const fontSize = Math.abs((Math.random() * 32)) + 16\n const minX = (window.innerWidth / 2)\n const maxX = window.innerWidth - (word.length * fontSize)\n const top = Math.floor((Math.random() * (window.innerHeight)) + 1)\n const left = Math.floor(Math.random() * (maxX - minX + 1) + minX)\n\n const wordTag = createElementWithAttrs('div', {\n class: 'word',\n style: `font-size: ${fontSize}px; top: ${top}px; left: ${left}px`\n })\n\n wordTag.innerHTML = word\n document.querySelector('#skills_container').appendChild(wordTag)\n\n anime({\n targets: wordTag,\n opacity: 0.6,\n scale: 1.4,\n direction: 'alternate',\n easing: 'easeInOutQuart'\n })\n\n if (this.skills.length < 1) {\n this.skills = this.newskills\n }\n\n this.lastKeyPercentage = scrolledPercentage\n }\n } else if (scrolledPercentage) {\n document.querySelector('#skills_container').innerHTML = ''\n }\n },\n\n resizeSkills () {\n // console.log('document.querySelector(\\'#skills\\')', document.querySelector('#skills'));\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/svg/scene6/animation.js","module.exports = \"Front endUser ExperienceGraphicsAs for the future:copyright 2017 Albino Tonninahas a public repository on GitHub.is powered by:is hosted on:This website:MediumLinkedIn profileInstagramView resumealbinotonnina@gmail.comTo stay connected:Bye!@albinotonnina\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/svg/scene6/scene.svg\n// module id = 28\n// module chunks = 0","module.exports = \"
\\n\\n
\\n
\\n\\n
\\n \\n
\\n\\n
\\n \\n
\\n\\n
\\n
\\n\\n
\\n \\n
\\n\\n
\\n \\n
\\n\\n
\\n
\\n\\n
\\n \\n
\\n\\n
\\n \\n
\\n\\n
\\n
\\n\\n\\n\\n
\\n \\n
\\n\\n
\\n \\n
\\n\\n
\\n
\\n\\n\\n\\n
\\n \\n
\\n\\n
\\n \\n
\\n\\n
\\n
\\n\\n\\n\\n
\\n \\n
\\n\\n
\\n \\n
\\n\\n
\\n
\\n\\n\\n\\n
\\n \\n
\\n\\n
\\n \\n
\\n\\n
\\n
\\n\\n
\\n\\n
\\n\\n\\n
\\n\\n
\\n\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/svg/scene6/scene.html\n// module id = 29\n// module chunks = 0","module.exports = __webpack_public_path__ + \"4620759a9c5f6da98afbf5ecb091f44f.jpg\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/svg/scene6/images/jonathan_snook.jpg\n// module id = 30\n// module chunks = 0","module.exports = __webpack_public_path__ + \"e37eb702b90d52502fca6bfb137e96f6.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/svg/scene6/images/jonathan_snook.png\n// module id = 31\n// module chunks = 0","module.exports = __webpack_public_path__ + \"44385e891026619f48685c07d704e947.jpg\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/svg/scene6/images/vitaly_friedman.jpg\n// module id = 32\n// module chunks = 0","module.exports = __webpack_public_path__ + \"504f8b90d23ef37681af759338752c85.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/svg/scene6/images/vitaly_friedman.png\n// module id = 33\n// module chunks = 0","module.exports = __webpack_public_path__ + \"2ea821aa6fc744734657634a26d3da10.jpg\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/svg/scene6/images/addy_osmani.jpg\n// module id = 34\n// module chunks = 0","module.exports = __webpack_public_path__ + \"678cc39a2e1f8e190cb23e208666116b.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/svg/scene6/images/addy_osmani.png\n// module id = 35\n// module chunks = 0","module.exports = __webpack_public_path__ + \"8dfd0ccc41d90dbb8d2ff7e27af69306.jpg\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/svg/scene6/images/douglas_crockford.jpg\n// module id = 36\n// module chunks = 0","module.exports = __webpack_public_path__ + \"9def03e1146848bf91cb83705bb79e2e.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/svg/scene6/images/douglas_crockford.png\n// module id = 37\n// module chunks = 0","module.exports = __webpack_public_path__ + \"8d754e9d5bf33bb92e9c5bccfc497c98.jpg\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/svg/scene6/images/colleagues1.jpg\n// module id = 38\n// module chunks = 0","module.exports = __webpack_public_path__ + \"f019f1a892572b5a8cdcedffc14cf939.jpg\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/svg/scene6/images/colleagues2.jpg\n// module id = 39\n// module chunks = 0","module.exports = __webpack_public_path__ + \"b48d9a3d7254e26db03c1aead184051f.jpg\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/svg/scene6/images/colleagues3.jpg\n// module id = 40\n// module chunks = 0","export default [\n 'Progressive disclosure',\n 'Red route',\n 'Stakeholder Interviews',\n 'Usability engineering',\n 'User-centred design',\n 'User journey',\n 'Lean UX',\n 'Iterative design',\n 'Information scent',\n 'The Double Diamond',\n 'Principles Over Standards',\n 'Accessibility First',\n 'Functional Programming',\n 'Offline Web Apps',\n 'Shadow DOM',\n 'Continuous integration',\n 'Test-driven development',\n 'Pair programming',\n 'Experience design',\n 'Module bundlers',\n 'React',\n 'Redux',\n 'Application architectures',\n 'ES2017',\n 'Jest',\n 'Visual regression testing',\n 'Snapshot testing',\n 'Type inference',\n 'RxJS',\n 'Focus on affordance',\n 'Forward thinking',\n 'Leadership',\n 'Mentoring',\n 'Internet of things',\n 'Async functions'\n]\n\n\n\n// WEBPACK FOOTER //\n// ./src/svg/scene6/keywords.js","/*jshint -W054 */\n(function (exports) {\n 'use strict';\n\n // http://stackoverflow.com/questions/2450954/how-to-randomize-shuffle-a-javascript-array\n function shuffle(array) {\n var currentIndex = array.length\n , temporaryValue\n , randomIndex\n ;\n\n // While there remain elements to shuffle...\n while (0 !== currentIndex) {\n\n // Pick a remaining element...\n randomIndex = Math.floor(Math.random() * currentIndex);\n currentIndex -= 1;\n\n // And swap it with the current element.\n temporaryValue = array[currentIndex];\n array[currentIndex] = array[randomIndex];\n array[randomIndex] = temporaryValue;\n }\n\n return array;\n }\n\n exports.knuthShuffle = shuffle;\n}('undefined' !== typeof exports && exports || 'undefined' !== typeof window && window || global));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/knuth-shuffle/index.js\n// module id = 42\n// module chunks = 0","/* eslint-disable no-undefined */\n\nvar throttle = require('./throttle');\n\n/**\n * Debounce execution of a function. Debouncing, unlike throttling,\n * guarantees that a function is only executed a single time, either at the\n * very beginning of a series of calls, or at the very end.\n *\n * @param {Number} delay A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful.\n * @param {Boolean} atBegin Optional, defaults to false. If atBegin is false or unspecified, callback will only be executed `delay` milliseconds\n * after the last debounced-function call. If atBegin is true, callback will be executed only at the first debounced-function call.\n * (After the throttled-function has not been called for `delay` milliseconds, the internal counter is reset).\n * @param {Function} callback A function to be executed after delay milliseconds. The `this` context and all arguments are passed through, as-is,\n * to `callback` when the debounced-function is executed.\n *\n * @return {Function} A new, debounced function.\n */\nmodule.exports = function ( delay, atBegin, callback ) {\n\treturn callback === undefined ? throttle(delay, atBegin, false) : throttle(delay, callback, atBegin !== false);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/throttle-debounce/debounce.js\n// module id = 43\n// module chunks = 0","import skrollr from 'skrollr'\nimport skrollrmenu from '../libs/skrollr.menu'\nimport skrollrstylesheets from '../libs/skrollr.stylesheets'\n\nexport default function () {\n skrollrstylesheets(skrollr)\n\n skrollrmenu(skrollr)\n\n return skrollr\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/libs/skrollr.scripts.js","/*! skrollr 0.6.26 (2014-06-08) | Alexander Prinzhorn - https://github.com/Prinzhorn/skrollr | Free to use under terms of MIT license */\n(function(e,t,r){\"use strict\";function n(r){if(o=t.documentElement,a=t.body,K(),it=this,r=r||{},ut=r.constants||{},r.easing)for(var n in r.easing)U[n]=r.easing[n];yt=r.edgeStrategy||\"set\",ct={beforerender:r.beforerender,render:r.render,keyframe:r.keyframe},ft=r.forceHeight!==!1,ft&&(Vt=r.scale||1),mt=r.mobileDeceleration||x,dt=r.smoothScrolling!==!1,gt=r.smoothScrollingDuration||E,vt={targetTop:it.getScrollTop()},Gt=(r.mobileCheck||function(){return/Android|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent||navigator.vendor||e.opera)})(),Gt?(st=t.getElementById(\"skrollr-body\"),st&&at(),X(),Dt(o,[y,S],[T])):Dt(o,[y,b],[T]),it.refresh(),St(e,\"resize orientationchange\",function(){var e=o.clientWidth,t=o.clientHeight;(t!==$t||e!==Mt)&&($t=t,Mt=e,_t=!0)});var i=Y();return function l(){Z(),bt=i(l)}(),it}var o,a,i={get:function(){return it},init:function(e){return it||new n(e)},VERSION:\"0.6.26\"},l=Object.prototype.hasOwnProperty,s=e.Math,c=e.getComputedStyle,f=\"touchstart\",u=\"touchmove\",m=\"touchcancel\",p=\"touchend\",d=\"skrollable\",g=d+\"-before\",v=d+\"-between\",h=d+\"-after\",y=\"skrollr\",T=\"no-\"+y,b=y+\"-desktop\",S=y+\"-mobile\",k=\"linear\",w=1e3,x=.004,E=200,A=\"start\",F=\"end\",C=\"center\",D=\"bottom\",H=\"___skrollable_id\",I=/^(?:input|textarea|button|select)$/i,P=/^\\s+|\\s+$/g,N=/^data(?:-(_\\w+))?(?:-?(-?\\d*\\.?\\d+p?))?(?:-?(start|end|top|center|bottom))?(?:-?(top|center|bottom))?$/,O=/\\s*(@?[\\w\\-\\[\\]]+)\\s*:\\s*(.+?)\\s*(?:;|$)/gi,V=/^(@?[a-z\\-]+)\\[(\\w+)\\]$/,z=/-([a-z0-9_])/g,q=function(e,t){return t.toUpperCase()},L=/[\\-+]?[\\d]*\\.?[\\d]+/g,M=/\\{\\?\\}/g,$=/rgba?\\(\\s*-?\\d+\\s*,\\s*-?\\d+\\s*,\\s*-?\\d+/g,_=/[a-z\\-]+-gradient/g,B=\"\",G=\"\",K=function(){var e=/^(?:O|Moz|webkit|ms)|(?:-(?:o|moz|webkit|ms)-)/;if(c){var t=c(a,null);for(var n in t)if(B=n.match(e)||+n==n&&t[n].match(e))break;if(!B)return B=G=\"\",r;B=B[0],\"-\"===B.slice(0,1)?(G=B,B={\"-webkit-\":\"webkit\",\"-moz-\":\"Moz\",\"-ms-\":\"ms\",\"-o-\":\"O\"}[B]):G=\"-\"+B.toLowerCase()+\"-\"}},Y=function(){var t=e.requestAnimationFrame||e[B.toLowerCase()+\"RequestAnimationFrame\"],r=Pt();return(Gt||!t)&&(t=function(t){var n=Pt()-r,o=s.max(0,1e3/60-n);return e.setTimeout(function(){r=Pt(),t()},o)}),t},R=function(){var t=e.cancelAnimationFrame||e[B.toLowerCase()+\"CancelAnimationFrame\"];return(Gt||!t)&&(t=function(t){return e.clearTimeout(t)}),t},U={begin:function(){return 0},end:function(){return 1},linear:function(e){return e},quadratic:function(e){return e*e},cubic:function(e){return e*e*e},swing:function(e){return-s.cos(e*s.PI)/2+.5},sqrt:function(e){return s.sqrt(e)},outCubic:function(e){return s.pow(e-1,3)+1},bounce:function(e){var t;if(.5083>=e)t=3;else if(.8489>=e)t=9;else if(.96208>=e)t=27;else{if(!(.99981>=e))return 1;t=91}return 1-s.abs(3*s.cos(1.028*e*t)/t)}};n.prototype.refresh=function(e){var n,o,a=!1;for(e===r?(a=!0,lt=[],Bt=0,e=t.getElementsByTagName(\"*\")):e.length===r&&(e=[e]),n=0,o=e.length;o>n;n++){var i=e[n],l=i,s=[],c=dt,f=yt,u=!1;if(a&&H in i&&delete i[H],i.attributes){for(var m=0,p=i.attributes.length;p>m;m++){var g=i.attributes[m];if(\"data-anchor-target\"!==g.name)if(\"data-smooth-scrolling\"!==g.name)if(\"data-edge-strategy\"!==g.name)if(\"data-emit-events\"!==g.name){var v=g.name.match(N);if(null!==v){var h={props:g.value,element:i,eventType:g.name.replace(z,q)};s.push(h);var y=v[1];y&&(h.constant=y.substr(1));var T=v[2];/p$/.test(T)?(h.isPercentage=!0,h.offset=(0|T.slice(0,-1))/100):h.offset=0|T;var b=v[3],S=v[4]||b;b&&b!==A&&b!==F?(h.mode=\"relative\",h.anchors=[b,S]):(h.mode=\"absolute\",b===F?h.isEnd=!0:h.isPercentage||(h.offset=h.offset*Vt))}}else u=!0;else f=g.value;else c=\"off\"!==g.value;else if(l=t.querySelector(g.value),null===l)throw'Unable to find anchor target \"'+g.value+'\"'}if(s.length){var k,w,x;!a&&H in i?(x=i[H],k=lt[x].styleAttr,w=lt[x].classAttr):(x=i[H]=Bt++,k=i.style.cssText,w=Ct(i)),lt[x]={element:i,styleAttr:k,classAttr:w,anchorTarget:l,keyFrames:s,smoothScrolling:c,edgeStrategy:f,emitEvents:u,lastFrameIndex:-1},Dt(i,[d],[])}}}for(Et(),n=0,o=e.length;o>n;n++){var E=lt[e[n][H]];E!==r&&(J(E),et(E))}return it},n.prototype.relativeToAbsolute=function(e,t,r){var n=o.clientHeight,a=e.getBoundingClientRect(),i=a.top,l=a.bottom-a.top;return t===D?i-=n:t===C&&(i-=n/2),r===D?i+=l:r===C&&(i+=l/2),i+=it.getScrollTop(),0|i+.5},n.prototype.animateTo=function(e,t){t=t||{};var n=Pt(),o=it.getScrollTop();return pt={startTop:o,topDiff:e-o,targetTop:e,duration:t.duration||w,startTime:n,endTime:n+(t.duration||w),easing:U[t.easing||k],done:t.done},pt.topDiff||(pt.done&&pt.done.call(it,!1),pt=r),it},n.prototype.stopAnimateTo=function(){pt&&pt.done&&pt.done.call(it,!0),pt=r},n.prototype.isAnimatingTo=function(){return!!pt},n.prototype.isMobile=function(){return Gt},n.prototype.setScrollTop=function(t,r){return ht=r===!0,Gt?Kt=s.min(s.max(t,0),Ot):e.scrollTo(0,t),it},n.prototype.getScrollTop=function(){return Gt?Kt:e.pageYOffset||o.scrollTop||a.scrollTop||0},n.prototype.getMaxScrollTop=function(){return Ot},n.prototype.on=function(e,t){return ct[e]=t,it},n.prototype.off=function(e){return delete ct[e],it},n.prototype.destroy=function(){var e=R();e(bt),wt(),Dt(o,[T],[y,b,S]);for(var t=0,n=lt.length;n>t;t++)ot(lt[t].element);o.style.overflow=a.style.overflow=\"\",o.style.height=a.style.height=\"\",st&&i.setStyle(st,\"transform\",\"none\"),it=r,st=r,ct=r,ft=r,Ot=0,Vt=1,ut=r,mt=r,zt=\"down\",qt=-1,Mt=0,$t=0,_t=!1,pt=r,dt=r,gt=r,vt=r,ht=r,Bt=0,yt=r,Gt=!1,Kt=0,Tt=r};var X=function(){var n,i,l,c,d,g,v,h,y,T,b,S;St(o,[f,u,m,p].join(\" \"),function(e){var o=e.changedTouches[0];for(c=e.target;3===c.nodeType;)c=c.parentNode;switch(d=o.clientY,g=o.clientX,T=e.timeStamp,I.test(c.tagName)||e.preventDefault(),e.type){case f:n&&n.blur(),it.stopAnimateTo(),n=c,i=v=d,l=g,y=T;break;case u:I.test(c.tagName)&&t.activeElement!==c&&e.preventDefault(),h=d-v,S=T-b,it.setScrollTop(Kt-h,!0),v=d,b=T;break;default:case m:case p:var a=i-d,k=l-g,w=k*k+a*a;if(49>w){if(!I.test(n.tagName)){n.focus();var x=t.createEvent(\"MouseEvents\");x.initMouseEvent(\"click\",!0,!0,e.view,1,o.screenX,o.screenY,o.clientX,o.clientY,e.ctrlKey,e.altKey,e.shiftKey,e.metaKey,0,null),n.dispatchEvent(x)}return}n=r;var E=h/S;E=s.max(s.min(E,3),-3);var A=s.abs(E/mt),F=E*A+.5*mt*A*A,C=it.getScrollTop()-F,D=0;C>Ot?(D=(Ot-C)/F,C=Ot):0>C&&(D=-C/F,C=0),A*=1-D,it.animateTo(0|C+.5,{easing:\"outCubic\",duration:A})}}),e.scrollTo(0,0),o.style.overflow=a.style.overflow=\"hidden\"},j=function(){var e,t,r,n,a,i,l,c,f,u,m,p=o.clientHeight,d=At();for(c=0,f=lt.length;f>c;c++)for(e=lt[c],t=e.element,r=e.anchorTarget,n=e.keyFrames,a=0,i=n.length;i>a;a++)l=n[a],u=l.offset,m=d[l.constant]||0,l.frame=u,l.isPercentage&&(u*=p,l.frame=u),\"relative\"===l.mode&&(ot(t),l.frame=it.relativeToAbsolute(r,l.anchors[0],l.anchors[1])-u,ot(t,!0)),l.frame+=m,ft&&!l.isEnd&&l.frame>Ot&&(Ot=l.frame);for(Ot=s.max(Ot,Ft()),c=0,f=lt.length;f>c;c++){for(e=lt[c],n=e.keyFrames,a=0,i=n.length;i>a;a++)l=n[a],m=d[l.constant]||0,l.isEnd&&(l.frame=Ot-l.offset+m);e.keyFrames.sort(Nt)}},W=function(e,t){for(var r=0,n=lt.length;n>r;r++){var o,a,s=lt[r],c=s.element,f=s.smoothScrolling?e:t,u=s.keyFrames,m=u.length,p=u[0],y=u[u.length-1],T=p.frame>f,b=f>y.frame,S=T?p:y,k=s.emitEvents,w=s.lastFrameIndex;if(T||b){if(T&&-1===s.edge||b&&1===s.edge)continue;switch(T?(Dt(c,[g],[h,v]),k&&w>-1&&(xt(c,p.eventType,zt),s.lastFrameIndex=-1)):(Dt(c,[h],[g,v]),k&&m>w&&(xt(c,y.eventType,zt),s.lastFrameIndex=m)),s.edge=T?-1:1,s.edgeStrategy){case\"reset\":ot(c);continue;case\"ease\":f=S.frame;break;default:case\"set\":var x=S.props;for(o in x)l.call(x,o)&&(a=nt(x[o].value),0===o.indexOf(\"@\")?c.setAttribute(o.substr(1),a):i.setStyle(c,o,a));continue}}else 0!==s.edge&&(Dt(c,[d,v],[g,h]),s.edge=0);for(var E=0;m-1>E;E++)if(f>=u[E].frame&&u[E+1].frame>=f){var A=u[E],F=u[E+1];for(o in A.props)if(l.call(A.props,o)){var C=(f-A.frame)/(F.frame-A.frame);C=A.props[o].easing(C),a=rt(A.props[o].value,F.props[o].value,C),a=nt(a),0===o.indexOf(\"@\")?c.setAttribute(o.substr(1),a):i.setStyle(c,o,a)}k&&w!==E&&(\"down\"===zt?xt(c,A.eventType,zt):xt(c,F.eventType,zt),s.lastFrameIndex=E);break}}},Z=function(){_t&&(_t=!1,Et());var e,t,n=it.getScrollTop(),o=Pt();if(pt)o>=pt.endTime?(n=pt.targetTop,e=pt.done,pt=r):(t=pt.easing((o-pt.startTime)/pt.duration),n=0|pt.startTop+t*pt.topDiff),it.setScrollTop(n,!0);else if(!ht){var a=vt.targetTop-n;a&&(vt={startTop:qt,topDiff:n-qt,targetTop:n,startTime:Lt,endTime:Lt+gt}),vt.endTime>=o&&(t=U.sqrt((o-vt.startTime)/gt),n=0|vt.startTop+t*vt.topDiff)}if(Gt&&st&&i.setStyle(st,\"transform\",\"translate(0, \"+-Kt+\"px) \"+Tt),ht||qt!==n){zt=n>qt?\"down\":qt>n?\"up\":zt,ht=!1;var l={curTop:n,lastTop:qt,maxTop:Ot,direction:zt},s=ct.beforerender&&ct.beforerender.call(it,l);s!==!1&&(W(n,it.getScrollTop()),qt=n,ct.render&&ct.render.call(it,l)),e&&e.call(it,!1)}Lt=o},J=function(e){for(var t=0,r=e.keyFrames.length;r>t;t++){for(var n,o,a,i,l=e.keyFrames[t],s={};null!==(i=O.exec(l.props));)a=i[1],o=i[2],n=a.match(V),null!==n?(a=n[1],n=n[2]):n=k,o=o.indexOf(\"!\")?Q(o):[o.slice(1)],s[a]={value:o,easing:U[n]};l.props=s}},Q=function(e){var t=[];return $.lastIndex=0,e=e.replace($,function(e){return e.replace(L,function(e){return 100*(e/255)+\"%\"})}),G&&(_.lastIndex=0,e=e.replace(_,function(e){return G+e})),e=e.replace(L,function(e){return t.push(+e),\"{?}\"}),t.unshift(e),t},et=function(e){var t,r,n={};for(t=0,r=e.keyFrames.length;r>t;t++)tt(e.keyFrames[t],n);for(n={},t=e.keyFrames.length-1;t>=0;t--)tt(e.keyFrames[t],n)},tt=function(e,t){var r;for(r in t)l.call(e.props,r)||(e.props[r]=t[r]);for(r in e.props)t[r]=e.props[r]},rt=function(e,t,r){var n,o=e.length;if(o!==t.length)throw\"Can't interpolate between \\\"\"+e[0]+'\" and \"'+t[0]+'\"';var a=[e[0]];for(n=1;o>n;n++)a[n]=e[n]+(t[n]-e[n])*r;return a},nt=function(e){var t=1;return M.lastIndex=0,e[0].replace(M,function(){return e[t++]})},ot=function(e,t){e=[].concat(e);for(var r,n,o=0,a=e.length;a>o;o++)n=e[o],r=lt[n[H]],r&&(t?(n.style.cssText=r.dirtyStyleAttr,Dt(n,r.dirtyClassAttr)):(r.dirtyStyleAttr=n.style.cssText,r.dirtyClassAttr=Ct(n),n.style.cssText=r.styleAttr,Dt(n,r.classAttr)))},at=function(){Tt=\"translateZ(0)\",i.setStyle(st,\"transform\",Tt);var e=c(st),t=e.getPropertyValue(\"transform\"),r=e.getPropertyValue(G+\"transform\"),n=t&&\"none\"!==t||r&&\"none\"!==r;n||(Tt=\"\")};i.setStyle=function(e,t,r){var n=e.style;if(t=t.replace(z,q).replace(\"-\",\"\"),\"zIndex\"===t)n[t]=isNaN(r)?r:\"\"+(0|r);else if(\"float\"===t)n.styleFloat=n.cssFloat=r;else try{B&&(n[B+t.slice(0,1).toUpperCase()+t.slice(1)]=r),n[t]=r}catch(o){}};var it,lt,st,ct,ft,ut,mt,pt,dt,gt,vt,ht,yt,Tt,bt,St=i.addEvent=function(t,r,n){var o=function(t){return t=t||e.event,t.target||(t.target=t.srcElement),t.preventDefault||(t.preventDefault=function(){t.returnValue=!1,t.defaultPrevented=!0}),n.call(this,t)};r=r.split(\" \");for(var a,i=0,l=r.length;l>i;i++)a=r[i],t.addEventListener?t.addEventListener(a,n,!1):t.attachEvent(\"on\"+a,o),Yt.push({element:t,name:a,listener:n})},kt=i.removeEvent=function(e,t,r){t=t.split(\" \");for(var n=0,o=t.length;o>n;n++)e.removeEventListener?e.removeEventListener(t[n],r,!1):e.detachEvent(\"on\"+t[n],r)},wt=function(){for(var e,t=0,r=Yt.length;r>t;t++)e=Yt[t],kt(e.element,e.name,e.listener);Yt=[]},xt=function(e,t,r){ct.keyframe&&ct.keyframe.call(it,e,t,r)},Et=function(){var e=it.getScrollTop();Ot=0,ft&&!Gt&&(a.style.height=\"\"),j(),ft&&!Gt&&(a.style.height=Ot+o.clientHeight+\"px\"),Gt?it.setScrollTop(s.min(it.getScrollTop(),Ot)):it.setScrollTop(e,!0),ht=!0},At=function(){var e,t,r=o.clientHeight,n={};for(e in ut)t=ut[e],\"function\"==typeof t?t=t.call(it):/p$/.test(t)&&(t=t.slice(0,-1)/100*r),n[e]=t;return n},Ft=function(){var e=st&&st.offsetHeight||0,t=s.max(e,a.scrollHeight,a.offsetHeight,o.scrollHeight,o.offsetHeight,o.clientHeight);return t-o.clientHeight},Ct=function(t){var r=\"className\";return e.SVGElement&&t instanceof e.SVGElement&&(t=t[r],r=\"baseVal\"),t[r]},Dt=function(t,n,o){var a=\"className\";if(e.SVGElement&&t instanceof e.SVGElement&&(t=t[a],a=\"baseVal\"),o===r)return t[a]=n,r;for(var i=t[a],l=0,s=o.length;s>l;l++)i=It(i).replace(It(o[l]),\" \");i=Ht(i);for(var c=0,f=n.length;f>c;c++)-1===It(i).indexOf(It(n[c]))&&(i+=\" \"+n[c]);t[a]=Ht(i)},Ht=function(e){return e.replace(P,\"\")},It=function(e){return\" \"+e+\" \"},Pt=Date.now||function(){return+new Date},Nt=function(e,t){return e.frame-t.frame},Ot=0,Vt=1,zt=\"down\",qt=-1,Lt=Pt(),Mt=0,$t=0,_t=!1,Bt=0,Gt=!1,Kt=0,Yt=[];\"function\"==typeof define&&define.amd?define(\"skrollr\",function(){return i}):\"undefined\"!=typeof module&&module.exports?module.exports=i:e.skrollr=i})(window,document);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/skrollr/dist/skrollr.min.js\n// module id = 45\n// module chunks = 0","/*!\n * Plugin for skrollr.\n * This plugin makes hashlinks scroll nicely to their target position.\n *\n * Alexander Prinzhorn - https://github.com/Prinzhorn/skrollr\n *\n * Free to use under terms of MIT license\n *\n *\n * Attention, I modified this file. Albino.\n *\n */\n(function (document, window) {\n 'use strict'\n\n module.exports = function (skrollr) {\n var DEFAULT_DURATION = 500\n var DEFAULT_EASING = 'sqrt'\n var DEFAULT_SCALE = 1\n\n var MENU_OFFSET_ATTR = 'data-menu-offset'\n\n // var skrollr = window.skrollr;\n var history = window.history\n var supportsHistory = !!history.pushState\n\n /*\n Since we are using event bubbling, the element that has been clicked\n might not acutally be the link but a child.\n */\n var findParentLink = function (element) {\n // Yay, it's a link!\n\n if (element.tagName === 'A' || element.tagName === 'text') {\n return element\n }\n\n // We reached the top, no link found.\n if (element === document) {\n return false\n }\n\n // Maybe the parent is a link.\n return findParentLink(element.parentNode)\n }\n\n /*\n Handle the click event on the document.\n */\n var handleClick = function (e) {\n // Only handle left click.\n\n if (e.which !== 1 && e.button !== 0) {\n return\n }\n\n var link = findParentLink(e.target)\n\n // The click did not happen inside a link.\n if (!link) {\n return\n }\n\n if (handleLink(link)) {\n e.preventDefault()\n }\n }\n\n /*\n Handles the click on a link. May be called without an actual click event.\n When the fake flag is set, the link won't change the url and the position won't be animated.\n */\n var handleLink = function (link, fake) {\n var patt = new RegExp('sc-menu[0-9]')\n var isMenu = patt.test(link.id)\n\n if (!isMenu) {\n return false\n }\n // Now get the targetTop to scroll to.\n var targetTop\n\n var menuTop\n\n var scenetoLoad = link.id.replace('sc-menu', 'scene')\n var href = '#' + scenetoLoad\n // If there's a handleLink function, it overrides the actual anchor offset.\n if (_handleLink) {\n menuTop = _handleLink(link)\n } else {\n menuTop = _scenes[scenetoLoad].begin + _scenes[scenetoLoad].menuoffset\n }\n\n if (menuTop !== null) {\n // Is it a percentage offset?\n if (/p$/.test(menuTop)) {\n targetTop = (menuTop.slice(0, -1) / 100) * document.documentElement.clientHeight\n } else {\n targetTop = +menuTop * _scale\n }\n } else {\n var scrollTarget = document.getElementById(href.substr(1))\n\n // Ignore the click if no target is found.\n if (!scrollTarget) {\n return false\n }\n\n targetTop = _skrollrInstance.relativeToAbsolute(scrollTarget, 'top', 'top')\n\n var menuOffset = scrollTarget.getAttribute(MENU_OFFSET_ATTR)\n\n if (menuOffset !== null) {\n targetTop += +menuOffset\n }\n }\n /*\n if (supportsHistory && !fake) {\n history.pushState({\n top: targetTop\n }, '', href);\n }\n */\n // Now finally scroll there.\n if (_animate && !fake) {\n _skrollrInstance.animateTo(targetTop, {\n duration: _duration(_skrollrInstance.getScrollTop(), targetTop),\n easing: _easing\n })\n } else {\n defer(function () {\n _skrollrInstance.setScrollTop(targetTop)\n })\n }\n\n return true\n }\n\n var jumpStraightToHash = function () {\n if (window.location.hash && document.querySelector) {\n var link = document.querySelector('a[href=\"' + window.location.hash + '\"]')\n\n if (link) {\n handleLink(link, true)\n }\n }\n }\n\n var defer = function (fn) {\n window.setTimeout(fn, 1)\n }\n\n var _skrollrInstance\n\n var _easing\n var _duration\n var _animate\n var _handleLink\n var _scale\n var _scenes\n\n var init = function (skrollr) {\n /*\n Global menu function accessible through window.skrollr.menu.init.\n */\n skrollr.menu = {}\n skrollr.menu.init = function (skrollrInstance, options) {\n _skrollrInstance = skrollrInstance\n\n options = options || {}\n _scenes = options.scenes || {}\n _easing = options.easing || DEFAULT_EASING\n _animate = options.animate !== false\n _duration = options.duration || DEFAULT_DURATION\n _handleLink = options.handleLink\n _scale = options.scale || DEFAULT_SCALE\n\n if (typeof _duration === 'number') {\n _duration = (function (duration) {\n return function () {\n return duration\n }\n }(_duration))\n }\n\n // Use event bubbling and attach a single listener to the document.\n skrollr.addEvent(document, 'click', handleClick)\n\n if (supportsHistory) {\n skrollr.addEvent(window, 'popstate', function (e) {\n var state = e.state || {}\n var top = state.top || 0\n\n defer(function () {\n _skrollrInstance.setScrollTop(top)\n })\n }, false)\n }\n\n jumpStraightToHash()\n }\n\n // Private reference to the initialized skrollr.\n\n // In case the page was opened with a hash, prevent jumping to it.\n // http://stackoverflow.com/questions/3659072/jquery-disable-anchor-jump-when-loading-a-page\n defer(function () {\n if (window.location.hash) {\n window.scrollTo(0, 0)\n }\n })\n }\n\n init(skrollr)\n }\n}(document, window))\n\n\n\n// WEBPACK FOOTER //\n// ./src/libs/skrollr.menu.js","/* global matchMedia, XMLHttpRequest, XDomainRequest */\n\n(function (window, document) {\n 'use strict'\n\n module.exports = function (skrollr) {\n var content\n var contents = []\n\n // Finds the declaration of an animation block.\n var rxAnimation = /@-skrollr-keyframes\\s+([\\w-]+)/g\n\n // Finds the block of keyframes inside an animation block.\n // http://regexpal.com/ saves your ass with stuff like this.\n var rxKeyframes = /\\s*\\{\\s*((?:[^{]+\\{[^}]*\\}\\s*)+?)\\s*\\}/g\n\n // Gets a single keyframe and the properties inside.\n var rxSingleKeyframe = /([\\w-]+)\\s*\\{([^}]+)\\}/g\n\n // Optional keyframe name prefix to work around SASS (>3.4) issues\n var keyframeNameOptionalPrefix = 'skrollr-'\n\n // Finds usages of the animation.\n var rxAnimationUsage = /-skrollr-animation-name\\s*:\\s*([\\w-]+)/g\n\n // Finds usages of attribute setters.\n var rxAttributeSetter = /-skrollr-(anchor-target|smooth-scrolling|emit-events|menu-offset)\\s*:\\s*['\"]([^'\"]+)['\"]/g\n\n var fetchRemote = function (url) {\n var xhr = new XMLHttpRequest()\n\n /*\n * Yes, these are SYNCHRONOUS requests.\n * Simply because skrollr stylesheets should run while the page is loaded.\n * Get over it.\n */\n try {\n xhr.open('GET', url, false)\n xhr.send(null)\n } catch (e) {\n // Fallback to XDomainRequest if available\n if (window.XDomainRequest) {\n xhr = new XDomainRequest()\n xhr.open('GET', url, false)\n xhr.send(null)\n }\n }\n\n return xhr.responseText\n }\n\n // \"main\"\n var kickstart = function (stylesheets) {\n // Iterate over all stylesheets, embedded and remote.\n for (var stylesheetIndex = 0; stylesheetIndex < stylesheets.length; stylesheetIndex++) {\n var sheet = stylesheets[stylesheetIndex]\n\n if (sheet.tagName === 'LINK') {\n if (sheet.getAttribute('data-skrollr-stylesheet') === null) {\n continue\n }\n\n // Test media attribute if matchMedia available.\n if (window.matchMedia) {\n var media = sheet.getAttribute('media')\n\n if (media && !matchMedia(media).matches) {\n continue\n }\n }\n\n // Remote stylesheet, fetch it (synchrnonous).\n content = fetchRemote(sheet.href)\n } else {\n // Embedded stylesheet, grab the node content.\n content = sheet.textContent || sheet.innerText || sheet.innerHTML\n }\n\n if (content) {\n contents.push(content)\n }\n }\n\n // We take the stylesheets in reverse order.\n // This is needed to ensure correct order of stylesheets and inline styles.\n contents.reverse()\n\n var animations = {}\n var selectors = []\n var attributes = []\n\n // Now parse all stylesheets.\n for (var contentIndex = 0; contentIndex < contents.length; contentIndex++) {\n content = contents[contentIndex]\n\n parseAnimationDeclarations(content, animations)\n parseAnimationUsage(content, selectors)\n parseAttributeSetters(content, attributes)\n }\n\n applyKeyframeAttributes(animations, selectors)\n applyAttributeSetters(attributes)\n }\n\n // Finds animation declarations and puts them into the output map.\n var parseAnimationDeclarations = function (input, output) {\n rxAnimation.lastIndex = 0\n\n var animation\n var rawKeyframes\n var keyframe\n var curAnimation\n\n while ((animation = rxAnimation.exec(input)) !== null) {\n // Grab the keyframes inside this animation.\n rxKeyframes.lastIndex = rxAnimation.lastIndex\n rawKeyframes = rxKeyframes.exec(input)\n\n // Grab the single keyframes with their CSS properties.\n rxSingleKeyframe.lastIndex = 0\n\n // Save the animation in an object using it's name as key.\n curAnimation = output[animation[1]] = {}\n\n while ((keyframe = rxSingleKeyframe.exec(rawKeyframes[1])) !== null) {\n // Put all keyframes inside the animation using the keyframe (like botttom-top, or 100) as key\n // and the properties as value (just the raw string, newline stripped).\n curAnimation[keyframe[1]] = keyframe[2].replace(/[\\n\\r\\t]/g, '')\n }\n }\n }\n\n // Extracts the selector of the given block by walking backwards to the start of the block.\n var extractSelector = function (input, startIndex) {\n var begin\n var end = startIndex\n\n // First find the curly bracket that opens this block.\n while (end-- && input.charAt(end) !== '{') {\n }\n\n // The end is now fixed to the right of the selector.\n // Now start there to find the begin of the selector.\n begin = end\n\n // Now walk farther backwards until we grabbed the whole selector.\n // This either ends at beginning of string or at end of next block.\n while (begin-- && input.charAt(begin - 1) !== '}') {\n }\n\n // Return the cleaned selector.\n return input.substring(begin, end).replace(/[\\n\\r\\t]/g, '')\n }\n\n // Finds usage of animations and puts the selectors into the output array.\n var parseAnimationUsage = function (input, output) {\n var match\n var selector\n\n rxAnimationUsage.lastIndex = 0\n\n while ((match = rxAnimationUsage.exec(input)) !== null) {\n // Extract the selector of the block we found the animation in.\n selector = extractSelector(input, rxAnimationUsage.lastIndex)\n\n // Associate this selector with the animation name.\n output.push([selector, match[1]])\n }\n }\n\n // Finds usage of attribute setters and puts the selector and attribute data into the output array.\n var parseAttributeSetters = function (input, output) {\n var match\n var selector\n\n rxAttributeSetter.lastIndex = 0\n\n while ((match = rxAttributeSetter.exec(input)) !== null) {\n // Extract the selector of the block we found the animation in.\n selector = extractSelector(input, rxAttributeSetter.lastIndex)\n\n // Associate this selector with the attribute name and value.\n output.push([selector, match[1], match[2]])\n }\n }\n\n // Applies the keyframes (as data-attributes) to the elements.\n var applyKeyframeAttributes = function (animations, selectors) {\n var elements\n var keyframes\n var keyframeName\n var cleanKeyframeName\n var elementIndex\n var attributeName\n var attributeValue\n var curElement\n\n for (var selectorIndex = 0; selectorIndex < selectors.length; selectorIndex++) {\n elements = document.querySelectorAll(selectors[selectorIndex][0])\n\n if (!elements) {\n continue\n }\n\n keyframes = animations[selectors[selectorIndex][1]]\n\n for (keyframeName in keyframes) {\n if (keyframeName.indexOf(keyframeNameOptionalPrefix) === 0) {\n cleanKeyframeName = keyframeName.substring(keyframeNameOptionalPrefix.length)\n } else {\n cleanKeyframeName = keyframeName\n }\n\n for (elementIndex = 0; elementIndex < elements.length; elementIndex++) {\n curElement = elements[elementIndex]\n attributeName = 'data-' + cleanKeyframeName\n attributeValue = keyframes[keyframeName]\n\n // If the element already has this keyframe inline, give the inline one precedence by putting it on the right side.\n // The inline one may actually be the result of the keyframes from another stylesheet.\n // Since we reversed the order of the stylesheets, everything comes together correctly here.\n if (curElement.hasAttribute(attributeName)) {\n attributeValue += curElement.getAttribute(attributeName)\n }\n\n curElement.setAttribute(attributeName, attributeValue)\n }\n }\n }\n }\n\n // Applies the keyframes (as data-attributes) to the elements.\n var applyAttributeSetters = function (selectors) {\n var curSelector\n var elements\n var attributeName\n var attributeValue\n var elementIndex\n\n for (var selectorIndex = 0; selectorIndex < selectors.length; selectorIndex++) {\n curSelector = selectors[selectorIndex]\n elements = document.querySelectorAll(curSelector[0])\n attributeName = 'data-' + curSelector[1]\n attributeValue = curSelector[2]\n\n if (!elements) {\n continue\n }\n\n for (elementIndex = 0; elementIndex < elements.length; elementIndex++) {\n elements[elementIndex].setAttribute(attributeName, attributeValue)\n }\n }\n }\n\n var init = function (skrollr) {\n skrollr.stylesheets = {}\n\n skrollr.stylesheets.init = function () {\n kickstart(document.querySelectorAll('link, style'))\n }\n }\n\n init(skrollr)\n }\n}(window, document))\n\n\n\n// WEBPACK FOOTER //\n// ./src/libs/skrollr.stylesheets.js","const sceneTimes = {\n scene1: {\n offset: 0,\n duration: 900,\n menuoffset: 300\n },\n scene2: {\n offset: 0,\n duration: 1100,\n menuoffset: 600\n },\n scene3: {\n offset: 0,\n duration: 1100,\n menuoffset: 600\n },\n\n scene4: {\n offset: 0,\n duration: 1000,\n menuoffset: 0\n },\n\n scene5: {\n offset: 0,\n duration: 2100,\n menuoffset: 1470\n },\n scene6: {\n offset: 0,\n duration: 2500,\n menuoffset: 1400\n }\n}\n\nexport default {\n\n get scenes () {\n let begin = 0\n\n for (let scene in sceneTimes) {\n begin += sceneTimes[scene].offset\n sceneTimes[scene].name = scene\n sceneTimes[scene].begin = begin\n sceneTimes[scene].end = begin + sceneTimes[scene].duration\n begin += sceneTimes[scene].duration\n }\n\n return sceneTimes\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/scripts/timing.js","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/styles/main.scss\n// module id = 49\n// module chunks = 0","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/svg/animation.scss\n// module id = 50\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/bootstrap 3e8e3b59bb5bfecc8905","webpack:///./src/scripts/utilities.js","webpack:///./src/svg/scene6/images/colleagues.png","webpack:///./node_modules/animejs/anime.min.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/throttle-debounce/index.js","webpack:///./node_modules/throttle-debounce/throttle.js","webpack:///./src/index.js","webpack:///./node_modules/webfontloader/webfontloader.js","webpack:///./src/scripts/Site.js","webpack:///./src/svg/menu/animation.js","webpack:///./src/svg/menu/scene.svg","webpack:///./src/svg/menu/scene.html","webpack:///./src/svg/scene1/animation.js","webpack:///./src/svg/scene1/scene.svg","webpack:///./src/svg/scene1/scene.html","webpack:///./src/svg/scene2/animation.js","webpack:///./src/svg/scene2/scene.svg","webpack:///./src/svg/scene2/scene.html","webpack:///./src/svg/scene3/animation.js","webpack:///./src/svg/scene3/scene.svg","webpack:///./src/svg/scene3/scene.html","webpack:///./src/svg/scene4/animation.js","webpack:///./src/svg/scene4/scene.svg","webpack:///./src/svg/scene4/scene.html","webpack:///./src/svg/scene5/animation.js","webpack:///./src/svg/scene5/scene.svg","webpack:///./src/svg/scene5/scene.html","webpack:///./src/svg/scene6/animation.js","webpack:///./src/svg/scene6/scene.svg","webpack:///./src/svg/scene6/scene.html","webpack:///./src/svg/scene6/images/jonathan_snook.jpg","webpack:///./src/svg/scene6/images/jonathan_snook.png","webpack:///./src/svg/scene6/images/vitaly_friedman.jpg","webpack:///./src/svg/scene6/images/vitaly_friedman.png","webpack:///./src/svg/scene6/images/addy_osmani.jpg","webpack:///./src/svg/scene6/images/addy_osmani.png","webpack:///./src/svg/scene6/images/douglas_crockford.jpg","webpack:///./src/svg/scene6/images/douglas_crockford.png","webpack:///./src/svg/scene6/images/colleagues1.jpg","webpack:///./src/svg/scene6/images/colleagues2.jpg","webpack:///./src/svg/scene6/images/colleagues3.jpg","webpack:///./src/svg/scene6/keywords.js","webpack:///./node_modules/knuth-shuffle/index.js","webpack:///./node_modules/throttle-debounce/debounce.js","webpack:///./src/libs/skrollr.scripts.js","webpack:///./node_modules/skrollr/dist/skrollr.min.js","webpack:///./src/libs/skrollr.menu.js","webpack:///./src/libs/skrollr.stylesheets.js","webpack:///./src/scripts/timing.js","webpack:///./src/styles/main.scss","webpack:///./src/svg/animation.scss"],"names":["waitForWebfonts","fonts","callback","WebFont","load","google","families","active","setAttributes","el","attrs","key","setAttribute","isMobile","test","navigator","userAgent","createElementWithAttrs","tagName","document","createElement","shouldFallbackToBoringCV","maxHeight","window","innerWidth","innerHeight","onBeforePrint","matchMedia","addListener","media","matches","onbeforeprint","onLoad","site","Site","initDivertissement","onload","skrollr","skrollrscripts","scenes","scene1","scene2","scene3","scene5","scene4","scene6","defaults","mobileDeceleration","smoothScrollingDuration","smoothScrolling","timing","_initEvents","_addEventToReopenBtn","_buildDOMElements","_initScenes","_hideLoader","querySelector","addEventListener","ev","preventDefault","show","onresize","debounce","bind","utils","destroy","clientHeight","documentElement","forEach","call","querySelectorAll","scene","width","height","style","siteRoot","role","nav","id","appendChild","body","name","init","menu","resizeScenes","render","data","beforerender","get","Object","assign","getSkrollrConfiguration","stylesheets","animate","easing","scale","duration","currentTop","targetTop","Math","abs","refresh","initSkrollr","removeAttribute","scroll","innerHTML","sceneHtml","sceneSvg","lightlast","lastKeyPercentage","minY","maxY","isOnscreen","open","activateCvLink","sceneTiming","scrolledPercentage","getScrolledPercentage","curTop","begin","end","toFixed","renderMbpLight","keyFreqPercentage","floor","random","shouldExecute","display","anime","targets","opacity","delay","iskey","keyfreq","lightfreq","islight","mousefreq","ismouse","mouselast","newq","addVideoPlayer","getPhoneDimensionsInAHackyWayCauseFirefoxDoesNotWork","rectt","newrect","cloneNode","svg","videoPlayerDiv","videoPlayerIframe","src","frameborder","allowfullscreen","rect","getBoundingClientRect","left","top","direction","keys1","keys2","keys3","randomKey1","length","randomKey2","randomKey3","fill","skillShape","pos","points","repeat","me","newskills","knuthShuffle","keywordArray","slice","initClickEvents","skills","animateMe","resizeSkills","throttle","renderSkillWords","renderSkills","renderMe","animateSkills","animationNum","translateY","loop","gen","minX","maxX","i","word","pop","fontSize","wordTag","class","skrollrstylesheets","skrollrmenu","module","exports","DEFAULT_DURATION","DEFAULT_EASING","DEFAULT_SCALE","MENU_OFFSET_ATTR","history","supportsHistory","pushState","findParentLink","element","parentNode","handleClick","e","which","button","link","target","handleLink","fake","patt","RegExp","isMenu","menuTop","scenetoLoad","replace","href","_handleLink","_scenes","menuoffset","_scale","scrollTarget","getElementById","substr","_skrollrInstance","relativeToAbsolute","menuOffset","getAttribute","_animate","animateTo","_duration","getScrollTop","_easing","defer","setScrollTop","jumpStraightToHash","location","hash","fn","setTimeout","skrollrInstance","options","addEvent","state","scrollTo","content","contents","rxAnimation","rxKeyframes","rxSingleKeyframe","keyframeNameOptionalPrefix","rxAnimationUsage","rxAttributeSetter","fetchRemote","url","xhr","XMLHttpRequest","send","XDomainRequest","responseText","kickstart","stylesheetIndex","sheet","textContent","innerText","push","reverse","animations","selectors","attributes","contentIndex","parseAnimationDeclarations","parseAnimationUsage","parseAttributeSetters","applyKeyframeAttributes","applyAttributeSetters","input","output","lastIndex","animation","rawKeyframes","keyframe","curAnimation","exec","extractSelector","startIndex","charAt","substring","match","selector","elements","keyframes","keyframeName","cleanKeyframeName","elementIndex","attributeName","attributeValue","curElement","selectorIndex","indexOf","hasAttribute","curSelector","sceneTimes","offset"],"mappings":"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","file":"bundle.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 6);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 3e8e3b59bb5bfecc8905","import WebFont from 'webfontloader'\n\nexport const waitForWebfonts = function (fonts, callback) {\n WebFont.load({\n google: {\n families: fonts\n },\n active: callback\n })\n}\n\nexport const setAttributes = (el, attrs) => {\n for (let key in attrs) {\n el.setAttribute(key, attrs[key])\n }\n}\n\nexport const isMobile = function () {\n return (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent))\n}\n\nexport const createElementWithAttrs = (tagName, attrs) => {\n const el = document.createElement(tagName)\n setAttributes(el, attrs)\n return el\n}\n\nexport const shouldFallbackToBoringCV = () => {\n const maxHeight = 768 / 1024 * window.innerWidth\n return window.innerHeight > maxHeight\n}\n\nexport const onBeforePrint = (callback) => {\n if ('matchMedia' in window) {\n // Chrome, Firefox, and IE 10 support mediaMatch listeners\n window.matchMedia('print').addListener((media) => {\n if (media.matches) {\n callback()\n }\n })\n } else {\n // IE and Firefox fire before/after events\n window.onbeforeprint = callback\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/scripts/utilities.js","module.exports = __webpack_public_path__ + \"d66b2db7584fb99ed7a76848f8a217f7.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/svg/scene6/images/colleagues.png\n// module id = 1\n// module chunks = 0","/*\n 2017 Julian Garnier\n Released under the MIT license\n*/\nvar $jscomp={scope:{}};$jscomp.defineProperty=\"function\"==typeof Object.defineProperties?Object.defineProperty:function(e,r,p){if(p.get||p.set)throw new TypeError(\"ES3 does not support getters and setters.\");e!=Array.prototype&&e!=Object.prototype&&(e[r]=p.value)};$jscomp.getGlobal=function(e){return\"undefined\"!=typeof window&&window===e?e:\"undefined\"!=typeof global&&null!=global?global:e};$jscomp.global=$jscomp.getGlobal(this);$jscomp.SYMBOL_PREFIX=\"jscomp_symbol_\";\n$jscomp.initSymbol=function(){$jscomp.initSymbol=function(){};$jscomp.global.Symbol||($jscomp.global.Symbol=$jscomp.Symbol)};$jscomp.symbolCounter_=0;$jscomp.Symbol=function(e){return $jscomp.SYMBOL_PREFIX+(e||\"\")+$jscomp.symbolCounter_++};\n$jscomp.initSymbolIterator=function(){$jscomp.initSymbol();var e=$jscomp.global.Symbol.iterator;e||(e=$jscomp.global.Symbol.iterator=$jscomp.global.Symbol(\"iterator\"));\"function\"!=typeof Array.prototype[e]&&$jscomp.defineProperty(Array.prototype,e,{configurable:!0,writable:!0,value:function(){return $jscomp.arrayIterator(this)}});$jscomp.initSymbolIterator=function(){}};$jscomp.arrayIterator=function(e){var r=0;return $jscomp.iteratorPrototype(function(){return rb&&(b+=1);1b?c:b<2/3?a+(c-a)*(2/3-b)*6:a}var d=/hsl\\((\\d+),\\s*([\\d.]+)%,\\s*([\\d.]+)%\\)/g.exec(a)||/hsla\\((\\d+),\\s*([\\d.]+)%,\\s*([\\d.]+)%,\\s*([\\d.]+)\\)/g.exec(a);a=parseInt(d[1])/360;var b=parseInt(d[2])/100,f=parseInt(d[3])/100,d=d[4]||1;if(0==b)f=b=a=f;else{var n=.5>f?f*(1+b):f+b-f*b,k=2*f-n,f=c(k,n,a+1/3),b=c(k,n,a);a=c(k,n,a-1/3)}return\"rgba(\"+\n255*f+\",\"+255*b+\",\"+255*a+\",\"+d+\")\"}function y(a){if(a=/([\\+\\-]?[0-9#\\.]+)(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(a))return a[2]}function V(a){if(-1=g.currentTime)for(var G=0;G=w||!k)g.began||(g.began=!0,f(\"begin\")),f(\"run\");if(q>n&&q=k&&r!==k||!k)b(k),x||e();f(\"update\");a>=k&&(g.remaining?(t=h,\"alternate\"===g.direction&&(g.reversed=!g.reversed)):(g.pause(),g.completed||(g.completed=!0,f(\"complete\"),\"Promise\"in window&&(p(),m=c()))),l=0)}a=void 0===a?{}:a;var h,t,l=0,p=null,m=c(),g=fa(a);g.reset=function(){var a=g.direction,c=g.loop;g.currentTime=\n0;g.progress=0;g.paused=!0;g.began=!1;g.completed=!1;g.reversed=\"reverse\"===a;g.remaining=\"alternate\"===a&&1===c?2:c;b(0);for(a=g.children.length;a--;)g.children[a].reset()};g.tick=function(a){h=a;t||(t=h);k((l+h-t)*q.speed)};g.seek=function(a){k(d(a))};g.pause=function(){var a=v.indexOf(g);-1=c&&0<=b&&1>=b){var e=new Float32Array(11);if(c!==d||b!==f)for(var k=0;11>k;++k)e[k]=a(.1*k,c,b);return function(k){if(c===d&&b===f)return k;if(0===k)return 0;if(1===k)return 1;for(var h=0,l=1;10!==l&&e[l]<=k;++l)h+=.1;--l;var l=h+(k-e[l])/(e[l+1]-e[l])*.1,n=3*(1-3*b+3*c)*l*l+2*(3*b-6*c)*l+3*c;if(.001<=n){for(h=0;4>h;++h){n=3*(1-3*b+3*c)*l*l+2*(3*b-6*c)*l+3*c;if(0===n)break;var m=a(l,c,b)-k,l=l-m/n}k=l}else if(0===\nn)k=l;else{var l=h,h=h+.1,g=0;do m=l+(h-l)/2,n=a(m,c,b)-k,0++g);k=m}return a(k,d,f)}}}}(),Q=function(){function a(a,b){return 0===a||1===a?a:-Math.pow(2,10*(a-1))*Math.sin(2*(a-1-b/(2*Math.PI)*Math.asin(1))*Math.PI/b)}var c=\"Quad Cubic Quart Quint Sine Expo Circ Back Elastic\".split(\" \"),d={In:[[.55,.085,.68,.53],[.55,.055,.675,.19],[.895,.03,.685,.22],[.755,.05,.855,.06],[.47,0,.745,.715],[.95,.05,.795,.035],[.6,.04,.98,.335],[.6,-.28,.735,.045],a],Out:[[.25,\n.46,.45,.94],[.215,.61,.355,1],[.165,.84,.44,1],[.23,1,.32,1],[.39,.575,.565,1],[.19,1,.22,1],[.075,.82,.165,1],[.175,.885,.32,1.275],function(b,c){return 1-a(1-b,c)}],InOut:[[.455,.03,.515,.955],[.645,.045,.355,1],[.77,0,.175,1],[.86,0,.07,1],[.445,.05,.55,.95],[1,0,0,1],[.785,.135,.15,.86],[.68,-.55,.265,1.55],function(b,c){return.5>b?a(2*b,c)/2:1-a(-2*b+2,c)/2}]},b={linear:A(.25,.25,.75,.75)},f={},e;for(e in d)f.type=e,d[f.type].forEach(function(a){return function(d,f){b[\"ease\"+a.type+c[f]]=h.fnc(d)?\nd:A.apply($jscomp$this,d)}}(f)),f={type:f.type};return b}(),ha={css:function(a,c,d){return a.style[c]=d},attribute:function(a,c,d){return a.setAttribute(c,d)},object:function(a,c,d){return a[c]=d},transform:function(a,c,d,b,f){b[f]||(b[f]=[]);b[f].push(c+\"(\"+d+\")\")}},v=[],B=0,ia=function(){function a(){B=requestAnimationFrame(c)}function c(c){var b=v.length;if(b){for(var d=0;db&&(c.duration=d.duration);c.children.push(d)});c.seek(0);c.reset();c.autoplay&&c.restart();return c};return c};q.random=function(a,c){return Math.floor(Math.random()*(c-a+1))+a};return q});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/animejs/anime.min.js\n// module id = 2\n// module chunks = 0","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/global.js\n// module id = 3\n// module chunks = 0","var throttle = require('./throttle');\nvar debounce = require('./debounce');\n\nmodule.exports = {\n\tthrottle: throttle,\n\tdebounce: debounce\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/throttle-debounce/index.js\n// module id = 4\n// module chunks = 0","/* eslint-disable no-undefined,no-param-reassign,no-shadow */\n\n/**\n * Throttle execution of a function. Especially useful for rate limiting\n * execution of handlers on events like resize and scroll.\n *\n * @param {Number} delay A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful.\n * @param {Boolean} [noTrailing] Optional, defaults to false. If noTrailing is true, callback will only execute every `delay` milliseconds while the\n * throttled-function is being called. If noTrailing is false or unspecified, callback will be executed one final time\n * after the last throttled-function call. (After the throttled-function has not been called for `delay` milliseconds,\n * the internal counter is reset)\n * @param {Function} callback A function to be executed after delay milliseconds. The `this` context and all arguments are passed through, as-is,\n * to `callback` when the throttled-function is executed.\n * @param {Boolean} [debounceMode] If `debounceMode` is true (at begin), schedule `clear` to execute after `delay` ms. If `debounceMode` is false (at end),\n * schedule `callback` to execute after `delay` ms.\n *\n * @return {Function} A new, throttled, function.\n */\nmodule.exports = function ( delay, noTrailing, callback, debounceMode ) {\n\n\t// After wrapper has stopped being called, this timeout ensures that\n\t// `callback` is executed at the proper times in `throttle` and `end`\n\t// debounce modes.\n\tvar timeoutID;\n\n\t// Keep track of the last time `callback` was executed.\n\tvar lastExec = 0;\n\n\t// `noTrailing` defaults to falsy.\n\tif ( typeof noTrailing !== 'boolean' ) {\n\t\tdebounceMode = callback;\n\t\tcallback = noTrailing;\n\t\tnoTrailing = undefined;\n\t}\n\n\t// The `wrapper` function encapsulates all of the throttling / debouncing\n\t// functionality and when executed will limit the rate at which `callback`\n\t// is executed.\n\tfunction wrapper () {\n\n\t\tvar self = this;\n\t\tvar elapsed = Number(new Date()) - lastExec;\n\t\tvar args = arguments;\n\n\t\t// Execute `callback` and update the `lastExec` timestamp.\n\t\tfunction exec () {\n\t\t\tlastExec = Number(new Date());\n\t\t\tcallback.apply(self, args);\n\t\t}\n\n\t\t// If `debounceMode` is true (at begin) this is used to clear the flag\n\t\t// to allow future `callback` executions.\n\t\tfunction clear () {\n\t\t\ttimeoutID = undefined;\n\t\t}\n\n\t\tif ( debounceMode && !timeoutID ) {\n\t\t\t// Since `wrapper` is being called for the first time and\n\t\t\t// `debounceMode` is true (at begin), execute `callback`.\n\t\t\texec();\n\t\t}\n\n\t\t// Clear any existing timeout.\n\t\tif ( timeoutID ) {\n\t\t\tclearTimeout(timeoutID);\n\t\t}\n\n\t\tif ( debounceMode === undefined && elapsed > delay ) {\n\t\t\t// In throttle mode, if `delay` time has been exceeded, execute\n\t\t\t// `callback`.\n\t\t\texec();\n\n\t\t} else if ( noTrailing !== true ) {\n\t\t\t// In trailing throttle mode, since `delay` time has not been\n\t\t\t// exceeded, schedule `callback` to execute `delay` ms after most\n\t\t\t// recent execution.\n\t\t\t//\n\t\t\t// If `debounceMode` is true (at begin), schedule `clear` to execute\n\t\t\t// after `delay` ms.\n\t\t\t//\n\t\t\t// If `debounceMode` is false (at end), schedule `callback` to\n\t\t\t// execute after `delay` ms.\n\t\t\ttimeoutID = setTimeout(debounceMode ? clear : exec, debounceMode === undefined ? delay - elapsed : delay);\n\t\t}\n\n\t}\n\n\t// Return the wrapper function.\n\treturn wrapper;\n\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/throttle-debounce/throttle.js\n// module id = 5\n// module chunks = 0","import {waitForWebfonts} from './scripts/utilities'\nimport Site from './scripts/Site'\n\nconst onLoad = () => {\n const site = new Site()\n site.initDivertissement()\n}\n\nwindow.onload = waitForWebfonts(['Roboto:400,100,300,700,900'], onLoad)\n\n\n\n// WEBPACK FOOTER //\n// ./src/index.js","/* Web Font Loader v1.6.28 - (c) Adobe Systems, Google. License: Apache 2.0 */(function(){function aa(a,b,c){return a.call.apply(a.bind,arguments)}function ba(a,b,c){if(!a)throw Error();if(2=b.f?e():a.fonts.load(fa(b.a),b.h).then(function(a){1<=a.length?d():setTimeout(f,25)},function(){e()})}f()}),e=null,f=new Promise(function(a,d){e=setTimeout(d,b.f)});Promise.race([f,d]).then(function(){e&&(clearTimeout(e),e=null);b.g(b.a)},function(){b.j(b.a)})};function Q(a,b,c,d,e,f,g){this.v=a;this.B=b;this.c=c;this.a=d;this.s=g||\"BESbswy\";this.f={};this.w=e||3E3;this.u=f||null;this.m=this.j=this.h=this.g=null;this.g=new M(this.c,this.s);this.h=new M(this.c,this.s);this.j=new M(this.c,this.s);this.m=new M(this.c,this.s);a=new G(this.a.c+\",serif\",J(this.a));a=O(a);this.g.a.style.cssText=a;a=new G(this.a.c+\",sans-serif\",J(this.a));a=O(a);this.h.a.style.cssText=a;a=new G(\"serif\",J(this.a));a=O(a);this.j.a.style.cssText=a;a=new G(\"sans-serif\",J(this.a));a=\nO(a);this.m.a.style.cssText=a;N(this.g);N(this.h);N(this.j);N(this.m)}var R={D:\"serif\",C:\"sans-serif\"},S=null;function T(){if(null===S){var a=/AppleWebKit\\/([0-9]+)(?:\\.([0-9]+))/.exec(window.navigator.userAgent);S=!!a&&(536>parseInt(a[1],10)||536===parseInt(a[1],10)&&11>=parseInt(a[2],10))}return S}Q.prototype.start=function(){this.f.serif=this.j.a.offsetWidth;this.f[\"sans-serif\"]=this.m.a.offsetWidth;this.A=q();U(this)};\nfunction la(a,b,c){for(var d in R)if(R.hasOwnProperty(d)&&b===a.f[R[d]]&&c===a.f[R[d]])return!0;return!1}function U(a){var b=a.g.a.offsetWidth,c=a.h.a.offsetWidth,d;(d=b===a.f.serif&&c===a.f[\"sans-serif\"])||(d=T()&&la(a,b,c));d?q()-a.A>=a.w?T()&&la(a,b,c)&&(null===a.u||a.u.hasOwnProperty(a.a.c))?V(a,a.v):V(a,a.B):ma(a):V(a,a.v)}function ma(a){setTimeout(p(function(){U(this)},a),50)}function V(a,b){setTimeout(p(function(){v(this.g.a);v(this.h.a);v(this.j.a);v(this.m.a);b(this.a)},a),0)};function W(a,b,c){this.c=a;this.a=b;this.f=0;this.m=this.j=!1;this.s=c}var X=null;W.prototype.g=function(a){var b=this.a;b.g&&w(b.f,[b.a.c(\"wf\",a.c,J(a).toString(),\"active\")],[b.a.c(\"wf\",a.c,J(a).toString(),\"loading\"),b.a.c(\"wf\",a.c,J(a).toString(),\"inactive\")]);K(b,\"fontactive\",a);this.m=!0;na(this)};\nW.prototype.h=function(a){var b=this.a;if(b.g){var c=y(b.f,b.a.c(\"wf\",a.c,J(a).toString(),\"active\")),d=[],e=[b.a.c(\"wf\",a.c,J(a).toString(),\"loading\")];c||d.push(b.a.c(\"wf\",a.c,J(a).toString(),\"inactive\"));w(b.f,d,e)}K(b,\"fontinactive\",a);na(this)};function na(a){0==--a.f&&a.j&&(a.m?(a=a.a,a.g&&w(a.f,[a.a.c(\"wf\",\"active\")],[a.a.c(\"wf\",\"loading\"),a.a.c(\"wf\",\"inactive\")]),K(a,\"active\")):L(a.a))};function oa(a){this.j=a;this.a=new ja;this.h=0;this.f=this.g=!0}oa.prototype.load=function(a){this.c=new ca(this.j,a.context||this.j);this.g=!1!==a.events;this.f=!1!==a.classes;pa(this,new ha(this.c,a),a)};\nfunction qa(a,b,c,d,e){var f=0==--a.h;(a.f||a.g)&&setTimeout(function(){var a=e||null,m=d||null||{};if(0===c.length&&f)L(b.a);else{b.f+=c.length;f&&(b.j=f);var h,l=[];for(h=0;h {\n ev.preventDefault()\n this.show()\n })\n }\n }\n\n _initEvents () {\n window.onresize = debounce(100, false, this.initDivertissement.bind(this))\n utils.onBeforePrint(this.destroy.bind(this))\n }\n\n _hideLoader () {\n document.querySelector('#loader').setAttribute('uiState', 'hidden')\n }\n\n resizeScenes () {\n const innerWidth = window.innerWidth\n const clientHeight = utils.isMobile() ? document.documentElement.clientHeight : window.innerHeight;\n\n [].forEach.call(document.querySelectorAll('[data-scene] svg'), scene => {\n utils.setAttributes(scene, {\n width: innerWidth,\n height: clientHeight\n })\n })\n\n utils.setAttributes(document.querySelector('#menu svg'), {\n width: innerWidth,\n height: (clientHeight * 60) / 768\n })\n\n document.querySelector('#menu').style.width = `${innerWidth}px`\n document.querySelector('#menu').style.height = `${(clientHeight * 60) / 768}px`\n }\n\n _buildDOMElements () {\n this.siteRoot = utils.createElementWithAttrs('figure', {role: 'site'})\n const nav = utils.createElementWithAttrs('nav', {id: 'menu'})\n this.siteRoot.appendChild(nav)\n for (let key in this.timing) {\n this.siteRoot.appendChild(utils.createElementWithAttrs('div', {\n 'data-scene': key,\n id: key\n }))\n }\n document.body.appendChild(this.siteRoot)\n }\n\n _initScenes () {\n for (let name in this.scenes) {\n this.scenes[name].init(this)\n }\n\n menu.init(this)\n }\n\n initDivertissement () {\n if (utils.shouldFallbackToBoringCV()) {\n this.destroy()\n } else {\n this.resizeScenes()\n this.show()\n }\n }\n\n getSkrollrConfiguration () {\n return {\n render: data => {\n for (let name in this.scenes) {\n if (typeof this.scenes[name].render === 'function') {\n this.scenes[name].render(data)\n }\n }\n },\n beforerender: data => {\n for (let name in this.scenes) {\n if (typeof this.scenes[name].beforerender === 'function') {\n this.scenes[name].beforerender(data)\n }\n }\n }\n }\n }\n\n initSkrollr () {\n if (!skrollr.get()) {\n this.skrollr = skrollr.init(Object.assign(this.defaults, this.getSkrollrConfiguration()))\n skrollr.stylesheets.init()\n\n skrollr.menu.init(this.skrollr, {\n animate: true,\n easing: 'swing',\n scenes: this.timing,\n scale: 1,\n duration (currentTop, targetTop) {\n return Math.abs(currentTop - targetTop) * 0.5\n }\n })\n }\n\n this.skrollr.refresh()\n }\n\n show () {\n document.body.setAttribute('data-display', 'divertissement')\n document.querySelector('#vignette').setAttribute('uiState', 'show')\n this.siteRoot.setAttribute('uiState', 'show')\n this.initSkrollr()\n }\n\n destroy () {\n document.body.removeAttribute('style')\n document.body.removeAttribute('data-display')\n document.querySelector('#vignette').setAttribute('uiState', 'hidden')\n this.siteRoot.setAttribute('uiState', 'hidden')\n if (skrollr.get()) {\n this.skrollr.destroy()\n window.scroll(0, 0)\n }\n }\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/scripts/Site.js","import sceneSvg from './scene.svg'\nimport sceneHtml from './scene.html'\n\nexport default {\n\n init () {\n document.querySelector('#menu').innerHTML = sceneHtml\n document.querySelector('#menu .svg').innerHTML = sceneSvg\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/svg/menu/animation.js","module.exports = \"ABOUT MESKILLSWORKCONNECT\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/svg/menu/scene.svg\n// module id = 10\n// module chunks = 0","module.exports = \"
\\n\\n\\n\\n
\\n\\n
\\n\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/svg/menu/scene.html\n// module id = 11\n// module chunks = 0","import anime from 'animejs'\nimport sceneSvg from './scene.svg'\nimport sceneHtml from './scene.html'\n\nexport default {\n lightlast: 'none',\n lastKeyPercentage: 0,\n minY: 400,\n maxY: 700,\n isOnscreen: false,\n\n init (site) {\n document.querySelector('[data-scene=\"scene1\"]').innerHTML = sceneHtml\n\n document.querySelector('[data-scene=\"scene1\"] .svg').innerHTML = sceneSvg\n\n document.querySelector('#intro2').addEventListener('click', () => {\n window.open('http://www.workshare.com', '_blank')\n })\n\n document.querySelector('#viewresume').addEventListener('click', () => {\n site.destroy()\n })\n\n this.activateCvLink()\n\n this.sceneTiming = site.timing.scene1\n },\n\n beforerender: function (data) {\n const scrolledPercentage = this.getScrolledPercentage(data, this.sceneTiming)\n\n this.isOnscreen = scrolledPercentage > 0 && scrolledPercentage <= 100\n },\n\n getScrolledPercentage (data, timing) {\n if (data.curTop <= timing.begin || data.curTop >= timing.end) {\n return 0\n }\n\n return Math.abs(((data.curTop - timing.begin) / timing.duration) * 100).toFixed(3)\n },\n\n render: function (data) {\n if (!this.isOnscreen) {\n return\n }\n\n this.renderMbpLight(data)\n },\n\n renderMbpLight (data) {\n const scrolledPercentage = this.getScrolledPercentage(data, this.sceneTiming)\n const keyFreqPercentage = Math.floor(Math.random() * 6) + 5\n\n if (scrolledPercentage > 0 && scrolledPercentage < 100) {\n const shouldExecute = Math.abs(scrolledPercentage - this.lastKeyPercentage) > keyFreqPercentage\n\n if (shouldExecute) {\n this.lightlast = this.lightlast === 'none' ? 'inline' : 'none'\n document.querySelector('#mbplight').style.display = this.lightlast\n\n this.lastKeyPercentage = scrolledPercentage\n }\n }\n },\n\n activateCvLink () {\n anime({targets: '#scrolldown', opacity: 1, delay: 1500})\n anime({targets: '#viewresume', opacity: 1, delay: 2500})\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/svg/scene1/animation.js","module.exports = \"helloscroll downor just view my resume.a design and technology hybrid . - Participate in the design process: Discover, Ideate, Design & Def ine - Leads the UI development efforts across all web applications, ensuring best practices are followed at all times. * An engineer who has the technical knowhow and edge to create production code and: I’m Lead Product Design Engineer* @ Workshare.com, LondonI’m Albino Tonnina,a self-taught developer.\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/svg/scene1/scene.svg\n// module id = 13\n// module chunks = 0","module.exports = \"
\\n\\n\\n\\n
\\n\\n
\\n\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/svg/scene1/scene.html\n// module id = 14\n// module chunks = 0","import sceneSvg from './scene.svg'\nimport sceneHtml from './scene.html'\n\nexport default {\n\n init () {\n document.querySelector('[data-scene=\"scene2\"]').innerHTML = sceneHtml\n document.querySelector('[data-scene=\"scene2\"] .svg').innerHTML = sceneSvg\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/svg/scene2/animation.js","module.exports = \"to Londonfrom RomeIn 2014 I moved\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/svg/scene2/scene.svg\n// module id = 16\n// module chunks = 0","module.exports = \"
\\n\\n\\n\\n
\\n\\n
\\n\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/svg/scene2/scene.html\n// module id = 17\n// module chunks = 0","import sceneSvg from './scene.svg'\nimport sceneHtml from './scene.html'\n\nexport default {\n\n init () {\n document.querySelector('[data-scene=\"scene3\"]').innerHTML = sceneHtml\n document.querySelector('[data-scene=\"scene3\"] .svg').innerHTML = sceneSvg\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/svg/scene3/animation.js","module.exports = \"At work, I do:UX and Design Front-End development Mobile ApplicationsResponsive Web DesignProject ManagementEstimating / Strategy / PlanningClient relationshipMentoring, Team Leading\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/svg/scene3/scene.svg\n// module id = 19\n// module chunks = 0","module.exports = \"
\\n\\n\\n\\n
\\n\\n
\\n\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/svg/scene3/scene.html\n// module id = 20\n// module chunks = 0","import sceneSvg from './scene.svg'\nimport sceneHtml from './scene.html'\n\nexport default {\n init () {\n document.querySelector('[data-scene=\"scene4\"]').innerHTML = sceneHtml\n document.querySelector('[data-scene=\"scene4\"] .svg').innerHTML = sceneSvg\n\n document.querySelector('#lalineag').addEventListener('click', () => {\n window.open('http://en.wikipedia.org/wiki/La_Linea_(TV_series)')\n })\n document.querySelector('#book1').addEventListener('click', () => {\n window.open('https://youtu.be/9BdtGjoIN4E?t=10s')\n })\n document.querySelector('#book2').addEventListener('click', () => {\n window.open('https://www.youtube.com/watch?v=p0O1VVqRSK0')\n })\n document.querySelector('#book3').addEventListener('click', () => {\n window.open('https://addyosmani.com/resources/essentialjsdesignpatterns/book/')\n })\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/svg/scene4/animation.js","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/svg/scene4/scene.svg\n// module id = 22\n// module chunks = 0","module.exports = \"\\n\\n
\\n\\n\\n
\\n\\n
\\n\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/svg/scene4/scene.html\n// module id = 23\n// module chunks = 0","import sceneSvg from './scene.svg'\nimport sceneHtml from './scene.html'\nimport * as utils from '../../scripts/utilities'\n\nexport default {\n iskey: 0,\n keyfreq: Math.floor(Math.random() * 2) + 4,\n lightfreq: Math.floor(Math.random() * 21) + 10,\n lightlast: 'none',\n islight: 0,\n mousefreq: Math.floor(Math.random() * 21) + 30,\n ismouse: 0,\n mouselast: 0,\n minY: 3600,\n maxY: 5800,\n newq: [0, 0],\n\n init (site) {\n document.querySelector('[data-scene=\"scene5\"]').innerHTML = sceneHtml\n document.querySelector('[data-scene=\"scene5\"] .svg').innerHTML = sceneSvg\n\n this.addVideoPlayer(site)\n\n this.getPhoneDimensionsInAHackyWayCauseFirefoxDoesNotWork()\n },\n\n getPhoneDimensionsInAHackyWayCauseFirefoxDoesNotWork () {\n const rectt = document.querySelector('#iphone5positionpath')\n const newrect = rectt.cloneNode(true)\n newrect.setAttribute('id', 'dear_firefox_come_on')\n newrect.setAttribute('fill', 'transparent')\n newrect.setAttribute('transform', 'rotate(90) translate(-6930, -530) scale(8)')\n\n // const svg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');\n // document.body.appendChild(svg);\n\n const svg = document.querySelector('#svg5')\n\n svg.appendChild(newrect)\n },\n\n addVideoPlayer (site) {\n const videoPlayerDiv = utils.createElementWithAttrs('div', {\n id: 'videoPlayer'\n })\n\n const videoPlayerIframe = utils.createElementWithAttrs('iframe', {\n id: 'vimeoPlayer',\n src: '//player.vimeo.com/video/88016428',\n width: '100%',\n height: '100%',\n frameborder: '0',\n allowfullscreen: true\n })\n\n videoPlayerDiv.appendChild(videoPlayerIframe)\n site.siteRoot.appendChild(videoPlayerDiv)\n },\n\n render: function (data) {\n if (data.curTop > 5550 && data.curTop < 5900) {\n // console.log('resizing');\n\n const rect = document.querySelector('#dear_firefox_come_on').getBoundingClientRect()\n\n const videoPlayerIframe = document.querySelector('#videoPlayer')\n videoPlayerIframe.style.left = `${Math.floor(rect.left)}px`\n videoPlayerIframe.style.top = `${Math.floor(rect.top)}px`\n videoPlayerIframe.style.width = `${Math.floor(rect.width)}px`\n videoPlayerIframe.style.height = `${Math.floor(rect.height)}px`\n }\n\n if (data.curTop > this.minY && data.curTop < this.maxY) {\n if ((data.curTop - this.iskey > this.keyfreq && data.direction === 'down') || (this.iskey - data.curTop > this.keyfreq && data.direction === 'up')) {\n const keys1 = document.querySelectorAll('#keyboard rect')\n const keys2 = document.querySelectorAll('#keyboard2 rect')\n const keys3 = document.querySelectorAll('#keyboard3 rect')\n\n const randomKey1 = Math.floor(Math.random() * keys1.length)\n const randomKey2 = Math.floor(Math.random() * keys2.length)\n const randomKey3 = Math.floor(Math.random() * keys3.length)\n\n keys1[randomKey1].style.fill = '#ccd1d9'\n keys2[randomKey2].style.fill = '#f7f9f8'\n keys3[randomKey3].style.fill = '#f7f9f8'\n\n this.iskey = data.curTop\n }\n\n if ((data.curTop - this.islight > this.lightfreq && data.direction === 'down') || (this.islight - data.curTop > this.lightfreq && data.direction === 'up')) {\n this.lightlast = this.lightlast === 'none' ? 'inline' : 'none'\n document.querySelector('#imaclight').style.display = this.lightlast\n this.islight = data.curTop\n }\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/svg/scene5/animation.js","module.exports = \"as an entrepreneuras an employeeas a freelancerOver the years I worked for clients and companies\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/svg/scene5/scene.svg\n// module id = 25\n// module chunks = 0","module.exports = \"
\\n\\n\\n\\n
\\n\\n
\\n\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/svg/scene5/scene.html\n// module id = 26\n// module chunks = 0","import sceneSvg from './scene.svg'\nimport sceneHtml from './scene.html'\nimport anime from 'animejs'\nimport keywordArray from './keywords'\nimport {knuthShuffle} from 'knuth-shuffle'\n// import * as utils from '../../scripts/utilities';\nimport {debounce, throttle} from 'throttle-debounce'\nimport {createElementWithAttrs} from '../../scripts/utilities'\n\nexport default {\n skillShape: {\n pos: [6000, 6200, 6400, 6600, 6800, 7000, 7200, 7400],\n points: [\n '729.6,-147.8 748.5,-69.4 709.5,-69.4',\n '729.6,-147.8 765.8,-53.3 709.5,-69.4',\n '729.6,-164.2 765.8,-53.3 693.4,-53.3',\n '729.6,-167 783.6,-36.7 693.4,-53.3',\n '729.6,-203 783.6,-36.7 664,-25.9',\n '729.6,-203 819.4,-3.3 625.9,9.6',\n '729.6,-230.5 833.3,9.6 625.9,9.6'\n ],\n repeat: 0\n },\n\n me: {\n pos: [7300, 7340],\n repeat: 0\n },\n\n lastKeyPercentage: 0,\n\n repeat: 0,\n\n get newskills () {\n return knuthShuffle(keywordArray.slice(0))\n },\n\n init (site) {\n document.querySelector('[data-scene=\"scene6\"]').innerHTML = sceneHtml\n document.querySelector('[data-scene=\"scene6\"] .svg').innerHTML = sceneSvg\n\n this.initClickEvents(site)\n this.skills = this.newskills\n this.sceneTiming = site.timing.scene6\n\n this.animateMe = debounce(10000, true, this.animateMe)\n this.resizeSkills = throttle(250, true, this.resizeSkills)\n },\n\n beforerender: function (data) {\n return this.getScrolledPercentage(data, this.sceneTiming) > 0\n },\n\n render: function (data) {\n this.renderSkillWords(data)\n this.resizeSkills()\n this.renderSkills(data)\n this.renderMe(data)\n },\n\n getScrolledPercentage (data, timing) {\n return data.curTop >= timing.begin ? Math.abs(((data.curTop - timing.begin) / timing.duration) * 100).toFixed(3) : 0\n },\n\n initClickEvents (site) {\n document.querySelector('#email').addEventListener('click', () => {\n window.open('mailto:albinotonnina@gmail.com')\n })\n\n document.querySelector('#medium').addEventListener('click', () => {\n window.open('https://medium.com/@albinotonnina')\n })\n\n document.querySelector('#linkedin').addEventListener('click', () => {\n window.open('http://www.linkedin.com/in/albinotonnina', '_blank')\n })\n\n document.querySelector('#githubsite').addEventListener('click', () => {\n window.open('http://github.com/albinotonnina/albinotonnina.com', '_blank')\n })\n\n document.querySelector('#instagram').addEventListener('click', () => {\n window.open('http://www.instagram.com/albino_tonnina', '_blank')\n })\n\n document.querySelector('#twitter').addEventListener('click', () => {\n window.open('https://twitter.com/albinotonnina', '_blank')\n })\n\n document.querySelector('#contactresume').addEventListener('click', () => {\n site.destroy()\n })\n },\n\n animateSkills (points, animationNum) {\n anime({\n targets: '#skillpath',\n points: points,\n easing: 'easeOutQuad',\n duration: 1000,\n begin: () => {\n this.skillShape.repeat = animationNum\n }\n })\n },\n\n animateMe () {\n anime({\n targets: '#invincible #me',\n translateY: '-30px',\n easing: 'easeInOutQuad',\n duration: 1000,\n loop: 12,\n direction: 'alternate'\n })\n },\n\n gen (minX, maxX, minY, maxY) {\n return {\n top: Math.floor(Math.random() * (maxX - minX + 1) + minX),\n left: Math.floor(Math.random() * (maxY - minY + 1) + minY)\n }\n },\n\n renderSkills (data) {\n for (let i = 0; i < this.skillShape.points.length; i++) {\n if (data.curTop > this.skillShape.pos[i] && data.curTop < this.skillShape.pos[i + 1] && this.skillShape.repeat !== i + 1) {\n this.animateSkills(this.skillShape.points[i], i + 1)\n }\n }\n },\n\n renderMe (data) {\n if (data.curTop > this.me.pos[0] && data.curTop < this.me.pos[1]) {\n this.animateMe()\n }\n },\n\n renderSkillWords (data) {\n const keyFreqPercentage = 2\n const scrolledPercentage = this.getScrolledPercentage(data, this.sceneTiming)\n\n if (scrolledPercentage > 2 && scrolledPercentage < 45) {\n const shouldExecute = Math.abs(scrolledPercentage - this.lastKeyPercentage) > keyFreqPercentage\n\n if (shouldExecute) {\n const word = this.skills.pop()\n const fontSize = Math.abs((Math.random() * 32)) + 16\n const minX = (window.innerWidth / 2)\n const maxX = window.innerWidth - (word.length * fontSize)\n const top = Math.floor((Math.random() * (window.innerHeight)) + 1)\n const left = Math.floor(Math.random() * (maxX - minX + 1) + minX)\n\n const wordTag = createElementWithAttrs('div', {\n class: 'word',\n style: `font-size: ${fontSize}px; top: ${top}px; left: ${left}px`\n })\n\n wordTag.innerHTML = word\n document.querySelector('#skills_container').appendChild(wordTag)\n\n anime({\n targets: wordTag,\n opacity: 0.6,\n scale: 1.4,\n direction: 'alternate',\n easing: 'easeInOutQuart'\n })\n\n if (this.skills.length < 1) {\n this.skills = this.newskills\n }\n\n this.lastKeyPercentage = scrolledPercentage\n }\n } else if (scrolledPercentage) {\n document.querySelector('#skills_container').innerHTML = ''\n }\n },\n\n resizeSkills () {\n // console.log('document.querySelector(\\'#skills\\')', document.querySelector('#skills'));\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/svg/scene6/animation.js","module.exports = \"Front endUser ExperienceGraphicsAs for the future:copyright 2017 Albino Tonninahas a public repository on GitHub.is powered by:is hosted on:This website:MediumLinkedIn profileInstagramView resumealbinotonnina@gmail.comTo stay connected:Bye!@albinotonnina\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/svg/scene6/scene.svg\n// module id = 28\n// module chunks = 0","module.exports = \"
\\n\\n
\\n
\\n\\n
\\n \\n
\\n\\n
\\n \\n
\\n\\n
\\n
\\n\\n
\\n \\n
\\n\\n
\\n \\n
\\n\\n
\\n
\\n\\n
\\n \\n
\\n\\n
\\n \\n
\\n\\n
\\n
\\n\\n\\n\\n
\\n \\n
\\n\\n
\\n \\n
\\n\\n
\\n
\\n\\n\\n\\n
\\n \\n
\\n\\n
\\n \\n
\\n\\n
\\n
\\n\\n\\n\\n
\\n \\n
\\n\\n
\\n \\n
\\n\\n
\\n
\\n\\n\\n\\n
\\n \\n
\\n\\n
\\n \\n
\\n\\n
\\n
\\n\\n
\\n\\n
\\n\\n\\n
\\n\\n
\\n\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/svg/scene6/scene.html\n// module id = 29\n// module chunks = 0","module.exports = __webpack_public_path__ + \"4620759a9c5f6da98afbf5ecb091f44f.jpg\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/svg/scene6/images/jonathan_snook.jpg\n// module id = 30\n// module chunks = 0","module.exports = __webpack_public_path__ + \"e37eb702b90d52502fca6bfb137e96f6.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/svg/scene6/images/jonathan_snook.png\n// module id = 31\n// module chunks = 0","module.exports = __webpack_public_path__ + \"44385e891026619f48685c07d704e947.jpg\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/svg/scene6/images/vitaly_friedman.jpg\n// module id = 32\n// module chunks = 0","module.exports = __webpack_public_path__ + \"504f8b90d23ef37681af759338752c85.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/svg/scene6/images/vitaly_friedman.png\n// module id = 33\n// module chunks = 0","module.exports = __webpack_public_path__ + \"2ea821aa6fc744734657634a26d3da10.jpg\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/svg/scene6/images/addy_osmani.jpg\n// module id = 34\n// module chunks = 0","module.exports = __webpack_public_path__ + \"678cc39a2e1f8e190cb23e208666116b.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/svg/scene6/images/addy_osmani.png\n// module id = 35\n// module chunks = 0","module.exports = __webpack_public_path__ + \"8dfd0ccc41d90dbb8d2ff7e27af69306.jpg\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/svg/scene6/images/douglas_crockford.jpg\n// module id = 36\n// module chunks = 0","module.exports = __webpack_public_path__ + \"9def03e1146848bf91cb83705bb79e2e.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/svg/scene6/images/douglas_crockford.png\n// module id = 37\n// module chunks = 0","module.exports = __webpack_public_path__ + \"8d754e9d5bf33bb92e9c5bccfc497c98.jpg\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/svg/scene6/images/colleagues1.jpg\n// module id = 38\n// module chunks = 0","module.exports = __webpack_public_path__ + \"f019f1a892572b5a8cdcedffc14cf939.jpg\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/svg/scene6/images/colleagues2.jpg\n// module id = 39\n// module chunks = 0","module.exports = __webpack_public_path__ + \"b48d9a3d7254e26db03c1aead184051f.jpg\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/svg/scene6/images/colleagues3.jpg\n// module id = 40\n// module chunks = 0","export default [\n 'Progressive disclosure',\n 'Red route',\n 'Stakeholder Interviews',\n 'Usability engineering',\n 'User-centred design',\n 'User journey',\n 'Lean UX',\n 'Iterative design',\n 'Information scent',\n 'The Double Diamond',\n 'Principles Over Standards',\n 'Accessibility First',\n 'Functional Programming',\n 'Offline Web Apps',\n 'Shadow DOM',\n 'Continuous integration',\n 'Test-driven development',\n 'Pair programming',\n 'Experience design',\n 'Module bundlers',\n 'React',\n 'Redux',\n 'Application architectures',\n 'ES2017',\n 'Jest',\n 'Visual regression testing',\n 'Snapshot testing',\n 'Type inference',\n 'RxJS',\n 'Focus on affordance',\n 'Forward thinking',\n 'Leadership',\n 'Mentoring',\n 'Internet of things',\n 'Async functions'\n]\n\n\n\n// WEBPACK FOOTER //\n// ./src/svg/scene6/keywords.js","/*jshint -W054 */\n(function (exports) {\n 'use strict';\n\n // http://stackoverflow.com/questions/2450954/how-to-randomize-shuffle-a-javascript-array\n function shuffle(array) {\n var currentIndex = array.length\n , temporaryValue\n , randomIndex\n ;\n\n // While there remain elements to shuffle...\n while (0 !== currentIndex) {\n\n // Pick a remaining element...\n randomIndex = Math.floor(Math.random() * currentIndex);\n currentIndex -= 1;\n\n // And swap it with the current element.\n temporaryValue = array[currentIndex];\n array[currentIndex] = array[randomIndex];\n array[randomIndex] = temporaryValue;\n }\n\n return array;\n }\n\n exports.knuthShuffle = shuffle;\n}('undefined' !== typeof exports && exports || 'undefined' !== typeof window && window || global));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/knuth-shuffle/index.js\n// module id = 42\n// module chunks = 0","/* eslint-disable no-undefined */\n\nvar throttle = require('./throttle');\n\n/**\n * Debounce execution of a function. Debouncing, unlike throttling,\n * guarantees that a function is only executed a single time, either at the\n * very beginning of a series of calls, or at the very end.\n *\n * @param {Number} delay A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful.\n * @param {Boolean} [atBegin] Optional, defaults to false. If atBegin is false or unspecified, callback will only be executed `delay` milliseconds\n * after the last debounced-function call. If atBegin is true, callback will be executed only at the first debounced-function call.\n * (After the throttled-function has not been called for `delay` milliseconds, the internal counter is reset).\n * @param {Function} callback A function to be executed after delay milliseconds. The `this` context and all arguments are passed through, as-is,\n * to `callback` when the debounced-function is executed.\n *\n * @return {Function} A new, debounced function.\n */\nmodule.exports = function ( delay, atBegin, callback ) {\n\treturn callback === undefined ? throttle(delay, atBegin, false) : throttle(delay, callback, atBegin !== false);\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/throttle-debounce/debounce.js\n// module id = 43\n// module chunks = 0","import skrollr from 'skrollr'\nimport skrollrmenu from '../libs/skrollr.menu'\nimport skrollrstylesheets from '../libs/skrollr.stylesheets'\n\nexport default function () {\n skrollrstylesheets(skrollr)\n\n skrollrmenu(skrollr)\n\n return skrollr\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/libs/skrollr.scripts.js","/*! skrollr 0.6.26 (2014-06-08) | Alexander Prinzhorn - https://github.com/Prinzhorn/skrollr | Free to use under terms of MIT license */\n(function(e,t,r){\"use strict\";function n(r){if(o=t.documentElement,a=t.body,K(),it=this,r=r||{},ut=r.constants||{},r.easing)for(var n in r.easing)U[n]=r.easing[n];yt=r.edgeStrategy||\"set\",ct={beforerender:r.beforerender,render:r.render,keyframe:r.keyframe},ft=r.forceHeight!==!1,ft&&(Vt=r.scale||1),mt=r.mobileDeceleration||x,dt=r.smoothScrolling!==!1,gt=r.smoothScrollingDuration||E,vt={targetTop:it.getScrollTop()},Gt=(r.mobileCheck||function(){return/Android|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent||navigator.vendor||e.opera)})(),Gt?(st=t.getElementById(\"skrollr-body\"),st&&at(),X(),Dt(o,[y,S],[T])):Dt(o,[y,b],[T]),it.refresh(),St(e,\"resize orientationchange\",function(){var e=o.clientWidth,t=o.clientHeight;(t!==$t||e!==Mt)&&($t=t,Mt=e,_t=!0)});var i=Y();return function l(){Z(),bt=i(l)}(),it}var o,a,i={get:function(){return it},init:function(e){return it||new n(e)},VERSION:\"0.6.26\"},l=Object.prototype.hasOwnProperty,s=e.Math,c=e.getComputedStyle,f=\"touchstart\",u=\"touchmove\",m=\"touchcancel\",p=\"touchend\",d=\"skrollable\",g=d+\"-before\",v=d+\"-between\",h=d+\"-after\",y=\"skrollr\",T=\"no-\"+y,b=y+\"-desktop\",S=y+\"-mobile\",k=\"linear\",w=1e3,x=.004,E=200,A=\"start\",F=\"end\",C=\"center\",D=\"bottom\",H=\"___skrollable_id\",I=/^(?:input|textarea|button|select)$/i,P=/^\\s+|\\s+$/g,N=/^data(?:-(_\\w+))?(?:-?(-?\\d*\\.?\\d+p?))?(?:-?(start|end|top|center|bottom))?(?:-?(top|center|bottom))?$/,O=/\\s*(@?[\\w\\-\\[\\]]+)\\s*:\\s*(.+?)\\s*(?:;|$)/gi,V=/^(@?[a-z\\-]+)\\[(\\w+)\\]$/,z=/-([a-z0-9_])/g,q=function(e,t){return t.toUpperCase()},L=/[\\-+]?[\\d]*\\.?[\\d]+/g,M=/\\{\\?\\}/g,$=/rgba?\\(\\s*-?\\d+\\s*,\\s*-?\\d+\\s*,\\s*-?\\d+/g,_=/[a-z\\-]+-gradient/g,B=\"\",G=\"\",K=function(){var e=/^(?:O|Moz|webkit|ms)|(?:-(?:o|moz|webkit|ms)-)/;if(c){var t=c(a,null);for(var n in t)if(B=n.match(e)||+n==n&&t[n].match(e))break;if(!B)return B=G=\"\",r;B=B[0],\"-\"===B.slice(0,1)?(G=B,B={\"-webkit-\":\"webkit\",\"-moz-\":\"Moz\",\"-ms-\":\"ms\",\"-o-\":\"O\"}[B]):G=\"-\"+B.toLowerCase()+\"-\"}},Y=function(){var t=e.requestAnimationFrame||e[B.toLowerCase()+\"RequestAnimationFrame\"],r=Pt();return(Gt||!t)&&(t=function(t){var n=Pt()-r,o=s.max(0,1e3/60-n);return e.setTimeout(function(){r=Pt(),t()},o)}),t},R=function(){var t=e.cancelAnimationFrame||e[B.toLowerCase()+\"CancelAnimationFrame\"];return(Gt||!t)&&(t=function(t){return e.clearTimeout(t)}),t},U={begin:function(){return 0},end:function(){return 1},linear:function(e){return e},quadratic:function(e){return e*e},cubic:function(e){return e*e*e},swing:function(e){return-s.cos(e*s.PI)/2+.5},sqrt:function(e){return s.sqrt(e)},outCubic:function(e){return s.pow(e-1,3)+1},bounce:function(e){var t;if(.5083>=e)t=3;else if(.8489>=e)t=9;else if(.96208>=e)t=27;else{if(!(.99981>=e))return 1;t=91}return 1-s.abs(3*s.cos(1.028*e*t)/t)}};n.prototype.refresh=function(e){var n,o,a=!1;for(e===r?(a=!0,lt=[],Bt=0,e=t.getElementsByTagName(\"*\")):e.length===r&&(e=[e]),n=0,o=e.length;o>n;n++){var i=e[n],l=i,s=[],c=dt,f=yt,u=!1;if(a&&H in i&&delete i[H],i.attributes){for(var m=0,p=i.attributes.length;p>m;m++){var g=i.attributes[m];if(\"data-anchor-target\"!==g.name)if(\"data-smooth-scrolling\"!==g.name)if(\"data-edge-strategy\"!==g.name)if(\"data-emit-events\"!==g.name){var v=g.name.match(N);if(null!==v){var h={props:g.value,element:i,eventType:g.name.replace(z,q)};s.push(h);var y=v[1];y&&(h.constant=y.substr(1));var T=v[2];/p$/.test(T)?(h.isPercentage=!0,h.offset=(0|T.slice(0,-1))/100):h.offset=0|T;var b=v[3],S=v[4]||b;b&&b!==A&&b!==F?(h.mode=\"relative\",h.anchors=[b,S]):(h.mode=\"absolute\",b===F?h.isEnd=!0:h.isPercentage||(h.offset=h.offset*Vt))}}else u=!0;else f=g.value;else c=\"off\"!==g.value;else if(l=t.querySelector(g.value),null===l)throw'Unable to find anchor target \"'+g.value+'\"'}if(s.length){var k,w,x;!a&&H in i?(x=i[H],k=lt[x].styleAttr,w=lt[x].classAttr):(x=i[H]=Bt++,k=i.style.cssText,w=Ct(i)),lt[x]={element:i,styleAttr:k,classAttr:w,anchorTarget:l,keyFrames:s,smoothScrolling:c,edgeStrategy:f,emitEvents:u,lastFrameIndex:-1},Dt(i,[d],[])}}}for(Et(),n=0,o=e.length;o>n;n++){var E=lt[e[n][H]];E!==r&&(J(E),et(E))}return it},n.prototype.relativeToAbsolute=function(e,t,r){var n=o.clientHeight,a=e.getBoundingClientRect(),i=a.top,l=a.bottom-a.top;return t===D?i-=n:t===C&&(i-=n/2),r===D?i+=l:r===C&&(i+=l/2),i+=it.getScrollTop(),0|i+.5},n.prototype.animateTo=function(e,t){t=t||{};var n=Pt(),o=it.getScrollTop();return pt={startTop:o,topDiff:e-o,targetTop:e,duration:t.duration||w,startTime:n,endTime:n+(t.duration||w),easing:U[t.easing||k],done:t.done},pt.topDiff||(pt.done&&pt.done.call(it,!1),pt=r),it},n.prototype.stopAnimateTo=function(){pt&&pt.done&&pt.done.call(it,!0),pt=r},n.prototype.isAnimatingTo=function(){return!!pt},n.prototype.isMobile=function(){return Gt},n.prototype.setScrollTop=function(t,r){return ht=r===!0,Gt?Kt=s.min(s.max(t,0),Ot):e.scrollTo(0,t),it},n.prototype.getScrollTop=function(){return Gt?Kt:e.pageYOffset||o.scrollTop||a.scrollTop||0},n.prototype.getMaxScrollTop=function(){return Ot},n.prototype.on=function(e,t){return ct[e]=t,it},n.prototype.off=function(e){return delete ct[e],it},n.prototype.destroy=function(){var e=R();e(bt),wt(),Dt(o,[T],[y,b,S]);for(var t=0,n=lt.length;n>t;t++)ot(lt[t].element);o.style.overflow=a.style.overflow=\"\",o.style.height=a.style.height=\"\",st&&i.setStyle(st,\"transform\",\"none\"),it=r,st=r,ct=r,ft=r,Ot=0,Vt=1,ut=r,mt=r,zt=\"down\",qt=-1,Mt=0,$t=0,_t=!1,pt=r,dt=r,gt=r,vt=r,ht=r,Bt=0,yt=r,Gt=!1,Kt=0,Tt=r};var X=function(){var n,i,l,c,d,g,v,h,y,T,b,S;St(o,[f,u,m,p].join(\" \"),function(e){var o=e.changedTouches[0];for(c=e.target;3===c.nodeType;)c=c.parentNode;switch(d=o.clientY,g=o.clientX,T=e.timeStamp,I.test(c.tagName)||e.preventDefault(),e.type){case f:n&&n.blur(),it.stopAnimateTo(),n=c,i=v=d,l=g,y=T;break;case u:I.test(c.tagName)&&t.activeElement!==c&&e.preventDefault(),h=d-v,S=T-b,it.setScrollTop(Kt-h,!0),v=d,b=T;break;default:case m:case p:var a=i-d,k=l-g,w=k*k+a*a;if(49>w){if(!I.test(n.tagName)){n.focus();var x=t.createEvent(\"MouseEvents\");x.initMouseEvent(\"click\",!0,!0,e.view,1,o.screenX,o.screenY,o.clientX,o.clientY,e.ctrlKey,e.altKey,e.shiftKey,e.metaKey,0,null),n.dispatchEvent(x)}return}n=r;var E=h/S;E=s.max(s.min(E,3),-3);var A=s.abs(E/mt),F=E*A+.5*mt*A*A,C=it.getScrollTop()-F,D=0;C>Ot?(D=(Ot-C)/F,C=Ot):0>C&&(D=-C/F,C=0),A*=1-D,it.animateTo(0|C+.5,{easing:\"outCubic\",duration:A})}}),e.scrollTo(0,0),o.style.overflow=a.style.overflow=\"hidden\"},j=function(){var e,t,r,n,a,i,l,c,f,u,m,p=o.clientHeight,d=At();for(c=0,f=lt.length;f>c;c++)for(e=lt[c],t=e.element,r=e.anchorTarget,n=e.keyFrames,a=0,i=n.length;i>a;a++)l=n[a],u=l.offset,m=d[l.constant]||0,l.frame=u,l.isPercentage&&(u*=p,l.frame=u),\"relative\"===l.mode&&(ot(t),l.frame=it.relativeToAbsolute(r,l.anchors[0],l.anchors[1])-u,ot(t,!0)),l.frame+=m,ft&&!l.isEnd&&l.frame>Ot&&(Ot=l.frame);for(Ot=s.max(Ot,Ft()),c=0,f=lt.length;f>c;c++){for(e=lt[c],n=e.keyFrames,a=0,i=n.length;i>a;a++)l=n[a],m=d[l.constant]||0,l.isEnd&&(l.frame=Ot-l.offset+m);e.keyFrames.sort(Nt)}},W=function(e,t){for(var r=0,n=lt.length;n>r;r++){var o,a,s=lt[r],c=s.element,f=s.smoothScrolling?e:t,u=s.keyFrames,m=u.length,p=u[0],y=u[u.length-1],T=p.frame>f,b=f>y.frame,S=T?p:y,k=s.emitEvents,w=s.lastFrameIndex;if(T||b){if(T&&-1===s.edge||b&&1===s.edge)continue;switch(T?(Dt(c,[g],[h,v]),k&&w>-1&&(xt(c,p.eventType,zt),s.lastFrameIndex=-1)):(Dt(c,[h],[g,v]),k&&m>w&&(xt(c,y.eventType,zt),s.lastFrameIndex=m)),s.edge=T?-1:1,s.edgeStrategy){case\"reset\":ot(c);continue;case\"ease\":f=S.frame;break;default:case\"set\":var x=S.props;for(o in x)l.call(x,o)&&(a=nt(x[o].value),0===o.indexOf(\"@\")?c.setAttribute(o.substr(1),a):i.setStyle(c,o,a));continue}}else 0!==s.edge&&(Dt(c,[d,v],[g,h]),s.edge=0);for(var E=0;m-1>E;E++)if(f>=u[E].frame&&u[E+1].frame>=f){var A=u[E],F=u[E+1];for(o in A.props)if(l.call(A.props,o)){var C=(f-A.frame)/(F.frame-A.frame);C=A.props[o].easing(C),a=rt(A.props[o].value,F.props[o].value,C),a=nt(a),0===o.indexOf(\"@\")?c.setAttribute(o.substr(1),a):i.setStyle(c,o,a)}k&&w!==E&&(\"down\"===zt?xt(c,A.eventType,zt):xt(c,F.eventType,zt),s.lastFrameIndex=E);break}}},Z=function(){_t&&(_t=!1,Et());var e,t,n=it.getScrollTop(),o=Pt();if(pt)o>=pt.endTime?(n=pt.targetTop,e=pt.done,pt=r):(t=pt.easing((o-pt.startTime)/pt.duration),n=0|pt.startTop+t*pt.topDiff),it.setScrollTop(n,!0);else if(!ht){var a=vt.targetTop-n;a&&(vt={startTop:qt,topDiff:n-qt,targetTop:n,startTime:Lt,endTime:Lt+gt}),vt.endTime>=o&&(t=U.sqrt((o-vt.startTime)/gt),n=0|vt.startTop+t*vt.topDiff)}if(Gt&&st&&i.setStyle(st,\"transform\",\"translate(0, \"+-Kt+\"px) \"+Tt),ht||qt!==n){zt=n>qt?\"down\":qt>n?\"up\":zt,ht=!1;var l={curTop:n,lastTop:qt,maxTop:Ot,direction:zt},s=ct.beforerender&&ct.beforerender.call(it,l);s!==!1&&(W(n,it.getScrollTop()),qt=n,ct.render&&ct.render.call(it,l)),e&&e.call(it,!1)}Lt=o},J=function(e){for(var t=0,r=e.keyFrames.length;r>t;t++){for(var n,o,a,i,l=e.keyFrames[t],s={};null!==(i=O.exec(l.props));)a=i[1],o=i[2],n=a.match(V),null!==n?(a=n[1],n=n[2]):n=k,o=o.indexOf(\"!\")?Q(o):[o.slice(1)],s[a]={value:o,easing:U[n]};l.props=s}},Q=function(e){var t=[];return $.lastIndex=0,e=e.replace($,function(e){return e.replace(L,function(e){return 100*(e/255)+\"%\"})}),G&&(_.lastIndex=0,e=e.replace(_,function(e){return G+e})),e=e.replace(L,function(e){return t.push(+e),\"{?}\"}),t.unshift(e),t},et=function(e){var t,r,n={};for(t=0,r=e.keyFrames.length;r>t;t++)tt(e.keyFrames[t],n);for(n={},t=e.keyFrames.length-1;t>=0;t--)tt(e.keyFrames[t],n)},tt=function(e,t){var r;for(r in t)l.call(e.props,r)||(e.props[r]=t[r]);for(r in e.props)t[r]=e.props[r]},rt=function(e,t,r){var n,o=e.length;if(o!==t.length)throw\"Can't interpolate between \\\"\"+e[0]+'\" and \"'+t[0]+'\"';var a=[e[0]];for(n=1;o>n;n++)a[n]=e[n]+(t[n]-e[n])*r;return a},nt=function(e){var t=1;return M.lastIndex=0,e[0].replace(M,function(){return e[t++]})},ot=function(e,t){e=[].concat(e);for(var r,n,o=0,a=e.length;a>o;o++)n=e[o],r=lt[n[H]],r&&(t?(n.style.cssText=r.dirtyStyleAttr,Dt(n,r.dirtyClassAttr)):(r.dirtyStyleAttr=n.style.cssText,r.dirtyClassAttr=Ct(n),n.style.cssText=r.styleAttr,Dt(n,r.classAttr)))},at=function(){Tt=\"translateZ(0)\",i.setStyle(st,\"transform\",Tt);var e=c(st),t=e.getPropertyValue(\"transform\"),r=e.getPropertyValue(G+\"transform\"),n=t&&\"none\"!==t||r&&\"none\"!==r;n||(Tt=\"\")};i.setStyle=function(e,t,r){var n=e.style;if(t=t.replace(z,q).replace(\"-\",\"\"),\"zIndex\"===t)n[t]=isNaN(r)?r:\"\"+(0|r);else if(\"float\"===t)n.styleFloat=n.cssFloat=r;else try{B&&(n[B+t.slice(0,1).toUpperCase()+t.slice(1)]=r),n[t]=r}catch(o){}};var it,lt,st,ct,ft,ut,mt,pt,dt,gt,vt,ht,yt,Tt,bt,St=i.addEvent=function(t,r,n){var o=function(t){return t=t||e.event,t.target||(t.target=t.srcElement),t.preventDefault||(t.preventDefault=function(){t.returnValue=!1,t.defaultPrevented=!0}),n.call(this,t)};r=r.split(\" \");for(var a,i=0,l=r.length;l>i;i++)a=r[i],t.addEventListener?t.addEventListener(a,n,!1):t.attachEvent(\"on\"+a,o),Yt.push({element:t,name:a,listener:n})},kt=i.removeEvent=function(e,t,r){t=t.split(\" \");for(var n=0,o=t.length;o>n;n++)e.removeEventListener?e.removeEventListener(t[n],r,!1):e.detachEvent(\"on\"+t[n],r)},wt=function(){for(var e,t=0,r=Yt.length;r>t;t++)e=Yt[t],kt(e.element,e.name,e.listener);Yt=[]},xt=function(e,t,r){ct.keyframe&&ct.keyframe.call(it,e,t,r)},Et=function(){var e=it.getScrollTop();Ot=0,ft&&!Gt&&(a.style.height=\"\"),j(),ft&&!Gt&&(a.style.height=Ot+o.clientHeight+\"px\"),Gt?it.setScrollTop(s.min(it.getScrollTop(),Ot)):it.setScrollTop(e,!0),ht=!0},At=function(){var e,t,r=o.clientHeight,n={};for(e in ut)t=ut[e],\"function\"==typeof t?t=t.call(it):/p$/.test(t)&&(t=t.slice(0,-1)/100*r),n[e]=t;return n},Ft=function(){var e=st&&st.offsetHeight||0,t=s.max(e,a.scrollHeight,a.offsetHeight,o.scrollHeight,o.offsetHeight,o.clientHeight);return t-o.clientHeight},Ct=function(t){var r=\"className\";return e.SVGElement&&t instanceof e.SVGElement&&(t=t[r],r=\"baseVal\"),t[r]},Dt=function(t,n,o){var a=\"className\";if(e.SVGElement&&t instanceof e.SVGElement&&(t=t[a],a=\"baseVal\"),o===r)return t[a]=n,r;for(var i=t[a],l=0,s=o.length;s>l;l++)i=It(i).replace(It(o[l]),\" \");i=Ht(i);for(var c=0,f=n.length;f>c;c++)-1===It(i).indexOf(It(n[c]))&&(i+=\" \"+n[c]);t[a]=Ht(i)},Ht=function(e){return e.replace(P,\"\")},It=function(e){return\" \"+e+\" \"},Pt=Date.now||function(){return+new Date},Nt=function(e,t){return e.frame-t.frame},Ot=0,Vt=1,zt=\"down\",qt=-1,Lt=Pt(),Mt=0,$t=0,_t=!1,Bt=0,Gt=!1,Kt=0,Yt=[];\"function\"==typeof define&&define.amd?define(\"skrollr\",function(){return i}):\"undefined\"!=typeof module&&module.exports?module.exports=i:e.skrollr=i})(window,document);\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/skrollr/dist/skrollr.min.js\n// module id = 45\n// module chunks = 0","/*!\n * Plugin for skrollr.\n * This plugin makes hashlinks scroll nicely to their target position.\n *\n * Alexander Prinzhorn - https://github.com/Prinzhorn/skrollr\n *\n * Free to use under terms of MIT license\n *\n *\n * Attention, I modified this file. Albino.\n *\n */\n(function (document, window) {\n 'use strict'\n\n module.exports = function (skrollr) {\n var DEFAULT_DURATION = 500\n var DEFAULT_EASING = 'sqrt'\n var DEFAULT_SCALE = 1\n\n var MENU_OFFSET_ATTR = 'data-menu-offset'\n\n // var skrollr = window.skrollr;\n var history = window.history\n var supportsHistory = !!history.pushState\n\n /*\n Since we are using event bubbling, the element that has been clicked\n might not acutally be the link but a child.\n */\n var findParentLink = function (element) {\n // Yay, it's a link!\n\n if (element.tagName === 'A' || element.tagName === 'text') {\n return element\n }\n\n // We reached the top, no link found.\n if (element === document) {\n return false\n }\n\n // Maybe the parent is a link.\n return findParentLink(element.parentNode)\n }\n\n /*\n Handle the click event on the document.\n */\n var handleClick = function (e) {\n // Only handle left click.\n\n if (e.which !== 1 && e.button !== 0) {\n return\n }\n\n var link = findParentLink(e.target)\n\n // The click did not happen inside a link.\n if (!link) {\n return\n }\n\n if (handleLink(link)) {\n e.preventDefault()\n }\n }\n\n /*\n Handles the click on a link. May be called without an actual click event.\n When the fake flag is set, the link won't change the url and the position won't be animated.\n */\n var handleLink = function (link, fake) {\n var patt = new RegExp('sc-menu[0-9]')\n var isMenu = patt.test(link.id)\n\n if (!isMenu) {\n return false\n }\n // Now get the targetTop to scroll to.\n var targetTop\n\n var menuTop\n\n var scenetoLoad = link.id.replace('sc-menu', 'scene')\n var href = '#' + scenetoLoad\n // If there's a handleLink function, it overrides the actual anchor offset.\n if (_handleLink) {\n menuTop = _handleLink(link)\n } else {\n menuTop = _scenes[scenetoLoad].begin + _scenes[scenetoLoad].menuoffset\n }\n\n if (menuTop !== null) {\n // Is it a percentage offset?\n if (/p$/.test(menuTop)) {\n targetTop = (menuTop.slice(0, -1) / 100) * document.documentElement.clientHeight\n } else {\n targetTop = +menuTop * _scale\n }\n } else {\n var scrollTarget = document.getElementById(href.substr(1))\n\n // Ignore the click if no target is found.\n if (!scrollTarget) {\n return false\n }\n\n targetTop = _skrollrInstance.relativeToAbsolute(scrollTarget, 'top', 'top')\n\n var menuOffset = scrollTarget.getAttribute(MENU_OFFSET_ATTR)\n\n if (menuOffset !== null) {\n targetTop += +menuOffset\n }\n }\n /*\n if (supportsHistory && !fake) {\n history.pushState({\n top: targetTop\n }, '', href);\n }\n */\n // Now finally scroll there.\n if (_animate && !fake) {\n _skrollrInstance.animateTo(targetTop, {\n duration: _duration(_skrollrInstance.getScrollTop(), targetTop),\n easing: _easing\n })\n } else {\n defer(function () {\n _skrollrInstance.setScrollTop(targetTop)\n })\n }\n\n return true\n }\n\n var jumpStraightToHash = function () {\n if (window.location.hash && document.querySelector) {\n var link = document.querySelector('a[href=\"' + window.location.hash + '\"]')\n\n if (link) {\n handleLink(link, true)\n }\n }\n }\n\n var defer = function (fn) {\n window.setTimeout(fn, 1)\n }\n\n var _skrollrInstance\n\n var _easing\n var _duration\n var _animate\n var _handleLink\n var _scale\n var _scenes\n\n var init = function (skrollr) {\n /*\n Global menu function accessible through window.skrollr.menu.init.\n */\n skrollr.menu = {}\n skrollr.menu.init = function (skrollrInstance, options) {\n _skrollrInstance = skrollrInstance\n\n options = options || {}\n _scenes = options.scenes || {}\n _easing = options.easing || DEFAULT_EASING\n _animate = options.animate !== false\n _duration = options.duration || DEFAULT_DURATION\n _handleLink = options.handleLink\n _scale = options.scale || DEFAULT_SCALE\n\n if (typeof _duration === 'number') {\n _duration = (function (duration) {\n return function () {\n return duration\n }\n }(_duration))\n }\n\n // Use event bubbling and attach a single listener to the document.\n skrollr.addEvent(document, 'click', handleClick)\n\n if (supportsHistory) {\n skrollr.addEvent(window, 'popstate', function (e) {\n var state = e.state || {}\n var top = state.top || 0\n\n defer(function () {\n _skrollrInstance.setScrollTop(top)\n })\n }, false)\n }\n\n jumpStraightToHash()\n }\n\n // Private reference to the initialized skrollr.\n\n // In case the page was opened with a hash, prevent jumping to it.\n // http://stackoverflow.com/questions/3659072/jquery-disable-anchor-jump-when-loading-a-page\n defer(function () {\n if (window.location.hash) {\n window.scrollTo(0, 0)\n }\n })\n }\n\n init(skrollr)\n }\n}(document, window))\n\n\n\n// WEBPACK FOOTER //\n// ./src/libs/skrollr.menu.js","/* global matchMedia, XMLHttpRequest, XDomainRequest */\n\n(function (window, document) {\n 'use strict'\n\n module.exports = function (skrollr) {\n var content\n var contents = []\n\n // Finds the declaration of an animation block.\n var rxAnimation = /@-skrollr-keyframes\\s+([\\w-]+)/g\n\n // Finds the block of keyframes inside an animation block.\n // http://regexpal.com/ saves your ass with stuff like this.\n var rxKeyframes = /\\s*\\{\\s*((?:[^{]+\\{[^}]*\\}\\s*)+?)\\s*\\}/g\n\n // Gets a single keyframe and the properties inside.\n var rxSingleKeyframe = /([\\w-]+)\\s*\\{([^}]+)\\}/g\n\n // Optional keyframe name prefix to work around SASS (>3.4) issues\n var keyframeNameOptionalPrefix = 'skrollr-'\n\n // Finds usages of the animation.\n var rxAnimationUsage = /-skrollr-animation-name\\s*:\\s*([\\w-]+)/g\n\n // Finds usages of attribute setters.\n var rxAttributeSetter = /-skrollr-(anchor-target|smooth-scrolling|emit-events|menu-offset)\\s*:\\s*['\"]([^'\"]+)['\"]/g\n\n var fetchRemote = function (url) {\n var xhr = new XMLHttpRequest()\n\n /*\n * Yes, these are SYNCHRONOUS requests.\n * Simply because skrollr stylesheets should run while the page is loaded.\n * Get over it.\n */\n try {\n xhr.open('GET', url, false)\n xhr.send(null)\n } catch (e) {\n // Fallback to XDomainRequest if available\n if (window.XDomainRequest) {\n xhr = new XDomainRequest()\n xhr.open('GET', url, false)\n xhr.send(null)\n }\n }\n\n return xhr.responseText\n }\n\n // \"main\"\n var kickstart = function (stylesheets) {\n // Iterate over all stylesheets, embedded and remote.\n for (var stylesheetIndex = 0; stylesheetIndex < stylesheets.length; stylesheetIndex++) {\n var sheet = stylesheets[stylesheetIndex]\n\n if (sheet.tagName === 'LINK') {\n if (sheet.getAttribute('data-skrollr-stylesheet') === null) {\n continue\n }\n\n // Test media attribute if matchMedia available.\n if (window.matchMedia) {\n var media = sheet.getAttribute('media')\n\n if (media && !matchMedia(media).matches) {\n continue\n }\n }\n\n // Remote stylesheet, fetch it (synchrnonous).\n content = fetchRemote(sheet.href)\n } else {\n // Embedded stylesheet, grab the node content.\n content = sheet.textContent || sheet.innerText || sheet.innerHTML\n }\n\n if (content) {\n contents.push(content)\n }\n }\n\n // We take the stylesheets in reverse order.\n // This is needed to ensure correct order of stylesheets and inline styles.\n contents.reverse()\n\n var animations = {}\n var selectors = []\n var attributes = []\n\n // Now parse all stylesheets.\n for (var contentIndex = 0; contentIndex < contents.length; contentIndex++) {\n content = contents[contentIndex]\n\n parseAnimationDeclarations(content, animations)\n parseAnimationUsage(content, selectors)\n parseAttributeSetters(content, attributes)\n }\n\n applyKeyframeAttributes(animations, selectors)\n applyAttributeSetters(attributes)\n }\n\n // Finds animation declarations and puts them into the output map.\n var parseAnimationDeclarations = function (input, output) {\n rxAnimation.lastIndex = 0\n\n var animation\n var rawKeyframes\n var keyframe\n var curAnimation\n\n while ((animation = rxAnimation.exec(input)) !== null) {\n // Grab the keyframes inside this animation.\n rxKeyframes.lastIndex = rxAnimation.lastIndex\n rawKeyframes = rxKeyframes.exec(input)\n\n // Grab the single keyframes with their CSS properties.\n rxSingleKeyframe.lastIndex = 0\n\n // Save the animation in an object using it's name as key.\n curAnimation = output[animation[1]] = {}\n\n while ((keyframe = rxSingleKeyframe.exec(rawKeyframes[1])) !== null) {\n // Put all keyframes inside the animation using the keyframe (like botttom-top, or 100) as key\n // and the properties as value (just the raw string, newline stripped).\n curAnimation[keyframe[1]] = keyframe[2].replace(/[\\n\\r\\t]/g, '')\n }\n }\n }\n\n // Extracts the selector of the given block by walking backwards to the start of the block.\n var extractSelector = function (input, startIndex) {\n var begin\n var end = startIndex\n\n // First find the curly bracket that opens this block.\n while (end-- && input.charAt(end) !== '{') {\n }\n\n // The end is now fixed to the right of the selector.\n // Now start there to find the begin of the selector.\n begin = end\n\n // Now walk farther backwards until we grabbed the whole selector.\n // This either ends at beginning of string or at end of next block.\n while (begin-- && input.charAt(begin - 1) !== '}') {\n }\n\n // Return the cleaned selector.\n return input.substring(begin, end).replace(/[\\n\\r\\t]/g, '')\n }\n\n // Finds usage of animations and puts the selectors into the output array.\n var parseAnimationUsage = function (input, output) {\n var match\n var selector\n\n rxAnimationUsage.lastIndex = 0\n\n while ((match = rxAnimationUsage.exec(input)) !== null) {\n // Extract the selector of the block we found the animation in.\n selector = extractSelector(input, rxAnimationUsage.lastIndex)\n\n // Associate this selector with the animation name.\n output.push([selector, match[1]])\n }\n }\n\n // Finds usage of attribute setters and puts the selector and attribute data into the output array.\n var parseAttributeSetters = function (input, output) {\n var match\n var selector\n\n rxAttributeSetter.lastIndex = 0\n\n while ((match = rxAttributeSetter.exec(input)) !== null) {\n // Extract the selector of the block we found the animation in.\n selector = extractSelector(input, rxAttributeSetter.lastIndex)\n\n // Associate this selector with the attribute name and value.\n output.push([selector, match[1], match[2]])\n }\n }\n\n // Applies the keyframes (as data-attributes) to the elements.\n var applyKeyframeAttributes = function (animations, selectors) {\n var elements\n var keyframes\n var keyframeName\n var cleanKeyframeName\n var elementIndex\n var attributeName\n var attributeValue\n var curElement\n\n for (var selectorIndex = 0; selectorIndex < selectors.length; selectorIndex++) {\n elements = document.querySelectorAll(selectors[selectorIndex][0])\n\n if (!elements) {\n continue\n }\n\n keyframes = animations[selectors[selectorIndex][1]]\n\n for (keyframeName in keyframes) {\n if (keyframeName.indexOf(keyframeNameOptionalPrefix) === 0) {\n cleanKeyframeName = keyframeName.substring(keyframeNameOptionalPrefix.length)\n } else {\n cleanKeyframeName = keyframeName\n }\n\n for (elementIndex = 0; elementIndex < elements.length; elementIndex++) {\n curElement = elements[elementIndex]\n attributeName = 'data-' + cleanKeyframeName\n attributeValue = keyframes[keyframeName]\n\n // If the element already has this keyframe inline, give the inline one precedence by putting it on the right side.\n // The inline one may actually be the result of the keyframes from another stylesheet.\n // Since we reversed the order of the stylesheets, everything comes together correctly here.\n if (curElement.hasAttribute(attributeName)) {\n attributeValue += curElement.getAttribute(attributeName)\n }\n\n curElement.setAttribute(attributeName, attributeValue)\n }\n }\n }\n }\n\n // Applies the keyframes (as data-attributes) to the elements.\n var applyAttributeSetters = function (selectors) {\n var curSelector\n var elements\n var attributeName\n var attributeValue\n var elementIndex\n\n for (var selectorIndex = 0; selectorIndex < selectors.length; selectorIndex++) {\n curSelector = selectors[selectorIndex]\n elements = document.querySelectorAll(curSelector[0])\n attributeName = 'data-' + curSelector[1]\n attributeValue = curSelector[2]\n\n if (!elements) {\n continue\n }\n\n for (elementIndex = 0; elementIndex < elements.length; elementIndex++) {\n elements[elementIndex].setAttribute(attributeName, attributeValue)\n }\n }\n }\n\n var init = function (skrollr) {\n skrollr.stylesheets = {}\n\n skrollr.stylesheets.init = function () {\n kickstart(document.querySelectorAll('link, style'))\n }\n }\n\n init(skrollr)\n }\n}(window, document))\n\n\n\n// WEBPACK FOOTER //\n// ./src/libs/skrollr.stylesheets.js","const sceneTimes = {\n scene1: {\n offset: 0,\n duration: 900,\n menuoffset: 300\n },\n scene2: {\n offset: 0,\n duration: 1100,\n menuoffset: 600\n },\n scene3: {\n offset: 0,\n duration: 1100,\n menuoffset: 600\n },\n\n scene4: {\n offset: 0,\n duration: 1000,\n menuoffset: 0\n },\n\n scene5: {\n offset: 0,\n duration: 2100,\n menuoffset: 1470\n },\n scene6: {\n offset: 0,\n duration: 2500,\n menuoffset: 1400\n }\n}\n\nexport default {\n\n get scenes () {\n let begin = 0\n\n for (let scene in sceneTimes) {\n begin += sceneTimes[scene].offset\n sceneTimes[scene].name = scene\n sceneTimes[scene].begin = begin\n sceneTimes[scene].end = begin + sceneTimes[scene].duration\n begin += sceneTimes[scene].duration\n }\n\n return sceneTimes\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/scripts/timing.js","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/styles/main.scss\n// module id = 49\n// module chunks = 0","// removed by extract-text-webpack-plugin\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/svg/animation.scss\n// module id = 50\n// module chunks = 0"],"sourceRoot":""} \ No newline at end of file diff --git a/build/icons-4c1ac885e1b8652f1448c945aad5ca64/.cache b/build/icons-4c1ac885e1b8652f1448c945aad5ca64/.cache index ffc423e..2674df6 100644 --- a/build/icons-4c1ac885e1b8652f1448c945aad5ca64/.cache +++ b/build/icons-4c1ac885e1b8652f1448c945aad5ca64/.cache @@ -1 +1 @@ -{"hash":"4c1ac885e1b8652f1448c945aad5ca64","version":"0.0.7","optionHash":"31ee8b9e60c9b8948f472c8b4a8fc371","result":{"outputFilePrefix":"icons-4c1ac885e1b8652f1448c945aad5ca64/","html":["","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"files":["icons-4c1ac885e1b8652f1448c945aad5ca64/android-chrome-36x36.png","icons-4c1ac885e1b8652f1448c945aad5ca64/android-chrome-48x48.png","icons-4c1ac885e1b8652f1448c945aad5ca64/android-chrome-72x72.png","icons-4c1ac885e1b8652f1448c945aad5ca64/android-chrome-96x96.png","icons-4c1ac885e1b8652f1448c945aad5ca64/android-chrome-144x144.png","icons-4c1ac885e1b8652f1448c945aad5ca64/android-chrome-192x192.png","icons-4c1ac885e1b8652f1448c945aad5ca64/android-chrome-256x256.png","icons-4c1ac885e1b8652f1448c945aad5ca64/android-chrome-384x384.png","icons-4c1ac885e1b8652f1448c945aad5ca64/android-chrome-512x512.png","icons-4c1ac885e1b8652f1448c945aad5ca64/apple-touch-icon-57x57.png","icons-4c1ac885e1b8652f1448c945aad5ca64/apple-touch-icon-60x60.png","icons-4c1ac885e1b8652f1448c945aad5ca64/apple-touch-icon-72x72.png","icons-4c1ac885e1b8652f1448c945aad5ca64/apple-touch-icon-76x76.png","icons-4c1ac885e1b8652f1448c945aad5ca64/apple-touch-icon-114x114.png","icons-4c1ac885e1b8652f1448c945aad5ca64/apple-touch-icon-120x120.png","icons-4c1ac885e1b8652f1448c945aad5ca64/apple-touch-icon-144x144.png","icons-4c1ac885e1b8652f1448c945aad5ca64/apple-touch-icon-152x152.png","icons-4c1ac885e1b8652f1448c945aad5ca64/apple-touch-icon-167x167.png","icons-4c1ac885e1b8652f1448c945aad5ca64/apple-touch-icon-180x180.png","icons-4c1ac885e1b8652f1448c945aad5ca64/apple-touch-icon.png","icons-4c1ac885e1b8652f1448c945aad5ca64/apple-touch-icon-precomposed.png","icons-4c1ac885e1b8652f1448c945aad5ca64/favicon-16x16.png","icons-4c1ac885e1b8652f1448c945aad5ca64/favicon-32x32.png","icons-4c1ac885e1b8652f1448c945aad5ca64/favicon.ico","icons-4c1ac885e1b8652f1448c945aad5ca64/apple-touch-startup-image-320x460.png","icons-4c1ac885e1b8652f1448c945aad5ca64/apple-touch-startup-image-640x920.png","icons-4c1ac885e1b8652f1448c945aad5ca64/apple-touch-startup-image-640x1096.png","icons-4c1ac885e1b8652f1448c945aad5ca64/apple-touch-startup-image-748x1024.png","icons-4c1ac885e1b8652f1448c945aad5ca64/apple-touch-startup-image-750x1294.png","icons-4c1ac885e1b8652f1448c945aad5ca64/apple-touch-startup-image-768x1004.png","icons-4c1ac885e1b8652f1448c945aad5ca64/apple-touch-startup-image-1242x2148.png","icons-4c1ac885e1b8652f1448c945aad5ca64/apple-touch-startup-image-1182x2208.png","icons-4c1ac885e1b8652f1448c945aad5ca64/apple-touch-startup-image-1496x2048.png","icons-4c1ac885e1b8652f1448c945aad5ca64/apple-touch-startup-image-1536x2008.png","icons-4c1ac885e1b8652f1448c945aad5ca64/firefox_app_60x60.png","icons-4c1ac885e1b8652f1448c945aad5ca64/firefox_app_128x128.png","icons-4c1ac885e1b8652f1448c945aad5ca64/firefox_app_512x512.png","icons-4c1ac885e1b8652f1448c945aad5ca64/manifest.json","icons-4c1ac885e1b8652f1448c945aad5ca64/manifest.webapp"]}} \ No newline at end of file +{"hash":"4c1ac885e1b8652f1448c945aad5ca64","version":"0.0.7","optionHash":"31ee8b9e60c9b8948f472c8b4a8fc371","result":{"outputFilePrefix":"icons-4c1ac885e1b8652f1448c945aad5ca64/","html":["","","","","","","","","","","","","","","","","","","","","","","","","","","",""],"files":["icons-4c1ac885e1b8652f1448c945aad5ca64/android-chrome-36x36.png","icons-4c1ac885e1b8652f1448c945aad5ca64/android-chrome-48x48.png","icons-4c1ac885e1b8652f1448c945aad5ca64/android-chrome-72x72.png","icons-4c1ac885e1b8652f1448c945aad5ca64/android-chrome-96x96.png","icons-4c1ac885e1b8652f1448c945aad5ca64/android-chrome-144x144.png","icons-4c1ac885e1b8652f1448c945aad5ca64/android-chrome-192x192.png","icons-4c1ac885e1b8652f1448c945aad5ca64/android-chrome-256x256.png","icons-4c1ac885e1b8652f1448c945aad5ca64/android-chrome-384x384.png","icons-4c1ac885e1b8652f1448c945aad5ca64/android-chrome-512x512.png","icons-4c1ac885e1b8652f1448c945aad5ca64/apple-touch-icon-57x57.png","icons-4c1ac885e1b8652f1448c945aad5ca64/apple-touch-icon-60x60.png","icons-4c1ac885e1b8652f1448c945aad5ca64/apple-touch-icon-72x72.png","icons-4c1ac885e1b8652f1448c945aad5ca64/apple-touch-icon-76x76.png","icons-4c1ac885e1b8652f1448c945aad5ca64/apple-touch-icon-114x114.png","icons-4c1ac885e1b8652f1448c945aad5ca64/apple-touch-icon-144x144.png","icons-4c1ac885e1b8652f1448c945aad5ca64/apple-touch-icon-120x120.png","icons-4c1ac885e1b8652f1448c945aad5ca64/apple-touch-icon-152x152.png","icons-4c1ac885e1b8652f1448c945aad5ca64/apple-touch-icon-167x167.png","icons-4c1ac885e1b8652f1448c945aad5ca64/apple-touch-icon-180x180.png","icons-4c1ac885e1b8652f1448c945aad5ca64/apple-touch-icon.png","icons-4c1ac885e1b8652f1448c945aad5ca64/apple-touch-icon-precomposed.png","icons-4c1ac885e1b8652f1448c945aad5ca64/apple-touch-startup-image-320x460.png","icons-4c1ac885e1b8652f1448c945aad5ca64/apple-touch-startup-image-640x920.png","icons-4c1ac885e1b8652f1448c945aad5ca64/apple-touch-startup-image-640x1096.png","icons-4c1ac885e1b8652f1448c945aad5ca64/apple-touch-startup-image-748x1024.png","icons-4c1ac885e1b8652f1448c945aad5ca64/apple-touch-startup-image-750x1294.png","icons-4c1ac885e1b8652f1448c945aad5ca64/apple-touch-startup-image-768x1004.png","icons-4c1ac885e1b8652f1448c945aad5ca64/apple-touch-startup-image-1242x2148.png","icons-4c1ac885e1b8652f1448c945aad5ca64/apple-touch-startup-image-1182x2208.png","icons-4c1ac885e1b8652f1448c945aad5ca64/apple-touch-startup-image-1536x2008.png","icons-4c1ac885e1b8652f1448c945aad5ca64/apple-touch-startup-image-1496x2048.png","icons-4c1ac885e1b8652f1448c945aad5ca64/favicon-16x16.png","icons-4c1ac885e1b8652f1448c945aad5ca64/favicon-32x32.png","icons-4c1ac885e1b8652f1448c945aad5ca64/favicon.ico","icons-4c1ac885e1b8652f1448c945aad5ca64/firefox_app_60x60.png","icons-4c1ac885e1b8652f1448c945aad5ca64/firefox_app_512x512.png","icons-4c1ac885e1b8652f1448c945aad5ca64/firefox_app_128x128.png","icons-4c1ac885e1b8652f1448c945aad5ca64/manifest.json","icons-4c1ac885e1b8652f1448c945aad5ca64/manifest.webapp"]}} \ No newline at end of file diff --git a/build/index.html b/build/index.html index 57dfbcd..041f6a4 100644 --- a/build/index.html +++ b/build/index.html @@ -13,7 +13,7 @@ - + @@ -37,7 +37,12 @@

contact me

GitHub

- +

+ + Articles + +

+

Portfolio @@ -49,11 +54,6 @@

contact me

Email: albinotonnina@gmail.com

-

- - Phone: +44 7518576805 - -

LinkedIn @@ -73,200 +73,200 @@

+
+
+

Experience

-
- -
-

Experience

- -
-

- Workshare limited, London -

- -

- Lead product design engineer -

-

- Front-end engineering (React), Product design, Visual design. - -

-

Lead the UI development efforts across all web applications, innovation team.

-
+
+

+ Workshare +

+ +

+ Lead Product Design Engineer / Front-end Engineer +

+

+ Front-end engineering, UI engineering and some Product Design experiments. +

-
-

- Workshare limited, London -

- -

- Senior Front end developer -

-

Cross-functional teams, Agile methodologies, mentoring, development in scalable applications, - programming principles, unit testing, Javascript, Backbone, TDD, React, Authoring and maintaining - HTML and CSS for complex, rapidly-iterated projects.

-

-
+
+
+

+ Workshare +

+ +

+ Senior Front end developer +

+

Cross-functional teams, Agile methodologies, mentoring, development in scalable applications, + programming principles, unit testing, Javascript, Backbone, TDD, React, Authoring and + maintaining HTML and CSS for complex, rapidly-iterated projects.

+

+
-
-

- Numidia Srl -

- -

- Founder & Front end developer -

-

- Management of a small digital agency, web development, project design, management, estimating. While producing dozens of - corporate websites I had the rare opportunity, in Italy, to improve my skills by experimenting - a lot. I worked on Mobile Applications, designed Web service APIs and backends, developed - payment gateways and E-learning solutions for several high-profile clients. -

- -
-
-

- Linfa Srl -

- -

- Web developer -

-

- Web developer and technical manager responsible for the build and operation of multiple websites and e-learning platforms. - IT administration. I worked directly with clients such as Alitalia or Polizia di - Stato. -

- -
-
-

- Estrogeni Srl -

- -

- Web developer -

-

- Created visual designs and developed websites, banners, e-newsletters, contests, branding. I worked for Wind, Infostrada, - Eagle Pictures, BIM Distribuzione. -

- -
-
-

Egolab Srl

- -

- Web developer -

-

- Design, development and management of client websites, applications, campaigns. I was involved in several projects, developed - code for high-traffic websites and web contests. Clients: Unilever, Nintendo, Peroni SPA, - Algida.

-
-
-

- Consorzio interuniversitario FOR.COM -

- -

- Web developer -

-

- Mostly multimedia contents for the university. Scorm / As3 / PHP / MySQL. Created graphic design for websites, interactive - CDs and banners. -

-
-
-

- Netqps -

- -

- Founder - Web Developer -

-

- First steps! Design websites from conception to production. Seven years of self-taught hard work. -

-
-
-

-
-

Recent activities and references

-
-

Latest OSS projects

-

- Latest GitHub repositories -

-
-
-

Research

-

- Speaking of web layouts…introducing the Magic Hat technique -

-
-
-

Research

-

- Bandit: Authoring and maintaining HTML and CSS for complex, rapidly-iterated projects -

-
-
-

Mentoring

-

- Slides: Bootstrap grids -

-

- Front-end development course - -

-
+
+

+ Numidia Srl +

+ +

+ Founder & Front end developer +

+

+ Management of a digital agency, web development, project design, management. I worked on Mobile Applications, designed Web + service APIs and backends, developed payment gateways and E-learning solutions for several + high-profile clients. Clients: Sapienza University of Rome, several cinema production + companies. +

-
-

The Prettiest Resume You'll See All Week

-

- https://www.themuse.com/advice/the-prettiest-resume-youll-see-all-week -

+
+
+

+ Linfa Srl +

+ +

+ Web developer +

+

+ Web developer responsible for the development and operation of multiple websites and e-learning platforms. I worked directly + with clients such as Alitalia or Polizia di Stato. +

+ +
+
+

+ Estrogeni Srl +

+ +

+ Web developer +

+

+ Created visual designs and developed websites, banners, e-newsletters, contests, branding. I worked for Wind, Infostrada, + Eagle Pictures, BIM Distribuzione. +

+ +
+
+

Egolab Srl

+ +

+ Web developer +

+

+ Design, development and management of client websites, applications, campaigns. I developed code for high-traffic websites. + Clients: Unilever, Nintendo, Peroni SPA, Algida. +

+
+
+

+ Consorzio interuniversitario FOR.COM +

+ +

+ Web developer +

+

+ Multimedia contents for the university. Scorm / As3 / PHP / MySQL. Created graphic design for websites, interactive CDs and + banners. +

+
+
+

+ Netqps +

+ +

+ Founder - Web Developer +

+

+ First steps! Design websites from conception to production. Seven years of self-taught hard work. +

+
-
-

Awwwards Honorable Mention

-

- http://www.albinotonnina.com -

+
+

Recent activities and references

+
+

Latest OSS projects

+

+ Latest GitHub repositories +

+
+
+

Article

+

+ How to Lose an IT Job in 10 Minutes +

+
+
+

Article

+

+ Speaking of web layouts…introducing the Magic Hat technique +

+
+
+

Research

+

+ Bandit: Authoring and maintaining HTML and CSS for complex, rapidly-iterated projects +

+
+ +
+

Mentoring

+

+ Slides: Bootstrap grids +

+

+ Front-end development course + +

+
+ +
+

The Prettiest Resume You'll See All Week

+

+ https://www.themuse.com/advice/the-prettiest-resume-youll-see-all-week +

+
+ +
+

Awwwards Honorable Mention

+

+ http://www.albinotonnina.com +

+
+ +
+

cssreel.com and other small awards websites - Winner of the day

+

+ Please have a look at my LinkedIn profile for a longer list. +

+
+
+

Past Clients

+

You can have a look at my past jobs and clients in this + video hosted on Vimeo + +

+

Over the years I worked for:

-
-

cssreel.com and other small awards websites - Winner of the day

- Please have a look at my LinkedIn profile for a longer list. +

-
-
-

Past Clients

-

You can have a look at my past jobs and clients in this - video hosted on Vimeo - -

-

Over the years I worked for:

- -

- -

-
- -
-
-
+
+