diff --git a/asset-manifest.json b/asset-manifest.json index 39631ba..7272b5e 100644 --- a/asset-manifest.json +++ b/asset-manifest.json @@ -1,15 +1,15 @@ { "files": { - "main.css": "/twinkle-circle/static/css/main.bf0f8b70.css", - "main.js": "/twinkle-circle/static/js/main.14cfa4c7.js", + "main.css": "/twinkle-circle/static/css/main.7e577541.css", + "main.js": "/twinkle-circle/static/js/main.01c87eec.js", "static/js/787.e1a2ed66.chunk.js": "/twinkle-circle/static/js/787.e1a2ed66.chunk.js", "index.html": "/twinkle-circle/index.html", - "main.bf0f8b70.css.map": "/twinkle-circle/static/css/main.bf0f8b70.css.map", - "main.14cfa4c7.js.map": "/twinkle-circle/static/js/main.14cfa4c7.js.map", + "main.7e577541.css.map": "/twinkle-circle/static/css/main.7e577541.css.map", + "main.01c87eec.js.map": "/twinkle-circle/static/js/main.01c87eec.js.map", "787.e1a2ed66.chunk.js.map": "/twinkle-circle/static/js/787.e1a2ed66.chunk.js.map" }, "entrypoints": [ - "static/css/main.bf0f8b70.css", - "static/js/main.14cfa4c7.js" + "static/css/main.7e577541.css", + "static/js/main.01c87eec.js" ] } \ No newline at end of file diff --git a/index.html b/index.html index f178bd0..bcd190a 100644 --- a/index.html +++ b/index.html @@ -1 +1 @@ -twinkleCircle
\ No newline at end of file +twinkleCircle
\ No newline at end of file diff --git a/static/css/main.bf0f8b70.css b/static/css/main.7e577541.css similarity index 87% rename from static/css/main.bf0f8b70.css rename to static/css/main.7e577541.css index 4aa2ff5..fc358c4 100644 --- a/static/css/main.bf0f8b70.css +++ b/static/css/main.7e577541.css @@ -1,2 +1,2 @@ -@import url(https://fonts.googleapis.com/css2?family=Roboto&display=swap);body,html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:hsla(0,0%,6%,.9);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;height:100%;margin:0;overflow:auto;padding:0;position:relative;width:100%;z-index:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{align-items:center;background-color:none;display:flex;flex-direction:column;font-family:Roboto,Arial,Helvetica,sans-serif;height:100vh;justify-content:center;overflow-y:scroll;text-align:center;width:100%;z-index:0}#particles-js{height:100%;left:0;margin:0;overflow:hidden;position:fixed;top:0;width:100%;z-index:-1}.CircleContainer,.ControlPanel{position:relative;z-index:2}@media only screen and (max-width:768px){.App{height:100%}}.header{background-color:none;margin-bottom:30px;text-align:center;width:100%}.title{color:#fff;display:inline-block;font-family:Roboto,Arial,Helvetica,sans-serif;font-size:1.8em;letter-spacing:3px;opacity:.7}@media only screen and (max-width:768px){.title{padding-top:75px}}.circle{border-radius:50%;box-sizing:border-box;cursor:pointer;display:inline-block;height:10vw;margin:0;max-height:100px;max-width:100px;opacity:.3;transition:all .2s;width:10vw}.circle.pink{background-color:#d870ad}.circle.green{background-color:#45b649}.circle.blue{background-color:#357abd}.circle.yellow{background-color:gold}.circle:active{-webkit-transform:scale(.8);transform:scale(.8)}.circle.active{box-shadow:0 0 15px 10px hsla(0,0%,100%,.7);opacity:1}@media only screen and (max-width:768px){.circle{flex:1 1 50%;height:7em;margin:3px;width:7em}}.container{align-items:center;display:flex;flex-wrap:wrap;gap:25px;justify-content:center;padding:15px}@media only screen and (max-width:768px){.container{align-items:flex-start;margin:10px;padding:5px}}.control-panel{margin:30px 10px}.control-panel button{background-color:#333;border:1px solid #555;border-radius:5px;color:#eeeeeeb1;cursor:pointer;font-size:1em;font-weight:700;margin-top:25px;padding:10px 30px;transition:all .3s}.control-panel button:hover{background-color:#555;-webkit-transform:scale(.9);transform:scale(.9)}.control-panel button:active{-webkit-transform:scale(.8);transform:scale(.8)}@media only screen and (max-width:768px){.control-panel button{margin-bottom:50px}} -/*# sourceMappingURL=main.bf0f8b70.css.map*/ \ No newline at end of file +@import url(https://fonts.googleapis.com/css2?family=Roboto&display=swap);body,html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:hsla(0,0%,6%,.9);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;height:100%;margin:0;overflow:auto;padding:0;position:relative;width:100%;z-index:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{align-items:center;background-color:none;display:flex;flex-direction:column;font-family:Roboto,Arial,Helvetica,sans-serif;height:100vh;justify-content:center;overflow-y:scroll;text-align:center;width:100%;z-index:0}#particles-js{height:100%;left:0;margin:0;overflow:hidden;position:fixed;top:0;width:100%;z-index:-1}.CircleContainer,.ControlPanel{position:relative;z-index:2}@media only screen and (max-width:768px){.App{height:100%}}.header{background-color:none;margin-bottom:30px;text-align:center;width:100%}.title{color:#fff;display:inline-block;font-family:Roboto,Arial,Helvetica,sans-serif;font-size:1.8em;letter-spacing:3px;opacity:.7}@media only screen and (max-width:768px){.title{padding-top:75px}}.circle{border-radius:50%;box-sizing:border-box;cursor:pointer;display:inline-block;height:10vw;margin:0;max-height:100px;max-width:100px;opacity:.3;transition:all .2s;width:10vw}.circle.pink{background-color:#d870ad}.circle.green{background-color:#45b649}.circle.blue{background-color:#357abd}.circle.yellow{background-color:gold}.circle:active{-webkit-transform:scale(.8);transform:scale(.8)}.circle.active{box-shadow:0 0 15px 10px hsla(0,0%,100%,.7);opacity:1}@media only screen and (max-width:768px){.circle{flex:1 1 50%;height:7em;margin:3px;width:7em}}.container{align-items:center;display:flex;flex-wrap:wrap;gap:25px;justify-content:center;padding:15px}@media only screen and (max-width:768px){.container{align-items:flex-start;margin:10px;padding:5px}}.control-panel{margin:30px 10px}.control-panel button{background-color:#333;border:1px solid #555;border-radius:5px;color:#eeeeeeb1;cursor:pointer;font-size:1em;font-weight:700;margin-top:25px;padding:10px 30px;transition:all .3s}.control-panel button:hover{background-color:#555}.control-panel button:active{-webkit-transform:scale(.8);transform:scale(.8)}@media only screen and (max-width:768px){.control-panel button{margin-bottom:50px}} +/*# sourceMappingURL=main.7e577541.css.map*/ \ No newline at end of file diff --git a/static/css/main.7e577541.css.map b/static/css/main.7e577541.css.map new file mode 100644 index 0000000..f43616b --- /dev/null +++ b/static/css/main.7e577541.css.map @@ -0,0 +1 @@ +{"version":3,"file":"static/css/main.7e577541.css","mappings":"0EAEA,UAYE,kCAAmC,CACnC,iCAAkC,CALlC,2BAAiC,CACjC,mIAEY,CAPZ,WAAY,CAHZ,QAAS,CAIT,aAAc,CAHd,SAAU,CAKV,iBAAkB,CAJlB,UAAW,CAGX,SAQF,CAEA,KACE,uEAEF,CCrBA,KAUE,kBAAmB,CAPnB,qBAAsB,CACtB,YAAa,CAIb,qBAAsB,CAPtB,6CAAmD,CAInD,YAAa,CAIb,sBAAuB,CAFvB,iBAAkB,CALlB,iBAAkB,CAIlB,UAAW,CAKX,SACF,CAEA,cAGE,WAAY,CAKZ,MAAO,CAFP,QAAS,CADT,eAAgB,CADhB,cAAe,CAGf,KAAM,CALN,UAAW,CADX,UAQF,CAEA,+BAEE,iBAAkB,CADlB,SAEF,CAEA,yCAEE,KACE,WACF,CACF,CCnCA,QAII,qBAAsB,CAHtB,kBAAmB,CAEnB,iBAAkB,CADlB,UAGJ,CAEA,OAGI,UAAW,CAGX,oBAAqB,CALrB,6CAAmD,CAGnD,eAAgB,CAFhB,kBAAmB,CAGnB,UAEJ,CAEA,yCAEI,OACI,gBACJ,CACF,CCrBF,QAKI,iBAAkB,CAMlB,qBAAsB,CAHtB,cAAe,CAEf,oBAAqB,CARrB,WAAY,CAIZ,QAAS,CAFT,gBAAiB,CADjB,eAAgB,CAIhB,UAAY,CAEZ,kBAAoB,CARpB,UAWJ,CAEA,aACI,wBACJ,CAEA,cACI,wBACJ,CAEA,aACI,wBACJ,CAEA,eACI,qBACJ,CAEA,eACI,2BAAqB,CAArB,mBACJ,CAEA,eACI,2CAAkD,CAClD,SACJ,CAEA,yCAEI,QAIE,YAAW,CAFX,UAAW,CACX,UAAW,CAFX,SAIF,CACF,CC/CF,WAII,kBAAmB,CAHnB,YAAa,CACb,cAAe,CAIf,QAAS,CAHT,sBAAuB,CAEvB,YAEJ,CAEA,yCAEI,WAGI,sBAAuB,CAFvB,WAAY,CACZ,WAEJ,CACF,CChBF,eACI,gBACJ,CAEA,sBAOI,qBAAsB,CADtB,qBAAsB,CAGtB,iBAAkB,CADlB,eAAgB,CAHhB,cAAe,CAFf,aAAc,CACd,eAAiB,CAFjB,eAAgB,CADhB,iBAAkB,CASlB,kBACJ,CAEA,4BACI,qBACJ,CAEA,6BACI,2BAAqB,CAArB,mBACJ,CAEA,yCAEA,sBACI,kBACA,CACF","sources":["index.css","App.css","components/Header/Header.css","components/Circle/Circle.css","components/CircleContainer/CircleContainer.css","components/ControlPanel/ControlPanel.css"],"sourcesContent":["@import url('https://fonts.googleapis.com/css2?family=Roboto&display=swap');\r\n\r\nbody, html {\r\n margin: 0;\r\n padding: 0;\r\n width: 100%;\r\n height: 100%;\r\n overflow: auto;\r\n z-index: 0;\r\n position: relative;\r\n background: rgba(15, 15, 15, 0.9);\r\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',\r\n 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',\r\n sans-serif;\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\r\n}\r\n\r\ncode {\r\n font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',\r\n monospace;\r\n}\r\n\r\n",".App {\r\n font-family: 'Roboto', Arial, Helvetica, sans-serif;\r\n text-align: center;\r\n background-color: none;\r\n display: flex;\r\n height: 100vh;\r\n width: 100%;\r\n overflow-y: scroll; \r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n z-index: 0;\r\n}\r\n\r\n#particles-js {\r\n z-index: -1;\r\n width: 100%;\r\n height: 100%;\r\n position: fixed;\r\n overflow: hidden;\r\n margin: 0;\r\n top: 0;\r\n left: 0;\r\n}\r\n\r\n.CircleContainer, .ControlPanel {\r\n z-index: 2;\r\n position: relative;\r\n}\r\n\r\n@media only screen and (max-width: 768px) {\r\n \r\n .App {\r\n height: 100%;\r\n }\r\n}\r\n",".header {\r\n margin-bottom: 30px;\r\n width: 100%;\r\n text-align: center;\r\n background-color: none;\r\n}\r\n\r\n.title {\r\n font-family: 'Roboto', Arial, Helvetica, sans-serif;\r\n letter-spacing: 3px;\r\n color: #FFF;\r\n font-size: 1.8em;\r\n opacity: 0.7;\r\n display: inline-block;\r\n}\r\n\r\n@media only screen and (max-width: 768px) {\r\n \r\n .title {\r\n padding-top: 75px;\r\n }\r\n }",".circle {\r\n width: 10vw;\r\n height: 10vw;\r\n max-width: 100px;\r\n max-height: 100px;\r\n border-radius: 50%;\r\n margin: 0;\r\n opacity: 0.3;\r\n cursor: pointer;\r\n transition: all 0.2s;\r\n display: inline-block;\r\n box-sizing: border-box;\r\n}\r\n\r\n.circle.pink {\r\n background-color: #D870AD;\r\n}\r\n\r\n.circle.green {\r\n background-color: #45B649;\r\n}\r\n\r\n.circle.blue {\r\n background-color: #357ABD;\r\n}\r\n\r\n.circle.yellow {\r\n background-color: #FFD700;\r\n}\r\n\r\n.circle:active {\r\n transform: scale(0.8);\r\n}\r\n\r\n.circle.active {\r\n box-shadow: 0 0 15px 10px rgba(255, 255, 255, 0.7);\r\n opacity: 1;\r\n}\r\n\r\n@media only screen and (max-width: 768px) {\r\n \r\n .circle {\r\n width: 7em;\r\n height: 7em;\r\n margin: 3px;\r\n flex: 1 50%;\r\n }\r\n }",".container {\r\n display: flex;\r\n flex-wrap: wrap;\r\n justify-content: center;\r\n align-items: center;\r\n padding: 15px;\r\n gap: 25px;\r\n}\r\n\r\n@media only screen and (max-width: 768px) {\r\n \r\n .container {\r\n margin: 10px;\r\n padding: 5px;\r\n align-items: flex-start;\r\n }\r\n }",".control-panel {\r\n margin: 30px 10px;\r\n}\r\n\r\n.control-panel button {\r\n padding: 10px 30px;\r\n margin-top: 25px;\r\n font-size: 1em;\r\n font-weight: bold;\r\n cursor: pointer;\r\n border: 1px solid #555;\r\n background-color: #333;\r\n color: #eeeeeeb1;\r\n border-radius: 5px;\r\n transition: all 0.3s;\r\n}\r\n\r\n.control-panel button:hover {\r\n background-color: #555;\r\n}\r\n\r\n.control-panel button:active {\r\n transform: scale(0.8);\r\n}\r\n\r\n@media only screen and (max-width: 768px) {\r\n \r\n.control-panel button {\r\n margin-bottom: 50px; \r\n }\r\n }"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/css/main.bf0f8b70.css.map b/static/css/main.bf0f8b70.css.map deleted file mode 100644 index 5897973..0000000 --- a/static/css/main.bf0f8b70.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/css/main.bf0f8b70.css","mappings":"0EAEA,UAYE,kCAAmC,CACnC,iCAAkC,CALlC,2BAAiC,CACjC,mIAEY,CAPZ,WAAY,CAHZ,QAAS,CAIT,aAAc,CAHd,SAAU,CAKV,iBAAkB,CAJlB,UAAW,CAGX,SAQF,CAEA,KACE,uEAEF,CCrBA,KAUE,kBAAmB,CAPnB,qBAAsB,CACtB,YAAa,CAIb,qBAAsB,CAPtB,6CAAmD,CAInD,YAAa,CAIb,sBAAuB,CAFvB,iBAAkB,CALlB,iBAAkB,CAIlB,UAAW,CAKX,SACF,CAEA,cAGE,WAAY,CAKZ,MAAO,CAFP,QAAS,CADT,eAAgB,CADhB,cAAe,CAGf,KAAM,CALN,UAAW,CADX,UAQF,CAEA,+BAEE,iBAAkB,CADlB,SAEF,CAEA,yCAEE,KACE,WACF,CACF,CCnCA,QAII,qBAAsB,CAHtB,kBAAmB,CAEnB,iBAAkB,CADlB,UAGJ,CAEA,OAGI,UAAW,CAGX,oBAAqB,CALrB,6CAAmD,CAGnD,eAAgB,CAFhB,kBAAmB,CAGnB,UAEJ,CAEA,yCAEI,OACI,gBACJ,CACF,CCrBF,QAKI,iBAAkB,CAMlB,qBAAsB,CAHtB,cAAe,CAEf,oBAAqB,CARrB,WAAY,CAIZ,QAAS,CAFT,gBAAiB,CADjB,eAAgB,CAIhB,UAAY,CAEZ,kBAAoB,CARpB,UAWJ,CAEA,aACI,wBACJ,CAEA,cACI,wBACJ,CAEA,aACI,wBACJ,CAEA,eACI,qBACJ,CAEA,eACI,2BAAqB,CAArB,mBACJ,CAEA,eACI,2CAAkD,CAClD,SACJ,CAEA,yCAEI,QAIE,YAAW,CAFX,UAAW,CACX,UAAW,CAFX,SAIF,CACF,CC/CF,WAII,kBAAmB,CAHnB,YAAa,CACb,cAAe,CAIf,QAAS,CAHT,sBAAuB,CAEvB,YAEJ,CAEA,yCAEI,WAGI,sBAAuB,CAFvB,WAAY,CACZ,WAEJ,CACF,CChBF,eACI,gBACJ,CAEA,sBAOI,qBAAsB,CADtB,qBAAsB,CAGtB,iBAAkB,CADlB,eAAgB,CAHhB,cAAe,CAFf,aAAc,CACd,eAAiB,CAFjB,eAAgB,CADhB,iBAAkB,CASlB,kBACJ,CAEA,4BACI,qBAAsB,CACtB,2BAAqB,CAArB,mBACJ,CAEA,6BACI,2BAAqB,CAArB,mBACJ,CAEA,yCAEA,sBACI,kBACA,CACF","sources":["index.css","App.css","components/Header/Header.css","components/Circle/Circle.css","components/CircleContainer/CircleContainer.css","components/ControlPanel/ControlPanel.css"],"sourcesContent":["@import url('https://fonts.googleapis.com/css2?family=Roboto&display=swap');\r\n\r\nbody, html {\r\n margin: 0;\r\n padding: 0;\r\n width: 100%;\r\n height: 100%;\r\n overflow: auto;\r\n z-index: 0;\r\n position: relative;\r\n background: rgba(15, 15, 15, 0.9);\r\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',\r\n 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',\r\n sans-serif;\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\r\n}\r\n\r\ncode {\r\n font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',\r\n monospace;\r\n}\r\n\r\n",".App {\r\n font-family: 'Roboto', Arial, Helvetica, sans-serif;\r\n text-align: center;\r\n background-color: none;\r\n display: flex;\r\n height: 100vh;\r\n width: 100%;\r\n overflow-y: scroll; \r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n z-index: 0;\r\n}\r\n\r\n#particles-js {\r\n z-index: -1;\r\n width: 100%;\r\n height: 100%;\r\n position: fixed;\r\n overflow: hidden;\r\n margin: 0;\r\n top: 0;\r\n left: 0;\r\n}\r\n\r\n.CircleContainer, .ControlPanel {\r\n z-index: 2;\r\n position: relative;\r\n}\r\n\r\n@media only screen and (max-width: 768px) {\r\n \r\n .App {\r\n height: 100%;\r\n }\r\n}\r\n",".header {\r\n margin-bottom: 30px;\r\n width: 100%;\r\n text-align: center;\r\n background-color: none;\r\n}\r\n\r\n.title {\r\n font-family: 'Roboto', Arial, Helvetica, sans-serif;\r\n letter-spacing: 3px;\r\n color: #FFF;\r\n font-size: 1.8em;\r\n opacity: 0.7;\r\n display: inline-block;\r\n}\r\n\r\n@media only screen and (max-width: 768px) {\r\n \r\n .title {\r\n padding-top: 75px;\r\n }\r\n }",".circle {\r\n width: 10vw;\r\n height: 10vw;\r\n max-width: 100px;\r\n max-height: 100px;\r\n border-radius: 50%;\r\n margin: 0;\r\n opacity: 0.3;\r\n cursor: pointer;\r\n transition: all 0.2s;\r\n display: inline-block;\r\n box-sizing: border-box;\r\n}\r\n\r\n.circle.pink {\r\n background-color: #D870AD;\r\n}\r\n\r\n.circle.green {\r\n background-color: #45B649;\r\n}\r\n\r\n.circle.blue {\r\n background-color: #357ABD;\r\n}\r\n\r\n.circle.yellow {\r\n background-color: #FFD700;\r\n}\r\n\r\n.circle:active {\r\n transform: scale(0.8);\r\n}\r\n\r\n.circle.active {\r\n box-shadow: 0 0 15px 10px rgba(255, 255, 255, 0.7);\r\n opacity: 1;\r\n}\r\n\r\n@media only screen and (max-width: 768px) {\r\n \r\n .circle {\r\n width: 7em;\r\n height: 7em;\r\n margin: 3px;\r\n flex: 1 50%;\r\n }\r\n }",".container {\r\n display: flex;\r\n flex-wrap: wrap;\r\n justify-content: center;\r\n align-items: center;\r\n padding: 15px;\r\n gap: 25px;\r\n}\r\n\r\n@media only screen and (max-width: 768px) {\r\n \r\n .container {\r\n margin: 10px;\r\n padding: 5px;\r\n align-items: flex-start;\r\n }\r\n }",".control-panel {\r\n margin: 30px 10px;\r\n}\r\n\r\n.control-panel button {\r\n padding: 10px 30px;\r\n margin-top: 25px;\r\n font-size: 1em;\r\n font-weight: bold;\r\n cursor: pointer;\r\n border: 1px solid #555;\r\n background-color: #333;\r\n color: #eeeeeeb1;\r\n border-radius: 5px;\r\n transition: all 0.3s;\r\n}\r\n\r\n.control-panel button:hover {\r\n background-color: #555;\r\n transform: scale(0.9);\r\n}\r\n\r\n.control-panel button:active {\r\n transform: scale(0.8);\r\n}\r\n\r\n@media only screen and (max-width: 768px) {\r\n \r\n.control-panel button {\r\n margin-bottom: 50px; \r\n }\r\n }"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/static/js/main.14cfa4c7.js b/static/js/main.01c87eec.js similarity index 98% rename from static/js/main.14cfa4c7.js rename to static/js/main.01c87eec.js index facce14..4308729 100644 --- a/static/js/main.14cfa4c7.js +++ b/static/js/main.01c87eec.js @@ -1,3 +1,3 @@ -/*! For license information please see main.14cfa4c7.js.LICENSE.txt */ -!function(){var e={807:function(){var e=function(e,r){var a=document.querySelector("#"+e+" > .particles-js-canvas-el");this.pJS={canvas:{el:a,w:a.offsetWidth,h:a.offsetHeight},particles:{number:{value:400,density:{enable:!0,value_area:800}},color:{value:"#fff"},shape:{type:"circle",stroke:{width:0,color:"#ff0000"},polygon:{nb_sides:5},image:{src:"",width:100,height:100}},opacity:{value:1,random:!1,anim:{enable:!1,speed:2,opacity_min:0,sync:!1}},size:{value:20,random:!1,anim:{enable:!1,speed:20,size_min:0,sync:!1}},line_linked:{enable:!0,distance:100,color:"#fff",opacity:1,width:1},move:{enable:!0,speed:2,direction:"none",random:!1,straight:!1,out_mode:"out",bounce:!1,attract:{enable:!1,rotateX:3e3,rotateY:3e3}},array:[]},interactivity:{detect_on:"canvas",events:{onhover:{enable:!0,mode:"grab"},onclick:{enable:!0,mode:"push"},resize:!0},modes:{grab:{distance:100,line_linked:{opacity:1}},bubble:{distance:200,size:80,duration:.4},repulse:{distance:200,duration:.4},push:{particles_nb:4},remove:{particles_nb:2}},mouse:{}},retina_detect:!1,fn:{interact:{},modes:{},vendors:{}},tmp:{}};var l=this.pJS;r&&Object.deepExtend(l,r),l.tmp.obj={size_value:l.particles.size.value,size_anim_speed:l.particles.size.anim.speed,move_speed:l.particles.move.speed,line_linked_distance:l.particles.line_linked.distance,line_linked_width:l.particles.line_linked.width,mode_grab_distance:l.interactivity.modes.grab.distance,mode_bubble_distance:l.interactivity.modes.bubble.distance,mode_bubble_size:l.interactivity.modes.bubble.size,mode_repulse_distance:l.interactivity.modes.repulse.distance},l.fn.retinaInit=function(){l.retina_detect&&window.devicePixelRatio>1?(l.canvas.pxratio=window.devicePixelRatio,l.tmp.retina=!0):(l.canvas.pxratio=1,l.tmp.retina=!1),l.canvas.w=l.canvas.el.offsetWidth*l.canvas.pxratio,l.canvas.h=l.canvas.el.offsetHeight*l.canvas.pxratio,l.particles.size.value=l.tmp.obj.size_value*l.canvas.pxratio,l.particles.size.anim.speed=l.tmp.obj.size_anim_speed*l.canvas.pxratio,l.particles.move.speed=l.tmp.obj.move_speed*l.canvas.pxratio,l.particles.line_linked.distance=l.tmp.obj.line_linked_distance*l.canvas.pxratio,l.interactivity.modes.grab.distance=l.tmp.obj.mode_grab_distance*l.canvas.pxratio,l.interactivity.modes.bubble.distance=l.tmp.obj.mode_bubble_distance*l.canvas.pxratio,l.particles.line_linked.width=l.tmp.obj.line_linked_width*l.canvas.pxratio,l.interactivity.modes.bubble.size=l.tmp.obj.mode_bubble_size*l.canvas.pxratio,l.interactivity.modes.repulse.distance=l.tmp.obj.mode_repulse_distance*l.canvas.pxratio},l.fn.canvasInit=function(){l.canvas.ctx=l.canvas.el.getContext("2d")},l.fn.canvasSize=function(){l.canvas.el.width=l.canvas.w,l.canvas.el.height=l.canvas.h,l&&l.interactivity.events.resize&&window.addEventListener("resize",(function(){l.canvas.w=l.canvas.el.offsetWidth,l.canvas.h=l.canvas.el.offsetHeight,l.tmp.retina&&(l.canvas.w*=l.canvas.pxratio,l.canvas.h*=l.canvas.pxratio),l.canvas.el.width=l.canvas.w,l.canvas.el.height=l.canvas.h,l.particles.move.enable||(l.fn.particlesEmpty(),l.fn.particlesCreate(),l.fn.particlesDraw(),l.fn.vendors.densityAutoParticles()),l.fn.vendors.densityAutoParticles()}))},l.fn.canvasPaint=function(){l.canvas.ctx.fillRect(0,0,l.canvas.w,l.canvas.h)},l.fn.canvasClear=function(){l.canvas.ctx.clearRect(0,0,l.canvas.w,l.canvas.h)},l.fn.particle=function(e,n,r){if(this.radius=(l.particles.size.random?Math.random():1)*l.particles.size.value,l.particles.size.anim.enable&&(this.size_status=!1,this.vs=l.particles.size.anim.speed/100,l.particles.size.anim.sync||(this.vs=this.vs*Math.random())),this.x=r?r.x:Math.random()*l.canvas.w,this.y=r?r.y:Math.random()*l.canvas.h,this.x>l.canvas.w-2*this.radius?this.x=this.x-this.radius:this.x<2*this.radius&&(this.x=this.x+this.radius),this.y>l.canvas.h-2*this.radius?this.y=this.y-this.radius:this.y<2*this.radius&&(this.y=this.y+this.radius),l.particles.move.bounce&&l.fn.vendors.checkOverlap(this,r),this.color={},"object"==typeof e.value)if(e.value instanceof Array){var a=e.value[Math.floor(Math.random()*l.particles.color.value.length)];this.color.rgb=t(a)}else void 0!=e.value.r&&void 0!=e.value.g&&void 0!=e.value.b&&(this.color.rgb={r:e.value.r,g:e.value.g,b:e.value.b}),void 0!=e.value.h&&void 0!=e.value.s&&void 0!=e.value.l&&(this.color.hsl={h:e.value.h,s:e.value.s,l:e.value.l});else"random"==e.value?this.color.rgb={r:Math.floor(256*Math.random())+0,g:Math.floor(256*Math.random())+0,b:Math.floor(256*Math.random())+0}:"string"==typeof e.value&&(this.color=e,this.color.rgb=t(this.color.value));this.opacity=(l.particles.opacity.random?Math.random():1)*l.particles.opacity.value,l.particles.opacity.anim.enable&&(this.opacity_status=!1,this.vo=l.particles.opacity.anim.speed/100,l.particles.opacity.anim.sync||(this.vo=this.vo*Math.random()));var i={};switch(l.particles.move.direction){case"top":i={x:0,y:-1};break;case"top-right":i={x:.5,y:-.5};break;case"right":i={x:1,y:-0};break;case"bottom-right":i={x:.5,y:.5};break;case"bottom":i={x:0,y:1};break;case"bottom-left":i={x:-.5,y:1};break;case"left":i={x:-1,y:0};break;case"top-left":i={x:-.5,y:-.5};break;default:i={x:0,y:0}}l.particles.move.straight?(this.vx=i.x,this.vy=i.y,l.particles.move.random&&(this.vx=this.vx*Math.random(),this.vy=this.vy*Math.random())):(this.vx=i.x+Math.random()-.5,this.vy=i.y+Math.random()-.5),this.vx_i=this.vx,this.vy_i=this.vy;var o=l.particles.shape.type;if("object"==typeof o){if(o instanceof Array){var u=o[Math.floor(Math.random()*o.length)];this.shape=u}}else this.shape=o;if("image"==this.shape){var s=l.particles.shape;this.img={src:s.image.src,ratio:s.image.width/s.image.height},this.img.ratio||(this.img.ratio=1),"svg"==l.tmp.img_type&&void 0!=l.tmp.source_svg&&(l.fn.vendors.createSvgImg(this),l.tmp.pushing&&(this.img.loaded=!1))}},l.fn.particle.prototype.draw=function(){var e=this;if(void 0!=e.radius_bubble)var t=e.radius_bubble;else t=e.radius;if(void 0!=e.opacity_bubble)var n=e.opacity_bubble;else n=e.opacity;if(e.color.rgb)var r="rgba("+e.color.rgb.r+","+e.color.rgb.g+","+e.color.rgb.b+","+n+")";else r="hsla("+e.color.hsl.h+","+e.color.hsl.s+"%,"+e.color.hsl.l+"%,"+n+")";switch(l.canvas.ctx.fillStyle=r,l.canvas.ctx.beginPath(),e.shape){case"circle":l.canvas.ctx.arc(e.x,e.y,t,0,2*Math.PI,!1);break;case"edge":l.canvas.ctx.rect(e.x-t,e.y-t,2*t,2*t);break;case"triangle":l.fn.vendors.drawShape(l.canvas.ctx,e.x-t,e.y+t/1.66,2*t,3,2);break;case"polygon":l.fn.vendors.drawShape(l.canvas.ctx,e.x-t/(l.particles.shape.polygon.nb_sides/3.5),e.y-t/.76,2.66*t/(l.particles.shape.polygon.nb_sides/3),l.particles.shape.polygon.nb_sides,1);break;case"star":l.fn.vendors.drawShape(l.canvas.ctx,e.x-2*t/(l.particles.shape.polygon.nb_sides/4),e.y-t/1.52,2*t*2.66/(l.particles.shape.polygon.nb_sides/3),l.particles.shape.polygon.nb_sides,2);break;case"image":if("svg"==l.tmp.img_type)var a=e.img.obj;else a=l.tmp.img_obj;a&&l.canvas.ctx.drawImage(a,e.x-t,e.y-t,2*t,2*t/e.img.ratio)}l.canvas.ctx.closePath(),l.particles.shape.stroke.width>0&&(l.canvas.ctx.strokeStyle=l.particles.shape.stroke.color,l.canvas.ctx.lineWidth=l.particles.shape.stroke.width,l.canvas.ctx.stroke()),l.canvas.ctx.fill()},l.fn.particlesCreate=function(){for(var e=0;e=l.particles.opacity.value&&(t.opacity_status=!1),t.opacity+=t.vo):(t.opacity<=l.particles.opacity.anim.opacity_min&&(t.opacity_status=!0),t.opacity-=t.vo),t.opacity<0&&(t.opacity=0)),l.particles.size.anim.enable&&(1==t.size_status?(t.radius>=l.particles.size.value&&(t.size_status=!1),t.radius+=t.vs):(t.radius<=l.particles.size.anim.size_min&&(t.size_status=!0),t.radius-=t.vs),t.radius<0&&(t.radius=0)),"bounce"==l.particles.move.out_mode)var a={x_left:t.radius,x_right:l.canvas.w,y_top:t.radius,y_bottom:l.canvas.h};else a={x_left:-t.radius,x_right:l.canvas.w+t.radius,y_top:-t.radius,y_bottom:l.canvas.h+t.radius};if(t.x-t.radius>l.canvas.w?(t.x=a.x_left,t.y=Math.random()*l.canvas.h):t.x+t.radius<0&&(t.x=a.x_right,t.y=Math.random()*l.canvas.h),t.y-t.radius>l.canvas.h?(t.y=a.y_top,t.x=Math.random()*l.canvas.w):t.y+t.radius<0&&(t.y=a.y_bottom,t.x=Math.random()*l.canvas.w),"bounce"===l.particles.move.out_mode)(t.x+t.radius>l.canvas.w||t.x-t.radius<0)&&(t.vx=-t.vx),(t.y+t.radius>l.canvas.h||t.y-t.radius<0)&&(t.vy=-t.vy);if(n("grab",l.interactivity.events.onhover.mode)&&l.fn.modes.grabParticle(t),(n("bubble",l.interactivity.events.onhover.mode)||n("bubble",l.interactivity.events.onclick.mode))&&l.fn.modes.bubbleParticle(t),(n("repulse",l.interactivity.events.onhover.mode)||n("repulse",l.interactivity.events.onclick.mode))&&l.fn.modes.repulseParticle(t),l.particles.line_linked.enable||l.particles.move.attract.enable)for(var i=e+1;i0){var o=l.particles.line_linked.color_rgb_line;l.canvas.ctx.strokeStyle="rgba("+o.r+","+o.g+","+o.b+","+i+")",l.canvas.ctx.lineWidth=l.particles.line_linked.width,l.canvas.ctx.beginPath(),l.canvas.ctx.moveTo(e.x,e.y),l.canvas.ctx.lineTo(t.x,t.y),l.canvas.ctx.stroke(),l.canvas.ctx.closePath()}}},l.fn.interact.attractParticles=function(e,t){var n=e.x-t.x,r=e.y-t.y;if(Math.sqrt(n*n+r*r)<=l.particles.line_linked.distance){var a=n/(1e3*l.particles.move.attract.rotateX),i=r/(1e3*l.particles.move.attract.rotateY);e.vx-=a,e.vy-=i,t.vx+=a,t.vy+=i}},l.fn.interact.bounceParticles=function(e,t){var n=e.x-t.x,r=e.y-t.y;Math.sqrt(n*n+r*r)<=e.radius+t.radius&&(e.vx=-e.vx,e.vy=-e.vy,t.vx=-t.vx,t.vy=-t.vy)},l.fn.modes.pushParticles=function(e,t){l.tmp.pushing=!0;for(var n=0;n=0&&"mousemove"==l.interactivity.status){if(l.interactivity.modes.bubble.size!=l.particles.size.value)if(l.interactivity.modes.bubble.size>l.particles.size.value){(u=e.radius+l.interactivity.modes.bubble.size*i)>=0&&(e.radius_bubble=u)}else{var o=e.radius-l.interactivity.modes.bubble.size,u=e.radius-o*i;e.radius_bubble=u>0?u:0}var s;if(l.interactivity.modes.bubble.opacity!=l.particles.opacity.value)if(l.interactivity.modes.bubble.opacity>l.particles.opacity.value)(s=l.interactivity.modes.bubble.opacity*i)>e.opacity&&s<=l.interactivity.modes.bubble.opacity&&(e.opacity_bubble=s);else(s=e.opacity-(l.particles.opacity.value-l.interactivity.modes.bubble.opacity)*i)=l.interactivity.modes.bubble.opacity&&(e.opacity_bubble=s)}}else t();"mouseleave"==l.interactivity.status&&t()}else if(l.interactivity.events.onclick.enable&&n("bubble",l.interactivity.events.onclick.mode)){var c=function(t,n,r,a,i){if(t!=n)if(l.tmp.bubble_duration_end)void 0!=r&&(u=t+(t-(a-d*(a-t)/l.interactivity.modes.bubble.duration)),"size"==i&&(e.radius_bubble=u),"opacity"==i&&(e.opacity_bubble=u));else if(f<=l.interactivity.modes.bubble.distance){if(void 0!=r)var o=r;else o=a;if(o!=t){var u=a-d*(a-t)/l.interactivity.modes.bubble.duration;"size"==i&&(e.radius_bubble=u),"opacity"==i&&(e.opacity_bubble=u)}}else"size"==i&&(e.radius_bubble=void 0),"opacity"==i&&(e.opacity_bubble=void 0)};if(l.tmp.bubble_clicking){r=e.x-l.interactivity.mouse.click_pos_x,a=e.y-l.interactivity.mouse.click_pos_y;var f=Math.sqrt(r*r+a*a),d=((new Date).getTime()-l.interactivity.mouse.click_time)/1e3;d>l.interactivity.modes.bubble.duration&&(l.tmp.bubble_duration_end=!0),d>2*l.interactivity.modes.bubble.duration&&(l.tmp.bubble_clicking=!1,l.tmp.bubble_duration_end=!1)}l.tmp.bubble_clicking&&(c(l.interactivity.modes.bubble.size,l.particles.size.value,e.radius_bubble,e.radius,"size"),c(l.interactivity.modes.bubble.opacity,l.particles.opacity.value,e.opacity_bubble,e.opacity,"opacity"))}},l.fn.modes.repulseParticle=function(e){if(l.interactivity.events.onhover.enable&&n("repulse",l.interactivity.events.onhover.mode)&&"mousemove"==l.interactivity.status){var t=e.x-l.interactivity.mouse.pos_x,r=e.y-l.interactivity.mouse.pos_y,a=Math.sqrt(t*t+r*r),i={x:t/a,y:r/a},o=l.interactivity.modes.repulse.distance,u=(v=1/o*(-1*Math.pow(a/o,2)+1)*o*100,m=0,h=50,Math.min(Math.max(v,m),h)),s={x:e.x+i.x*u,y:e.y+i.y*u};"bounce"==l.particles.move.out_mode?(s.x-e.radius>0&&s.x+e.radius0&&s.y+e.radiusl.canvas.w||n.x-e.radius<0)&&(e.vx=-e.vx),(n.y+e.radius>l.canvas.h||n.y-e.radius<0)&&(e.vy=-e.vy)}}()}else 0==l.tmp.repulse_clicking&&(e.vx=e.vx_i,e.vy=e.vy_i);var v,m,h},l.fn.modes.grabParticle=function(e){if(l.interactivity.events.onhover.enable&&"mousemove"==l.interactivity.status){var t=e.x-l.interactivity.mouse.pos_x,n=e.y-l.interactivity.mouse.pos_y,r=Math.sqrt(t*t+n*n);if(r<=l.interactivity.modes.grab.distance){var a=l.interactivity.modes.grab.line_linked.opacity-r/(1/l.interactivity.modes.grab.line_linked.opacity)/l.interactivity.modes.grab.distance;if(a>0){var i=l.particles.line_linked.color_rgb_line;l.canvas.ctx.strokeStyle="rgba("+i.r+","+i.g+","+i.b+","+a+")",l.canvas.ctx.lineWidth=l.particles.line_linked.width,l.canvas.ctx.beginPath(),l.canvas.ctx.moveTo(e.x,e.y),l.canvas.ctx.lineTo(l.interactivity.mouse.pos_x,l.interactivity.mouse.pos_y),l.canvas.ctx.stroke(),l.canvas.ctx.closePath()}}}},l.fn.vendors.eventsListeners=function(){"window"==l.interactivity.detect_on?l.interactivity.el=window:l.interactivity.el=l.canvas.el,(l.interactivity.events.onhover.enable||l.interactivity.events.onclick.enable)&&(l.interactivity.el.addEventListener("mousemove",(function(e){if(l.interactivity.el==window)var t=e.clientX,n=e.clientY;else t=e.offsetX||e.clientX,n=e.offsetY||e.clientY;l.interactivity.mouse.pos_x=t,l.interactivity.mouse.pos_y=n,l.tmp.retina&&(l.interactivity.mouse.pos_x*=l.canvas.pxratio,l.interactivity.mouse.pos_y*=l.canvas.pxratio),l.interactivity.status="mousemove"})),l.interactivity.el.addEventListener("mouseleave",(function(e){l.interactivity.mouse.pos_x=null,l.interactivity.mouse.pos_y=null,l.interactivity.status="mouseleave"}))),l.interactivity.events.onclick.enable&&l.interactivity.el.addEventListener("click",(function(){if(l.interactivity.mouse.click_pos_x=l.interactivity.mouse.pos_x,l.interactivity.mouse.click_pos_y=l.interactivity.mouse.pos_y,l.interactivity.mouse.click_time=(new Date).getTime(),l.interactivity.events.onclick.enable)switch(l.interactivity.events.onclick.mode){case"push":l.particles.move.enable||1==l.interactivity.modes.push.particles_nb?l.fn.modes.pushParticles(l.interactivity.modes.push.particles_nb,l.interactivity.mouse):l.interactivity.modes.push.particles_nb>1&&l.fn.modes.pushParticles(l.interactivity.modes.push.particles_nb);break;case"remove":l.fn.modes.removeParticles(l.interactivity.modes.remove.particles_nb);break;case"bubble":l.tmp.bubble_clicking=!0;break;case"repulse":l.tmp.repulse_clicking=!0,l.tmp.repulse_count=0,l.tmp.repulse_finish=!1,setTimeout((function(){l.tmp.repulse_clicking=!1}),1e3*l.interactivity.modes.repulse.duration)}}))},l.fn.vendors.densityAutoParticles=function(){if(l.particles.number.density.enable){var e=l.canvas.el.width*l.canvas.el.height/1e3;l.tmp.retina&&(e/=2*l.canvas.pxratio);var t=e*l.particles.number.value/l.particles.number.density.value_area,n=l.particles.array.length-t;n<0?l.fn.modes.pushParticles(Math.abs(n)):l.fn.modes.removeParticles(n)}},l.fn.vendors.checkOverlap=function(e,t){for(var n=0;n=l.particles.number.value?(l.fn.particlesDraw(),l.particles.move.enable?l.fn.drawAnimFrame=requestAnimFrame(l.fn.vendors.draw):cancelRequestAnimFrame(l.fn.drawAnimFrame)):l.tmp.img_error||(l.fn.drawAnimFrame=requestAnimFrame(l.fn.vendors.draw)):void 0!=l.tmp.img_obj?(l.fn.particlesDraw(),l.particles.move.enable?l.fn.drawAnimFrame=requestAnimFrame(l.fn.vendors.draw):cancelRequestAnimFrame(l.fn.drawAnimFrame)):l.tmp.img_error||(l.fn.drawAnimFrame=requestAnimFrame(l.fn.vendors.draw)):(l.fn.particlesDraw(),l.particles.move.enable?l.fn.drawAnimFrame=requestAnimFrame(l.fn.vendors.draw):cancelRequestAnimFrame(l.fn.drawAnimFrame))},l.fn.vendors.checkBeforeDraw=function(){"image"==l.particles.shape.type?"svg"==l.tmp.img_type&&void 0==l.tmp.source_svg?l.tmp.checkAnimFrame=requestAnimFrame(check):(cancelRequestAnimFrame(l.tmp.checkAnimFrame),l.tmp.img_error||(l.fn.vendors.init(),l.fn.vendors.draw())):(l.fn.vendors.init(),l.fn.vendors.draw())},l.fn.vendors.init=function(){l.fn.retinaInit(),l.fn.canvasInit(),l.fn.canvasSize(),l.fn.canvasPaint(),l.fn.particlesCreate(),l.fn.vendors.densityAutoParticles(),l.particles.line_linked.color_rgb_line=t(l.particles.line_linked.color)},l.fn.vendors.start=function(){n("image",l.particles.shape.type)?(l.tmp.img_type=l.particles.shape.image.src.substr(l.particles.shape.image.src.length-3),l.fn.vendors.loadImg(l.tmp.img_type)):l.fn.vendors.checkBeforeDraw()},l.fn.vendors.eventsListeners(),l.fn.vendors.start()};function t(e){e=e.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i,(function(e,t,n,r){return t+t+n+n+r+r}));var t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return t?{r:parseInt(t[1],16),g:parseInt(t[2],16),b:parseInt(t[3],16)}:null}function n(e,t){return t.indexOf(e)>-1}Object.deepExtend=function(e,t){for(var n in t)t[n]&&t[n].constructor&&t[n].constructor===Object?(e[n]=e[n]||{},arguments.callee(e[n],t[n])):e[n]=t[n];return e},window.requestAnimFrame=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(e){window.setTimeout(e,1e3/60)},window.cancelRequestAnimFrame=window.cancelAnimationFrame||window.webkitCancelRequestAnimationFrame||window.mozCancelRequestAnimationFrame||window.oCancelRequestAnimationFrame||window.msCancelRequestAnimationFrame||clearTimeout,window.pJSDom=[],window.particlesJS=function(t,n){"string"!=typeof t&&(n=t,t="particles-js"),t||(t="particles-js");var r=document.getElementById(t),a="particles-js-canvas-el",l=r.getElementsByClassName(a);if(l.length)for(;l.length>0;)r.removeChild(l[0]);var i=document.createElement("canvas");i.className=a,i.style.width="100%",i.style.height="100%",null!=document.getElementById(t).appendChild(i)&&pJSDom.push(new e(t,n))},window.particlesJS.load=function(e,t,n){var r=new XMLHttpRequest;r.open("GET",t),r.onreadystatechange=function(t){if(4==r.readyState)if(200==r.status){var a=JSON.parse(t.currentTarget.response);window.particlesJS(e,a),n&&n()}else console.log("Error pJS - XMLHttpRequest status: "+r.status),console.log("Error pJS - File config not found")},r.send()}},463:function(e,t,n){"use strict";var r=n(791),a=n(296);function l(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n