diff --git a/.gitignore b/.gitignore index dd8ace4..af181f4 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ node_modules .DS_Store .parcel-cache +dist diff --git a/app.css b/app.css index 7604848..ddb4a2f 100644 --- a/app.css +++ b/app.css @@ -7,7 +7,7 @@ body { margin: 0; font-family: "Avenir"; overflow-x: hidden; - max-width: 100vw; + /* max-width: 100vw; */ } html { @@ -17,7 +17,7 @@ html { .background { text-align: center; color: var(--color); - width: 100%; + width: 100vw; display: flex; flex-direction: column; align-items: center; @@ -60,6 +60,7 @@ html { height: 100vh; width: 100vw; color: white; + overflow-x: hidden; } .section-two .part-one { @@ -92,6 +93,7 @@ html { color: white; text-align: center; background: #786abf; + overflow-x: hidden; } .section-three .part-one { @@ -241,8 +243,6 @@ time { right: -6rem; bottom: 30%; height: 13rem; - z-index: 1000; - rotate: 110deg; } #titre { diff --git a/build/OSRD-kickoff-programme-date-kickoff.a1ccc616.svg b/build/OSRD-kickoff-programme-date-kickoff.a1ccc616.svg new file mode 100644 index 0000000..3897ec8 --- /dev/null +++ b/build/OSRD-kickoff-programme-date-kickoff.a1ccc616.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/build/OSRD-kickoff-programme-logo-GOUV.94d55415.svg b/build/OSRD-kickoff-programme-logo-GOUV.94d55415.svg new file mode 100644 index 0000000..0d21c91 --- /dev/null +++ b/build/OSRD-kickoff-programme-logo-GOUV.94d55415.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/build/OSRD-kickoff-programme-logo-OSRD.9ec2ad41.svg b/build/OSRD-kickoff-programme-logo-OSRD.9ec2ad41.svg new file mode 100644 index 0000000..932a801 --- /dev/null +++ b/build/OSRD-kickoff-programme-logo-OSRD.9ec2ad41.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/build/OSRD-kickoff-programme-logo-SNCF.59fa390b.svg b/build/OSRD-kickoff-programme-logo-SNCF.59fa390b.svg new file mode 100644 index 0000000..efc8214 --- /dev/null +++ b/build/OSRD-kickoff-programme-logo-SNCF.59fa390b.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/build/OSRD-kickoff-programme-logo-UE.bbacb9aa.svg b/build/OSRD-kickoff-programme-logo-UE.bbacb9aa.svg new file mode 100644 index 0000000..bba4b15 --- /dev/null +++ b/build/OSRD-kickoff-programme-logo-UE.bbacb9aa.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/build/OSRD-kickoff-programme-ornement-01.f29fb570.svg b/build/OSRD-kickoff-programme-ornement-01.f29fb570.svg new file mode 100644 index 0000000..4572809 --- /dev/null +++ b/build/OSRD-kickoff-programme-ornement-01.f29fb570.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/build/OSRD-kickoff-programme-plan-event.d6c2b5b1.svg b/build/OSRD-kickoff-programme-plan-event.d6c2b5b1.svg new file mode 100644 index 0000000..c3d92e5 --- /dev/null +++ b/build/OSRD-kickoff-programme-plan-event.d6c2b5b1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/build/OSRD-kickoff-programme-sommaire-boule-02.03c3e715.svg b/build/OSRD-kickoff-programme-sommaire-boule-02.03c3e715.svg new file mode 100644 index 0000000..fd9941f --- /dev/null +++ b/build/OSRD-kickoff-programme-sommaire-boule-02.03c3e715.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/build/OSRD-kickoff-programme-titre-kickoff.0165e0c4.svg b/build/OSRD-kickoff-programme-titre-kickoff.0165e0c4.svg new file mode 100644 index 0000000..480f09e --- /dev/null +++ b/build/OSRD-kickoff-programme-titre-kickoff.0165e0c4.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/build/background_site_kickoff.65a64907.webp b/build/background_site_kickoff.65a64907.webp new file mode 100644 index 0000000..2f08ad3 Binary files /dev/null and b/build/background_site_kickoff.65a64907.webp differ diff --git a/build/index.0a2b0b61.js b/build/index.0a2b0b61.js new file mode 100644 index 0000000..ee71f22 --- /dev/null +++ b/build/index.0a2b0b61.js @@ -0,0 +1,57 @@ +/* + * anime.js v3.2.1 + * (c) 2020 Julian Garnier + * Released under the MIT license + * animejs.com + */// Defaults +var e,t,n={update:null,begin:null,loopBegin:null,changeBegin:null,change:null,changeComplete:null,loopComplete:null,complete:null,loop:1,direction:"normal",autoplay:!0,timelineOffset:0},r={duration:1e3,delay:0,endDelay:0,easing:"easeOutElastic(1, .5)",round:0},a=["translateX","translateY","translateZ","rotate","rotateX","rotateY","rotateZ","scale","scaleX","scaleY","scaleZ","skew","skewX","skewY","perspective","matrix","matrix3d"],o={CSS:{},springs:{}};// Utils +function i(e,t,n){return Math.min(Math.max(e,t),n)}function u(e,t){return e.indexOf(t)>-1}function s(e,t){return e.apply(null,t)}var c={arr:function(e){return Array.isArray(e)},obj:function(e){return u(Object.prototype.toString.call(e),"Object")},pth:function(e){return c.obj(e)&&e.hasOwnProperty("totalLength")},svg:function(e){return e instanceof SVGElement},inp:function(e){return e instanceof HTMLInputElement},dom:function(e){return e.nodeType||c.svg(e)},str:function(e){return"string"==typeof e},fnc:function(e){return"function"==typeof e},und:function(e){return void 0===e},nil:function(e){return c.und(e)||null===e},hex:function(e){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(e)},rgb:function(e){return/^rgb/.test(e)},hsl:function(e){return/^hsl/.test(e)},col:function(e){return c.hex(e)||c.rgb(e)||c.hsl(e)},key:function(e){return!n.hasOwnProperty(e)&&!r.hasOwnProperty(e)&&"targets"!==e&&"keyframes"!==e}};// Easings +function l(e){var t=/\(([^)]+)\)/.exec(e);return t?t[1].split(",").map(function(e){return parseFloat(e)}):[]}// Spring solver inspired by Webkit Copyright © 2016 Apple Inc. All rights reserved. https://webkit.org/demos/spring/spring.js +function d(e,t){var n=l(e),r=i(c.und(n[0])?1:n[0],.1,100),a=i(c.und(n[1])?100:n[1],.1,100),u=i(c.und(n[2])?10:n[2],.1,100),s=i(c.und(n[3])?0:n[3],.1,100),d=Math.sqrt(a/r),f=u/(2*Math.sqrt(a*r)),h=f<1?d*Math.sqrt(1-f*f):0,p=f<1?(f*d+-s)/h:-s+d;function m(e){var n=t?t*e/1e3:e;return(n=f<1?Math.exp(-n*f*d)*(1*Math.cos(h*n)+p*Math.sin(h*n)):(1+p*n)*Math.exp(-n*d),0===e||1===e)?e:1-n}return t?m:function(){var t=o.springs[e];if(t)return t;for(var n=1/6,r=0,a=0;;)if(1===m(r+=n)){if(++a>=16)break}else a=0;var i=r*n*1e3;return o.springs[e]=i,i}}// Basic steps easing implementation https://developer.mozilla.org/fr/docs/Web/CSS/transition-timing-function +function f(e){return void 0===e&&(e=10),function(t){return Math.ceil(i(t,1e-6,1)*e)*(1/e)}}// BezierEasing https://github.com/gre/bezier-easing +var h=function(){function e(e,t,n){return(((1-3*n+3*t)*e+(3*n-6*t))*e+3*t)*e}function t(e,t,n){return 3*(1-3*n+3*t)*e*e+2*(3*n-6*t)*e+3*t}return function(n,r,a,o){if(0<=n&&n<=1&&0<=a&&a<=1){var i=new Float32Array(11);if(n!==r||a!==o)for(var u=0;u<11;++u)i[u]=e(.1*u,n,a);return function(u){return n===r&&a===o||0===u||1===u?u:e(function(r){for(var o=0,u=1;10!==u&&i[u]<=r;++u)o+=.1;var s=o+(r-i[--u])/(i[u+1]-i[u])*.1,c=t(s,n,a);return c>=.001?function(n,r,a,o){for(var i=0;i<4;++i){var u=t(r,a,o);if(0===u)break;var s=e(r,a,o)-n;r-=s/u}return r}(r,s,n,a):0===c?s:function(t,n,r,a,o){var i,u,s=0;do(i=e(u=n+(r-n)/2,a,o)-t)>0?r=u:n=u;while(Math.abs(i)>1e-7&&++s<10)return u}(r,o,o+.1,n,a)}(u),r,o)}}}}(),p=(e={linear:function(){return function(e){return e}}},t={Sine:function(){return function(e){return 1-Math.cos(e*Math.PI/2)}},Circ:function(){return function(e){return 1-Math.sqrt(1-e*e)}},Back:function(){return function(e){return e*e*(3*e-2)}},Bounce:function(){return function(e){for(var t,n=4;e<((t=Math.pow(2,--n))-1)/11;);return 1/Math.pow(4,3-n)-7.5625*Math.pow((3*t-2)/22-e,2)}},Elastic:function(e,t){void 0===e&&(e=1),void 0===t&&(t=.5);var n=i(e,1,10),r=i(t,.1,2);return function(e){return 0===e||1===e?e:-n*Math.pow(2,10*(e-1))*Math.sin((e-1-r/(2*Math.PI)*Math.asin(1/n))*(2*Math.PI)/r)}}},["Quad","Cubic","Quart","Quint","Expo"].forEach(function(e,n){t[e]=function(){return function(e){return Math.pow(e,n+2)}}}),Object.keys(t).forEach(function(n){var r=t[n];e["easeIn"+n]=r,e["easeOut"+n]=function(e,t){return function(n){return 1-r(e,t)(1-n)}},e["easeInOut"+n]=function(e,t){return function(n){return n<.5?r(e,t)(2*n)/2:1-r(e,t)(-2*n+2)/2}},e["easeOutIn"+n]=function(e,t){return function(n){return n<.5?(1-r(e,t)(1-2*n))/2:(r(e,t)(2*n-1)+1)/2}}}),e);function m(e,t){if(c.fnc(e))return e;var n=e.split("(")[0],r=p[n],a=l(e);switch(n){case"spring":return d(e,t);case"cubicBezier":return s(h,a);case"steps":return s(f,a);default:return s(r,a)}}// Strings +function g(e){try{return document.querySelectorAll(e)}catch(e){return}}// Arrays +function v(e,t){for(var n=e.length,r=arguments.length>=2?arguments[1]:void 0,a=[],o=0;o1&&(n-=1),n<1/6)?e+(t-e)*6*n:n<.5?t:n<2/3?e+(t-e)*(2/3-n)*6:e}if(0==i)t=n=r=u;else{var l=u<.5?u*(1+i):u+i-u*i,d=2*u-l;t=c(d,l,o+1/3),n=c(d,l,o),r=c(d,l,o-1/3)}return"rgba("+255*t+","+255*n+","+255*r+","+s+")"}(n):void 0}if(/\s/g.test(e))return e;var i=S(e),u=i?e.substr(0,e.length-i.length):e;return t?u+t:u}// getTotalLength() equivalent for circle, rect, polyline, polygon and line shapes +// adapted from https://gist.github.com/SebLambla/3e0550c496c236709744 +function H(e,t){return Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2))}function P(e){for(var t,n=e.points,r=0,a=0;a0&&(r+=H(t,o)),t=o}return r}// Path animation +function q(e){var t;if(e.getTotalLength)return e.getTotalLength();switch(e.tagName.toLowerCase()){case"circle":return 2*Math.PI*I(e,"r");case"rect":return 2*I(e,"width")+2*I(e,"height");case"line":return H({x:I(e,"x1"),y:I(e,"y1")},{x:I(e,"x2"),y:I(e,"y2")});case"polyline":return P(e);case"polygon":return t=e.points,P(e)+H(t.getItem(t.numberOfItems-1),t.getItem(0))}}function A(e,t){var n=t||{},r=n.el||// Motion path +function(e){for(var t=e.parentNode;c.svg(t)&&c.svg(t.parentNode);)t=t.parentNode;return t}(e),a=r.getBoundingClientRect(),o=I(r,"viewBox"),i=a.width,u=a.height,s=n.viewBox||(o?o.split(" "):[0,0,i,u]);return{el:r,viewBox:s,x:s[0]/1,y:s[1]/1,w:i,h:u,vW:s[2],vH:s[3]}}// Decompose value +function N(e,t){// const rgx = /-?\d*\.?\d+/g; // handles basic numbers +// const rgx = /[+-]?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?/g; // handles exponents notation +var n=/[+-]?\d*\.?\d+(?:\.\d+)?(?:[eE][+-]?\d+)?/g,r=F(c.pth(e)?e.totalLength:e,t)+"";// handles exponents notation +return{original:r,numbers:r.match(n)?r.match(n).map(Number):[0],strings:c.str(e)||t?r.split(n):[]}}// Animatables +function V(e){return v(e?y(c.arr(e)?e.map(b):b(e)):[],function(e,t,n){return n.indexOf(e)===t})}function W(e){var t=V(e);return t.map(function(e,n){return{target:e,id:n,total:t.length,transforms:{list:T(e)}}})}// Tween progress +var $={css:function(e,t,n){return e.style[t]=n},attribute:function(e,t,n){return e.setAttribute(t,n)},object:function(e,t,n){return e[t]=n},transform:function(e,t,n,r,a){if(r.list.set(t,n),t===r.last||a){var o="";r.list.forEach(function(e,t){o+=t+"("+e+") "}),e.style.transform=o}}};// Set Value helper +function j(e,t){W(e).forEach(function(e){for(var n in t){var r=E(t[n],e),a=e.target,o=S(r),i=B(a,n,o,e),u=D(F(r,o||S(i)),i);$[k(a,n)](a,n,u,e.transforms,!0)}})}// Create Instance +function Y(e,t){var n=e.length,r=function(e){return e.timelineOffset?e.timelineOffset:0},a={};return a.duration=n?Math.max.apply(Math,e.map(function(e){return r(e)+e.duration})):t.duration,a.delay=n?Math.min.apply(Math,e.map(function(e){return r(e)+e.delay})):t.delay,a.endDelay=n?a.duration-Math.max.apply(Math,e.map(function(e){return r(e)+e.duration-e.endDelay})):t.endDelay,a}var Q=0,X=[],Z=function(){var e;function t(n){for(// memo on algorithm issue: +// dangerous iteration over mutable `activeInstances` +// (that collection may be updated from within callbacks of `tick`-ed animation instances) +var r=X.length,a=0;a0?requestAnimationFrame(t):void 0}return"undefined"!=typeof document&&document.addEventListener("visibilitychange",function(){U.suspendWhenDocumentHidden&&(G()?e=cancelAnimationFrame(e):(// first adjust animations to consider the time that ticks were suspended +X.forEach(function(e){return e._onDocumentVisibility()}),Z()))}),function(){e||G()&&U.suspendWhenDocumentHidden||!(X.length>0)||(e=requestAnimationFrame(t))}}();function G(){return!!document&&document.hidden}// Public Instance +function U(e){void 0===e&&(e={});var t,a,o,u,s,l,f,h,p,g=0,b=0,w=0,I=0,O=null;function L(e){var t=window.Promise&&new Promise(function(e){return O=e});return e.finished=t,t}var T=(a=x(n,t=e),u=function(e,t){var n=[],r=t.keyframes;for(var a in r&&(t=C(function(e){for(var t=v(y(e.map(function(e){return Object.keys(e)})),function(e){return c.key(e)}).reduce(function(e,t){return 0>e.indexOf(t)&&e.push(t),e},[]),n={},r=0;r=1?t+n:0;return e.el.getPointAtLength(r)}var a=A(e.el,e.svg),o=r(),i=r(-1),u=r(1),s=n?1:a.w/a.vW,c=n?1:a.h/a.vH;switch(e.property){case"x":return(o.x-a.x)*s;case"y":return(o.y-a.y)*c;case"angle":return 180*Math.atan2(u.y-i.y,u.x-i.x)/Math.PI}}(c.value,d*w,c.isPathTargetInsideSVG):M+d*(w-M),h&&!(c.isColor&&y>2)&&(b=Math.round(b*h)/h),p.push(b)}var x=f.length;if(x){g=f[0];for(var C=0;C0&&(T.began=!0,R("begin")),!T.loopBegan&&T.currentTime>0&&(T.loopBegan=!0,R("loopBegin")),a<=n&&0!==T.currentTime&&G(0),(a>=r&&T.currentTime!==t||!t)&&G(t),a>n&&a=t&&(b=0,T.remaining&&!0!==T.remaining&&T.remaining--,T.remaining?(g=w,R("loopComplete"),T.loopBegan=!1,"alternate"===T.direction&&F()):(T.paused=!0,!T.completed&&(T.completed=!0,R("loopComplete"),R("complete"),!T.passThrough&&"Promise"in window&&(O(),L(T)))))}return L(T),T.reset=function(){var e=T.direction;T.passThrough=!1,T.currentTime=0,T.progress=0,T.paused=!0,T.began=!1,T.loopBegan=!1,T.changeBegan=!1,T.completed=!1,T.changeCompleted=!1,T.reversePlayback=!1,T.reversed="reverse"===e,T.remaining=T.loop,I=(p=T.children).length;for(var t=I;t--;)T.children[t].reset();(T.reversed&&!0!==T.loop||"alternate"===e&&1===T.loop)&&T.remaining++,G(T.reversed?T.duration:0)},// internal method (for engine) to adjust animation timings before restoring engine ticks (rAF) +T._onDocumentVisibility=P,// Set Value helper +T.set=function(e,t){return j(e,t),T},T.tick=function(e){w=e,g||(g=w),J((w+(b-g))*U.speed)},T.seek=function(e){J(H(e))},T.pause=function(){T.paused=!0,P()},T.play=function(){T.paused&&(T.completed&&T.reset(),T.paused=!1,X.push(T),P(),Z())},T.reverse=function(){F(),T.completed=!T.reversed,P()},T.restart=function(){T.reset(),T.play()},T.remove=function(e){z(V(e),T)},T.reset(),T.autoplay&&T.play(),T}// Remove targets from animation +function R(e,t){for(var n=t.length;n--;)w(e,t[n].animatable.target)&&t.splice(n,1)}function z(e,t){var n=t.animations,r=t.children;R(e,n);for(var a=r.length;a--;){var o=r[a],i=o.animations;R(e,i),i.length||o.children.length||r.splice(a,1)}n.length||r.length||t.pause()}U.version="3.2.1",U.speed=1,// TODO:#review: naming, documentation +U.suspendWhenDocumentHidden=!0,U.running=X,U.remove=function(e){for(var t=V(e),n=X.length;n--;)z(t,X[n])},U.get=B,U.set=j,U.convertPx=O,U.path=function(e,t){var n=c.str(e)?g(e)[0]:e,r=t||100;return function(e){return{property:e,el:n,svg:A(n),totalLength:q(n)*(r/100)}}},U.setDashoffset=function(e){var t=q(e);return e.setAttribute("stroke-dasharray",t),t},U.stagger=// Stagger helpers +function(e,t){void 0===t&&(t={});var n=t.direction||"normal",r=t.easing?m(t.easing):null,a=t.grid,o=t.axis,i=t.from||0,u="first"===i,s="center"===i,l="last"===i,d=c.arr(e),f=d?parseFloat(e[0]):parseFloat(e),h=d?parseFloat(e[1]):0,p=S(d?e[1]:e)||0,g=t.start||0+(d?f:0),v=[],y=0;return function(e,t,c){if(u&&(i=0),s&&(i=(c-1)/2),l&&(i=c-1),!v.length){for(var m=0;m-1&&X.splice(o,1);for(var s=0;s=document.body.offsetHeight?eo.removeChild(ee.parentElement):eo.appendChild(arrow.parentElement)}),K.addEventListener("mouseenter",function(){K.style.opacity=.5}),K.addEventListener("mouseleave",function(){K.style.opacity=1}),ee.addEventListener("mouseenter",function(){ee.style.opacity=.5}),ee.addEventListener("mouseleave",function(){ee.style.opacity=1}),document.addEventListener("scroll",function(){let e;e=window.innerHeight||document.documentElement.clientHeight,_=(window.scrollY||document.body.scrollTop+(document.documentElement&&document.documentElement.scrollTop||0))/e+1}),ee.addEventListener("click",function(){_>=1&&_<2?en.scrollIntoView({behavior:"smooth"}):_>=2&&_<3?er.scrollIntoView({behavior:"smooth"}):_>=3&&_<4&&ea.scrollIntoView({behavior:"smooth"})}),K.addEventListener("click",function(){_>1&&_<=2?et.scrollIntoView({behavior:"smooth"}):_>2&&_<=3?en.scrollIntoView({behavior:"smooth"}):_>=3&&_<=4&&er.scrollIntoView({behavior:"smooth"})});// footer +let ei=document.querySelector(".footer");function eu(){let e=window.scrollY||document.documentElement.scrollTop,t=document.documentElement.scrollHeight;0===e||e+window.innerHeight>=t?ei.classList.add("show"):ei.classList.remove("show")}eu(),document.addEventListener("scroll",function(){eu()});// Rebours +let es=new Date;const ec=new Date(2023,11,13);let el=ec.getTime()-es.getTime(),ed=Math.floor(el/864e5),ef=Math.floor(el%864e5/36e5),eh=Math.floor(el%36e5/6e4),ep=Math.floor(el%6e4/1e3);// Set up flaps //////////////////////////////////////////// +speed=.1,beginStr=`${ef}H${eh}M${ep}s`.toUpperCase().split(""),endStr=`${ed} JOURS`.toUpperCase().split(""),// A-Z, 0-9, spaces only +amountOfFlaps=beginStr.length>=endStr.length?beginStr.length:endStr.length,div=document.querySelector(".center"),html="";for(var em=0;em
';div.innerHTML=html,// Set up more stuff /////////////////////////////////////// +a1=document.querySelectorAll(".top"),a2=document.querySelectorAll(".bottom"),b1=document.querySelectorAll(".nextFull"),b2=document.querySelectorAll(".nextHalf");for(var em=0;emchar.length-2?strCount[t]=0:strCount[t]++),flag.every(function(e){return e})&&flag2&&(flag2=!1,setTimeout(function(){flag.fill(!1),flag2=!0;var e=endStr.slice();endStr=beginStr.slice(),beginStr=e.slice()},3e3))},1e3*speed);const eg=new IntersectionObserver(e=>{e.forEach(e=>{e.isIntersecting?e.target.classList.toggle("show",e.isIntersecting):e.target.classList.remove("show")})}),ev=document.querySelectorAll(".hidden");ev.forEach(e=>eg.observe(e)),window.addEventListener("scroll",function(){// Calcul de la position du défilement +var e=window.pageYOffset||document.documentElement.scrollTop,t=window.innerHeight,n=document.querySelector(".section-one"),r=document.querySelector(".section-two .part-one"),a=document.querySelector(".section-three"),o=document.querySelector(".section-four"),i=e/t,u=(e-t)/t,s=(e-2*t)/t;// Fixer une limite pour le pourcentage de défilement entre 0 et 1 pour chaque transition +i=Math.min(1,Math.max(0,i)),u=Math.min(1,Math.max(0,u)),s=Math.min(1,Math.max(0,s)),// Transition de la section 1 à la section 2 (part-one) +n.style.backgroundColor="rgba(120, 106, 191,"+i+")",r.style.backgroundColor="rgba(120, 106, 191,"+i+")",e>=2*t&&(// Commence la transition après que la section 2 dépasse +a.style.backgroundColor="rgba(120, 106, 191,"+(1-s)+")",o.style.backgroundColor="rgba(120, 106, 191,"+(1-s)+")")});//# sourceMappingURL=index.0a2b0b61.js.map + +//# sourceMappingURL=index.0a2b0b61.js.map diff --git a/build/index.0a2b0b61.js.map b/build/index.0a2b0b61.js.map new file mode 100644 index 0000000..fdd381e --- /dev/null +++ b/build/index.0a2b0b61.js.map @@ -0,0 +1 @@ +{"mappings":"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","sources":["","src/index.js","node_modules/animejs/lib/anime.es.js"],"sourcesContent":["/*\n * anime.js v3.2.1\n * (c) 2020 Julian Garnier\n * Released under the MIT license\n * animejs.com\n */ // Defaults\nvar $70c6f773849da97a$var$defaultInstanceSettings = {\n update: null,\n begin: null,\n loopBegin: null,\n changeBegin: null,\n change: null,\n changeComplete: null,\n loopComplete: null,\n complete: null,\n loop: 1,\n direction: \"normal\",\n autoplay: true,\n timelineOffset: 0\n};\nvar $70c6f773849da97a$var$defaultTweenSettings = {\n duration: 1000,\n delay: 0,\n endDelay: 0,\n easing: \"easeOutElastic(1, .5)\",\n round: 0\n};\nvar $70c6f773849da97a$var$validTransforms = [\n \"translateX\",\n \"translateY\",\n \"translateZ\",\n \"rotate\",\n \"rotateX\",\n \"rotateY\",\n \"rotateZ\",\n \"scale\",\n \"scaleX\",\n \"scaleY\",\n \"scaleZ\",\n \"skew\",\n \"skewX\",\n \"skewY\",\n \"perspective\",\n \"matrix\",\n \"matrix3d\"\n];\n// Caching\nvar $70c6f773849da97a$var$cache = {\n CSS: {},\n springs: {}\n};\n// Utils\nfunction $70c6f773849da97a$var$minMax(val, min, max) {\n return Math.min(Math.max(val, min), max);\n}\nfunction $70c6f773849da97a$var$stringContains(str, text) {\n return str.indexOf(text) > -1;\n}\nfunction $70c6f773849da97a$var$applyArguments(func, args) {\n return func.apply(null, args);\n}\nvar $70c6f773849da97a$var$is = {\n arr: function(a) {\n return Array.isArray(a);\n },\n obj: function(a) {\n return $70c6f773849da97a$var$stringContains(Object.prototype.toString.call(a), \"Object\");\n },\n pth: function(a) {\n return $70c6f773849da97a$var$is.obj(a) && a.hasOwnProperty(\"totalLength\");\n },\n svg: function(a) {\n return a instanceof SVGElement;\n },\n inp: function(a) {\n return a instanceof HTMLInputElement;\n },\n dom: function(a) {\n return a.nodeType || $70c6f773849da97a$var$is.svg(a);\n },\n str: function(a) {\n return typeof a === \"string\";\n },\n fnc: function(a) {\n return typeof a === \"function\";\n },\n und: function(a) {\n return typeof a === \"undefined\";\n },\n nil: function(a) {\n return $70c6f773849da97a$var$is.und(a) || a === null;\n },\n hex: function(a) {\n return /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(a);\n },\n rgb: function(a) {\n return /^rgb/.test(a);\n },\n hsl: function(a) {\n return /^hsl/.test(a);\n },\n col: function(a) {\n return $70c6f773849da97a$var$is.hex(a) || $70c6f773849da97a$var$is.rgb(a) || $70c6f773849da97a$var$is.hsl(a);\n },\n key: function(a) {\n return !$70c6f773849da97a$var$defaultInstanceSettings.hasOwnProperty(a) && !$70c6f773849da97a$var$defaultTweenSettings.hasOwnProperty(a) && a !== \"targets\" && a !== \"keyframes\";\n }\n};\n// Easings\nfunction $70c6f773849da97a$var$parseEasingParameters(string) {\n var match = /\\(([^)]+)\\)/.exec(string);\n return match ? match[1].split(\",\").map(function(p) {\n return parseFloat(p);\n }) : [];\n}\n// Spring solver inspired by Webkit Copyright © 2016 Apple Inc. All rights reserved. https://webkit.org/demos/spring/spring.js\nfunction $70c6f773849da97a$var$spring(string, duration) {\n var params = $70c6f773849da97a$var$parseEasingParameters(string);\n var mass = $70c6f773849da97a$var$minMax($70c6f773849da97a$var$is.und(params[0]) ? 1 : params[0], .1, 100);\n var stiffness = $70c6f773849da97a$var$minMax($70c6f773849da97a$var$is.und(params[1]) ? 100 : params[1], .1, 100);\n var damping = $70c6f773849da97a$var$minMax($70c6f773849da97a$var$is.und(params[2]) ? 10 : params[2], .1, 100);\n var velocity = $70c6f773849da97a$var$minMax($70c6f773849da97a$var$is.und(params[3]) ? 0 : params[3], .1, 100);\n var w0 = Math.sqrt(stiffness / mass);\n var zeta = damping / (2 * Math.sqrt(stiffness * mass));\n var wd = zeta < 1 ? w0 * Math.sqrt(1 - zeta * zeta) : 0;\n var a = 1;\n var b = zeta < 1 ? (zeta * w0 + -velocity) / wd : -velocity + w0;\n function solver(t) {\n var progress = duration ? duration * t / 1000 : t;\n if (zeta < 1) progress = Math.exp(-progress * zeta * w0) * (a * Math.cos(wd * progress) + b * Math.sin(wd * progress));\n else progress = (a + b * progress) * Math.exp(-progress * w0);\n if (t === 0 || t === 1) return t;\n return 1 - progress;\n }\n function getDuration() {\n var cached = $70c6f773849da97a$var$cache.springs[string];\n if (cached) return cached;\n var frame = 1 / 6;\n var elapsed = 0;\n var rest = 0;\n while(true){\n elapsed += frame;\n if (solver(elapsed) === 1) {\n rest++;\n if (rest >= 16) break;\n } else rest = 0;\n }\n var duration = elapsed * frame * 1000;\n $70c6f773849da97a$var$cache.springs[string] = duration;\n return duration;\n }\n return duration ? solver : getDuration;\n}\n// Basic steps easing implementation https://developer.mozilla.org/fr/docs/Web/CSS/transition-timing-function\nfunction $70c6f773849da97a$var$steps(steps) {\n if (steps === void 0) steps = 10;\n return function(t) {\n return Math.ceil($70c6f773849da97a$var$minMax(t, 0.000001, 1) * steps) * (1 / steps);\n };\n}\n// BezierEasing https://github.com/gre/bezier-easing\nvar $70c6f773849da97a$var$bezier = function() {\n var kSplineTableSize = 11;\n var kSampleStepSize = 1.0 / (kSplineTableSize - 1.0);\n function A(aA1, aA2) {\n return 1.0 - 3.0 * aA2 + 3.0 * aA1;\n }\n function B(aA1, aA2) {\n return 3.0 * aA2 - 6.0 * aA1;\n }\n function C(aA1) {\n return 3.0 * aA1;\n }\n function calcBezier(aT, aA1, aA2) {\n return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT;\n }\n function getSlope(aT, aA1, aA2) {\n return 3.0 * A(aA1, aA2) * aT * aT + 2.0 * B(aA1, aA2) * aT + C(aA1);\n }\n function binarySubdivide(aX, aA, aB, mX1, mX2) {\n var currentX, currentT, i = 0;\n do {\n currentT = aA + (aB - aA) / 2.0;\n currentX = calcBezier(currentT, mX1, mX2) - aX;\n if (currentX > 0.0) aB = currentT;\n else aA = currentT;\n }while (Math.abs(currentX) > 0.0000001 && ++i < 10);\n return currentT;\n }\n function newtonRaphsonIterate(aX, aGuessT, mX1, mX2) {\n for(var i = 0; i < 4; ++i){\n var currentSlope = getSlope(aGuessT, mX1, mX2);\n if (currentSlope === 0.0) return aGuessT;\n var currentX = calcBezier(aGuessT, mX1, mX2) - aX;\n aGuessT -= currentX / currentSlope;\n }\n return aGuessT;\n }\n function bezier(mX1, mY1, mX2, mY2) {\n if (!(0 <= mX1 && mX1 <= 1 && 0 <= mX2 && mX2 <= 1)) return;\n var sampleValues = new Float32Array(kSplineTableSize);\n if (mX1 !== mY1 || mX2 !== mY2) for(var i = 0; i < kSplineTableSize; ++i)sampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);\n function getTForX(aX) {\n var intervalStart = 0;\n var currentSample = 1;\n var lastSample = kSplineTableSize - 1;\n for(; currentSample !== lastSample && sampleValues[currentSample] <= aX; ++currentSample)intervalStart += kSampleStepSize;\n --currentSample;\n var dist = (aX - sampleValues[currentSample]) / (sampleValues[currentSample + 1] - sampleValues[currentSample]);\n var guessForT = intervalStart + dist * kSampleStepSize;\n var initialSlope = getSlope(guessForT, mX1, mX2);\n if (initialSlope >= 0.001) return newtonRaphsonIterate(aX, guessForT, mX1, mX2);\n else if (initialSlope === 0.0) return guessForT;\n else return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);\n }\n return function(x) {\n if (mX1 === mY1 && mX2 === mY2) return x;\n if (x === 0 || x === 1) return x;\n return calcBezier(getTForX(x), mY1, mY2);\n };\n }\n return bezier;\n}();\nvar $70c6f773849da97a$var$penner = function() {\n // Based on jQuery UI's implemenation of easing equations from Robert Penner (http://www.robertpenner.com/easing)\n var eases = {\n linear: function() {\n return function(t) {\n return t;\n };\n }\n };\n var functionEasings = {\n Sine: function() {\n return function(t) {\n return 1 - Math.cos(t * Math.PI / 2);\n };\n },\n Circ: function() {\n return function(t) {\n return 1 - Math.sqrt(1 - t * t);\n };\n },\n Back: function() {\n return function(t) {\n return t * t * (3 * t - 2);\n };\n },\n Bounce: function() {\n return function(t) {\n var pow2, b = 4;\n while(t < ((pow2 = Math.pow(2, --b)) - 1) / 11);\n return 1 / Math.pow(4, 3 - b) - 7.5625 * Math.pow((pow2 * 3 - 2) / 22 - t, 2);\n };\n },\n Elastic: function(amplitude, period) {\n if (amplitude === void 0) amplitude = 1;\n if (period === void 0) period = .5;\n var a = $70c6f773849da97a$var$minMax(amplitude, 1, 10);\n var p = $70c6f773849da97a$var$minMax(period, .1, 2);\n return function(t) {\n return t === 0 || t === 1 ? t : -a * Math.pow(2, 10 * (t - 1)) * Math.sin((t - 1 - p / (Math.PI * 2) * Math.asin(1 / a)) * (Math.PI * 2) / p);\n };\n }\n };\n var baseEasings = [\n \"Quad\",\n \"Cubic\",\n \"Quart\",\n \"Quint\",\n \"Expo\"\n ];\n baseEasings.forEach(function(name, i) {\n functionEasings[name] = function() {\n return function(t) {\n return Math.pow(t, i + 2);\n };\n };\n });\n Object.keys(functionEasings).forEach(function(name) {\n var easeIn = functionEasings[name];\n eases[\"easeIn\" + name] = easeIn;\n eases[\"easeOut\" + name] = function(a, b) {\n return function(t) {\n return 1 - easeIn(a, b)(1 - t);\n };\n };\n eases[\"easeInOut\" + name] = function(a, b) {\n return function(t) {\n return t < 0.5 ? easeIn(a, b)(t * 2) / 2 : 1 - easeIn(a, b)(t * -2 + 2) / 2;\n };\n };\n eases[\"easeOutIn\" + name] = function(a, b) {\n return function(t) {\n return t < 0.5 ? (1 - easeIn(a, b)(1 - t * 2)) / 2 : (easeIn(a, b)(t * 2 - 1) + 1) / 2;\n };\n };\n });\n return eases;\n}();\nfunction $70c6f773849da97a$var$parseEasings(easing, duration) {\n if ($70c6f773849da97a$var$is.fnc(easing)) return easing;\n var name = easing.split(\"(\")[0];\n var ease = $70c6f773849da97a$var$penner[name];\n var args = $70c6f773849da97a$var$parseEasingParameters(easing);\n switch(name){\n case \"spring\":\n return $70c6f773849da97a$var$spring(easing, duration);\n case \"cubicBezier\":\n return $70c6f773849da97a$var$applyArguments($70c6f773849da97a$var$bezier, args);\n case \"steps\":\n return $70c6f773849da97a$var$applyArguments($70c6f773849da97a$var$steps, args);\n default:\n return $70c6f773849da97a$var$applyArguments(ease, args);\n }\n}\n// Strings\nfunction $70c6f773849da97a$var$selectString(str) {\n try {\n var nodes = document.querySelectorAll(str);\n return nodes;\n } catch (e) {\n return;\n }\n}\n// Arrays\nfunction $70c6f773849da97a$var$filterArray(arr, callback) {\n var len = arr.length;\n var thisArg = arguments.length >= 2 ? arguments[1] : void 0;\n var result = [];\n for(var i = 0; i < len; i++)if (i in arr) {\n var val = arr[i];\n if (callback.call(thisArg, val, i, arr)) result.push(val);\n }\n return result;\n}\nfunction $70c6f773849da97a$var$flattenArray(arr) {\n return arr.reduce(function(a, b) {\n return a.concat($70c6f773849da97a$var$is.arr(b) ? $70c6f773849da97a$var$flattenArray(b) : b);\n }, []);\n}\nfunction $70c6f773849da97a$var$toArray(o) {\n if ($70c6f773849da97a$var$is.arr(o)) return o;\n if ($70c6f773849da97a$var$is.str(o)) o = $70c6f773849da97a$var$selectString(o) || o;\n if (o instanceof NodeList || o instanceof HTMLCollection) return [].slice.call(o);\n return [\n o\n ];\n}\nfunction $70c6f773849da97a$var$arrayContains(arr, val) {\n return arr.some(function(a) {\n return a === val;\n });\n}\n// Objects\nfunction $70c6f773849da97a$var$cloneObject(o) {\n var clone = {};\n for(var p in o)clone[p] = o[p];\n return clone;\n}\nfunction $70c6f773849da97a$var$replaceObjectProps(o1, o2) {\n var o = $70c6f773849da97a$var$cloneObject(o1);\n for(var p in o1)o[p] = o2.hasOwnProperty(p) ? o2[p] : o1[p];\n return o;\n}\nfunction $70c6f773849da97a$var$mergeObjects(o1, o2) {\n var o = $70c6f773849da97a$var$cloneObject(o1);\n for(var p in o2)o[p] = $70c6f773849da97a$var$is.und(o1[p]) ? o2[p] : o1[p];\n return o;\n}\n// Colors\nfunction $70c6f773849da97a$var$rgbToRgba(rgbValue) {\n var rgb = /rgb\\((\\d+,\\s*[\\d]+,\\s*[\\d]+)\\)/g.exec(rgbValue);\n return rgb ? \"rgba(\" + rgb[1] + \",1)\" : rgbValue;\n}\nfunction $70c6f773849da97a$var$hexToRgba(hexValue) {\n var rgx = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;\n var hex = hexValue.replace(rgx, function(m, r, g, b) {\n return r + r + g + g + b + b;\n });\n var rgb = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n var r = parseInt(rgb[1], 16);\n var g = parseInt(rgb[2], 16);\n var b = parseInt(rgb[3], 16);\n return \"rgba(\" + r + \",\" + g + \",\" + b + \",1)\";\n}\nfunction $70c6f773849da97a$var$hslToRgba(hslValue) {\n var hsl = /hsl\\((\\d+),\\s*([\\d.]+)%,\\s*([\\d.]+)%\\)/g.exec(hslValue) || /hsla\\((\\d+),\\s*([\\d.]+)%,\\s*([\\d.]+)%,\\s*([\\d.]+)\\)/g.exec(hslValue);\n var h = parseInt(hsl[1], 10) / 360;\n var s = parseInt(hsl[2], 10) / 100;\n var l = parseInt(hsl[3], 10) / 100;\n var a = hsl[4] || 1;\n function hue2rgb(p, q, t) {\n if (t < 0) t += 1;\n if (t > 1) t -= 1;\n if (t < 1 / 6) return p + (q - p) * 6 * t;\n if (t < 0.5) return q;\n if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;\n return p;\n }\n var r, g, b;\n if (s == 0) r = g = b = l;\n else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1 / 3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1 / 3);\n }\n return \"rgba(\" + r * 255 + \",\" + g * 255 + \",\" + b * 255 + \",\" + a + \")\";\n}\nfunction $70c6f773849da97a$var$colorToRgb(val) {\n if ($70c6f773849da97a$var$is.rgb(val)) return $70c6f773849da97a$var$rgbToRgba(val);\n if ($70c6f773849da97a$var$is.hex(val)) return $70c6f773849da97a$var$hexToRgba(val);\n if ($70c6f773849da97a$var$is.hsl(val)) return $70c6f773849da97a$var$hslToRgba(val);\n}\n// Units\nfunction $70c6f773849da97a$var$getUnit(val) {\n var split = /[+-]?\\d*\\.?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(val);\n if (split) return split[1];\n}\nfunction $70c6f773849da97a$var$getTransformUnit(propName) {\n if ($70c6f773849da97a$var$stringContains(propName, \"translate\") || propName === \"perspective\") return \"px\";\n if ($70c6f773849da97a$var$stringContains(propName, \"rotate\") || $70c6f773849da97a$var$stringContains(propName, \"skew\")) return \"deg\";\n}\n// Values\nfunction $70c6f773849da97a$var$getFunctionValue(val, animatable) {\n if (!$70c6f773849da97a$var$is.fnc(val)) return val;\n return val(animatable.target, animatable.id, animatable.total);\n}\nfunction $70c6f773849da97a$var$getAttribute(el, prop) {\n return el.getAttribute(prop);\n}\nfunction $70c6f773849da97a$var$convertPxToUnit(el, value, unit) {\n var valueUnit = $70c6f773849da97a$var$getUnit(value);\n if ($70c6f773849da97a$var$arrayContains([\n unit,\n \"deg\",\n \"rad\",\n \"turn\"\n ], valueUnit)) return value;\n var cached = $70c6f773849da97a$var$cache.CSS[value + unit];\n if (!$70c6f773849da97a$var$is.und(cached)) return cached;\n var baseline = 100;\n var tempEl = document.createElement(el.tagName);\n var parentEl = el.parentNode && el.parentNode !== document ? el.parentNode : document.body;\n parentEl.appendChild(tempEl);\n tempEl.style.position = \"absolute\";\n tempEl.style.width = baseline + unit;\n var factor = baseline / tempEl.offsetWidth;\n parentEl.removeChild(tempEl);\n var convertedUnit = factor * parseFloat(value);\n $70c6f773849da97a$var$cache.CSS[value + unit] = convertedUnit;\n return convertedUnit;\n}\nfunction $70c6f773849da97a$var$getCSSValue(el, prop, unit) {\n if (prop in el.style) {\n var uppercasePropName = prop.replace(/([a-z])([A-Z])/g, \"$1-$2\").toLowerCase();\n var value = el.style[prop] || getComputedStyle(el).getPropertyValue(uppercasePropName) || \"0\";\n return unit ? $70c6f773849da97a$var$convertPxToUnit(el, value, unit) : value;\n }\n}\nfunction $70c6f773849da97a$var$getAnimationType(el, prop) {\n if ($70c6f773849da97a$var$is.dom(el) && !$70c6f773849da97a$var$is.inp(el) && (!$70c6f773849da97a$var$is.nil($70c6f773849da97a$var$getAttribute(el, prop)) || $70c6f773849da97a$var$is.svg(el) && el[prop])) return \"attribute\";\n if ($70c6f773849da97a$var$is.dom(el) && $70c6f773849da97a$var$arrayContains($70c6f773849da97a$var$validTransforms, prop)) return \"transform\";\n if ($70c6f773849da97a$var$is.dom(el) && prop !== \"transform\" && $70c6f773849da97a$var$getCSSValue(el, prop)) return \"css\";\n if (el[prop] != null) return \"object\";\n}\nfunction $70c6f773849da97a$var$getElementTransforms(el) {\n if (!$70c6f773849da97a$var$is.dom(el)) return;\n var str = el.style.transform || \"\";\n var reg = /(\\w+)\\(([^)]*)\\)/g;\n var transforms = new Map();\n var m;\n while(m = reg.exec(str))transforms.set(m[1], m[2]);\n return transforms;\n}\nfunction $70c6f773849da97a$var$getTransformValue(el, propName, animatable, unit) {\n var defaultVal = $70c6f773849da97a$var$stringContains(propName, \"scale\") ? 1 : 0 + $70c6f773849da97a$var$getTransformUnit(propName);\n var value = $70c6f773849da97a$var$getElementTransforms(el).get(propName) || defaultVal;\n if (animatable) {\n animatable.transforms.list.set(propName, value);\n animatable.transforms[\"last\"] = propName;\n }\n return unit ? $70c6f773849da97a$var$convertPxToUnit(el, value, unit) : value;\n}\nfunction $70c6f773849da97a$var$getOriginalTargetValue(target, propName, unit, animatable) {\n switch($70c6f773849da97a$var$getAnimationType(target, propName)){\n case \"transform\":\n return $70c6f773849da97a$var$getTransformValue(target, propName, animatable, unit);\n case \"css\":\n return $70c6f773849da97a$var$getCSSValue(target, propName, unit);\n case \"attribute\":\n return $70c6f773849da97a$var$getAttribute(target, propName);\n default:\n return target[propName] || 0;\n }\n}\nfunction $70c6f773849da97a$var$getRelativeValue(to, from) {\n var operator = /^(\\*=|\\+=|-=)/.exec(to);\n if (!operator) return to;\n var u = $70c6f773849da97a$var$getUnit(to) || 0;\n var x = parseFloat(from);\n var y = parseFloat(to.replace(operator[0], \"\"));\n switch(operator[0][0]){\n case \"+\":\n return x + y + u;\n case \"-\":\n return x - y + u;\n case \"*\":\n return x * y + u;\n }\n}\nfunction $70c6f773849da97a$var$validateValue(val, unit) {\n if ($70c6f773849da97a$var$is.col(val)) return $70c6f773849da97a$var$colorToRgb(val);\n if (/\\s/g.test(val)) return val;\n var originalUnit = $70c6f773849da97a$var$getUnit(val);\n var unitLess = originalUnit ? val.substr(0, val.length - originalUnit.length) : val;\n if (unit) return unitLess + unit;\n return unitLess;\n}\n// getTotalLength() equivalent for circle, rect, polyline, polygon and line shapes\n// adapted from https://gist.github.com/SebLambla/3e0550c496c236709744\nfunction $70c6f773849da97a$var$getDistance(p1, p2) {\n return Math.sqrt(Math.pow(p2.x - p1.x, 2) + Math.pow(p2.y - p1.y, 2));\n}\nfunction $70c6f773849da97a$var$getCircleLength(el) {\n return Math.PI * 2 * $70c6f773849da97a$var$getAttribute(el, \"r\");\n}\nfunction $70c6f773849da97a$var$getRectLength(el) {\n return $70c6f773849da97a$var$getAttribute(el, \"width\") * 2 + $70c6f773849da97a$var$getAttribute(el, \"height\") * 2;\n}\nfunction $70c6f773849da97a$var$getLineLength(el) {\n return $70c6f773849da97a$var$getDistance({\n x: $70c6f773849da97a$var$getAttribute(el, \"x1\"),\n y: $70c6f773849da97a$var$getAttribute(el, \"y1\")\n }, {\n x: $70c6f773849da97a$var$getAttribute(el, \"x2\"),\n y: $70c6f773849da97a$var$getAttribute(el, \"y2\")\n });\n}\nfunction $70c6f773849da97a$var$getPolylineLength(el) {\n var points = el.points;\n var totalLength = 0;\n var previousPos;\n for(var i = 0; i < points.numberOfItems; i++){\n var currentPos = points.getItem(i);\n if (i > 0) totalLength += $70c6f773849da97a$var$getDistance(previousPos, currentPos);\n previousPos = currentPos;\n }\n return totalLength;\n}\nfunction $70c6f773849da97a$var$getPolygonLength(el) {\n var points = el.points;\n return $70c6f773849da97a$var$getPolylineLength(el) + $70c6f773849da97a$var$getDistance(points.getItem(points.numberOfItems - 1), points.getItem(0));\n}\n// Path animation\nfunction $70c6f773849da97a$var$getTotalLength(el) {\n if (el.getTotalLength) return el.getTotalLength();\n switch(el.tagName.toLowerCase()){\n case \"circle\":\n return $70c6f773849da97a$var$getCircleLength(el);\n case \"rect\":\n return $70c6f773849da97a$var$getRectLength(el);\n case \"line\":\n return $70c6f773849da97a$var$getLineLength(el);\n case \"polyline\":\n return $70c6f773849da97a$var$getPolylineLength(el);\n case \"polygon\":\n return $70c6f773849da97a$var$getPolygonLength(el);\n }\n}\nfunction $70c6f773849da97a$var$setDashoffset(el) {\n var pathLength = $70c6f773849da97a$var$getTotalLength(el);\n el.setAttribute(\"stroke-dasharray\", pathLength);\n return pathLength;\n}\n// Motion path\nfunction $70c6f773849da97a$var$getParentSvgEl(el) {\n var parentEl = el.parentNode;\n while($70c6f773849da97a$var$is.svg(parentEl)){\n if (!$70c6f773849da97a$var$is.svg(parentEl.parentNode)) break;\n parentEl = parentEl.parentNode;\n }\n return parentEl;\n}\nfunction $70c6f773849da97a$var$getParentSvg(pathEl, svgData) {\n var svg = svgData || {};\n var parentSvgEl = svg.el || $70c6f773849da97a$var$getParentSvgEl(pathEl);\n var rect = parentSvgEl.getBoundingClientRect();\n var viewBoxAttr = $70c6f773849da97a$var$getAttribute(parentSvgEl, \"viewBox\");\n var width = rect.width;\n var height = rect.height;\n var viewBox = svg.viewBox || (viewBoxAttr ? viewBoxAttr.split(\" \") : [\n 0,\n 0,\n width,\n height\n ]);\n return {\n el: parentSvgEl,\n viewBox: viewBox,\n x: viewBox[0] / 1,\n y: viewBox[1] / 1,\n w: width,\n h: height,\n vW: viewBox[2],\n vH: viewBox[3]\n };\n}\nfunction $70c6f773849da97a$var$getPath(path, percent) {\n var pathEl = $70c6f773849da97a$var$is.str(path) ? $70c6f773849da97a$var$selectString(path)[0] : path;\n var p = percent || 100;\n return function(property) {\n return {\n property: property,\n el: pathEl,\n svg: $70c6f773849da97a$var$getParentSvg(pathEl),\n totalLength: $70c6f773849da97a$var$getTotalLength(pathEl) * (p / 100)\n };\n };\n}\nfunction $70c6f773849da97a$var$getPathProgress(path, progress, isPathTargetInsideSVG) {\n function point(offset) {\n if (offset === void 0) offset = 0;\n var l = progress + offset >= 1 ? progress + offset : 0;\n return path.el.getPointAtLength(l);\n }\n var svg = $70c6f773849da97a$var$getParentSvg(path.el, path.svg);\n var p = point();\n var p0 = point(-1);\n var p1 = point(1);\n var scaleX = isPathTargetInsideSVG ? 1 : svg.w / svg.vW;\n var scaleY = isPathTargetInsideSVG ? 1 : svg.h / svg.vH;\n switch(path.property){\n case \"x\":\n return (p.x - svg.x) * scaleX;\n case \"y\":\n return (p.y - svg.y) * scaleY;\n case \"angle\":\n return Math.atan2(p1.y - p0.y, p1.x - p0.x) * 180 / Math.PI;\n }\n}\n// Decompose value\nfunction $70c6f773849da97a$var$decomposeValue(val, unit) {\n // const rgx = /-?\\d*\\.?\\d+/g; // handles basic numbers\n // const rgx = /[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?/g; // handles exponents notation\n var rgx = /[+-]?\\d*\\.?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?/g; // handles exponents notation\n var value = $70c6f773849da97a$var$validateValue($70c6f773849da97a$var$is.pth(val) ? val.totalLength : val, unit) + \"\";\n return {\n original: value,\n numbers: value.match(rgx) ? value.match(rgx).map(Number) : [\n 0\n ],\n strings: $70c6f773849da97a$var$is.str(val) || unit ? value.split(rgx) : []\n };\n}\n// Animatables\nfunction $70c6f773849da97a$var$parseTargets(targets) {\n var targetsArray = targets ? $70c6f773849da97a$var$flattenArray($70c6f773849da97a$var$is.arr(targets) ? targets.map($70c6f773849da97a$var$toArray) : $70c6f773849da97a$var$toArray(targets)) : [];\n return $70c6f773849da97a$var$filterArray(targetsArray, function(item, pos, self) {\n return self.indexOf(item) === pos;\n });\n}\nfunction $70c6f773849da97a$var$getAnimatables(targets) {\n var parsed = $70c6f773849da97a$var$parseTargets(targets);\n return parsed.map(function(t, i) {\n return {\n target: t,\n id: i,\n total: parsed.length,\n transforms: {\n list: $70c6f773849da97a$var$getElementTransforms(t)\n }\n };\n });\n}\n// Properties\nfunction $70c6f773849da97a$var$normalizePropertyTweens(prop, tweenSettings) {\n var settings = $70c6f773849da97a$var$cloneObject(tweenSettings);\n // Override duration if easing is a spring\n if (/^spring/.test(settings.easing)) settings.duration = $70c6f773849da97a$var$spring(settings.easing);\n if ($70c6f773849da97a$var$is.arr(prop)) {\n var l = prop.length;\n var isFromTo = l === 2 && !$70c6f773849da97a$var$is.obj(prop[0]);\n if (!isFromTo) // Duration divided by the number of tweens\n {\n if (!$70c6f773849da97a$var$is.fnc(tweenSettings.duration)) settings.duration = tweenSettings.duration / l;\n } else // Transform [from, to] values shorthand to a valid tween value\n prop = {\n value: prop\n };\n }\n var propArray = $70c6f773849da97a$var$is.arr(prop) ? prop : [\n prop\n ];\n return propArray.map(function(v, i) {\n var obj = $70c6f773849da97a$var$is.obj(v) && !$70c6f773849da97a$var$is.pth(v) ? v : {\n value: v\n };\n // Default delay value should only be applied to the first tween\n if ($70c6f773849da97a$var$is.und(obj.delay)) obj.delay = !i ? tweenSettings.delay : 0;\n // Default endDelay value should only be applied to the last tween\n if ($70c6f773849da97a$var$is.und(obj.endDelay)) obj.endDelay = i === propArray.length - 1 ? tweenSettings.endDelay : 0;\n return obj;\n }).map(function(k) {\n return $70c6f773849da97a$var$mergeObjects(k, settings);\n });\n}\nfunction $70c6f773849da97a$var$flattenKeyframes(keyframes) {\n var propertyNames = $70c6f773849da97a$var$filterArray($70c6f773849da97a$var$flattenArray(keyframes.map(function(key) {\n return Object.keys(key);\n })), function(p) {\n return $70c6f773849da97a$var$is.key(p);\n }).reduce(function(a, b) {\n if (a.indexOf(b) < 0) a.push(b);\n return a;\n }, []);\n var properties = {};\n var loop = function(i) {\n var propName = propertyNames[i];\n properties[propName] = keyframes.map(function(key) {\n var newKey = {};\n for(var p in key){\n if ($70c6f773849da97a$var$is.key(p)) {\n if (p == propName) newKey.value = key[p];\n } else newKey[p] = key[p];\n }\n return newKey;\n });\n };\n for(var i = 0; i < propertyNames.length; i++)loop(i);\n return properties;\n}\nfunction $70c6f773849da97a$var$getProperties(tweenSettings, params) {\n var properties = [];\n var keyframes = params.keyframes;\n if (keyframes) params = $70c6f773849da97a$var$mergeObjects($70c6f773849da97a$var$flattenKeyframes(keyframes), params);\n for(var p in params)if ($70c6f773849da97a$var$is.key(p)) properties.push({\n name: p,\n tweens: $70c6f773849da97a$var$normalizePropertyTweens(params[p], tweenSettings)\n });\n return properties;\n}\n// Tweens\nfunction $70c6f773849da97a$var$normalizeTweenValues(tween, animatable) {\n var t = {};\n for(var p in tween){\n var value = $70c6f773849da97a$var$getFunctionValue(tween[p], animatable);\n if ($70c6f773849da97a$var$is.arr(value)) {\n value = value.map(function(v) {\n return $70c6f773849da97a$var$getFunctionValue(v, animatable);\n });\n if (value.length === 1) value = value[0];\n }\n t[p] = value;\n }\n t.duration = parseFloat(t.duration);\n t.delay = parseFloat(t.delay);\n return t;\n}\nfunction $70c6f773849da97a$var$normalizeTweens(prop, animatable) {\n var previousTween;\n return prop.tweens.map(function(t) {\n var tween = $70c6f773849da97a$var$normalizeTweenValues(t, animatable);\n var tweenValue = tween.value;\n var to = $70c6f773849da97a$var$is.arr(tweenValue) ? tweenValue[1] : tweenValue;\n var toUnit = $70c6f773849da97a$var$getUnit(to);\n var originalValue = $70c6f773849da97a$var$getOriginalTargetValue(animatable.target, prop.name, toUnit, animatable);\n var previousValue = previousTween ? previousTween.to.original : originalValue;\n var from = $70c6f773849da97a$var$is.arr(tweenValue) ? tweenValue[0] : previousValue;\n var fromUnit = $70c6f773849da97a$var$getUnit(from) || $70c6f773849da97a$var$getUnit(originalValue);\n var unit = toUnit || fromUnit;\n if ($70c6f773849da97a$var$is.und(to)) to = previousValue;\n tween.from = $70c6f773849da97a$var$decomposeValue(from, unit);\n tween.to = $70c6f773849da97a$var$decomposeValue($70c6f773849da97a$var$getRelativeValue(to, from), unit);\n tween.start = previousTween ? previousTween.end : 0;\n tween.end = tween.start + tween.delay + tween.duration + tween.endDelay;\n tween.easing = $70c6f773849da97a$var$parseEasings(tween.easing, tween.duration);\n tween.isPath = $70c6f773849da97a$var$is.pth(tweenValue);\n tween.isPathTargetInsideSVG = tween.isPath && $70c6f773849da97a$var$is.svg(animatable.target);\n tween.isColor = $70c6f773849da97a$var$is.col(tween.from.original);\n if (tween.isColor) tween.round = 1;\n previousTween = tween;\n return tween;\n });\n}\n// Tween progress\nvar $70c6f773849da97a$var$setProgressValue = {\n css: function(t, p, v) {\n return t.style[p] = v;\n },\n attribute: function(t, p, v) {\n return t.setAttribute(p, v);\n },\n object: function(t, p, v) {\n return t[p] = v;\n },\n transform: function(t, p, v, transforms, manual) {\n transforms.list.set(p, v);\n if (p === transforms.last || manual) {\n var str = \"\";\n transforms.list.forEach(function(value, prop) {\n str += prop + \"(\" + value + \") \";\n });\n t.style.transform = str;\n }\n }\n};\n// Set Value helper\nfunction $70c6f773849da97a$var$setTargetsValue(targets, properties) {\n var animatables = $70c6f773849da97a$var$getAnimatables(targets);\n animatables.forEach(function(animatable) {\n for(var property in properties){\n var value = $70c6f773849da97a$var$getFunctionValue(properties[property], animatable);\n var target = animatable.target;\n var valueUnit = $70c6f773849da97a$var$getUnit(value);\n var originalValue = $70c6f773849da97a$var$getOriginalTargetValue(target, property, valueUnit, animatable);\n var unit = valueUnit || $70c6f773849da97a$var$getUnit(originalValue);\n var to = $70c6f773849da97a$var$getRelativeValue($70c6f773849da97a$var$validateValue(value, unit), originalValue);\n var animType = $70c6f773849da97a$var$getAnimationType(target, property);\n $70c6f773849da97a$var$setProgressValue[animType](target, property, to, animatable.transforms, true);\n }\n });\n}\n// Animations\nfunction $70c6f773849da97a$var$createAnimation(animatable, prop) {\n var animType = $70c6f773849da97a$var$getAnimationType(animatable.target, prop.name);\n if (animType) {\n var tweens = $70c6f773849da97a$var$normalizeTweens(prop, animatable);\n var lastTween = tweens[tweens.length - 1];\n return {\n type: animType,\n property: prop.name,\n animatable: animatable,\n tweens: tweens,\n duration: lastTween.end,\n delay: tweens[0].delay,\n endDelay: lastTween.endDelay\n };\n }\n}\nfunction $70c6f773849da97a$var$getAnimations(animatables, properties) {\n return $70c6f773849da97a$var$filterArray($70c6f773849da97a$var$flattenArray(animatables.map(function(animatable) {\n return properties.map(function(prop) {\n return $70c6f773849da97a$var$createAnimation(animatable, prop);\n });\n })), function(a) {\n return !$70c6f773849da97a$var$is.und(a);\n });\n}\n// Create Instance\nfunction $70c6f773849da97a$var$getInstanceTimings(animations, tweenSettings) {\n var animLength = animations.length;\n var getTlOffset = function(anim) {\n return anim.timelineOffset ? anim.timelineOffset : 0;\n };\n var timings = {};\n timings.duration = animLength ? Math.max.apply(Math, animations.map(function(anim) {\n return getTlOffset(anim) + anim.duration;\n })) : tweenSettings.duration;\n timings.delay = animLength ? Math.min.apply(Math, animations.map(function(anim) {\n return getTlOffset(anim) + anim.delay;\n })) : tweenSettings.delay;\n timings.endDelay = animLength ? timings.duration - Math.max.apply(Math, animations.map(function(anim) {\n return getTlOffset(anim) + anim.duration - anim.endDelay;\n })) : tweenSettings.endDelay;\n return timings;\n}\nvar $70c6f773849da97a$var$instanceID = 0;\nfunction $70c6f773849da97a$var$createNewInstance(params) {\n var instanceSettings = $70c6f773849da97a$var$replaceObjectProps($70c6f773849da97a$var$defaultInstanceSettings, params);\n var tweenSettings = $70c6f773849da97a$var$replaceObjectProps($70c6f773849da97a$var$defaultTweenSettings, params);\n var properties = $70c6f773849da97a$var$getProperties(tweenSettings, params);\n var animatables = $70c6f773849da97a$var$getAnimatables(params.targets);\n var animations = $70c6f773849da97a$var$getAnimations(animatables, properties);\n var timings = $70c6f773849da97a$var$getInstanceTimings(animations, tweenSettings);\n var id = $70c6f773849da97a$var$instanceID;\n $70c6f773849da97a$var$instanceID++;\n return $70c6f773849da97a$var$mergeObjects(instanceSettings, {\n id: id,\n children: [],\n animatables: animatables,\n animations: animations,\n duration: timings.duration,\n delay: timings.delay,\n endDelay: timings.endDelay\n });\n}\n// Core\nvar $70c6f773849da97a$var$activeInstances = [];\nvar $70c6f773849da97a$var$engine = function() {\n var raf;\n function play() {\n if (!raf && (!$70c6f773849da97a$var$isDocumentHidden() || !$70c6f773849da97a$var$anime.suspendWhenDocumentHidden) && $70c6f773849da97a$var$activeInstances.length > 0) raf = requestAnimationFrame(step);\n }\n function step(t) {\n // memo on algorithm issue:\n // dangerous iteration over mutable `activeInstances`\n // (that collection may be updated from within callbacks of `tick`-ed animation instances)\n var activeInstancesLength = $70c6f773849da97a$var$activeInstances.length;\n var i = 0;\n while(i < activeInstancesLength){\n var activeInstance = $70c6f773849da97a$var$activeInstances[i];\n if (!activeInstance.paused) {\n activeInstance.tick(t);\n i++;\n } else {\n $70c6f773849da97a$var$activeInstances.splice(i, 1);\n activeInstancesLength--;\n }\n }\n raf = i > 0 ? requestAnimationFrame(step) : undefined;\n }\n function handleVisibilityChange() {\n if (!$70c6f773849da97a$var$anime.suspendWhenDocumentHidden) return;\n if ($70c6f773849da97a$var$isDocumentHidden()) // suspend ticks\n raf = cancelAnimationFrame(raf);\n else {\n // first adjust animations to consider the time that ticks were suspended\n $70c6f773849da97a$var$activeInstances.forEach(function(instance) {\n return instance._onDocumentVisibility();\n });\n $70c6f773849da97a$var$engine();\n }\n }\n if (typeof document !== \"undefined\") document.addEventListener(\"visibilitychange\", handleVisibilityChange);\n return play;\n}();\nfunction $70c6f773849da97a$var$isDocumentHidden() {\n return !!document && document.hidden;\n}\n// Public Instance\nfunction $70c6f773849da97a$var$anime(params) {\n if (params === void 0) params = {};\n var startTime = 0, lastTime = 0, now = 0;\n var children, childrenLength = 0;\n var resolve = null;\n function makePromise(instance) {\n var promise = window.Promise && new Promise(function(_resolve) {\n return resolve = _resolve;\n });\n instance.finished = promise;\n return promise;\n }\n var instance = $70c6f773849da97a$var$createNewInstance(params);\n var promise = makePromise(instance);\n function toggleInstanceDirection() {\n var direction = instance.direction;\n if (direction !== \"alternate\") instance.direction = direction !== \"normal\" ? \"normal\" : \"reverse\";\n instance.reversed = !instance.reversed;\n children.forEach(function(child) {\n return child.reversed = instance.reversed;\n });\n }\n function adjustTime(time) {\n return instance.reversed ? instance.duration - time : time;\n }\n function resetTime() {\n startTime = 0;\n lastTime = adjustTime(instance.currentTime) * (1 / $70c6f773849da97a$var$anime.speed);\n }\n function seekChild(time, child) {\n if (child) child.seek(time - child.timelineOffset);\n }\n function syncInstanceChildren(time) {\n if (!instance.reversePlayback) for(var i = 0; i < childrenLength; i++)seekChild(time, children[i]);\n else for(var i$1 = childrenLength; i$1--;)seekChild(time, children[i$1]);\n }\n function setAnimationsProgress(insTime) {\n var i = 0;\n var animations = instance.animations;\n var animationsLength = animations.length;\n while(i < animationsLength){\n var anim = animations[i];\n var animatable = anim.animatable;\n var tweens = anim.tweens;\n var tweenLength = tweens.length - 1;\n var tween = tweens[tweenLength];\n // Only check for keyframes if there is more than one tween\n if (tweenLength) tween = $70c6f773849da97a$var$filterArray(tweens, function(t) {\n return insTime < t.end;\n })[0] || tween;\n var elapsed = $70c6f773849da97a$var$minMax(insTime - tween.start - tween.delay, 0, tween.duration) / tween.duration;\n var eased = isNaN(elapsed) ? 1 : tween.easing(elapsed);\n var strings = tween.to.strings;\n var round = tween.round;\n var numbers = [];\n var toNumbersLength = tween.to.numbers.length;\n var progress = void 0;\n for(var n = 0; n < toNumbersLength; n++){\n var value = void 0;\n var toNumber = tween.to.numbers[n];\n var fromNumber = tween.from.numbers[n] || 0;\n if (!tween.isPath) value = fromNumber + eased * (toNumber - fromNumber);\n else value = $70c6f773849da97a$var$getPathProgress(tween.value, eased * toNumber, tween.isPathTargetInsideSVG);\n if (round) {\n if (!(tween.isColor && n > 2)) value = Math.round(value * round) / round;\n }\n numbers.push(value);\n }\n // Manual Array.reduce for better performances\n var stringsLength = strings.length;\n if (!stringsLength) progress = numbers[0];\n else {\n progress = strings[0];\n for(var s = 0; s < stringsLength; s++){\n var a = strings[s];\n var b = strings[s + 1];\n var n$1 = numbers[s];\n if (!isNaN(n$1)) {\n if (!b) progress += n$1 + \" \";\n else progress += n$1 + b;\n }\n }\n }\n $70c6f773849da97a$var$setProgressValue[anim.type](animatable.target, anim.property, progress, animatable.transforms);\n anim.currentValue = progress;\n i++;\n }\n }\n function setCallback(cb) {\n if (instance[cb] && !instance.passThrough) instance[cb](instance);\n }\n function countIteration() {\n if (instance.remaining && instance.remaining !== true) instance.remaining--;\n }\n function setInstanceProgress(engineTime) {\n var insDuration = instance.duration;\n var insDelay = instance.delay;\n var insEndDelay = insDuration - instance.endDelay;\n var insTime = adjustTime(engineTime);\n instance.progress = $70c6f773849da97a$var$minMax(insTime / insDuration * 100, 0, 100);\n instance.reversePlayback = insTime < instance.currentTime;\n if (children) syncInstanceChildren(insTime);\n if (!instance.began && instance.currentTime > 0) {\n instance.began = true;\n setCallback(\"begin\");\n }\n if (!instance.loopBegan && instance.currentTime > 0) {\n instance.loopBegan = true;\n setCallback(\"loopBegin\");\n }\n if (insTime <= insDelay && instance.currentTime !== 0) setAnimationsProgress(0);\n if (insTime >= insEndDelay && instance.currentTime !== insDuration || !insDuration) setAnimationsProgress(insDuration);\n if (insTime > insDelay && insTime < insEndDelay) {\n if (!instance.changeBegan) {\n instance.changeBegan = true;\n instance.changeCompleted = false;\n setCallback(\"changeBegin\");\n }\n setCallback(\"change\");\n setAnimationsProgress(insTime);\n } else if (instance.changeBegan) {\n instance.changeCompleted = true;\n instance.changeBegan = false;\n setCallback(\"changeComplete\");\n }\n instance.currentTime = $70c6f773849da97a$var$minMax(insTime, 0, insDuration);\n if (instance.began) setCallback(\"update\");\n if (engineTime >= insDuration) {\n lastTime = 0;\n countIteration();\n if (!instance.remaining) {\n instance.paused = true;\n if (!instance.completed) {\n instance.completed = true;\n setCallback(\"loopComplete\");\n setCallback(\"complete\");\n if (!instance.passThrough && \"Promise\" in window) {\n resolve();\n promise = makePromise(instance);\n }\n }\n } else {\n startTime = now;\n setCallback(\"loopComplete\");\n instance.loopBegan = false;\n if (instance.direction === \"alternate\") toggleInstanceDirection();\n }\n }\n }\n instance.reset = function() {\n var direction = instance.direction;\n instance.passThrough = false;\n instance.currentTime = 0;\n instance.progress = 0;\n instance.paused = true;\n instance.began = false;\n instance.loopBegan = false;\n instance.changeBegan = false;\n instance.completed = false;\n instance.changeCompleted = false;\n instance.reversePlayback = false;\n instance.reversed = direction === \"reverse\";\n instance.remaining = instance.loop;\n children = instance.children;\n childrenLength = children.length;\n for(var i = childrenLength; i--;)instance.children[i].reset();\n if (instance.reversed && instance.loop !== true || direction === \"alternate\" && instance.loop === 1) instance.remaining++;\n setAnimationsProgress(instance.reversed ? instance.duration : 0);\n };\n // internal method (for engine) to adjust animation timings before restoring engine ticks (rAF)\n instance._onDocumentVisibility = resetTime;\n // Set Value helper\n instance.set = function(targets, properties) {\n $70c6f773849da97a$var$setTargetsValue(targets, properties);\n return instance;\n };\n instance.tick = function(t) {\n now = t;\n if (!startTime) startTime = now;\n setInstanceProgress((now + (lastTime - startTime)) * $70c6f773849da97a$var$anime.speed);\n };\n instance.seek = function(time) {\n setInstanceProgress(adjustTime(time));\n };\n instance.pause = function() {\n instance.paused = true;\n resetTime();\n };\n instance.play = function() {\n if (!instance.paused) return;\n if (instance.completed) instance.reset();\n instance.paused = false;\n $70c6f773849da97a$var$activeInstances.push(instance);\n resetTime();\n $70c6f773849da97a$var$engine();\n };\n instance.reverse = function() {\n toggleInstanceDirection();\n instance.completed = instance.reversed ? false : true;\n resetTime();\n };\n instance.restart = function() {\n instance.reset();\n instance.play();\n };\n instance.remove = function(targets) {\n var targetsArray = $70c6f773849da97a$var$parseTargets(targets);\n $70c6f773849da97a$var$removeTargetsFromInstance(targetsArray, instance);\n };\n instance.reset();\n if (instance.autoplay) instance.play();\n return instance;\n}\n// Remove targets from animation\nfunction $70c6f773849da97a$var$removeTargetsFromAnimations(targetsArray, animations) {\n for(var a = animations.length; a--;)if ($70c6f773849da97a$var$arrayContains(targetsArray, animations[a].animatable.target)) animations.splice(a, 1);\n}\nfunction $70c6f773849da97a$var$removeTargetsFromInstance(targetsArray, instance) {\n var animations = instance.animations;\n var children = instance.children;\n $70c6f773849da97a$var$removeTargetsFromAnimations(targetsArray, animations);\n for(var c = children.length; c--;){\n var child = children[c];\n var childAnimations = child.animations;\n $70c6f773849da97a$var$removeTargetsFromAnimations(targetsArray, childAnimations);\n if (!childAnimations.length && !child.children.length) children.splice(c, 1);\n }\n if (!animations.length && !children.length) instance.pause();\n}\nfunction $70c6f773849da97a$var$removeTargetsFromActiveInstances(targets) {\n var targetsArray = $70c6f773849da97a$var$parseTargets(targets);\n for(var i = $70c6f773849da97a$var$activeInstances.length; i--;){\n var instance = $70c6f773849da97a$var$activeInstances[i];\n $70c6f773849da97a$var$removeTargetsFromInstance(targetsArray, instance);\n }\n}\n// Stagger helpers\nfunction $70c6f773849da97a$var$stagger(val, params) {\n if (params === void 0) params = {};\n var direction = params.direction || \"normal\";\n var easing = params.easing ? $70c6f773849da97a$var$parseEasings(params.easing) : null;\n var grid = params.grid;\n var axis = params.axis;\n var fromIndex = params.from || 0;\n var fromFirst = fromIndex === \"first\";\n var fromCenter = fromIndex === \"center\";\n var fromLast = fromIndex === \"last\";\n var isRange = $70c6f773849da97a$var$is.arr(val);\n var val1 = isRange ? parseFloat(val[0]) : parseFloat(val);\n var val2 = isRange ? parseFloat(val[1]) : 0;\n var unit = $70c6f773849da97a$var$getUnit(isRange ? val[1] : val) || 0;\n var start = params.start || 0 + (isRange ? val1 : 0);\n var values = [];\n var maxValue = 0;\n return function(el, i, t) {\n if (fromFirst) fromIndex = 0;\n if (fromCenter) fromIndex = (t - 1) / 2;\n if (fromLast) fromIndex = t - 1;\n if (!values.length) {\n for(var index = 0; index < t; index++){\n if (!grid) values.push(Math.abs(fromIndex - index));\n else {\n var fromX = !fromCenter ? fromIndex % grid[0] : (grid[0] - 1) / 2;\n var fromY = !fromCenter ? Math.floor(fromIndex / grid[0]) : (grid[1] - 1) / 2;\n var toX = index % grid[0];\n var toY = Math.floor(index / grid[0]);\n var distanceX = fromX - toX;\n var distanceY = fromY - toY;\n var value = Math.sqrt(distanceX * distanceX + distanceY * distanceY);\n if (axis === \"x\") value = -distanceX;\n if (axis === \"y\") value = -distanceY;\n values.push(value);\n }\n maxValue = Math.max.apply(Math, values);\n }\n if (easing) values = values.map(function(val) {\n return easing(val / maxValue) * maxValue;\n });\n if (direction === \"reverse\") values = values.map(function(val) {\n return axis ? val < 0 ? val * -1 : -val : Math.abs(maxValue - val);\n });\n }\n var spacing = isRange ? (val2 - val1) / maxValue : val1;\n return start + spacing * (Math.round(values[i] * 100) / 100) + unit;\n };\n}\n// Timeline\nfunction $70c6f773849da97a$var$timeline(params) {\n if (params === void 0) params = {};\n var tl = $70c6f773849da97a$var$anime(params);\n tl.duration = 0;\n tl.add = function(instanceParams, timelineOffset) {\n var tlIndex = $70c6f773849da97a$var$activeInstances.indexOf(tl);\n var children = tl.children;\n if (tlIndex > -1) $70c6f773849da97a$var$activeInstances.splice(tlIndex, 1);\n function passThrough(ins) {\n ins.passThrough = true;\n }\n for(var i = 0; i < children.length; i++)passThrough(children[i]);\n var insParams = $70c6f773849da97a$var$mergeObjects(instanceParams, $70c6f773849da97a$var$replaceObjectProps($70c6f773849da97a$var$defaultTweenSettings, params));\n insParams.targets = insParams.targets || params.targets;\n var tlDuration = tl.duration;\n insParams.autoplay = false;\n insParams.direction = tl.direction;\n insParams.timelineOffset = $70c6f773849da97a$var$is.und(timelineOffset) ? tlDuration : $70c6f773849da97a$var$getRelativeValue(timelineOffset, tlDuration);\n passThrough(tl);\n tl.seek(insParams.timelineOffset);\n var ins = $70c6f773849da97a$var$anime(insParams);\n passThrough(ins);\n children.push(ins);\n var timings = $70c6f773849da97a$var$getInstanceTimings(children, params);\n tl.delay = timings.delay;\n tl.endDelay = timings.endDelay;\n tl.duration = timings.duration;\n tl.seek(0);\n tl.reset();\n if (tl.autoplay) tl.play();\n return tl;\n };\n return tl;\n}\n$70c6f773849da97a$var$anime.version = \"3.2.1\";\n$70c6f773849da97a$var$anime.speed = 1;\n// TODO:#review: naming, documentation\n$70c6f773849da97a$var$anime.suspendWhenDocumentHidden = true;\n$70c6f773849da97a$var$anime.running = $70c6f773849da97a$var$activeInstances;\n$70c6f773849da97a$var$anime.remove = $70c6f773849da97a$var$removeTargetsFromActiveInstances;\n$70c6f773849da97a$var$anime.get = $70c6f773849da97a$var$getOriginalTargetValue;\n$70c6f773849da97a$var$anime.set = $70c6f773849da97a$var$setTargetsValue;\n$70c6f773849da97a$var$anime.convertPx = $70c6f773849da97a$var$convertPxToUnit;\n$70c6f773849da97a$var$anime.path = $70c6f773849da97a$var$getPath;\n$70c6f773849da97a$var$anime.setDashoffset = $70c6f773849da97a$var$setDashoffset;\n$70c6f773849da97a$var$anime.stagger = $70c6f773849da97a$var$stagger;\n$70c6f773849da97a$var$anime.timeline = $70c6f773849da97a$var$timeline;\n$70c6f773849da97a$var$anime.easing = $70c6f773849da97a$var$parseEasings;\n$70c6f773849da97a$var$anime.penner = $70c6f773849da97a$var$penner;\n$70c6f773849da97a$var$anime.random = function(min, max) {\n return Math.floor(Math.random() * (max - min + 1)) + min;\n};\nvar $70c6f773849da97a$export$2e2bcd8739ae039 = $70c6f773849da97a$var$anime;\n\n\nlet $35da740d59af89ba$var$pathSecondOrnament = document.querySelector(\"#second-ornament-path\");\nlet $35da740d59af89ba$var$totalLenghtSecondOrnament = $35da740d59af89ba$var$pathSecondOrnament.getTotalLength();\nlet $35da740d59af89ba$var$logoPath = document.querySelector(\"logo-path\");\nlet $35da740d59af89ba$var$currentSection = 1;\nfunction $35da740d59af89ba$var$updateCurrentSection() {\n let viewportHeight = window.innerHeight || document.documentElement.clientHeight;\n let scrollPosition = window.scrollY || document.body.scrollTop + (document.documentElement && document.documentElement.scrollTop || 0);\n $35da740d59af89ba$var$currentSection = scrollPosition / viewportHeight + 1;\n}\n(0, $70c6f773849da97a$export$2e2bcd8739ae039)({\n targets: \"#logo-path\",\n strokeDashoffset: [\n (0, $70c6f773849da97a$export$2e2bcd8739ae039).setDashoffset,\n 0\n ],\n easing: \"easeInOutSine\",\n duration: 1000,\n loop: false,\n delay: 500\n});\n(0, $70c6f773849da97a$export$2e2bcd8739ae039)({\n targets: \"#first-ornament-path\",\n strokeDashoffset: [\n (0, $70c6f773849da97a$export$2e2bcd8739ae039).setDashoffset,\n 0\n ],\n easing: \"easeInOutSine\",\n duration: 1500,\n loop: false,\n delay: 1000\n});\n(0, $70c6f773849da97a$export$2e2bcd8739ae039)({\n targets: \"#second-ornament-path\",\n strokeDashoffset: [\n (0, $70c6f773849da97a$export$2e2bcd8739ae039).setDashoffset,\n 0\n ],\n easing: \"easeInOutSine\",\n duration: 1500,\n loop: false,\n delay: 1000\n});\n(0, $70c6f773849da97a$export$2e2bcd8739ae039)({\n targets: \"#circle\",\n opacity: 1,\n delay: 2000,\n duration: 10000\n});\n(0, $70c6f773849da97a$export$2e2bcd8739ae039)({\n targets: \"#titre\",\n opacity: 1,\n delay: 2200,\n duration: 10000\n});\n(0, $70c6f773849da97a$export$2e2bcd8739ae039)({\n targets: \"#date\",\n opacity: 1,\n delay: 2500,\n duration: 10000\n});\n(0, $70c6f773849da97a$export$2e2bcd8739ae039)({\n targets: \"#line\",\n opacity: 1,\n delay: 2000,\n duration: 5000\n});\n(0, $70c6f773849da97a$export$2e2bcd8739ae039)({\n targets: \".center\",\n opacity: 1,\n delay: 3300,\n duration: 5000\n});\n(0, $70c6f773849da97a$export$2e2bcd8739ae039)({\n targets: \".st1\",\n fill: \"#fff\",\n delay: 1200,\n duration: 7000\n});\n(0, $70c6f773849da97a$export$2e2bcd8739ae039)({\n targets: \"#first-text-container\",\n opacity: 1,\n delay: 2600,\n duration: 4000\n});\n(0, $70c6f773849da97a$export$2e2bcd8739ae039)({\n targets: \"#second-text\",\n opacity: 1,\n duration: 4000,\n delay: 2800\n});\n(0, $70c6f773849da97a$export$2e2bcd8739ae039)({\n targets: \"#line-container\",\n x: \"0%\",\n rotate: \"360deg\",\n duration: 2000,\n easing: \"easeOutQuart\",\n delay: 500\n});\n// Scrolling behavior\nconst $35da740d59af89ba$var$arrowUp = document.getElementById(\"arrow-up\");\nconst $35da740d59af89ba$var$arrowDown = document.getElementById(\"arrow-down\");\nconst $35da740d59af89ba$var$sectionOne = document.getElementById(\"section-one\");\nconst $35da740d59af89ba$var$sectionTwo = document.getElementById(\"section-two\");\nconst $35da740d59af89ba$var$sectionThree = document.getElementById(\"section-three\");\nconst $35da740d59af89ba$var$sectionFour = document.getElementById(\"section-four\");\nconst $35da740d59af89ba$var$arrowContainer = document.querySelector(\".arrow-container\");\nwindow.addEventListener(\"scroll\", function() {\n if (window.scrollY === 0) $35da740d59af89ba$var$arrowContainer.removeChild($35da740d59af89ba$var$arrowUp.parentElement);\n else $35da740d59af89ba$var$arrowContainer.appendChild($35da740d59af89ba$var$arrowUp.parentElement);\n if (window.innerHeight + window.scrollY >= document.body.offsetHeight) $35da740d59af89ba$var$arrowContainer.removeChild($35da740d59af89ba$var$arrowDown.parentElement);\n else $35da740d59af89ba$var$arrowContainer.appendChild(arrow.parentElement);\n});\n$35da740d59af89ba$var$arrowUp.addEventListener(\"mouseenter\", function() {\n $35da740d59af89ba$var$arrowUp.style.opacity = 0.5;\n});\n$35da740d59af89ba$var$arrowUp.addEventListener(\"mouseleave\", function() {\n $35da740d59af89ba$var$arrowUp.style.opacity = 1;\n});\n$35da740d59af89ba$var$arrowDown.addEventListener(\"mouseenter\", function() {\n $35da740d59af89ba$var$arrowDown.style.opacity = 0.5;\n});\n$35da740d59af89ba$var$arrowDown.addEventListener(\"mouseleave\", function() {\n $35da740d59af89ba$var$arrowDown.style.opacity = 1;\n});\ndocument.addEventListener(\"scroll\", function() {\n $35da740d59af89ba$var$updateCurrentSection();\n});\n$35da740d59af89ba$var$arrowDown.addEventListener(\"click\", function() {\n if ($35da740d59af89ba$var$currentSection >= 1 && $35da740d59af89ba$var$currentSection < 2) $35da740d59af89ba$var$sectionTwo.scrollIntoView({\n behavior: \"smooth\"\n });\n else if ($35da740d59af89ba$var$currentSection >= 2 && $35da740d59af89ba$var$currentSection < 3) $35da740d59af89ba$var$sectionThree.scrollIntoView({\n behavior: \"smooth\"\n });\n else if ($35da740d59af89ba$var$currentSection >= 3 && $35da740d59af89ba$var$currentSection < 4) $35da740d59af89ba$var$sectionFour.scrollIntoView({\n behavior: \"smooth\"\n });\n});\n$35da740d59af89ba$var$arrowUp.addEventListener(\"click\", function() {\n if ($35da740d59af89ba$var$currentSection > 1 && $35da740d59af89ba$var$currentSection <= 2) $35da740d59af89ba$var$sectionOne.scrollIntoView({\n behavior: \"smooth\"\n });\n else if ($35da740d59af89ba$var$currentSection > 2 && $35da740d59af89ba$var$currentSection <= 3) $35da740d59af89ba$var$sectionTwo.scrollIntoView({\n behavior: \"smooth\"\n });\n else if ($35da740d59af89ba$var$currentSection >= 3 && $35da740d59af89ba$var$currentSection <= 4) $35da740d59af89ba$var$sectionThree.scrollIntoView({\n behavior: \"smooth\"\n });\n});\n// footer\nlet $35da740d59af89ba$var$footer = document.querySelector(\".footer\");\nfunction $35da740d59af89ba$var$updateFooterVisibility() {\n let scrollPosition = window.scrollY || document.documentElement.scrollTop;\n let totalHeight = document.documentElement.scrollHeight;\n if (scrollPosition === 0 || scrollPosition + window.innerHeight >= totalHeight) $35da740d59af89ba$var$footer.classList.add(\"show\");\n else $35da740d59af89ba$var$footer.classList.remove(\"show\");\n}\n$35da740d59af89ba$var$updateFooterVisibility();\ndocument.addEventListener(\"scroll\", function() {\n $35da740d59af89ba$var$updateFooterVisibility();\n});\n// Rebours\nlet $35da740d59af89ba$var$today = new Date();\nconst $35da740d59af89ba$var$endDate = new Date(2023, 11, 13);\nlet $35da740d59af89ba$var$timeDifference = $35da740d59af89ba$var$endDate.getTime() - $35da740d59af89ba$var$today.getTime();\nlet $35da740d59af89ba$var$daysDifference = Math.ceil($35da740d59af89ba$var$timeDifference / 86400000);\n// let hours = Math.abs(today - endDate) / 36e5;\nlet $35da740d59af89ba$var$days = Math.floor($35da740d59af89ba$var$timeDifference / 86400000);\n// Calculate hours, minutes, and seconds\nlet $35da740d59af89ba$var$hours = Math.floor($35da740d59af89ba$var$timeDifference % 86400000 / 3600000);\nlet $35da740d59af89ba$var$minutes = Math.floor($35da740d59af89ba$var$timeDifference % 3600000 / 60000);\nlet $35da740d59af89ba$var$seconds = Math.floor($35da740d59af89ba$var$timeDifference % 60000 / 1000);\n// Set up flaps ////////////////////////////////////////////\nspeed = 0.1; // seconds\nbeginStr = `${$35da740d59af89ba$var$hours}H${$35da740d59af89ba$var$minutes}M${$35da740d59af89ba$var$seconds}s`.toUpperCase().split(\"\");\nendStr = `${$35da740d59af89ba$var$days} JOURS`.toUpperCase().split(\"\");\n// A-Z, 0-9, spaces only\namountOfFlaps = beginStr.length >= endStr.length ? beginStr.length : endStr.length;\ndiv = document.querySelector(\".center\");\nhtml = \"\";\nfor(var $35da740d59af89ba$var$x = 0; $35da740d59af89ba$var$x < amountOfFlaps; $35da740d59af89ba$var$x++)html += '
';\ndiv.innerHTML = html;\n// Set up more stuff ///////////////////////////////////////\na1 = document.querySelectorAll(\".top\");\na2 = document.querySelectorAll(\".bottom\");\nb1 = document.querySelectorAll(\".nextFull\");\nb2 = document.querySelectorAll(\".nextHalf\");\nfor(var $35da740d59af89ba$var$x = 0; $35da740d59af89ba$var$x < a1.length; $35da740d59af89ba$var$x++){\n a2[$35da740d59af89ba$var$x].style.animationDuration = speed + \"s\";\n b2[$35da740d59af89ba$var$x].style.animationDuration = speed + \"s\";\n}\n// And even more ///////////////////////////////////////////\nchar = [\n \"A\",\n \"B\",\n \"C\",\n \"D\",\n \"E\",\n \"F\",\n \"G\",\n \"H\",\n \"I\",\n \"J\",\n \"K\",\n \"L\",\n \"M\",\n \"N\",\n \"O\",\n \"P\",\n \"Q\",\n \"R\",\n \"S\",\n \"T\",\n \"U\",\n \"V\",\n \"W\",\n \"X\",\n \"Y\",\n \"Z\",\n \"1\",\n \"2\",\n \"3\",\n \"4\",\n \"5\",\n \"6\",\n \"7\",\n \"8\",\n \"9\",\n \"0\",\n \" \"\n];\nstrCount = [], flag = [];\nfor(var $35da740d59af89ba$var$x = 0; $35da740d59af89ba$var$x < amountOfFlaps; $35da740d59af89ba$var$x++){\n if (beginStr.length != amountOfFlaps) for(var $35da740d59af89ba$var$x = 0; $35da740d59af89ba$var$x < amountOfFlaps - beginStr.length; $35da740d59af89ba$var$x++)beginStr.push(\" \");\n else if (endStr.length != amountOfFlaps) for(var $35da740d59af89ba$var$x = 0; $35da740d59af89ba$var$x < amountOfFlaps - endStr.length; $35da740d59af89ba$var$x++)endStr.push(\" \");\n}\nfor(var $35da740d59af89ba$var$x = 0; $35da740d59af89ba$var$x < amountOfFlaps; $35da740d59af89ba$var$x++){\n strCount[$35da740d59af89ba$var$x] = char.indexOf(beginStr[$35da740d59af89ba$var$x]);\n flag[$35da740d59af89ba$var$x] = false, flag2 = true;\n}\n// Flip them flaps /////////////////////////////////////////\nsetInterval(function() {\n for(var x = 0; x < amountOfFlaps; x++){\n if (b1[x].innerHTML == endStr[x]) $35da740d59af89ba$var$dontFlipIt(x);\n else $35da740d59af89ba$var$flipIt(x);\n if (flag.every(function(e) {\n return e;\n }) && flag2) flag2 = false, $35da740d59af89ba$var$changeDestination();\n }\n}, speed * 1000);\n////////////////////////////////////////////////////////////\n// Flap flipping functions /////////////////////////////////\n////////////////////////////////////////////////////////////\nfunction $35da740d59af89ba$var$flipIt(x) {\n a1[x].innerHTML = char[strCount[x] == 0 ? char.length - 1 : strCount[x] - 1];\n a2[x].innerHTML = char[strCount[x] == 0 ? char.length - 1 : strCount[x] - 1];\n b1[x].innerHTML = char[strCount[x]];\n b2[x].innerHTML = char[strCount[x]];\n a2[x].classList.remove(\"flip1\");\n a2[x].offsetWidth = a2[x].offsetWidth;\n a2[x].classList.add(\"flip1\");\n b2[x].classList.remove(\"flip2\");\n b2[x].offsetWidth = b2[x].offsetWidth;\n b2[x].classList.add(\"flip2\");\n if (strCount[x] > char.length - 2) strCount[x] = 0;\n else strCount[x]++;\n}\nfunction $35da740d59af89ba$var$dontFlipIt(x) {\n flag[x] = true;\n a2[x].classList.remove(\"flip2\");\n a2[x].style.backgroundColor = \"#3BB6eB\";\n b2[x].style.backgroundColor = \"#3BB6eB\";\n a1[x].innerHTML = char[strCount[x] == 0 ? char.length - 1 : strCount[x] - 1];\n a2[x].innerHTML = char[strCount[x] == 0 ? char.length - 1 : strCount[x] - 1];\n}\nfunction $35da740d59af89ba$var$changeDestination() {\n setTimeout(function() {\n flag.fill(false);\n flag2 = true;\n var tempArr = endStr.slice();\n endStr = beginStr.slice();\n beginStr = tempArr.slice();\n }, 3000);\n}\nconst $35da740d59af89ba$var$observer = new IntersectionObserver((entries)=>{\n entries.forEach((entry)=>{\n if (entry.isIntersecting) entry.target.classList.toggle(\"show\", entry.isIntersecting);\n else entry.target.classList.remove(\"show\");\n });\n});\nconst $35da740d59af89ba$var$hiddenElements = document.querySelectorAll(\".hidden\");\n$35da740d59af89ba$var$hiddenElements.forEach((el)=>$35da740d59af89ba$var$observer.observe(el));\nwindow.addEventListener(\"scroll\", function() {\n // Calcul de la position du défilement\n var scroll = window.pageYOffset || document.documentElement.scrollTop;\n // Obtenir la hauteur de la fenêtre\n var windowHeight = window.innerHeight;\n // Obtenir les éléments de section\n var sectionOne = document.querySelector(\".section-one\");\n var sectionTwoUp = document.querySelector(\".section-two .part-one\");\n var sectionThree = document.querySelector(\".section-three\");\n var sectionFour = document.querySelector(\".section-four\");\n // Calculer le pourcentage de défilement pour la section actuelle\n var scrollPercentOneTwo = scroll / windowHeight;\n var scrollPercentTwoThree = (scroll - windowHeight) / windowHeight;\n var scrollPercentThreeFour = (scroll - 2 * windowHeight) / windowHeight;\n // Fixer une limite pour le pourcentage de défilement entre 0 et 1 pour chaque transition\n scrollPercentOneTwo = Math.min(1, Math.max(0, scrollPercentOneTwo));\n scrollPercentTwoThree = Math.min(1, Math.max(0, scrollPercentTwoThree));\n scrollPercentThreeFour = Math.min(1, Math.max(0, scrollPercentThreeFour));\n // Transition de la section 1 à la section 2 (part-one)\n sectionOne.style.backgroundColor = \"rgba(120, 106, 191,\" + scrollPercentOneTwo + \")\";\n sectionTwoUp.style.backgroundColor = \"rgba(120, 106, 191,\" + scrollPercentOneTwo + \")\";\n // Transition de la section 3 à la section 4\n if (scroll >= 2 * windowHeight) {\n // Commence la transition après que la section 2 dépasse\n sectionThree.style.backgroundColor = \"rgba(120, 106, 191,\" + (1 - scrollPercentThreeFour) + \")\";\n sectionFour.style.backgroundColor = \"rgba(120, 106, 191,\" + (1 - scrollPercentThreeFour) + \")\";\n }\n});\n\n\n//# sourceMappingURL=index.0a2b0b61.js.map\n","import anime from \"animejs/lib/anime.es.js\";\n\nlet pathSecondOrnament = document.querySelector(\"#second-ornament-path\");\nlet totalLenghtSecondOrnament = pathSecondOrnament.getTotalLength();\nlet logoPath = document.querySelector(\"logo-path\");\n\nlet currentSection = 1;\n\nfunction updateCurrentSection() {\n let viewportHeight =\n window.innerHeight || document.documentElement.clientHeight;\n\n let scrollPosition =\n window.scrollY ||\n document.body.scrollTop +\n ((document.documentElement && document.documentElement.scrollTop) || 0);\n\n currentSection = scrollPosition / viewportHeight + 1;\n}\n\nanime({\n targets: \"#logo-path\",\n strokeDashoffset: [anime.setDashoffset, 0],\n easing: \"easeInOutSine\",\n duration: 1000,\n loop: false,\n delay: 500,\n});\n\nanime({\n targets: \"#first-ornament-path\",\n strokeDashoffset: [anime.setDashoffset, 0],\n easing: \"easeInOutSine\",\n duration: 1500,\n loop: false,\n delay: 1000,\n});\n\nanime({\n targets: \"#second-ornament-path\",\n strokeDashoffset: [anime.setDashoffset, 0],\n easing: \"easeInOutSine\",\n duration: 1500,\n loop: false,\n delay: 1000,\n});\n\nanime({\n targets: \"#circle\",\n opacity: 1,\n delay: 2000,\n duration: 10000,\n});\nanime({\n targets: \"#titre\",\n opacity: 1,\n delay: 2200,\n duration: 10000,\n});\nanime({\n targets: \"#date\",\n opacity: 1,\n delay: 2500,\n duration: 10000,\n});\n\nanime({\n targets: \"#line\",\n opacity: 1,\n delay: 2000,\n duration: 5000,\n});\n\nanime({\n targets: \".center\",\n opacity: 1,\n delay: 3300,\n duration: 5000,\n});\n\nanime({\n targets: \".st1\",\n fill: \"#fff\",\n delay: 1200,\n duration: 7000,\n});\n\nanime({\n targets: \"#first-text-container\",\n opacity: 1,\n delay: 2600,\n duration: 4000,\n});\n\nanime({\n targets: \"#second-text\",\n opacity: 1,\n duration: 4000,\n delay: 2800,\n});\n\nanime({\n targets: \"#line-container\",\n x: \"0%\",\n rotate: \"360deg\",\n duration: 2000,\n easing: \"easeOutQuart\",\n delay: 500,\n});\n\n// Scrolling behavior\n\nconst arrowUp = document.getElementById(\"arrow-up\");\nconst arrowDown = document.getElementById(\"arrow-down\");\nconst sectionOne = document.getElementById(\"section-one\");\nconst sectionTwo = document.getElementById(\"section-two\");\nconst sectionThree = document.getElementById(\"section-three\");\nconst sectionFour = document.getElementById(\"section-four\");\nconst arrowContainer = document.querySelector(\".arrow-container\");\n\nwindow.addEventListener(\"scroll\", function () {\n if (window.scrollY === 0) {\n arrowContainer.removeChild(arrowUp.parentElement);\n } else {\n arrowContainer.appendChild(arrowUp.parentElement);\n }\n\n if (window.innerHeight + window.scrollY >= document.body.offsetHeight) {\n arrowContainer.removeChild(arrowDown.parentElement);\n } else {\n arrowContainer.appendChild(arrow.parentElement);\n }\n});\narrowUp.addEventListener(\"mouseenter\", function () {\n arrowUp.style.opacity = 0.5;\n});\n\narrowUp.addEventListener(\"mouseleave\", function () {\n arrowUp.style.opacity = 1;\n});\narrowDown.addEventListener(\"mouseenter\", function () {\n arrowDown.style.opacity = 0.5;\n});\n\narrowDown.addEventListener(\"mouseleave\", function () {\n arrowDown.style.opacity = 1;\n});\n\ndocument.addEventListener(\"scroll\", function () {\n updateCurrentSection();\n});\n\narrowDown.addEventListener(\"click\", function () {\n if (currentSection >= 1 && currentSection < 2) {\n sectionTwo.scrollIntoView({ behavior: \"smooth\" });\n } else if (currentSection >= 2 && currentSection < 3) {\n sectionThree.scrollIntoView({ behavior: \"smooth\" });\n } else if (currentSection >= 3 && currentSection < 4) {\n sectionFour.scrollIntoView({ behavior: \"smooth\" });\n }\n});\n\narrowUp.addEventListener(\"click\", function () {\n if (currentSection > 1 && currentSection <= 2) {\n sectionOne.scrollIntoView({ behavior: \"smooth\" });\n } else if (currentSection > 2 && currentSection <= 3) {\n sectionTwo.scrollIntoView({ behavior: \"smooth\" });\n } else if (currentSection >= 3 && currentSection <= 4) {\n sectionThree.scrollIntoView({ behavior: \"smooth\" });\n }\n});\n\n// footer\n\nlet footer = document.querySelector(\".footer\");\n\nfunction updateFooterVisibility() {\n let scrollPosition = window.scrollY || document.documentElement.scrollTop;\n\n let totalHeight = document.documentElement.scrollHeight;\n\n if (\n scrollPosition === 0 ||\n scrollPosition + window.innerHeight >= totalHeight\n ) {\n footer.classList.add(\"show\");\n } else {\n footer.classList.remove(\"show\");\n }\n}\n\nupdateFooterVisibility();\n\ndocument.addEventListener(\"scroll\", function () {\n updateFooterVisibility();\n});\n\n// Rebours\n\nlet today = new Date();\nconst endDate = new Date(2023, 11, 13);\nlet timeDifference = endDate.getTime() - today.getTime();\nlet daysDifference = Math.ceil(timeDifference / (1000 * 60 * 60 * 24));\n// let hours = Math.abs(today - endDate) / 36e5;\n\nlet days = Math.floor(timeDifference / (1000 * 60 * 60 * 24));\n\n// Calculate hours, minutes, and seconds\nlet hours = Math.floor(\n (timeDifference % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)\n);\nlet minutes = Math.floor((timeDifference % (1000 * 60 * 60)) / (1000 * 60));\nlet seconds = Math.floor((timeDifference % (1000 * 60)) / 1000);\n\n// Set up flaps ////////////////////////////////////////////\nspeed = 0.1; // seconds\nbeginStr = `${hours}H${minutes}M${seconds}s`.toUpperCase().split(\"\");\nendStr = `${days} JOURS`.toUpperCase().split(\"\");\n// A-Z, 0-9, spaces only\n\namountOfFlaps =\n beginStr.length >= endStr.length ? beginStr.length : endStr.length;\n\ndiv = document.querySelector(\".center\");\nhtml = \"\";\nfor (var x = 0; x < amountOfFlaps; x++) {\n html +=\n '
';\n}\n\ndiv.innerHTML = html;\n\n// Set up more stuff ///////////////////////////////////////\na1 = document.querySelectorAll(\".top\");\na2 = document.querySelectorAll(\".bottom\");\nb1 = document.querySelectorAll(\".nextFull\");\nb2 = document.querySelectorAll(\".nextHalf\");\n\nfor (var x = 0; x < a1.length; x++) {\n a2[x].style.animationDuration = speed + \"s\";\n b2[x].style.animationDuration = speed + \"s\";\n}\n\n// And even more ///////////////////////////////////////////\nchar = [\n \"A\",\n \"B\",\n \"C\",\n \"D\",\n \"E\",\n \"F\",\n \"G\",\n \"H\",\n \"I\",\n \"J\",\n \"K\",\n \"L\",\n \"M\",\n \"N\",\n \"O\",\n \"P\",\n \"Q\",\n \"R\",\n \"S\",\n \"T\",\n \"U\",\n \"V\",\n \"W\",\n \"X\",\n \"Y\",\n \"Z\",\n \"1\",\n \"2\",\n \"3\",\n \"4\",\n \"5\",\n \"6\",\n \"7\",\n \"8\",\n \"9\",\n \"0\",\n \" \",\n];\n\n(strCount = []), (flag = []);\n\nfor (var x = 0; x < amountOfFlaps; x++) {\n if (beginStr.length != amountOfFlaps) {\n for (var x = 0; x < amountOfFlaps - beginStr.length; x++) {\n beginStr.push(\" \");\n }\n } else if (endStr.length != amountOfFlaps) {\n for (var x = 0; x < amountOfFlaps - endStr.length; x++) {\n endStr.push(\" \");\n }\n }\n}\nfor (var x = 0; x < amountOfFlaps; x++) {\n strCount[x] = char.indexOf(beginStr[x]);\n (flag[x] = false), (flag2 = true);\n}\n\n// Flip them flaps /////////////////////////////////////////\nsetInterval(function () {\n for (var x = 0; x < amountOfFlaps; x++) {\n if (b1[x].innerHTML == endStr[x]) dontFlipIt(x);\n else flipIt(x);\n\n if (\n flag.every(function (e) {\n return e;\n }) &&\n flag2\n )\n (flag2 = false), changeDestination();\n }\n}, speed * 1000);\n\n////////////////////////////////////////////////////////////\n// Flap flipping functions /////////////////////////////////\n////////////////////////////////////////////////////////////\nfunction flipIt(x) {\n a1[x].innerHTML = char[strCount[x] == 0 ? char.length - 1 : strCount[x] - 1];\n a2[x].innerHTML = char[strCount[x] == 0 ? char.length - 1 : strCount[x] - 1];\n b1[x].innerHTML = char[strCount[x]];\n b2[x].innerHTML = char[strCount[x]];\n\n a2[x].classList.remove(\"flip1\");\n a2[x].offsetWidth = a2[x].offsetWidth;\n a2[x].classList.add(\"flip1\");\n b2[x].classList.remove(\"flip2\");\n b2[x].offsetWidth = b2[x].offsetWidth;\n b2[x].classList.add(\"flip2\");\n\n if (strCount[x] > char.length - 2) strCount[x] = 0;\n else strCount[x]++;\n}\n\nfunction dontFlipIt(x) {\n flag[x] = true;\n a2[x].classList.remove(\"flip2\");\n a2[x].style.backgroundColor = \"#3BB6eB\";\n b2[x].style.backgroundColor = \"#3BB6eB\";\n a1[x].innerHTML = char[strCount[x] == 0 ? char.length - 1 : strCount[x] - 1];\n a2[x].innerHTML = char[strCount[x] == 0 ? char.length - 1 : strCount[x] - 1];\n}\n\nfunction changeDestination() {\n setTimeout(function () {\n flag.fill(false);\n flag2 = true;\n\n var tempArr = endStr.slice();\n endStr = beginStr.slice();\n beginStr = tempArr.slice();\n }, 3000);\n}\n\nconst observer = new IntersectionObserver((entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n entry.target.classList.toggle(\"show\", entry.isIntersecting);\n } else {\n entry.target.classList.remove(\"show\");\n }\n });\n});\n\nconst hiddenElements = document.querySelectorAll(\".hidden\");\nhiddenElements.forEach((el) => observer.observe(el));\n\nwindow.addEventListener(\"scroll\", function () {\n // Calcul de la position du défilement\n var scroll = window.pageYOffset || document.documentElement.scrollTop;\n\n // Obtenir la hauteur de la fenêtre\n var windowHeight = window.innerHeight;\n\n // Obtenir les éléments de section\n var sectionOne = document.querySelector(\".section-one\");\n var sectionTwoUp = document.querySelector(\".section-two .part-one\");\n var sectionThree = document.querySelector(\".section-three\");\n var sectionFour = document.querySelector(\".section-four\");\n\n // Calculer le pourcentage de défilement pour la section actuelle\n var scrollPercentOneTwo = scroll / windowHeight;\n var scrollPercentTwoThree = (scroll - windowHeight) / windowHeight;\n var scrollPercentThreeFour = (scroll - 2 * windowHeight) / windowHeight;\n\n // Fixer une limite pour le pourcentage de défilement entre 0 et 1 pour chaque transition\n scrollPercentOneTwo = Math.min(1, Math.max(0, scrollPercentOneTwo));\n scrollPercentTwoThree = Math.min(1, Math.max(0, scrollPercentTwoThree));\n scrollPercentThreeFour = Math.min(1, Math.max(0, scrollPercentThreeFour));\n\n // Transition de la section 1 à la section 2 (part-one)\n sectionOne.style.backgroundColor =\n \"rgba(120, 106, 191,\" + scrollPercentOneTwo + \")\";\n sectionTwoUp.style.backgroundColor =\n \"rgba(120, 106, 191,\" + scrollPercentOneTwo + \")\";\n\n // Transition de la section 3 à la section 4\n if (scroll >= 2 * windowHeight) {\n // Commence la transition après que la section 2 dépasse\n sectionThree.style.backgroundColor =\n \"rgba(120, 106, 191,\" + (1 - scrollPercentThreeFour) + \")\";\n sectionFour.style.backgroundColor =\n \"rgba(120, 106, 191,\" + (1 - scrollPercentThreeFour) + \")\";\n }\n});\n","/*\n * anime.js v3.2.1\n * (c) 2020 Julian Garnier\n * Released under the MIT license\n * animejs.com\n */\n\n// Defaults\n\nvar defaultInstanceSettings = {\n update: null,\n begin: null,\n loopBegin: null,\n changeBegin: null,\n change: null,\n changeComplete: null,\n loopComplete: null,\n complete: null,\n loop: 1,\n direction: 'normal',\n autoplay: true,\n timelineOffset: 0\n};\n\nvar defaultTweenSettings = {\n duration: 1000,\n delay: 0,\n endDelay: 0,\n easing: 'easeOutElastic(1, .5)',\n round: 0\n};\n\nvar validTransforms = ['translateX', 'translateY', 'translateZ', 'rotate', 'rotateX', 'rotateY', 'rotateZ', 'scale', 'scaleX', 'scaleY', 'scaleZ', 'skew', 'skewX', 'skewY', 'perspective', 'matrix', 'matrix3d'];\n\n// Caching\n\nvar cache = {\n CSS: {},\n springs: {}\n};\n\n// Utils\n\nfunction minMax(val, min, max) {\n return Math.min(Math.max(val, min), max);\n}\n\nfunction stringContains(str, text) {\n return str.indexOf(text) > -1;\n}\n\nfunction applyArguments(func, args) {\n return func.apply(null, args);\n}\n\nvar is = {\n arr: function (a) { return Array.isArray(a); },\n obj: function (a) { return stringContains(Object.prototype.toString.call(a), 'Object'); },\n pth: function (a) { return is.obj(a) && a.hasOwnProperty('totalLength'); },\n svg: function (a) { return a instanceof SVGElement; },\n inp: function (a) { return a instanceof HTMLInputElement; },\n dom: function (a) { return a.nodeType || is.svg(a); },\n str: function (a) { return typeof a === 'string'; },\n fnc: function (a) { return typeof a === 'function'; },\n und: function (a) { return typeof a === 'undefined'; },\n nil: function (a) { return is.und(a) || a === null; },\n hex: function (a) { return /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(a); },\n rgb: function (a) { return /^rgb/.test(a); },\n hsl: function (a) { return /^hsl/.test(a); },\n col: function (a) { return (is.hex(a) || is.rgb(a) || is.hsl(a)); },\n key: function (a) { return !defaultInstanceSettings.hasOwnProperty(a) && !defaultTweenSettings.hasOwnProperty(a) && a !== 'targets' && a !== 'keyframes'; },\n};\n\n// Easings\n\nfunction parseEasingParameters(string) {\n var match = /\\(([^)]+)\\)/.exec(string);\n return match ? match[1].split(',').map(function (p) { return parseFloat(p); }) : [];\n}\n\n// Spring solver inspired by Webkit Copyright © 2016 Apple Inc. All rights reserved. https://webkit.org/demos/spring/spring.js\n\nfunction spring(string, duration) {\n\n var params = parseEasingParameters(string);\n var mass = minMax(is.und(params[0]) ? 1 : params[0], .1, 100);\n var stiffness = minMax(is.und(params[1]) ? 100 : params[1], .1, 100);\n var damping = minMax(is.und(params[2]) ? 10 : params[2], .1, 100);\n var velocity = minMax(is.und(params[3]) ? 0 : params[3], .1, 100);\n var w0 = Math.sqrt(stiffness / mass);\n var zeta = damping / (2 * Math.sqrt(stiffness * mass));\n var wd = zeta < 1 ? w0 * Math.sqrt(1 - zeta * zeta) : 0;\n var a = 1;\n var b = zeta < 1 ? (zeta * w0 + -velocity) / wd : -velocity + w0;\n\n function solver(t) {\n var progress = duration ? (duration * t) / 1000 : t;\n if (zeta < 1) {\n progress = Math.exp(-progress * zeta * w0) * (a * Math.cos(wd * progress) + b * Math.sin(wd * progress));\n } else {\n progress = (a + b * progress) * Math.exp(-progress * w0);\n }\n if (t === 0 || t === 1) { return t; }\n return 1 - progress;\n }\n\n function getDuration() {\n var cached = cache.springs[string];\n if (cached) { return cached; }\n var frame = 1/6;\n var elapsed = 0;\n var rest = 0;\n while(true) {\n elapsed += frame;\n if (solver(elapsed) === 1) {\n rest++;\n if (rest >= 16) { break; }\n } else {\n rest = 0;\n }\n }\n var duration = elapsed * frame * 1000;\n cache.springs[string] = duration;\n return duration;\n }\n\n return duration ? solver : getDuration;\n\n}\n\n// Basic steps easing implementation https://developer.mozilla.org/fr/docs/Web/CSS/transition-timing-function\n\nfunction steps(steps) {\n if ( steps === void 0 ) steps = 10;\n\n return function (t) { return Math.ceil((minMax(t, 0.000001, 1)) * steps) * (1 / steps); };\n}\n\n// BezierEasing https://github.com/gre/bezier-easing\n\nvar bezier = (function () {\n\n var kSplineTableSize = 11;\n var kSampleStepSize = 1.0 / (kSplineTableSize - 1.0);\n\n function A(aA1, aA2) { return 1.0 - 3.0 * aA2 + 3.0 * aA1 }\n function B(aA1, aA2) { return 3.0 * aA2 - 6.0 * aA1 }\n function C(aA1) { return 3.0 * aA1 }\n\n function calcBezier(aT, aA1, aA2) { return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT }\n function getSlope(aT, aA1, aA2) { return 3.0 * A(aA1, aA2) * aT * aT + 2.0 * B(aA1, aA2) * aT + C(aA1) }\n\n function binarySubdivide(aX, aA, aB, mX1, mX2) {\n var currentX, currentT, i = 0;\n do {\n currentT = aA + (aB - aA) / 2.0;\n currentX = calcBezier(currentT, mX1, mX2) - aX;\n if (currentX > 0.0) { aB = currentT; } else { aA = currentT; }\n } while (Math.abs(currentX) > 0.0000001 && ++i < 10);\n return currentT;\n }\n\n function newtonRaphsonIterate(aX, aGuessT, mX1, mX2) {\n for (var i = 0; i < 4; ++i) {\n var currentSlope = getSlope(aGuessT, mX1, mX2);\n if (currentSlope === 0.0) { return aGuessT; }\n var currentX = calcBezier(aGuessT, mX1, mX2) - aX;\n aGuessT -= currentX / currentSlope;\n }\n return aGuessT;\n }\n\n function bezier(mX1, mY1, mX2, mY2) {\n\n if (!(0 <= mX1 && mX1 <= 1 && 0 <= mX2 && mX2 <= 1)) { return; }\n var sampleValues = new Float32Array(kSplineTableSize);\n\n if (mX1 !== mY1 || mX2 !== mY2) {\n for (var i = 0; i < kSplineTableSize; ++i) {\n sampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);\n }\n }\n\n function getTForX(aX) {\n\n var intervalStart = 0;\n var currentSample = 1;\n var lastSample = kSplineTableSize - 1;\n\n for (; currentSample !== lastSample && sampleValues[currentSample] <= aX; ++currentSample) {\n intervalStart += kSampleStepSize;\n }\n\n --currentSample;\n\n var dist = (aX - sampleValues[currentSample]) / (sampleValues[currentSample + 1] - sampleValues[currentSample]);\n var guessForT = intervalStart + dist * kSampleStepSize;\n var initialSlope = getSlope(guessForT, mX1, mX2);\n\n if (initialSlope >= 0.001) {\n return newtonRaphsonIterate(aX, guessForT, mX1, mX2);\n } else if (initialSlope === 0.0) {\n return guessForT;\n } else {\n return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);\n }\n\n }\n\n return function (x) {\n if (mX1 === mY1 && mX2 === mY2) { return x; }\n if (x === 0 || x === 1) { return x; }\n return calcBezier(getTForX(x), mY1, mY2);\n }\n\n }\n\n return bezier;\n\n})();\n\nvar penner = (function () {\n\n // Based on jQuery UI's implemenation of easing equations from Robert Penner (http://www.robertpenner.com/easing)\n\n var eases = { linear: function () { return function (t) { return t; }; } };\n\n var functionEasings = {\n Sine: function () { return function (t) { return 1 - Math.cos(t * Math.PI / 2); }; },\n Circ: function () { return function (t) { return 1 - Math.sqrt(1 - t * t); }; },\n Back: function () { return function (t) { return t * t * (3 * t - 2); }; },\n Bounce: function () { return function (t) {\n var pow2, b = 4;\n while (t < (( pow2 = Math.pow(2, --b)) - 1) / 11) {}\n return 1 / Math.pow(4, 3 - b) - 7.5625 * Math.pow(( pow2 * 3 - 2 ) / 22 - t, 2)\n }; },\n Elastic: function (amplitude, period) {\n if ( amplitude === void 0 ) amplitude = 1;\n if ( period === void 0 ) period = .5;\n\n var a = minMax(amplitude, 1, 10);\n var p = minMax(period, .1, 2);\n return function (t) {\n return (t === 0 || t === 1) ? t : \n -a * Math.pow(2, 10 * (t - 1)) * Math.sin((((t - 1) - (p / (Math.PI * 2) * Math.asin(1 / a))) * (Math.PI * 2)) / p);\n }\n }\n };\n\n var baseEasings = ['Quad', 'Cubic', 'Quart', 'Quint', 'Expo'];\n\n baseEasings.forEach(function (name, i) {\n functionEasings[name] = function () { return function (t) { return Math.pow(t, i + 2); }; };\n });\n\n Object.keys(functionEasings).forEach(function (name) {\n var easeIn = functionEasings[name];\n eases['easeIn' + name] = easeIn;\n eases['easeOut' + name] = function (a, b) { return function (t) { return 1 - easeIn(a, b)(1 - t); }; };\n eases['easeInOut' + name] = function (a, b) { return function (t) { return t < 0.5 ? easeIn(a, b)(t * 2) / 2 : \n 1 - easeIn(a, b)(t * -2 + 2) / 2; }; };\n eases['easeOutIn' + name] = function (a, b) { return function (t) { return t < 0.5 ? (1 - easeIn(a, b)(1 - t * 2)) / 2 : \n (easeIn(a, b)(t * 2 - 1) + 1) / 2; }; };\n });\n\n return eases;\n\n})();\n\nfunction parseEasings(easing, duration) {\n if (is.fnc(easing)) { return easing; }\n var name = easing.split('(')[0];\n var ease = penner[name];\n var args = parseEasingParameters(easing);\n switch (name) {\n case 'spring' : return spring(easing, duration);\n case 'cubicBezier' : return applyArguments(bezier, args);\n case 'steps' : return applyArguments(steps, args);\n default : return applyArguments(ease, args);\n }\n}\n\n// Strings\n\nfunction selectString(str) {\n try {\n var nodes = document.querySelectorAll(str);\n return nodes;\n } catch(e) {\n return;\n }\n}\n\n// Arrays\n\nfunction filterArray(arr, callback) {\n var len = arr.length;\n var thisArg = arguments.length >= 2 ? arguments[1] : void 0;\n var result = [];\n for (var i = 0; i < len; i++) {\n if (i in arr) {\n var val = arr[i];\n if (callback.call(thisArg, val, i, arr)) {\n result.push(val);\n }\n }\n }\n return result;\n}\n\nfunction flattenArray(arr) {\n return arr.reduce(function (a, b) { return a.concat(is.arr(b) ? flattenArray(b) : b); }, []);\n}\n\nfunction toArray(o) {\n if (is.arr(o)) { return o; }\n if (is.str(o)) { o = selectString(o) || o; }\n if (o instanceof NodeList || o instanceof HTMLCollection) { return [].slice.call(o); }\n return [o];\n}\n\nfunction arrayContains(arr, val) {\n return arr.some(function (a) { return a === val; });\n}\n\n// Objects\n\nfunction cloneObject(o) {\n var clone = {};\n for (var p in o) { clone[p] = o[p]; }\n return clone;\n}\n\nfunction replaceObjectProps(o1, o2) {\n var o = cloneObject(o1);\n for (var p in o1) { o[p] = o2.hasOwnProperty(p) ? o2[p] : o1[p]; }\n return o;\n}\n\nfunction mergeObjects(o1, o2) {\n var o = cloneObject(o1);\n for (var p in o2) { o[p] = is.und(o1[p]) ? o2[p] : o1[p]; }\n return o;\n}\n\n// Colors\n\nfunction rgbToRgba(rgbValue) {\n var rgb = /rgb\\((\\d+,\\s*[\\d]+,\\s*[\\d]+)\\)/g.exec(rgbValue);\n return rgb ? (\"rgba(\" + (rgb[1]) + \",1)\") : rgbValue;\n}\n\nfunction hexToRgba(hexValue) {\n var rgx = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;\n var hex = hexValue.replace(rgx, function (m, r, g, b) { return r + r + g + g + b + b; } );\n var rgb = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n var r = parseInt(rgb[1], 16);\n var g = parseInt(rgb[2], 16);\n var b = parseInt(rgb[3], 16);\n return (\"rgba(\" + r + \",\" + g + \",\" + b + \",1)\");\n}\n\nfunction hslToRgba(hslValue) {\n var hsl = /hsl\\((\\d+),\\s*([\\d.]+)%,\\s*([\\d.]+)%\\)/g.exec(hslValue) || /hsla\\((\\d+),\\s*([\\d.]+)%,\\s*([\\d.]+)%,\\s*([\\d.]+)\\)/g.exec(hslValue);\n var h = parseInt(hsl[1], 10) / 360;\n var s = parseInt(hsl[2], 10) / 100;\n var l = parseInt(hsl[3], 10) / 100;\n var a = hsl[4] || 1;\n function hue2rgb(p, q, t) {\n if (t < 0) { t += 1; }\n if (t > 1) { t -= 1; }\n if (t < 1/6) { return p + (q - p) * 6 * t; }\n if (t < 1/2) { return q; }\n if (t < 2/3) { return p + (q - p) * (2/3 - t) * 6; }\n return p;\n }\n var r, g, b;\n if (s == 0) {\n r = g = b = l;\n } else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1/3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1/3);\n }\n return (\"rgba(\" + (r * 255) + \",\" + (g * 255) + \",\" + (b * 255) + \",\" + a + \")\");\n}\n\nfunction colorToRgb(val) {\n if (is.rgb(val)) { return rgbToRgba(val); }\n if (is.hex(val)) { return hexToRgba(val); }\n if (is.hsl(val)) { return hslToRgba(val); }\n}\n\n// Units\n\nfunction getUnit(val) {\n var split = /[+-]?\\d*\\.?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?(%|px|pt|em|rem|in|cm|mm|ex|ch|pc|vw|vh|vmin|vmax|deg|rad|turn)?$/.exec(val);\n if (split) { return split[1]; }\n}\n\nfunction getTransformUnit(propName) {\n if (stringContains(propName, 'translate') || propName === 'perspective') { return 'px'; }\n if (stringContains(propName, 'rotate') || stringContains(propName, 'skew')) { return 'deg'; }\n}\n\n// Values\n\nfunction getFunctionValue(val, animatable) {\n if (!is.fnc(val)) { return val; }\n return val(animatable.target, animatable.id, animatable.total);\n}\n\nfunction getAttribute(el, prop) {\n return el.getAttribute(prop);\n}\n\nfunction convertPxToUnit(el, value, unit) {\n var valueUnit = getUnit(value);\n if (arrayContains([unit, 'deg', 'rad', 'turn'], valueUnit)) { return value; }\n var cached = cache.CSS[value + unit];\n if (!is.und(cached)) { return cached; }\n var baseline = 100;\n var tempEl = document.createElement(el.tagName);\n var parentEl = (el.parentNode && (el.parentNode !== document)) ? el.parentNode : document.body;\n parentEl.appendChild(tempEl);\n tempEl.style.position = 'absolute';\n tempEl.style.width = baseline + unit;\n var factor = baseline / tempEl.offsetWidth;\n parentEl.removeChild(tempEl);\n var convertedUnit = factor * parseFloat(value);\n cache.CSS[value + unit] = convertedUnit;\n return convertedUnit;\n}\n\nfunction getCSSValue(el, prop, unit) {\n if (prop in el.style) {\n var uppercasePropName = prop.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();\n var value = el.style[prop] || getComputedStyle(el).getPropertyValue(uppercasePropName) || '0';\n return unit ? convertPxToUnit(el, value, unit) : value;\n }\n}\n\nfunction getAnimationType(el, prop) {\n if (is.dom(el) && !is.inp(el) && (!is.nil(getAttribute(el, prop)) || (is.svg(el) && el[prop]))) { return 'attribute'; }\n if (is.dom(el) && arrayContains(validTransforms, prop)) { return 'transform'; }\n if (is.dom(el) && (prop !== 'transform' && getCSSValue(el, prop))) { return 'css'; }\n if (el[prop] != null) { return 'object'; }\n}\n\nfunction getElementTransforms(el) {\n if (!is.dom(el)) { return; }\n var str = el.style.transform || '';\n var reg = /(\\w+)\\(([^)]*)\\)/g;\n var transforms = new Map();\n var m; while (m = reg.exec(str)) { transforms.set(m[1], m[2]); }\n return transforms;\n}\n\nfunction getTransformValue(el, propName, animatable, unit) {\n var defaultVal = stringContains(propName, 'scale') ? 1 : 0 + getTransformUnit(propName);\n var value = getElementTransforms(el).get(propName) || defaultVal;\n if (animatable) {\n animatable.transforms.list.set(propName, value);\n animatable.transforms['last'] = propName;\n }\n return unit ? convertPxToUnit(el, value, unit) : value;\n}\n\nfunction getOriginalTargetValue(target, propName, unit, animatable) {\n switch (getAnimationType(target, propName)) {\n case 'transform': return getTransformValue(target, propName, animatable, unit);\n case 'css': return getCSSValue(target, propName, unit);\n case 'attribute': return getAttribute(target, propName);\n default: return target[propName] || 0;\n }\n}\n\nfunction getRelativeValue(to, from) {\n var operator = /^(\\*=|\\+=|-=)/.exec(to);\n if (!operator) { return to; }\n var u = getUnit(to) || 0;\n var x = parseFloat(from);\n var y = parseFloat(to.replace(operator[0], ''));\n switch (operator[0][0]) {\n case '+': return x + y + u;\n case '-': return x - y + u;\n case '*': return x * y + u;\n }\n}\n\nfunction validateValue(val, unit) {\n if (is.col(val)) { return colorToRgb(val); }\n if (/\\s/g.test(val)) { return val; }\n var originalUnit = getUnit(val);\n var unitLess = originalUnit ? val.substr(0, val.length - originalUnit.length) : val;\n if (unit) { return unitLess + unit; }\n return unitLess;\n}\n\n// getTotalLength() equivalent for circle, rect, polyline, polygon and line shapes\n// adapted from https://gist.github.com/SebLambla/3e0550c496c236709744\n\nfunction getDistance(p1, p2) {\n return Math.sqrt(Math.pow(p2.x - p1.x, 2) + Math.pow(p2.y - p1.y, 2));\n}\n\nfunction getCircleLength(el) {\n return Math.PI * 2 * getAttribute(el, 'r');\n}\n\nfunction getRectLength(el) {\n return (getAttribute(el, 'width') * 2) + (getAttribute(el, 'height') * 2);\n}\n\nfunction getLineLength(el) {\n return getDistance(\n {x: getAttribute(el, 'x1'), y: getAttribute(el, 'y1')}, \n {x: getAttribute(el, 'x2'), y: getAttribute(el, 'y2')}\n );\n}\n\nfunction getPolylineLength(el) {\n var points = el.points;\n var totalLength = 0;\n var previousPos;\n for (var i = 0 ; i < points.numberOfItems; i++) {\n var currentPos = points.getItem(i);\n if (i > 0) { totalLength += getDistance(previousPos, currentPos); }\n previousPos = currentPos;\n }\n return totalLength;\n}\n\nfunction getPolygonLength(el) {\n var points = el.points;\n return getPolylineLength(el) + getDistance(points.getItem(points.numberOfItems - 1), points.getItem(0));\n}\n\n// Path animation\n\nfunction getTotalLength(el) {\n if (el.getTotalLength) { return el.getTotalLength(); }\n switch(el.tagName.toLowerCase()) {\n case 'circle': return getCircleLength(el);\n case 'rect': return getRectLength(el);\n case 'line': return getLineLength(el);\n case 'polyline': return getPolylineLength(el);\n case 'polygon': return getPolygonLength(el);\n }\n}\n\nfunction setDashoffset(el) {\n var pathLength = getTotalLength(el);\n el.setAttribute('stroke-dasharray', pathLength);\n return pathLength;\n}\n\n// Motion path\n\nfunction getParentSvgEl(el) {\n var parentEl = el.parentNode;\n while (is.svg(parentEl)) {\n if (!is.svg(parentEl.parentNode)) { break; }\n parentEl = parentEl.parentNode;\n }\n return parentEl;\n}\n\nfunction getParentSvg(pathEl, svgData) {\n var svg = svgData || {};\n var parentSvgEl = svg.el || getParentSvgEl(pathEl);\n var rect = parentSvgEl.getBoundingClientRect();\n var viewBoxAttr = getAttribute(parentSvgEl, 'viewBox');\n var width = rect.width;\n var height = rect.height;\n var viewBox = svg.viewBox || (viewBoxAttr ? viewBoxAttr.split(' ') : [0, 0, width, height]);\n return {\n el: parentSvgEl,\n viewBox: viewBox,\n x: viewBox[0] / 1,\n y: viewBox[1] / 1,\n w: width,\n h: height,\n vW: viewBox[2],\n vH: viewBox[3]\n }\n}\n\nfunction getPath(path, percent) {\n var pathEl = is.str(path) ? selectString(path)[0] : path;\n var p = percent || 100;\n return function(property) {\n return {\n property: property,\n el: pathEl,\n svg: getParentSvg(pathEl),\n totalLength: getTotalLength(pathEl) * (p / 100)\n }\n }\n}\n\nfunction getPathProgress(path, progress, isPathTargetInsideSVG) {\n function point(offset) {\n if ( offset === void 0 ) offset = 0;\n\n var l = progress + offset >= 1 ? progress + offset : 0;\n return path.el.getPointAtLength(l);\n }\n var svg = getParentSvg(path.el, path.svg);\n var p = point();\n var p0 = point(-1);\n var p1 = point(+1);\n var scaleX = isPathTargetInsideSVG ? 1 : svg.w / svg.vW;\n var scaleY = isPathTargetInsideSVG ? 1 : svg.h / svg.vH;\n switch (path.property) {\n case 'x': return (p.x - svg.x) * scaleX;\n case 'y': return (p.y - svg.y) * scaleY;\n case 'angle': return Math.atan2(p1.y - p0.y, p1.x - p0.x) * 180 / Math.PI;\n }\n}\n\n// Decompose value\n\nfunction decomposeValue(val, unit) {\n // const rgx = /-?\\d*\\.?\\d+/g; // handles basic numbers\n // const rgx = /[+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?/g; // handles exponents notation\n var rgx = /[+-]?\\d*\\.?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?/g; // handles exponents notation\n var value = validateValue((is.pth(val) ? val.totalLength : val), unit) + '';\n return {\n original: value,\n numbers: value.match(rgx) ? value.match(rgx).map(Number) : [0],\n strings: (is.str(val) || unit) ? value.split(rgx) : []\n }\n}\n\n// Animatables\n\nfunction parseTargets(targets) {\n var targetsArray = targets ? (flattenArray(is.arr(targets) ? targets.map(toArray) : toArray(targets))) : [];\n return filterArray(targetsArray, function (item, pos, self) { return self.indexOf(item) === pos; });\n}\n\nfunction getAnimatables(targets) {\n var parsed = parseTargets(targets);\n return parsed.map(function (t, i) {\n return {target: t, id: i, total: parsed.length, transforms: { list: getElementTransforms(t) } };\n });\n}\n\n// Properties\n\nfunction normalizePropertyTweens(prop, tweenSettings) {\n var settings = cloneObject(tweenSettings);\n // Override duration if easing is a spring\n if (/^spring/.test(settings.easing)) { settings.duration = spring(settings.easing); }\n if (is.arr(prop)) {\n var l = prop.length;\n var isFromTo = (l === 2 && !is.obj(prop[0]));\n if (!isFromTo) {\n // Duration divided by the number of tweens\n if (!is.fnc(tweenSettings.duration)) { settings.duration = tweenSettings.duration / l; }\n } else {\n // Transform [from, to] values shorthand to a valid tween value\n prop = {value: prop};\n }\n }\n var propArray = is.arr(prop) ? prop : [prop];\n return propArray.map(function (v, i) {\n var obj = (is.obj(v) && !is.pth(v)) ? v : {value: v};\n // Default delay value should only be applied to the first tween\n if (is.und(obj.delay)) { obj.delay = !i ? tweenSettings.delay : 0; }\n // Default endDelay value should only be applied to the last tween\n if (is.und(obj.endDelay)) { obj.endDelay = i === propArray.length - 1 ? tweenSettings.endDelay : 0; }\n return obj;\n }).map(function (k) { return mergeObjects(k, settings); });\n}\n\n\nfunction flattenKeyframes(keyframes) {\n var propertyNames = filterArray(flattenArray(keyframes.map(function (key) { return Object.keys(key); })), function (p) { return is.key(p); })\n .reduce(function (a,b) { if (a.indexOf(b) < 0) { a.push(b); } return a; }, []);\n var properties = {};\n var loop = function ( i ) {\n var propName = propertyNames[i];\n properties[propName] = keyframes.map(function (key) {\n var newKey = {};\n for (var p in key) {\n if (is.key(p)) {\n if (p == propName) { newKey.value = key[p]; }\n } else {\n newKey[p] = key[p];\n }\n }\n return newKey;\n });\n };\n\n for (var i = 0; i < propertyNames.length; i++) loop( i );\n return properties;\n}\n\nfunction getProperties(tweenSettings, params) {\n var properties = [];\n var keyframes = params.keyframes;\n if (keyframes) { params = mergeObjects(flattenKeyframes(keyframes), params); }\n for (var p in params) {\n if (is.key(p)) {\n properties.push({\n name: p,\n tweens: normalizePropertyTweens(params[p], tweenSettings)\n });\n }\n }\n return properties;\n}\n\n// Tweens\n\nfunction normalizeTweenValues(tween, animatable) {\n var t = {};\n for (var p in tween) {\n var value = getFunctionValue(tween[p], animatable);\n if (is.arr(value)) {\n value = value.map(function (v) { return getFunctionValue(v, animatable); });\n if (value.length === 1) { value = value[0]; }\n }\n t[p] = value;\n }\n t.duration = parseFloat(t.duration);\n t.delay = parseFloat(t.delay);\n return t;\n}\n\nfunction normalizeTweens(prop, animatable) {\n var previousTween;\n return prop.tweens.map(function (t) {\n var tween = normalizeTweenValues(t, animatable);\n var tweenValue = tween.value;\n var to = is.arr(tweenValue) ? tweenValue[1] : tweenValue;\n var toUnit = getUnit(to);\n var originalValue = getOriginalTargetValue(animatable.target, prop.name, toUnit, animatable);\n var previousValue = previousTween ? previousTween.to.original : originalValue;\n var from = is.arr(tweenValue) ? tweenValue[0] : previousValue;\n var fromUnit = getUnit(from) || getUnit(originalValue);\n var unit = toUnit || fromUnit;\n if (is.und(to)) { to = previousValue; }\n tween.from = decomposeValue(from, unit);\n tween.to = decomposeValue(getRelativeValue(to, from), unit);\n tween.start = previousTween ? previousTween.end : 0;\n tween.end = tween.start + tween.delay + tween.duration + tween.endDelay;\n tween.easing = parseEasings(tween.easing, tween.duration);\n tween.isPath = is.pth(tweenValue);\n tween.isPathTargetInsideSVG = tween.isPath && is.svg(animatable.target);\n tween.isColor = is.col(tween.from.original);\n if (tween.isColor) { tween.round = 1; }\n previousTween = tween;\n return tween;\n });\n}\n\n// Tween progress\n\nvar setProgressValue = {\n css: function (t, p, v) { return t.style[p] = v; },\n attribute: function (t, p, v) { return t.setAttribute(p, v); },\n object: function (t, p, v) { return t[p] = v; },\n transform: function (t, p, v, transforms, manual) {\n transforms.list.set(p, v);\n if (p === transforms.last || manual) {\n var str = '';\n transforms.list.forEach(function (value, prop) { str += prop + \"(\" + value + \") \"; });\n t.style.transform = str;\n }\n }\n};\n\n// Set Value helper\n\nfunction setTargetsValue(targets, properties) {\n var animatables = getAnimatables(targets);\n animatables.forEach(function (animatable) {\n for (var property in properties) {\n var value = getFunctionValue(properties[property], animatable);\n var target = animatable.target;\n var valueUnit = getUnit(value);\n var originalValue = getOriginalTargetValue(target, property, valueUnit, animatable);\n var unit = valueUnit || getUnit(originalValue);\n var to = getRelativeValue(validateValue(value, unit), originalValue);\n var animType = getAnimationType(target, property);\n setProgressValue[animType](target, property, to, animatable.transforms, true);\n }\n });\n}\n\n// Animations\n\nfunction createAnimation(animatable, prop) {\n var animType = getAnimationType(animatable.target, prop.name);\n if (animType) {\n var tweens = normalizeTweens(prop, animatable);\n var lastTween = tweens[tweens.length - 1];\n return {\n type: animType,\n property: prop.name,\n animatable: animatable,\n tweens: tweens,\n duration: lastTween.end,\n delay: tweens[0].delay,\n endDelay: lastTween.endDelay\n }\n }\n}\n\nfunction getAnimations(animatables, properties) {\n return filterArray(flattenArray(animatables.map(function (animatable) {\n return properties.map(function (prop) {\n return createAnimation(animatable, prop);\n });\n })), function (a) { return !is.und(a); });\n}\n\n// Create Instance\n\nfunction getInstanceTimings(animations, tweenSettings) {\n var animLength = animations.length;\n var getTlOffset = function (anim) { return anim.timelineOffset ? anim.timelineOffset : 0; };\n var timings = {};\n timings.duration = animLength ? Math.max.apply(Math, animations.map(function (anim) { return getTlOffset(anim) + anim.duration; })) : tweenSettings.duration;\n timings.delay = animLength ? Math.min.apply(Math, animations.map(function (anim) { return getTlOffset(anim) + anim.delay; })) : tweenSettings.delay;\n timings.endDelay = animLength ? timings.duration - Math.max.apply(Math, animations.map(function (anim) { return getTlOffset(anim) + anim.duration - anim.endDelay; })) : tweenSettings.endDelay;\n return timings;\n}\n\nvar instanceID = 0;\n\nfunction createNewInstance(params) {\n var instanceSettings = replaceObjectProps(defaultInstanceSettings, params);\n var tweenSettings = replaceObjectProps(defaultTweenSettings, params);\n var properties = getProperties(tweenSettings, params);\n var animatables = getAnimatables(params.targets);\n var animations = getAnimations(animatables, properties);\n var timings = getInstanceTimings(animations, tweenSettings);\n var id = instanceID;\n instanceID++;\n return mergeObjects(instanceSettings, {\n id: id,\n children: [],\n animatables: animatables,\n animations: animations,\n duration: timings.duration,\n delay: timings.delay,\n endDelay: timings.endDelay\n });\n}\n\n// Core\n\nvar activeInstances = [];\n\nvar engine = (function () {\n var raf;\n\n function play() {\n if (!raf && (!isDocumentHidden() || !anime.suspendWhenDocumentHidden) && activeInstances.length > 0) {\n raf = requestAnimationFrame(step);\n }\n }\n function step(t) {\n // memo on algorithm issue:\n // dangerous iteration over mutable `activeInstances`\n // (that collection may be updated from within callbacks of `tick`-ed animation instances)\n var activeInstancesLength = activeInstances.length;\n var i = 0;\n while (i < activeInstancesLength) {\n var activeInstance = activeInstances[i];\n if (!activeInstance.paused) {\n activeInstance.tick(t);\n i++;\n } else {\n activeInstances.splice(i, 1);\n activeInstancesLength--;\n }\n }\n raf = i > 0 ? requestAnimationFrame(step) : undefined;\n }\n\n function handleVisibilityChange() {\n if (!anime.suspendWhenDocumentHidden) { return; }\n\n if (isDocumentHidden()) {\n // suspend ticks\n raf = cancelAnimationFrame(raf);\n } else { // is back to active tab\n // first adjust animations to consider the time that ticks were suspended\n activeInstances.forEach(\n function (instance) { return instance ._onDocumentVisibility(); }\n );\n engine();\n }\n }\n if (typeof document !== 'undefined') {\n document.addEventListener('visibilitychange', handleVisibilityChange);\n }\n\n return play;\n})();\n\nfunction isDocumentHidden() {\n return !!document && document.hidden;\n}\n\n// Public Instance\n\nfunction anime(params) {\n if ( params === void 0 ) params = {};\n\n\n var startTime = 0, lastTime = 0, now = 0;\n var children, childrenLength = 0;\n var resolve = null;\n\n function makePromise(instance) {\n var promise = window.Promise && new Promise(function (_resolve) { return resolve = _resolve; });\n instance.finished = promise;\n return promise;\n }\n\n var instance = createNewInstance(params);\n var promise = makePromise(instance);\n\n function toggleInstanceDirection() {\n var direction = instance.direction;\n if (direction !== 'alternate') {\n instance.direction = direction !== 'normal' ? 'normal' : 'reverse';\n }\n instance.reversed = !instance.reversed;\n children.forEach(function (child) { return child.reversed = instance.reversed; });\n }\n\n function adjustTime(time) {\n return instance.reversed ? instance.duration - time : time;\n }\n\n function resetTime() {\n startTime = 0;\n lastTime = adjustTime(instance.currentTime) * (1 / anime.speed);\n }\n\n function seekChild(time, child) {\n if (child) { child.seek(time - child.timelineOffset); }\n }\n\n function syncInstanceChildren(time) {\n if (!instance.reversePlayback) {\n for (var i = 0; i < childrenLength; i++) { seekChild(time, children[i]); }\n } else {\n for (var i$1 = childrenLength; i$1--;) { seekChild(time, children[i$1]); }\n }\n }\n\n function setAnimationsProgress(insTime) {\n var i = 0;\n var animations = instance.animations;\n var animationsLength = animations.length;\n while (i < animationsLength) {\n var anim = animations[i];\n var animatable = anim.animatable;\n var tweens = anim.tweens;\n var tweenLength = tweens.length - 1;\n var tween = tweens[tweenLength];\n // Only check for keyframes if there is more than one tween\n if (tweenLength) { tween = filterArray(tweens, function (t) { return (insTime < t.end); })[0] || tween; }\n var elapsed = minMax(insTime - tween.start - tween.delay, 0, tween.duration) / tween.duration;\n var eased = isNaN(elapsed) ? 1 : tween.easing(elapsed);\n var strings = tween.to.strings;\n var round = tween.round;\n var numbers = [];\n var toNumbersLength = tween.to.numbers.length;\n var progress = (void 0);\n for (var n = 0; n < toNumbersLength; n++) {\n var value = (void 0);\n var toNumber = tween.to.numbers[n];\n var fromNumber = tween.from.numbers[n] || 0;\n if (!tween.isPath) {\n value = fromNumber + (eased * (toNumber - fromNumber));\n } else {\n value = getPathProgress(tween.value, eased * toNumber, tween.isPathTargetInsideSVG);\n }\n if (round) {\n if (!(tween.isColor && n > 2)) {\n value = Math.round(value * round) / round;\n }\n }\n numbers.push(value);\n }\n // Manual Array.reduce for better performances\n var stringsLength = strings.length;\n if (!stringsLength) {\n progress = numbers[0];\n } else {\n progress = strings[0];\n for (var s = 0; s < stringsLength; s++) {\n var a = strings[s];\n var b = strings[s + 1];\n var n$1 = numbers[s];\n if (!isNaN(n$1)) {\n if (!b) {\n progress += n$1 + ' ';\n } else {\n progress += n$1 + b;\n }\n }\n }\n }\n setProgressValue[anim.type](animatable.target, anim.property, progress, animatable.transforms);\n anim.currentValue = progress;\n i++;\n }\n }\n\n function setCallback(cb) {\n if (instance[cb] && !instance.passThrough) { instance[cb](instance); }\n }\n\n function countIteration() {\n if (instance.remaining && instance.remaining !== true) {\n instance.remaining--;\n }\n }\n\n function setInstanceProgress(engineTime) {\n var insDuration = instance.duration;\n var insDelay = instance.delay;\n var insEndDelay = insDuration - instance.endDelay;\n var insTime = adjustTime(engineTime);\n instance.progress = minMax((insTime / insDuration) * 100, 0, 100);\n instance.reversePlayback = insTime < instance.currentTime;\n if (children) { syncInstanceChildren(insTime); }\n if (!instance.began && instance.currentTime > 0) {\n instance.began = true;\n setCallback('begin');\n }\n if (!instance.loopBegan && instance.currentTime > 0) {\n instance.loopBegan = true;\n setCallback('loopBegin');\n }\n if (insTime <= insDelay && instance.currentTime !== 0) {\n setAnimationsProgress(0);\n }\n if ((insTime >= insEndDelay && instance.currentTime !== insDuration) || !insDuration) {\n setAnimationsProgress(insDuration);\n }\n if (insTime > insDelay && insTime < insEndDelay) {\n if (!instance.changeBegan) {\n instance.changeBegan = true;\n instance.changeCompleted = false;\n setCallback('changeBegin');\n }\n setCallback('change');\n setAnimationsProgress(insTime);\n } else {\n if (instance.changeBegan) {\n instance.changeCompleted = true;\n instance.changeBegan = false;\n setCallback('changeComplete');\n }\n }\n instance.currentTime = minMax(insTime, 0, insDuration);\n if (instance.began) { setCallback('update'); }\n if (engineTime >= insDuration) {\n lastTime = 0;\n countIteration();\n if (!instance.remaining) {\n instance.paused = true;\n if (!instance.completed) {\n instance.completed = true;\n setCallback('loopComplete');\n setCallback('complete');\n if (!instance.passThrough && 'Promise' in window) {\n resolve();\n promise = makePromise(instance);\n }\n }\n } else {\n startTime = now;\n setCallback('loopComplete');\n instance.loopBegan = false;\n if (instance.direction === 'alternate') {\n toggleInstanceDirection();\n }\n }\n }\n }\n\n instance.reset = function() {\n var direction = instance.direction;\n instance.passThrough = false;\n instance.currentTime = 0;\n instance.progress = 0;\n instance.paused = true;\n instance.began = false;\n instance.loopBegan = false;\n instance.changeBegan = false;\n instance.completed = false;\n instance.changeCompleted = false;\n instance.reversePlayback = false;\n instance.reversed = direction === 'reverse';\n instance.remaining = instance.loop;\n children = instance.children;\n childrenLength = children.length;\n for (var i = childrenLength; i--;) { instance.children[i].reset(); }\n if (instance.reversed && instance.loop !== true || (direction === 'alternate' && instance.loop === 1)) { instance.remaining++; }\n setAnimationsProgress(instance.reversed ? instance.duration : 0);\n };\n\n // internal method (for engine) to adjust animation timings before restoring engine ticks (rAF)\n instance._onDocumentVisibility = resetTime;\n\n // Set Value helper\n\n instance.set = function(targets, properties) {\n setTargetsValue(targets, properties);\n return instance;\n };\n\n instance.tick = function(t) {\n now = t;\n if (!startTime) { startTime = now; }\n setInstanceProgress((now + (lastTime - startTime)) * anime.speed);\n };\n\n instance.seek = function(time) {\n setInstanceProgress(adjustTime(time));\n };\n\n instance.pause = function() {\n instance.paused = true;\n resetTime();\n };\n\n instance.play = function() {\n if (!instance.paused) { return; }\n if (instance.completed) { instance.reset(); }\n instance.paused = false;\n activeInstances.push(instance);\n resetTime();\n engine();\n };\n\n instance.reverse = function() {\n toggleInstanceDirection();\n instance.completed = instance.reversed ? false : true;\n resetTime();\n };\n\n instance.restart = function() {\n instance.reset();\n instance.play();\n };\n\n instance.remove = function(targets) {\n var targetsArray = parseTargets(targets);\n removeTargetsFromInstance(targetsArray, instance);\n };\n\n instance.reset();\n\n if (instance.autoplay) { instance.play(); }\n\n return instance;\n\n}\n\n// Remove targets from animation\n\nfunction removeTargetsFromAnimations(targetsArray, animations) {\n for (var a = animations.length; a--;) {\n if (arrayContains(targetsArray, animations[a].animatable.target)) {\n animations.splice(a, 1);\n }\n }\n}\n\nfunction removeTargetsFromInstance(targetsArray, instance) {\n var animations = instance.animations;\n var children = instance.children;\n removeTargetsFromAnimations(targetsArray, animations);\n for (var c = children.length; c--;) {\n var child = children[c];\n var childAnimations = child.animations;\n removeTargetsFromAnimations(targetsArray, childAnimations);\n if (!childAnimations.length && !child.children.length) { children.splice(c, 1); }\n }\n if (!animations.length && !children.length) { instance.pause(); }\n}\n\nfunction removeTargetsFromActiveInstances(targets) {\n var targetsArray = parseTargets(targets);\n for (var i = activeInstances.length; i--;) {\n var instance = activeInstances[i];\n removeTargetsFromInstance(targetsArray, instance);\n }\n}\n\n// Stagger helpers\n\nfunction stagger(val, params) {\n if ( params === void 0 ) params = {};\n\n var direction = params.direction || 'normal';\n var easing = params.easing ? parseEasings(params.easing) : null;\n var grid = params.grid;\n var axis = params.axis;\n var fromIndex = params.from || 0;\n var fromFirst = fromIndex === 'first';\n var fromCenter = fromIndex === 'center';\n var fromLast = fromIndex === 'last';\n var isRange = is.arr(val);\n var val1 = isRange ? parseFloat(val[0]) : parseFloat(val);\n var val2 = isRange ? parseFloat(val[1]) : 0;\n var unit = getUnit(isRange ? val[1] : val) || 0;\n var start = params.start || 0 + (isRange ? val1 : 0);\n var values = [];\n var maxValue = 0;\n return function (el, i, t) {\n if (fromFirst) { fromIndex = 0; }\n if (fromCenter) { fromIndex = (t - 1) / 2; }\n if (fromLast) { fromIndex = t - 1; }\n if (!values.length) {\n for (var index = 0; index < t; index++) {\n if (!grid) {\n values.push(Math.abs(fromIndex - index));\n } else {\n var fromX = !fromCenter ? fromIndex%grid[0] : (grid[0]-1)/2;\n var fromY = !fromCenter ? Math.floor(fromIndex/grid[0]) : (grid[1]-1)/2;\n var toX = index%grid[0];\n var toY = Math.floor(index/grid[0]);\n var distanceX = fromX - toX;\n var distanceY = fromY - toY;\n var value = Math.sqrt(distanceX * distanceX + distanceY * distanceY);\n if (axis === 'x') { value = -distanceX; }\n if (axis === 'y') { value = -distanceY; }\n values.push(value);\n }\n maxValue = Math.max.apply(Math, values);\n }\n if (easing) { values = values.map(function (val) { return easing(val / maxValue) * maxValue; }); }\n if (direction === 'reverse') { values = values.map(function (val) { return axis ? (val < 0) ? val * -1 : -val : Math.abs(maxValue - val); }); }\n }\n var spacing = isRange ? (val2 - val1) / maxValue : val1;\n return start + (spacing * (Math.round(values[i] * 100) / 100)) + unit;\n }\n}\n\n// Timeline\n\nfunction timeline(params) {\n if ( params === void 0 ) params = {};\n\n var tl = anime(params);\n tl.duration = 0;\n tl.add = function(instanceParams, timelineOffset) {\n var tlIndex = activeInstances.indexOf(tl);\n var children = tl.children;\n if (tlIndex > -1) { activeInstances.splice(tlIndex, 1); }\n function passThrough(ins) { ins.passThrough = true; }\n for (var i = 0; i < children.length; i++) { passThrough(children[i]); }\n var insParams = mergeObjects(instanceParams, replaceObjectProps(defaultTweenSettings, params));\n insParams.targets = insParams.targets || params.targets;\n var tlDuration = tl.duration;\n insParams.autoplay = false;\n insParams.direction = tl.direction;\n insParams.timelineOffset = is.und(timelineOffset) ? tlDuration : getRelativeValue(timelineOffset, tlDuration);\n passThrough(tl);\n tl.seek(insParams.timelineOffset);\n var ins = anime(insParams);\n passThrough(ins);\n children.push(ins);\n var timings = getInstanceTimings(children, params);\n tl.delay = timings.delay;\n tl.endDelay = timings.endDelay;\n tl.duration = timings.duration;\n tl.seek(0);\n tl.reset();\n if (tl.autoplay) { tl.play(); }\n return tl;\n };\n return tl;\n}\n\nanime.version = '3.2.1';\nanime.speed = 1;\n// TODO:#review: naming, documentation\nanime.suspendWhenDocumentHidden = true;\nanime.running = activeInstances;\nanime.remove = removeTargetsFromActiveInstances;\nanime.get = getOriginalTargetValue;\nanime.set = setTargetsValue;\nanime.convertPx = convertPxToUnit;\nanime.path = getPath;\nanime.setDashoffset = setDashoffset;\nanime.stagger = stagger;\nanime.timeline = timeline;\nanime.easing = parseEasings;\nanime.penner = penner;\nanime.random = function (min, max) { return Math.floor(Math.random() * (max - min + 1)) + min; };\n\nexport default anime;\n"],"names":["eases","functionEasings","$70c6f773849da97a$var$defaultInstanceSettings","update","begin","loopBegin","changeBegin","change","changeComplete","loopComplete","complete","loop","direction","autoplay","timelineOffset","$70c6f773849da97a$var$defaultTweenSettings","duration","delay","endDelay","easing","round","$70c6f773849da97a$var$validTransforms","$70c6f773849da97a$var$cache","CSS","springs","$70c6f773849da97a$var$minMax","val","min","max","Math","$70c6f773849da97a$var$stringContains","str","text","indexOf","$70c6f773849da97a$var$applyArguments","func","args","apply","$70c6f773849da97a$var$is","arr","a","Array","isArray","obj","Object","prototype","toString","call","pth","hasOwnProperty","svg","SVGElement","inp","HTMLInputElement","dom","nodeType","fnc","und","nil","hex","test","rgb","hsl","col","key","$70c6f773849da97a$var$parseEasingParameters","string","match","exec","split","map","p","parseFloat","$70c6f773849da97a$var$spring","params","mass","stiffness","damping","velocity","w0","sqrt","zeta","wd","b","solver","t","progress","exp","cos","sin","cached","frame","elapsed","rest","$70c6f773849da97a$var$steps","steps","ceil","$70c6f773849da97a$var$bezier","calcBezier","aT","aA1","aA2","A","getSlope","mX1","mY1","mX2","mY2","sampleValues","Float32Array","i","x","getTForX","aX","intervalStart","currentSample","kSplineTableSize","guessForT","dist","initialSlope","newtonRaphsonIterate","aGuessT","currentSlope","currentX","binarySubdivide","aA","aB","currentT","abs","$70c6f773849da97a$var$penner","linear","Sine","PI","Circ","Back","Bounce","pow2","pow","Elastic","amplitude","period","asin","baseEasings","forEach","name","keys","easeIn","$70c6f773849da97a$var$parseEasings","ease","$70c6f773849da97a$var$selectString","document","querySelectorAll","e","$70c6f773849da97a$var$filterArray","callback","len","length","thisArg","arguments","result","push","$70c6f773849da97a$var$flattenArray","reduce","concat","$70c6f773849da97a$var$toArray","o","NodeList","HTMLCollection","slice","$70c6f773849da97a$var$arrayContains","some","$70c6f773849da97a$var$cloneObject","clone","$70c6f773849da97a$var$replaceObjectProps","o1","o2","$70c6f773849da97a$var$mergeObjects","$70c6f773849da97a$var$getUnit","$70c6f773849da97a$var$getFunctionValue","animatable","target","id","total","$70c6f773849da97a$var$getAttribute","el","prop","getAttribute","$70c6f773849da97a$var$convertPxToUnit","value","unit","tempEl","createElement","tagName","parentEl","parentNode","body","appendChild","style","position","width","baseline","factor","offsetWidth","removeChild","convertedUnit","$70c6f773849da97a$var$getCSSValue","uppercasePropName","replace","toLowerCase","getComputedStyle","getPropertyValue","$70c6f773849da97a$var$getAnimationType","$70c6f773849da97a$var$getElementTransforms","m","transform","reg","transforms","Map","set","$70c6f773849da97a$var$getOriginalTargetValue","propName","defaultVal","get","list","$70c6f773849da97a$var$getRelativeValue","to","from","operator","u","y","$70c6f773849da97a$var$validateValue","hexValue","r","g","parseInt","$70c6f773849da97a$var$hslToRgba","hslValue","h","s","l","hue2rgb","q","originalUnit","unitLess","substr","$70c6f773849da97a$var$getDistance","p1","p2","$70c6f773849da97a$var$getPolylineLength","previousPos","points","totalLength","numberOfItems","currentPos","getItem","$70c6f773849da97a$var$getTotalLength","getTotalLength","$70c6f773849da97a$var$getParentSvg","pathEl","svgData","parentSvgEl","$70c6f773849da97a$var$getParentSvgEl","rect","getBoundingClientRect","viewBoxAttr","height","viewBox","w","vW","vH","$70c6f773849da97a$var$decomposeValue","rgx","original","numbers","Number","strings","$70c6f773849da97a$var$parseTargets","targets","item","pos","self","$70c6f773849da97a$var$getAnimatables","parsed","$70c6f773849da97a$var$setProgressValue","css","v","attribute","setAttribute","object","manual","last","$70c6f773849da97a$var$setTargetsValue","properties","animatables","property","valueUnit","originalValue","$70c6f773849da97a$var$getInstanceTimings","animations","tweenSettings","animLength","getTlOffset","anim","timings","$70c6f773849da97a$var$instanceID","$70c6f773849da97a$var$activeInstances","$70c6f773849da97a$var$engine","raf","step","activeInstancesLength","activeInstance","paused","splice","tick","requestAnimationFrame","undefined","addEventListener","$70c6f773849da97a$var$anime","suspendWhenDocumentHidden","$70c6f773849da97a$var$isDocumentHidden","cancelAnimationFrame","instance","_onDocumentVisibility","hidden","instanceSettings","children","startTime","lastTime","now","childrenLength","resolve","makePromise","promise","window","Promise","_resolve","finished","$70c6f773849da97a$var$getProperties","keyframes","$70c6f773849da97a$var$flattenKeyframes","propertyNames","newKey","tweens","$70c6f773849da97a$var$normalizePropertyTweens","settings","propArray","k","$70c6f773849da97a$var$createAnimation","animType","previousTween","tween","$70c6f773849da97a$var$normalizeTweenValues","tweenValue","toUnit","previousValue","fromUnit","start","end","isPath","isPathTargetInsideSVG","isColor","lastTween","type","toggleInstanceDirection","reversed","child","adjustTime","time","resetTime","currentTime","speed","seekChild","seek","setAnimationsProgress","insTime","animationsLength","tweenLength","eased","isNaN","toNumbersLength","n","toNumber","fromNumber","$70c6f773849da97a$var$getPathProgress","path","point","offset","getPointAtLength","p0","scaleX","scaleY","atan2","stringsLength","n$1","currentValue","setCallback","cb","passThrough","setInstanceProgress","engineTime","insDuration","insDelay","insEndDelay","reversePlayback","syncInstanceChildren","i$1","began","loopBegan","changeBegan","changeCompleted","remaining","completed","reset","pause","play","reverse","restart","remove","$70c6f773849da97a$var$removeTargetsFromInstance","$70c6f773849da97a$var$removeTargetsFromAnimations","targetsArray","c","childAnimations","version","running","convertPx","percent","setDashoffset","pathLength","stagger","grid","axis","fromIndex","fromFirst","fromCenter","fromLast","isRange","val1","val2","values","maxValue","index","fromX","fromY","floor","toX","toY","distanceX","distanceY","spacing","timeline","tl","add","instanceParams","tlIndex","ins","insParams","tlDuration","penner","random","$70c6f773849da97a$export$2e2bcd8739ae039","$35da740d59af89ba$var$pathSecondOrnament","querySelector","$35da740d59af89ba$var$currentSection","strokeDashoffset","opacity","fill","rotate","$35da740d59af89ba$var$arrowUp","getElementById","$35da740d59af89ba$var$arrowDown","$35da740d59af89ba$var$sectionOne","$35da740d59af89ba$var$sectionTwo","$35da740d59af89ba$var$sectionThree","$35da740d59af89ba$var$sectionFour","$35da740d59af89ba$var$arrowContainer","scrollY","parentElement","innerHeight","offsetHeight","arrow","viewportHeight","documentElement","clientHeight","scrollPosition","scrollTop","scrollIntoView","behavior","$35da740d59af89ba$var$footer","$35da740d59af89ba$var$updateFooterVisibility","totalHeight","scrollHeight","classList","$35da740d59af89ba$var$today","Date","$35da740d59af89ba$var$endDate","$35da740d59af89ba$var$timeDifference","getTime","$35da740d59af89ba$var$days","$35da740d59af89ba$var$hours","$35da740d59af89ba$var$minutes","$35da740d59af89ba$var$seconds","beginStr","toUpperCase","endStr","amountOfFlaps","div","html","$35da740d59af89ba$var$x","innerHTML","a1","a2","b1","b2","animationDuration","char","strCount","flag","flag2","setInterval","backgroundColor","every","setTimeout","tempArr","$35da740d59af89ba$var$observer","IntersectionObserver","entries","entry","isIntersecting","toggle","$35da740d59af89ba$var$hiddenElements","observe","scroll","pageYOffset","windowHeight","sectionOne","sectionTwoUp","sectionThree","sectionFour","scrollPercentOneTwo","scrollPercentTwoThree","scrollPercentThreeFour"],"version":3,"file":"index.0a2b0b61.js.map"} \ No newline at end of file diff --git a/build/index.edb371bb.css b/build/index.edb371bb.css new file mode 100644 index 0000000..6d72622 --- /dev/null +++ b/build/index.edb371bb.css @@ -0,0 +1,2 @@ +*{box-sizing:border-box}body{margin:0;padding:0;font-family:Avenir;overflow-x:hidden}html{scroll-behavior:smooth}.background{text-align:center;color:var(--color);background-image:url(background_site_kickoff.65a64907.webp);background-position:50%;background-size:cover;background-attachment:fixed;flex-direction:column;justify-content:center;align-items:center;width:100vw;display:flex;overflow:scroll}.background-black{background-color:#000}#padding-bot{padding-bottom:.5rem}.section-one{color:#fff;flex-direction:column;justify-content:center;width:100vw;height:100vh;display:flex;position:relative}.container-one{flex-direction:column;justify-content:center;align-items:center;height:50vh;display:flex}.section-two{color:#fff;width:100vw;height:100vh;position:relative;overflow-x:hidden}.section-two .part-one{background:#786abf;border-bottom:1px solid #fff;flex-direction:column;justify-content:center;align-items:center;height:40vh;display:flex}.section-two .part-two{background:#13120d;flex-direction:column;justify-content:center;align-items:center;height:60vh;display:flex}.section-three{color:#fff;text-align:center;background:#786abf;flex-direction:column;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:relative;overflow-x:hidden}.section-three .part-one{flex-direction:column;justify-content:center;align-items:center;display:flex}.section-three .part-two{text-align:left;flex-direction:column;justify-content:center;align-items:flex-start;display:flex}.section-three span{color:#000}.section-four{color:#fff;width:100vw;height:100vh}.container-four{flex-direction:column;justify-content:space-evenly;align-items:center;height:100vh;display:flex}.footer{opacity:0;justify-content:flex-start;padding:1%;transition:opacity .5s ease-in-out;display:flex;position:fixed;bottom:0;left:0;right:0}.footer div{justify-content:space-evenly}.footer img{height:2rem;padding-left:2rem}.footer.show{opacity:1}.logo-date{height:4rem}#circle{opacity:0}.st1{height:10rem}.logo-place{height:15rem}.logo-metro{vertical-align:-6px;height:1.5rem}a{text-decoration:none}.link{color:#fff}h1,h2{font-size:3rem}time{font-size:2rem}#first-text-container{opacity:0}#first-text-container span{color:#786abf}#second-text{opacity:0}#first-ornament-svg{width:10vh;height:10vh;position:absolute;bottom:100px;left:-10px}#second-ornament-svg{width:15vh;height:15vh;position:absolute;top:50px;right:-2%}#third-ornament-svg{z-index:1000;height:4rem;position:absolute;bottom:50px;right:-15px;rotate:110deg}#fourth-ornament-svg{z-index:1000;height:4rem;position:absolute;bottom:10px;left:-10px;rotate:110deg}#fifth-ornament-svg{height:13rem;position:absolute;bottom:30%;right:-6rem}#titre,#date{opacity:0;height:15%;padding-top:10px}#arrow-down{opacity:1;cursor:pointer;height:3.8vh;transition:opacity .1s ease-in-out}#arrow-up{opacity:0;cursor:pointer;height:3.8vh;padding-right:.5rem;transition:opacity .1s ease-in-out}.arrow-container{z-index:1000;flex-direction:row;display:flex;position:fixed;bottom:1%;right:2%}.arrow-container div{padding-left:4px;transition:opacity .5s}.arrow-container div.hide{opacity:0;pointer-events:none}.splitflap{text-align:center;color:#fff;min-width:50px;height:50px;margin:5px;font-family:monospace;font-size:50px;line-height:50px;position:relative}.center{opacity:0;perspective:500px;justify-content:center;width:100%;margin-top:2%;display:flex;top:50%;left:0}.top{z-index:0;background-color:#000;border-radius:10px 10px 0 0;width:100%;height:50%;position:relative;overflow:hidden}.bottom{z-index:-1;transform-origin:50%;background-color:#000;background-image:linear-gradient(#000,#000);border-radius:10px;width:100%;height:100%;margin-top:-50%;position:relative}.nextHalf{z-index:2;transform-origin:bottom;background-color:#000;background-image:linear-gradient(#000,#000);border-radius:10px 10px 0 0;width:100%;height:50%;margin-top:-100%;position:relative;overflow:hidden}.nextFull{z-index:-3;background-color:#000;border-radius:10px;width:100%;height:100%;margin-top:-50%;position:relative}.flip1{animation:1s ease-in flip1}.flip2{animation:1s ease-out flip2}@keyframes flip1{0%{background-color:#000;transform:rotateX(0)}50%{background-color:#000;transform:rotateX(90deg)}to{transform:rotateX(90deg)}}@keyframes flip2{0%{transform:rotateX(-90deg)}50%{transform:rotateX(-90deg)}to{background-color:#000;transform:rotateX(0)}}.hidden{opacity:0;filter:blur(5px);transition:all 1s;transform:translateY(100%)}.show{opacity:1;filter:blur();transform:translateY(0)}@media screen and (width<=1024px){p{padding:.5rem}#logo-osrd-big{height:20rem;padding:.5rem}.logo-date{height:2rem;padding:.5rem}.logo-titre{height:4rem;padding:.5rem}h2{font-size:3rem}.splitflap{text-align:center;color:#fff;min-width:25px;height:25px;margin:2.5px;font-family:monospace;font-size:25px;line-height:25px;position:relative}.center{perspective:500px;justify-content:center;width:100%;margin-top:2%;display:flex;top:50%;left:0}.top{z-index:0;background-color:#000;border-radius:5px 5px 0 0;width:100%;height:50%;position:relative;overflow:hidden}.bottom{z-index:-1;transform-origin:50%;background-color:#000;background-image:linear-gradient(#000,#000);border-radius:5px;width:100%;height:100%;margin-top:-50%;position:relative}.nextHalf{z-index:2;transform-origin:bottom;background-color:#000;background-image:linear-gradient(#242323,#000);border-radius:5px 5px 0 0;width:100%;height:50%;margin-top:-100%;position:relative;overflow:hidden}.nextFull{z-index:-3;background-color:#000;border-radius:5px;width:100%;height:100%;margin-top:-50%;position:relative}#fifth-ornament-svg{z-index:1000;height:8rem;position:absolute;top:30%;right:-7rem;rotate:110deg}}@media (prefers-reduced-motion){.hidden{transition:none}} +/*# sourceMappingURL=index.edb371bb.css.map */ diff --git a/build/index.edb371bb.css.map b/build/index.edb371bb.css.map new file mode 100644 index 0000000..920d26b --- /dev/null +++ b/build/index.edb371bb.css.map @@ -0,0 +1 @@ +{"mappings":"ACAA,wBAIA,6DAQA,4BAIA,iTAeA,wCAIA,kCAIA,6HAUA,wGAQA,qFAQA,gKAUA,mIASA,yMAcA,sGAOA,0HAQA,+BAIA,kDAMA,gHAQA,+IAYA,yCAGA,0CAKA,uBAIA,uBAIA,kBAIA,kBAIA,yBAIA,8CAKA,uBAIA,iBAIA,qBAQA,oBAIA,gCAIA,yCAIA,uBAIA,qFAQA,iFAQA,qGAQA,qGAQA,0EAOA,mDAWA,qFAMA,uGAQA,gGAQA,6DAKA,wDAOA,sJAYA,gHAWA,yHAUA,sLAYA,mNAaA,uHAUA,kCAKA,mCAKA,+IAcA,2HAaA,gFAOA,sDAMA,kCACE,gBAGA,0CAIA,qCAIA,sCAIA,kBAGA,wJAYA,sGAUA,uHAUA,qLAYA,oNAaA,sHASA,kGAUF,gCACE","sources":["index.edb371bb.css","app.css"],"sourcesContent":["* {\n box-sizing: border-box;\n}\n\nbody {\n margin: 0;\n padding: 0;\n font-family: Avenir;\n overflow-x: hidden;\n}\n\nhtml {\n scroll-behavior: smooth;\n}\n\n.background {\n text-align: center;\n color: var(--color);\n background-image: url(\"background_site_kickoff.65a64907.webp\");\n background-position: center;\n background-size: cover;\n background-attachment: fixed;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n width: 100vw;\n display: flex;\n overflow: scroll;\n}\n\n.background-black {\n background-color: #000;\n}\n\n#padding-bot {\n padding-bottom: .5rem;\n}\n\n.section-one {\n color: #fff;\n flex-direction: column;\n justify-content: center;\n width: 100vw;\n height: 100vh;\n display: flex;\n position: relative;\n}\n\n.container-one {\n flex-direction: column;\n justify-content: center;\n align-items: center;\n height: 50vh;\n display: flex;\n}\n\n.section-two {\n color: #fff;\n width: 100vw;\n height: 100vh;\n position: relative;\n overflow-x: hidden;\n}\n\n.section-two .part-one {\n background: #786abf;\n border-bottom: 1px solid #fff;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n height: 40vh;\n display: flex;\n}\n\n.section-two .part-two {\n background: #13120d;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n height: 60vh;\n display: flex;\n}\n\n.section-three {\n color: #fff;\n text-align: center;\n background: #786abf;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n width: 100vw;\n height: 100vh;\n display: flex;\n position: relative;\n overflow-x: hidden;\n}\n\n.section-three .part-one {\n flex-direction: column;\n justify-content: center;\n align-items: center;\n display: flex;\n}\n\n.section-three .part-two {\n text-align: left;\n flex-direction: column;\n justify-content: center;\n align-items: flex-start;\n display: flex;\n}\n\n.section-three span {\n color: #000;\n}\n\n.section-four {\n color: #fff;\n width: 100vw;\n height: 100vh;\n}\n\n.container-four {\n flex-direction: column;\n justify-content: space-evenly;\n align-items: center;\n height: 100vh;\n display: flex;\n}\n\n.footer {\n opacity: 0;\n justify-content: flex-start;\n padding: 1%;\n transition: opacity .5s ease-in-out;\n display: flex;\n position: fixed;\n bottom: 0;\n left: 0;\n right: 0;\n}\n\n.footer div {\n justify-content: space-evenly;\n}\n\n.footer img {\n height: 2rem;\n padding-left: 2rem;\n}\n\n.footer.show {\n opacity: 1;\n}\n\n.logo-date {\n height: 4rem;\n}\n\n#circle {\n opacity: 0;\n}\n\n.st1 {\n height: 10rem;\n}\n\n.logo-place {\n height: 15rem;\n}\n\n.logo-metro {\n vertical-align: -6px;\n height: 1.5rem;\n}\n\na {\n text-decoration: none;\n}\n\n.link {\n color: #fff;\n}\n\nh1, h2 {\n font-size: 3rem;\n}\n\ntime {\n font-size: 2rem;\n}\n\n#first-text-container {\n opacity: 0;\n}\n\n#first-text-container span {\n color: #786abf;\n}\n\n#second-text {\n opacity: 0;\n}\n\n#first-ornament-svg {\n width: 10vh;\n height: 10vh;\n position: absolute;\n bottom: 100px;\n left: -10px;\n}\n\n#second-ornament-svg {\n width: 15vh;\n height: 15vh;\n position: absolute;\n top: 50px;\n right: -2%;\n}\n\n#third-ornament-svg {\n z-index: 1000;\n height: 4rem;\n position: absolute;\n bottom: 50px;\n right: -15px;\n rotate: 110deg;\n}\n\n#fourth-ornament-svg {\n z-index: 1000;\n height: 4rem;\n position: absolute;\n bottom: 10px;\n left: -10px;\n rotate: 110deg;\n}\n\n#fifth-ornament-svg {\n height: 13rem;\n position: absolute;\n bottom: 30%;\n right: -6rem;\n}\n\n#titre, #date {\n opacity: 0;\n height: 15%;\n padding-top: 10px;\n}\n\n#arrow-down {\n opacity: 1;\n cursor: pointer;\n height: 3.8vh;\n transition: opacity .1s ease-in-out;\n}\n\n#arrow-up {\n opacity: 0;\n cursor: pointer;\n height: 3.8vh;\n padding-right: .5rem;\n transition: opacity .1s ease-in-out;\n}\n\n.arrow-container {\n z-index: 1000;\n flex-direction: row;\n display: flex;\n position: fixed;\n bottom: 1%;\n right: 2%;\n}\n\n.arrow-container div {\n padding-left: 4px;\n transition: opacity .5s;\n}\n\n.arrow-container div.hide {\n opacity: 0;\n pointer-events: none;\n}\n\n.splitflap {\n text-align: center;\n color: #fff;\n min-width: 50px;\n height: 50px;\n margin: 5px;\n font-family: monospace;\n font-size: 50px;\n line-height: 50px;\n position: relative;\n}\n\n.center {\n opacity: 0;\n perspective: 500px;\n justify-content: center;\n width: 100%;\n margin-top: 2%;\n display: flex;\n top: 50%;\n left: 0;\n}\n\n.top {\n z-index: 0;\n background-color: #000;\n border-radius: 10px 10px 0 0;\n width: 100%;\n height: 50%;\n position: relative;\n overflow: hidden;\n}\n\n.bottom {\n z-index: -1;\n transform-origin: center;\n background-color: #000;\n background-image: linear-gradient(#000, #000);\n border-radius: 10px;\n width: 100%;\n height: 100%;\n margin-top: -50%;\n position: relative;\n}\n\n.nextHalf {\n z-index: 2;\n transform-origin: bottom;\n background-color: #000;\n background-image: linear-gradient(#000, #000);\n border-radius: 10px 10px 0 0;\n width: 100%;\n height: 50%;\n margin-top: -100%;\n position: relative;\n overflow: hidden;\n}\n\n.nextFull {\n z-index: -3;\n background-color: #000;\n border-radius: 10px;\n width: 100%;\n height: 100%;\n margin-top: -50%;\n position: relative;\n}\n\n.flip1 {\n animation: 1s ease-in flip1;\n}\n\n.flip2 {\n animation: 1s ease-out flip2;\n}\n\n@keyframes flip1 {\n 0% {\n background-color: #000;\n transform: rotateX(0);\n }\n\n 50% {\n background-color: #000;\n transform: rotateX(90deg);\n }\n\n 100% {\n transform: rotateX(90deg);\n }\n}\n\n@keyframes flip2 {\n 0% {\n transform: rotateX(-90deg);\n }\n\n 50% {\n transform: rotateX(-90deg);\n }\n\n 100% {\n background-color: #000;\n transform: rotateX(0);\n }\n}\n\n.hidden {\n opacity: 0;\n filter: blur(5px);\n transition: all 1s;\n transform: translateY(100%);\n}\n\n.show {\n opacity: 1;\n filter: blur();\n transform: translateY(0);\n}\n\n@media screen and (width <= 1024px) {\n p {\n padding: .5rem;\n }\n\n #logo-osrd-big {\n height: 20rem;\n padding: .5rem;\n }\n\n .logo-date {\n height: 2rem;\n padding: .5rem;\n }\n\n .logo-titre {\n height: 4rem;\n padding: .5rem;\n }\n\n h2 {\n font-size: 3rem;\n }\n\n .splitflap {\n text-align: center;\n color: #fff;\n min-width: 25px;\n height: 25px;\n margin: 2.5px;\n font-family: monospace;\n font-size: 25px;\n line-height: 25px;\n position: relative;\n }\n\n .center {\n perspective: 500px;\n justify-content: center;\n width: 100%;\n margin-top: 2%;\n display: flex;\n top: 50%;\n left: 0;\n }\n\n .top {\n z-index: 0;\n background-color: #000;\n border-radius: 5px 5px 0 0;\n width: 100%;\n height: 50%;\n position: relative;\n overflow: hidden;\n }\n\n .bottom {\n z-index: -1;\n transform-origin: center;\n background-color: #000;\n background-image: linear-gradient(#000, #000);\n border-radius: 5px;\n width: 100%;\n height: 100%;\n margin-top: -50%;\n position: relative;\n }\n\n .nextHalf {\n z-index: 2;\n transform-origin: bottom;\n background-color: #000;\n background-image: linear-gradient(#242323, #000);\n border-radius: 5px 5px 0 0;\n width: 100%;\n height: 50%;\n margin-top: -100%;\n position: relative;\n overflow: hidden;\n }\n\n .nextFull {\n z-index: -3;\n background-color: #000;\n border-radius: 5px;\n width: 100%;\n height: 100%;\n margin-top: -50%;\n position: relative;\n }\n\n #fifth-ornament-svg {\n z-index: 1000;\n height: 8rem;\n position: absolute;\n top: 30%;\n right: -7rem;\n rotate: 110deg;\n }\n}\n\n@media (prefers-reduced-motion) {\n .hidden {\n transition: none;\n }\n}\n\n/*# sourceMappingURL=index.edb371bb.css.map */\n","* {\n box-sizing: border-box;\n}\n\nbody {\n padding: 0;\n margin: 0;\n font-family: \"Avenir\";\n overflow-x: hidden;\n /* max-width: 100vw; */\n}\n\nhtml {\n scroll-behavior: smooth;\n}\n\n.background {\n text-align: center;\n color: var(--color);\n width: 100vw;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n background-image: url(./public/assets/visuels/background_site_kickoff.webp);\n background-size: cover;\n background-position: center;\n background-attachment: fixed;\n overflow: scroll;\n}\n\n.background-black {\n background-color: black;\n}\n\n#padding-bot {\n padding-bottom: 0.5rem;\n}\n\n.section-one {\n position: relative;\n height: 100vh;\n width: 100vw;\n color: white;\n justify-content: center;\n display: flex;\n flex-direction: column;\n}\n\n.container-one {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n height: 50vh;\n}\n\n.section-two {\n position: relative;\n height: 100vh;\n width: 100vw;\n color: white;\n overflow-x: hidden;\n}\n\n.section-two .part-one {\n height: 40vh;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n background: #786abf;\n border-bottom: 1px solid white;\n}\n\n.section-two .part-two {\n height: 60vh;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n background: #13120d;\n}\n\n.section-three {\n position: relative;\n height: 100vh;\n width: 100vw;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n color: white;\n text-align: center;\n background: #786abf;\n overflow-x: hidden;\n}\n\n.section-three .part-one {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n}\n\n.section-three .part-two {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: flex-start;\n text-align: left;\n}\n\n.section-three span {\n color: black;\n}\n\n.section-four {\n height: 100vh;\n width: 100vw;\n color: white;\n}\n\n.container-four {\n height: 100vh;\n display: flex;\n flex-direction: column;\n justify-content: space-evenly;\n align-items: center;\n}\n\n.footer {\n position: fixed;\n bottom: 0;\n left: 0;\n right: 0;\n display: flex;\n justify-content: flex-start;\n padding: 1%;\n opacity: 0;\n transition: opacity 0.5s ease-in-out;\n}\n\n.footer div {\n justify-content: space-evenly;\n}\n.footer img {\n height: 2rem;\n padding-left: 2rem;\n}\n\n.footer.show {\n opacity: 1;\n}\n\n.logo-date {\n height: 4rem;\n}\n\n#circle {\n opacity: 0;\n}\n\n.st1 {\n height: 10rem;\n}\n\n.logo-place {\n height: 15rem;\n}\n\n.logo-metro {\n height: 1.5rem;\n vertical-align: -6px;\n}\n\na {\n text-decoration: none;\n}\n\n.link {\n color: white;\n}\n\nh1 {\n font-size: 3rem;\n}\n\nh2 {\n font-size: 3rem;\n}\n\ntime {\n font-size: 2rem;\n}\n\n#first-text-container {\n opacity: 0;\n}\n\n#first-text-container span {\n color: #786abf;\n}\n\n#second-text {\n opacity: 0;\n}\n\n#first-ornament-svg {\n position: absolute;\n left: -10px;\n bottom: 100px;\n height: 10vh;\n width: 10vh;\n}\n\n#second-ornament-svg {\n position: absolute;\n right: -2%;\n top: 50px;\n height: 15vh;\n width: 15vh;\n}\n\n#third-ornament-svg {\n position: absolute;\n right: -15px;\n bottom: 50px;\n height: 4rem;\n z-index: 1000;\n rotate: 110deg;\n}\n#fourth-ornament-svg {\n position: absolute;\n left: -10px;\n bottom: 10px;\n height: 4rem;\n z-index: 1000;\n rotate: 110deg;\n}\n#fifth-ornament-svg {\n position: absolute;\n right: -6rem;\n bottom: 30%;\n height: 13rem;\n}\n\n#titre {\n padding-top: 10;\n height: 15%;\n opacity: 0;\n}\n\n#date {\n padding-top: 10;\n height: 15%;\n opacity: 0;\n}\n#arrow-down {\n height: 3.8vh;\n opacity: 1;\n transition: opacity 0.1s ease-in-out;\n cursor: pointer;\n}\n#arrow-up {\n height: 3.8vh;\n opacity: 0;\n transition: opacity 0.1s ease-in-out;\n cursor: pointer;\n padding-right: 0.5rem;\n}\n\n.arrow-container {\n position: fixed;\n bottom: 1%;\n right: 2%;\n display: flex;\n flex-direction: row;\n z-index: 1000;\n}\n.arrow-container div {\n transition: opacity 0.5s ease;\n padding-left: 4px;\n}\n\n.arrow-container div.hide {\n opacity: 0;\n pointer-events: none;\n}\n\n/* Rebours */\n\n.splitflap {\n position: relative;\n min-width: 50px;\n height: 50px;\n margin: 5px;\n line-height: 50px;\n font-size: 50px;\n font-family: Monospace;\n text-align: center;\n color: white;\n}\n\n.center {\n opacity: 0;\n left: 0;\n top: 50%;\n margin-top: 2%;\n width: 100%;\n display: flex;\n justify-content: center;\n perspective: 500px;\n}\n\n.top {\n position: relative;\n height: 50%;\n width: 100%;\n background-color: #000;\n border-radius: 10px 10px 0 0;\n overflow: hidden;\n z-index: 0;\n}\n\n.bottom {\n position: relative;\n height: 100%;\n width: 100%;\n margin-top: -50%;\n border-radius: 10px 10px 10px 10px;\n z-index: -1;\n background-color: black;\n background-image: linear-gradient(#000, #000);\n transform-origin: center;\n}\n\n.nextHalf {\n position: relative;\n height: 50%;\n width: 100%;\n margin-top: -100%;\n overflow: hidden;\n border-radius: 10px 10px 0 0;\n z-index: 2;\n background-color: black;\n background-image: linear-gradient(#000, #000);\n transform-origin: bottom;\n}\n\n.nextFull {\n position: relative;\n height: 100%;\n width: 100%;\n background-color: #000;\n margin-top: -50%;\n border-radius: 10px 10px 10px 10px;\n z-index: -3;\n}\n\n.flip1 {\n animation: flip1 ease-in 1;\n animation-duration: 1s;\n}\n\n.flip2 {\n animation: flip2 ease-out 1;\n animation-duration: 1s;\n}\n\n@keyframes flip1 {\n 0% {\n transform: rotateX(0deg);\n background-color: #000;\n }\n 50% {\n transform: rotateX(90deg);\n background-color: black;\n }\n 100% {\n transform: rotateX(90deg);\n }\n}\n\n@keyframes flip2 {\n 0% {\n transform: rotateX(-90deg);\n }\n 50% {\n transform: rotateX(-90deg);\n }\n 100% {\n transform: rotateX(0deg);\n background-color: #000;\n }\n}\n\n.hidden {\n opacity: 0;\n filter: blur(5px);\n transform: translateY(100%);\n transition: all 1s;\n}\n\n.show {\n opacity: 1;\n filter: blur(0);\n transform: translateY(0);\n}\n\n@media screen and (max-width: 1024px) {\n p {\n padding: 0.5rem;\n }\n #logo-osrd-big {\n height: 20rem;\n padding: 0.5rem;\n }\n .logo-date {\n height: 2rem;\n padding: 0.5rem;\n }\n .logo-titre {\n height: 4rem;\n padding: 0.5rem;\n }\n h2 {\n font-size: 3rem;\n }\n .splitflap {\n position: relative;\n min-width: 25px;\n height: 25px;\n margin: 2.5px;\n line-height: 25px;\n font-size: 25px;\n font-family: Monospace;\n text-align: center;\n color: white;\n }\n\n .center {\n left: 0;\n top: 50%;\n margin-top: 2%;\n width: 100%;\n display: flex;\n justify-content: center;\n perspective: 500px;\n }\n\n .top {\n position: relative;\n height: 50%;\n width: 100%;\n background-color: #000;\n border-radius: 5px 5px 0 0;\n overflow: hidden;\n z-index: 0;\n }\n\n .bottom {\n position: relative;\n height: 100%;\n width: 100%;\n margin-top: -50%;\n border-radius: 5px 5px 5px 5px;\n z-index: -1;\n background-color: black;\n background-image: linear-gradient(#000, #000);\n transform-origin: center;\n }\n\n .nextHalf {\n position: relative;\n height: 50%;\n width: 100%;\n margin-top: -100%;\n overflow: hidden;\n border-radius: 5px 5px 0 0;\n z-index: 2;\n background-color: black;\n background-image: linear-gradient(#242323, #000);\n transform-origin: bottom;\n }\n\n .nextFull {\n position: relative;\n height: 100%;\n width: 100%;\n background-color: #000;\n margin-top: -50%;\n border-radius: 5px 5px 5px 5px;\n z-index: -3;\n }\n #fifth-ornament-svg {\n position: absolute;\n right: -7rem;\n top: 30%;\n height: 8rem;\n z-index: 1000;\n rotate: 110deg;\n }\n}\n\n@media (prefers-reduced-motion) {\n .hidden {\n transition: none;\n }\n}\n"],"names":[],"version":3,"file":"index.edb371bb.css.map"} \ No newline at end of file diff --git a/build/index.html b/build/index.html new file mode 100644 index 0000000..6b3dc4e --- /dev/null +++ b/build/index.html @@ -0,0 +1 @@ +OSRD KICKOFF 2023
titre titre
Programme OSRD

Études exploitation et Sillons de dernière minute

(+diffusion en ligne)

arrowUp
\ No newline at end of file diff --git a/build/logo-metro.780c553f.png b/build/logo-metro.780c553f.png new file mode 100644 index 0000000..52a451f Binary files /dev/null and b/build/logo-metro.780c553f.png differ diff --git a/build/reshot-icon-bold-arrow-down-KDT9R8EHBC.f23d4f30.svg b/build/reshot-icon-bold-arrow-down-KDT9R8EHBC.f23d4f30.svg new file mode 100644 index 0000000..734ebf1 --- /dev/null +++ b/build/reshot-icon-bold-arrow-down-KDT9R8EHBC.f23d4f30.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/build/reshot-icon-bold-arrow-up-XUMCA9L6S5.328d7a2e.svg b/build/reshot-icon-bold-arrow-up-XUMCA9L6S5.328d7a2e.svg new file mode 100644 index 0000000..588f180 --- /dev/null +++ b/build/reshot-icon-bold-arrow-up-XUMCA9L6S5.328d7a2e.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/index.html b/index.html index 7bcd935..e473427 100644 --- a/index.html +++ b/index.html @@ -4,7 +4,6 @@ OSRD KICKOFF 2023 -
@@ -335,5 +334,6 @@
+