diff --git a/README.md b/README.md index 758294a1bbbb25089ee5e8efda76009de6d13236..5dfcf8b40629688a139bba86fba548f925e4bf0b 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ The Complete Open Source Chat Solution ## Demo -Checkout the latest version at [https://rocket.chat](https://rocket.chat) +Checkout the latest version at [https://demo.rocket.chat](https://demo.rocket.chat) Download the Native Cross-Platform Desktop Application at [Rocket.Chat.Electron](https://github.com/RocketChat/Rocket.Chat.Electron/releases) diff --git a/build-android.sh b/build-android.sh index 5e2ba73b1615dacc20023f654998a6bd5c5831e8..e840175b9232b71d54c16ad86847cc757afdd36d 100644 --- a/build-android.sh +++ b/build-android.sh @@ -1,6 +1,6 @@ #!/bin/bash -meteor build ../Rocket.Chat-build --server https://rocket.chat +meteor build ../Rocket.Chat-build --server https://demo.rocket.chat jarsigner -digestalg SHA1 .meteor/local/cordova-build/platforms/android/ant-build/CordovaApp-release-unsigned.apk RocketChat ~/.meteor/android_bundle/android-sdk/build-tools/21.0.0/zipalign 4 .meteor/local/cordova-build/platforms/android/ant-build/CordovaApp-release-unsigned.apk .meteor/local/cordova-build/platforms/android/ant-build/RocketChat-release-signed.apk -open .meteor/local/cordova-build/platforms/android/ant-build/ \ No newline at end of file +open .meteor/local/cordova-build/platforms/android/ant-build/ diff --git a/build-ios.sh b/build-ios.sh index d95a407e1081ad679729179b9913dcaaf14355db..84f5a6e350459693950c1d3e22f89c0af3802cb3 100644 --- a/build-ios.sh +++ b/build-ios.sh @@ -2,6 +2,6 @@ rm -rf .meteor/local/cordova-build rm -rf ../Rocket.Chat-build -meteor build ../Rocket.Chat-build --server https://rocket.chat +meteor build ../Rocket.Chat-build --server https://demo.rocket.chat sed -i '' 's/IPHONEOS_DEPLOYMENT_TARGET[[:space:]]=[[:space:]]6\.0/IPHONEOS_DEPLOYMENT_TARGET = 7\.0/g' .meteor/local/cordova-build/platforms/ios/Rocket.Chat.xcodeproj/project.pbxproj -open .meteor/local/cordova-build/platforms/ios/Rocket.Chat.xcodeproj \ No newline at end of file +open .meteor/local/cordova-build/platforms/ios/Rocket.Chat.xcodeproj diff --git a/build.sh b/build.sh index f1961b6768163172bf4357b7c0b6e778984baa82..80417fce1980f218ce48a1c0f95bfadb0e9fa4b8 100644 --- a/build.sh +++ b/build.sh @@ -9,7 +9,7 @@ if [ $1 ]; then export METEOR_SETTINGS=$(cat settings.$1.json) meteor add rocketchat:external meteor add rocketchat:hubot - meteor build --server https://rocket.chat --directory /var/www/rocket.chat + meteor build --server https://demo.rocket.chat --directory /var/www/rocket.chat cd /var/www/rocket.chat/bundle/programs/server npm install cd /var/www/rocket.chat/current diff --git a/client/views/main.html b/client/views/main.html index 923b4b736730007a6f5a4dbea0bd014d1617f8df..779dcd2aeecc9c859a6f16ce710d2a93c4226c5f 100644 --- a/client/views/main.html +++ b/client/views/main.html @@ -14,7 +14,7 @@ <meta name="msapplication-TileImage" content="/images/logo/mstile-144x144.png?v=3"> <meta name="msapplication-config" content="/images/logo/browserconfig.xml?v=3"> <meta name="theme-color" content="#04436a"> - <link rel="canonical" href="https://rocket.chat/" /> + <link rel="canonical" href="https://demo.rocket.chat/" /> <link rel="manifest" href="/images/logo/manifest.json?v=3"> <link rel="icon" sizes="any" type="image/svg+xml" href="/images/logo/icon.svg?v=3"> <link rel="icon" sizes="256x256" type="image/png" href="/images/logo/favicon-256x256.png?v=3"> diff --git a/pm2.production.json b/pm2.production.json index c6dadbf522caa9083ec10645db7647707f88af69..d1a4c2058d5780fbe326a60b1402a16dec34f3f4 100644 --- a/pm2.production.json +++ b/pm2.production.json @@ -11,8 +11,8 @@ "CDN_PREFIX": "//dbde4sd21oahf.cloudfront.net", "MONGO_URL": "mongodb://localhost:27017/rocketchat", "MONGO_OPLOG_URL": "mongodb://localhost:27017/local", - "ROOT_URL": "https://rocket.chat", - "DDP_DEFAULT_CONNECTION_URL": "https://rocket.chat", + "ROOT_URL": "https://demo.rocket.chat", + "DDP_DEFAULT_CONNECTION_URL": "https://demo.rocket.chat", "PORT": "8080" } }, { @@ -27,8 +27,8 @@ "CDN_PREFIX": "//dbde4sd21oahf.cloudfront.net", "MONGO_URL": "mongodb://localhost:27017/rocketchat", "MONGO_OPLOG_URL": "mongodb://localhost:27017/local", - "ROOT_URL": "https://rocket.chat", - "DDP_DEFAULT_CONNECTION_URL": "https://rocket.chat", + "ROOT_URL": "https://demo.rocket.chat", + "DDP_DEFAULT_CONNECTION_URL": "https://demo.rocket.chat", "PORT": "8081" } }, { @@ -43,8 +43,8 @@ "CDN_PREFIX": "//dbde4sd21oahf.cloudfront.net", "MONGO_URL": "mongodb://localhost:27017/rocketchat", "MONGO_OPLOG_URL": "mongodb://localhost:27017/local", - "ROOT_URL": "https://rocket.chat", - "DDP_DEFAULT_CONNECTION_URL": "https://rocket.chat", + "ROOT_URL": "https://demo.rocket.chat", + "DDP_DEFAULT_CONNECTION_URL": "https://demo.rocket.chat", "PORT": "8082" } }, { @@ -59,8 +59,8 @@ "CDN_PREFIX": "//dbde4sd21oahf.cloudfront.net", "MONGO_URL": "mongodb://localhost:27017/rocketchat", "MONGO_OPLOG_URL": "mongodb://localhost:27017/local", - "ROOT_URL": "https://rocket.chat", - "DDP_DEFAULT_CONNECTION_URL": "https://rocket.chat", + "ROOT_URL": "https://demo.rocket.chat", + "DDP_DEFAULT_CONNECTION_URL": "https://demo.rocket.chat", "PORT": "8083" } }] diff --git a/public/elements/github-fork.html b/public/elements/github-fork.html deleted file mode 100644 index c51473553cabbdd9348aa702c862c79e242abeff..0000000000000000000000000000000000000000 --- a/public/elements/github-fork.html +++ /dev/null @@ -1,166 +0,0 @@ -<template> - <style> - .github-fork { - position: fixed; - display: block; - width: 330px; - z-index: 901; - right: -70px; - top: 72px; - background-size: 100% auto; - cursor: pointer; - background-color: #5c5c5c; - color: #f0f0f0; - padding: 1em 0 0.95em; - line-height: 1.04em; - text-decoration: none; - font-family: Montserrat; - font-size: 1.04em; - box-shadow: -2px 3px 1px rgba(0, 0, 0, 0.23); - opacity: 1; - text-transform: uppercase; - -webkit-transform: rotate(45deg) translateY(0); - transform: rotate(45deg) translateY(0); - -webkit-transition: background-color 0.2s ease-out, -webkit-transform 0.45s cubic-bezier(0.15, 0, 0, 1), opacity 0.2s ease-out; - transition: background-color 0.2s ease-out, transform 0.45s cubic-bezier(0.15, 0, 0, 1), opacity 0.2s ease-out; - } - - .github-fork.exit { - opacity: 0; - -webkit-transform: rotate(45deg) translateY(-170px); - transform: rotate(45deg) translateY(-170px); - } - - .github-fork:hover { - background-color: #4b4b4b; - color: #FFF - } - - .github-fork:before, - .github-fork:after { - content: " "; - background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSIzMnB4IiBoZWlnaHQ9IjJweCIgdmlld0JveD0iMCAwIDMyIDIiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDMyIDIiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxyZWN0IGZpbGw9IiNGNEY0RjQiIHdpZHRoPSI0IiBoZWlnaHQ9IjIiLz48cmVjdCB4PSI4IiBmaWxsPSIjRjRGNEY0IiB3aWR0aD0iNCIgaGVpZ2h0PSIyIi8+PHJlY3QgeD0iMTYiIGZpbGw9IiNGNEY0RjQiIHdpZHRoPSI0IiBoZWlnaHQ9IjIiLz48cmVjdCB4PSIyNCIgZmlsbD0iI0Y0RjRGNCIgd2lkdGg9IjQiIGhlaWdodD0iMiIvPjwvc3ZnPg==); - background-repeat: repeat-x; - background-position: top left; - position: absolute; - z-index: 1; - left: 0; - width: 100%; - height: 1px; - } - - .github-fork:before { - top: 3px; - } - - .github-fork:after { - bottom: 2px; - } - </style> - <a href="/" target='_blank' class='github-fork'>Fork me on github!</a> -</template> -<script> - (function (window, document, undefined) { - var Icons = (function () { - var icons = { - "github": "M24.999,2.48c-12.75,0-23.087,10.338-23.087,23.09c0,10.199,6.613,18.854,15.791,21.907 c1.154,0.211,1.518-0.474,1.518-1.084c0-0.547,0.011-2.082,0-4.01c-6.422,1.398-7.753-3.038-7.753-3.038 c-1.048-2.671-2.562-3.377-2.562-3.377c-2.095-1.433,0.158-1.407,0.158-1.407c2.317,0.163,3.538,2.383,3.538,2.383 c2.059,3.522,5.403,2.505,6.717,1.916c0.21-1.491,0.808-2.51,1.468-3.087C15.66,35.188,10.27,33.211,10.27,24.361 c0-2.521,0.9-4.581,2.376-6.194c-0.239-0.584-1.031-2.932,0.226-6.112c0,0,1.939-0.62,6.349,2.369 c1.841-0.513,3.817-0.768,5.78-0.777c1.962,0.009,3.938,0.264,5.781,0.777c4.409-2.988,6.346-2.369,6.346-2.369 c1.258,3.18,0.466,5.528,0.229,6.112c1.478,1.613,2.373,3.673,2.373,6.194c0,8.872-5.397,10.823-10.543,11.392 c0.828,0.717,1.582,2.101,1.582,4.255c0,2.887,0,5.632,0,6.392c0,0.617,0.372,1.302,1.544,1.076 c9.167-3.059,15.776-11.708,15.776-21.905C48.089,12.818,37.75,2.48,24.999,2.48z" - } - - function get(icon) { - if (icons[icon]) { - return '<svg class="i-svg" height="50" version="1.1" width="50" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMidYMid meet" viewBox="0 0 50 50" space="preserve" data-icon="facebook," class="i-svg"><desc>Created with Snap</desc><defs></defs><path d="' + icons[icon] + '" fill="#ffffff"></path></svg>'; - } - return false; - } - return { - get: get - } - })(); - - function checkColor(el) { - var color = el.getAttribute("color"); - if (typeof color === "string") { - el.link.style.backgroundColor = color; - } - } - - function checkVisibility(el) { - var hidden = el.getAttribute("hidden"); - if (hidden !== null && hidden !== undefined) { - updateClass(el, "exit"); - } - } - - function checkLink(el){ - var link = el.getAttribute("href") || el.getAttribute("url") || el.getAttribute("github") || ""; - if(typeof link === "string" && link.length){ - link = link.replace(/(http)(s)?(\:\/\/)(www\.)?(github.com)(\/)(.*)/i,"$7"); - el.link.href = "https://github.com/" + link; - } - } - - function events(el) { - el.link.addEventListener("mouseleave", function (event) {}); - el.link.addEventListener("mousemove", function (event) {}); - el.link.addEventListener("mousedown", function (event) {}); - el.link.addEventListener("click", function (event) {}); - } - - function init(el) { - var clone = mainDoc.importNode(template, true); - el.shadow = el.createShadowRoot(); - el.shadow.appendChild(clone); - el.time = null; - el.link = el.shadow.querySelector('a'); - el.class = "github-fork"; - } - - function updateClass(el, name, action) { - var reg = new RegExp(name, "i"); - if (!action) { - if (!el.class.match(reg)) { - el.class = el.class + " " + name; - } - } else { - el.class = el.class.replace(reg, ""); - el.class = el.class.replace("[\s]*", " ").trim(); - } - el.link.className = el.class; - } - var mainDoc = document, - thisDoc = (mainDoc._currentScript || mainDoc.currentScript).ownerDocument, - template = thisDoc.querySelector('template').content, - element = Object.create(HTMLElement.prototype), - event = new Event('action'); - element.createdCallback = function () { - init(this); - events(this); - checkVisibility(this); - checkLink(this); - }; - element.attributeChangedCallback = function (attr, oldVal, newVal) { - if(attr == "color"){ - checkColor(this); - } - }; - element.exit = function () { - if (!this.class.match(/exit/)) { - updateClass(this, "exit"); - } - } - element.enter = function () { - if (this.class.match(/exit/)) { - updateClass(this, "exit", 1); - } - } - element.background = function (color){ - if(typeof color === "string"){ - color = "#" + color.replace("#",""); - this.setAttribute("color", color); - } - } - mainDoc.registerElement('github-fork', { - prototype: element - }); - })(window, document); -</script> diff --git a/public/images/meteor.png b/public/images/meteor.png deleted file mode 100644 index e1e2741b524aa4f02a4f6c4454b207e5e5fc6ffd..0000000000000000000000000000000000000000 Binary files a/public/images/meteor.png and /dev/null differ diff --git a/public/images/new-screen.jpg b/public/images/new-screen.jpg deleted file mode 100644 index fde5b5839681cad85d0ff1df77ded23969359f29..0000000000000000000000000000000000000000 Binary files a/public/images/new-screen.jpg and /dev/null differ diff --git a/public/images/rocket-card-new.png b/public/images/rocket-card-new.png deleted file mode 100644 index 2eb36bbdc0755aab7750d4cc82889e9b9c866ce8..0000000000000000000000000000000000000000 Binary files a/public/images/rocket-card-new.png and /dev/null differ diff --git a/public/landing/index.html b/public/landing/index.html deleted file mode 100644 index 0bcc5985b47f5e94b4a82f21fc8e8bdc3a17d1ad..0000000000000000000000000000000000000000 --- a/public/landing/index.html +++ /dev/null @@ -1,151 +0,0 @@ -<head> - <meta charset="utf-8" /> - <title>Rocket.Chat</title> - <meta http-equiv="content-type" content="text/html; charset=utf-8" /> - <meta http-equiv="content-language" content="en-US" /> - <meta http-equiv="expires" content="-1" /> - <meta http-equiv="X-UA-Compatible" content="IE=edge"> - <meta name="description" content="Open Source Slack-like online chat, built with Meteor."> - <meta content="summary" name="twitter:card" /> - <meta content="@rocketchatapp" name="twitter:site" /> - <meta content="@rocketchatapp" name="twitter:creator" /> - <meta property="og:site_name" content="Rocket.Chat" /> - <meta property="og:type" content="website" /> - <meta property="og:url" content="https://rocket.chat" /> - <meta property="og:title" content="Rocket.Chat - Your own open source web application" /> - <meta property="og:description" content="Have your own web chat. Developed with Meteor.com, the Rocket.Chat is a great solution for developers looking forward to build and evolve their own chat platform." /> - <meta property="og:image" content="https://rocket.chat/images/rocket-card-new.png" /> - <meta property="fb:app_id" content="835103589938459" /> - <meta name="distribution" content="global" /> - <meta name="language" content="en-US" /> - <meta name="rating" content="general" /> - <meta name="robots" content="index, follow" /> - <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" /> - <meta name="google-site-verification" content="wx2LmTKIPqkpThw42Bo3UGi7LnTc8v-baoo7kIT8z6Y" /> - <meta name="msvalidate.01" content="CC595410A57B0314F81C928AE4E982C9" /> - <meta name="apple-mobile-web-app-title" content="Rocket.Chat"> - <meta name="application-name" content="Rocket.Chat"> - <meta name="msapplication-TileColor" content="#04436a"> - <meta name="msapplication-TileImage" content="/images/logo/mstile-144x144.png?v=3"> - <meta name="msapplication-config" content="/images/logo/browserconfig.xml?v=3"> - <meta name="theme-color" content="#04436a"> - <link rel="prerender" href="/images/new-screen.jpg" /> - <link rel="canonical" href="https://rocket.chat/" /> - <link rel="manifest" href="/images/logo/manifest.json?v=3"> - <link rel="shortcut icon" href="/favicon.ico?v=3" id="rxfavico" type="image/x-icon" /> - <link rel="icon" sizes="256x256" type="image/png" href="/images/logo/favicon-256x256.png?v=3"> - <link rel="icon" sizes="192x192" type="image/png" href="/images/logo/android-chrome-192x192.png?v=3"> - <link rel="icon" sizes="128x128" type="image/png" href="/images/logo/favicon-128x128.png?v=3"> - <link rel="icon" sizes="96x96" type="image/png" href="/images/logo/favicon-96x96.png?v=3"> - <link rel="icon" sizes="64x64" type="image/png" href="/images/logo/favicon-64x64.png?v=3"> - <link rel="icon" sizes="48x48" type="image/png" href="/images/logo/favicon-48x48.png?v=3"> - <link rel="icon" sizes="32x32" type="image/png" href="/images/logo/favicon-32x32.png?v=3"> - <link rel="icon" sizes="16x16" type="image/png" href="/images/logo/favicon-16x16.png?v=3"> - <link rel="apple-touch-icon" sizes="57x57" href="/images/logo/apple-touch-icon-57x57.png?v=3"> - <link rel="apple-touch-icon" sizes="60x60" href="/images/logo/apple-touch-icon-60x60.png?v=3"> - <link rel="apple-touch-icon" sizes="72x72" href="/images/logo/apple-touch-icon-72x72.png?v=3"> - <link rel="apple-touch-icon" sizes="76x76" href="/images/logo/apple-touch-icon-76x76.png?v=3"> - <link rel="apple-touch-icon" sizes="114x114" href="/images/logo/apple-touch-icon-114x114.png?v=3"> - <link rel="apple-touch-icon" sizes="120x120" href="/images/logo/apple-touch-icon-120x120.png?v=3"> - <link rel="apple-touch-icon" sizes="144x144" href="/images/logo/apple-touch-icon-144x144.png?v=3"> - <link rel="apple-touch-icon" sizes="152x152" href="/images/logo/apple-touch-icon-152x152.png?v=3"> - <link rel="apple-touch-icon" sizes="180x180" href="/images/logo/apple-touch-icon-180x180.png?v=3"> - <link rel="stylesheet" type="text/css" href="/landing/style.css"> - <link rel="import" href="/elements/github-fork.html"> - <script src="https://cdnjs.cloudflare.com/ajax/libs/webcomponentsjs/0.7.3/webcomponents.min.js"></script> -</head> - -<body> - <!-- Google Tag Manager --> - <script> - (function(w, d, s, l, i) { - w[l] = w[l] || []; - w[l].push({ - 'gtm.start': new Date().getTime(), - event: 'gtm.js' - }); - var f = d.getElementsByTagName(s)[0], - j = d.createElement(s), - dl = l != 'dataLayer' ? '&l=' + l : ''; - j.async = true; - j.src = - '//www.googletagmanager.com/gtm.js?id=' + i + dl; - f.parentNode.insertBefore(j, f); - })(window, document, 'script', 'dataLayer', 'GTM-MLJ76N'); - </script> - <!-- End Google Tag Manager --> - <section class="full-page"> - <div class="wrapper"> - <header> - <a class="logo" href="/"> - <img src="/images/logo/logo.svg?v=3" /> - </a> - </header> - <a href="/login" class="screen"> - <span> - <i></i> - <i></i> - <i></i> - </span> - <figure> - </figure> - <button class="button red"><span>Access the Online Demo</span></button> - </a> - <div class='text'> - <h1>Rocket.Chat</h1> - <h2>Your own Open Source chat solution</h2> - <p>Have your own web chat. Developed with Meteor.com, the Rocket.Chat is a great solution for developers looking forward to build and evolve their own chat platform.</p> - <a class="button" href="/login"><span>Access the Online Demo</span></a> - </div> - <footer> - <div class="rocket-team"> - <h4>About the team</h4> - <p>We are mainly a small team of developers focused on crafting the best free and open source chat solution.</p> - <ul> - <li> - <a target="_blank" href="https://github.com/engelgabriel" style="background-image: url(https://avatars1.githubusercontent.com/u/1000217?v=3&s=460)" title="Gabriel Engel (Founder & CEO)"></a> - </li> - <li> - <a target="_blank" href="https://github.com/sampaiodiego" style="background-image: url(https://avatars3.githubusercontent.com/u/8591547?v=3&s=460)" title="Diego Sampaio (Developer)"></a> - </li> - <li> - <a target="_blank" href="https://github.com/marceloschmidt" style="background-image: url(https://avatars1.githubusercontent.com/u/1986378?v=3&s=460)" title="Marcelo Schmidt (Developer)"></a> - </li> - <li> - <a target="_blank" href="https://github.com/rodrigok" style="background-image:url(https://avatars2.githubusercontent.com/u/234261?v=3&s=460)" title="Rodrigo Nascimento (Developer)"></a> - </li> - <li> - <a target="_blank" href="https://github.com/rcaferati" style="background-image: url(https://avatars2.githubusercontent.com/u/8358797?v=3&s=460)" title="Rafael Caferati (UX Architect)"></a> - </li> - <li> - <a target="_blank" href="https://github.com/Sing-Li" style="background-image: url(https://avatars3.githubusercontent.com/u/122633?v=3&s=460)" title="Sing Li (Developer)"></a> - </li> - </ul> - </div> - <div class="social"> - <h4>Join the Community</h4> - <p>Join and help us build the best open source chat solution.</p> - <nav> - <a target="_blank" class="button share twitter" href="https://twitter.com/RocketChatApp"><i class="icon-twitter"></i><span>Twitter</span></a> - <a target="_blank" class="button share facebook" href="https://www.facebook.com/RocketChatApp"><i class="icon-facebook"></i><span>Facebook</span></a> - <a target="_blank" class="button share google" href="https://plus.google.com/+RocketChatApp"><i class="icon-gplus"></i><span>Google Plus</span></a> - <a target="_blank" class="button share github" href="https://github.com/RocketChat/Rocket.Chat"><i class='icon-github-circled'></i><span>Github</span></a> - <a target="_blank" class="button share linkedin" href="https://www.linkedin.com/company/rocket-chat"><i class='icon-linkedin'></i><span>Linkedin</span></a> - </nav> - </div> - <a href="http://meteor.com" target="_blank" title="Proudly developed with Meteor" class="meteor">Proudly developed with Meteor</a> - <github-fork href="https://github.com/RocketChat/Rocket.Chat" hidden></github-fork> - </footer> - <div id="particles-js"></div> - </div> - </section> - <script src="/scripts/particles.js"></script> - <script> - (function() { - setTimeout(function() { - document.querySelector("github-fork").enter(); - }, 1000); - particlesJS.load('particles-js', '/scripts/particles.json', function() {}); - })(); - </script> -</body> diff --git a/public/landing/privacy.html b/public/landing/privacy.html deleted file mode 100644 index 65fc02e7726eaa97ae12b67f5417c63df1d78a18..0000000000000000000000000000000000000000 --- a/public/landing/privacy.html +++ /dev/null @@ -1,298 +0,0 @@ -<head> - <meta charset="utf-8" /> - <title>Rocket.Chat</title> - <meta http-equiv="content-type" content="text/html; charset=utf-8" /> - <meta http-equiv="content-language" content="en-US" /> - <meta http-equiv="expires" content="-1" /> - <meta http-equiv="X-UA-Compatible" content="IE=edge"> - <meta name="description" content="Open Source Slack-like online chat, built with Meteor."> - <meta content="summary" name="twitter:card" /> - <meta content="@rocketchatapp" name="twitter:site" /> - <meta content="@rocketchatapp" name="twitter:creator" /> - <meta property="og:site_name" content="Rocket.Chat" /> - <meta property="og:type" content="website" /> - <meta property="og:url" content="https://rocket.chat" /> - <meta property="og:title" content="Rocket.Chat - Your own open source web application" /> - <meta property="og:description" content="Have your own web chat. Developed with Meteor.com, the Rocket.Chat is a great solution for developers looking forward to build and evolve their own chat platform." /> - <meta property="og:image" content="https://rocket.chat/images/rocket-card-new.png" /> - <meta property="fb:app_id" content="835103589938459" /> - <meta name="distribution" content="global" /> - <meta name="language" content="en-US" /> - <meta name="rating" content="general" /> - <meta name="robots" content="index, follow" /> - <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" /> - <meta name="google-site-verification" content="wx2LmTKIPqkpThw42Bo3UGi7LnTc8v-baoo7kIT8z6Y" /> - <meta name="msvalidate.01" content="CC595410A57B0314F81C928AE4E982C9" /> - <meta name="apple-mobile-web-app-title" content="Rocket.Chat"> - <meta name="application-name" content="Rocket.Chat"> - <meta name="msapplication-TileColor" content="#04436a"> - <meta name="msapplication-TileImage" content="/images/logo/mstile-144x144.png?v=3"> - <meta name="msapplication-config" content="/images/logo/browserconfig.xml?v=3"> - <meta name="theme-color" content="#04436a"> - <link rel="prerender" href="/images/new-screen.jpg" /> - <link rel="canonical" href="https://rocket.chat/" /> - <link rel="manifest" href="/images/logo/manifest.json?v=3"> - <link rel="shortcut icon" href="/favicon.ico?v=3" id="rxfavico" type="image/x-icon" /> - <link rel="icon" sizes="256x256" type="image/png" href="/images/logo/favicon-256x256.png?v=3"> - <link rel="icon" sizes="192x192" type="image/png" href="/images/logo/android-chrome-192x192.png?v=3"> - <link rel="icon" sizes="128x128" type="image/png" href="/images/logo/favicon-128x128.png?v=3"> - <link rel="icon" sizes="96x96" type="image/png" href="/images/logo/favicon-96x96.png?v=3"> - <link rel="icon" sizes="64x64" type="image/png" href="/images/logo/favicon-64x64.png?v=3"> - <link rel="icon" sizes="48x48" type="image/png" href="/images/logo/favicon-48x48.png?v=3"> - <link rel="icon" sizes="32x32" type="image/png" href="/images/logo/favicon-32x32.png?v=3"> - <link rel="icon" sizes="16x16" type="image/png" href="/images/logo/favicon-16x16.png?v=3"> - <link rel="apple-touch-icon" sizes="57x57" href="/images/logo/apple-touch-icon-57x57.png?v=3"> - <link rel="apple-touch-icon" sizes="60x60" href="/images/logo/apple-touch-icon-60x60.png?v=3"> - <link rel="apple-touch-icon" sizes="72x72" href="/images/logo/apple-touch-icon-72x72.png?v=3"> - <link rel="apple-touch-icon" sizes="76x76" href="/images/logo/apple-touch-icon-76x76.png?v=3"> - <link rel="apple-touch-icon" sizes="114x114" href="/images/logo/apple-touch-icon-114x114.png?v=3"> - <link rel="apple-touch-icon" sizes="120x120" href="/images/logo/apple-touch-icon-120x120.png?v=3"> - <link rel="apple-touch-icon" sizes="144x144" href="/images/logo/apple-touch-icon-144x144.png?v=3"> - <link rel="apple-touch-icon" sizes="152x152" href="/images/logo/apple-touch-icon-152x152.png?v=3"> - <link rel="apple-touch-icon" sizes="180x180" href="/images/logo/apple-touch-icon-180x180.png?v=3"> - <link rel="stylesheet" type="text/css" href="/landing/style.css"> -</head> - -<body> - <!-- Google Tag Manager --> - <script> - (function(w, d, s, l, i) { - w[l] = w[l] || []; - w[l].push({ - 'gtm.start': new Date().getTime(), - event: 'gtm.js' - }); - var f = d.getElementsByTagName(s)[0], - j = d.createElement(s), - dl = l != 'dataLayer' ? '&l=' + l : ''; - j.async = true; - j.src = - '//www.googletagmanager.com/gtm.js?id=' + i + dl; - f.parentNode.insertBefore(j, f); - })(window, document, 'script', 'dataLayer', 'GTM-MLJ76N'); - </script> - <!-- End Google Tag Manager --> - <section class="full-page"> - <div class="wrapper"> - <header> - <a class="logo" href="/"> - <img src="/images/logo/logo.svg?v=3" /> - </a> - </header> - <a href="/login" class="screen"> - <span> - <i></i> - <i></i> - <i></i> - </span> - <figure></figure> - <button class="button red"><span>Access the Online Demo</span></button> - </a> - <div class='text'> - <h1>Rocket.Chat</h1> - <div class="iub_content legal_pp"> - <div class="iub_header"> - <h1>Privacy Policy of <strong>Rocket.Chat</strong></h1> - <p>This Application collects some Personal Data from its Users.</p> - </div> - <div> - <h2>Data Controller and Owner</h2> - </div> - <div> - <h2>Types of Data collected</h2> - <p> - Among the types of Personal Data that this Application collects, by itself or through third parties, there are: Cookie, Usage data and Picture. - </p> - <p>Other Personal Data collected may be described in other sections of this privacy policy or by dedicated explanation text contextually with the Data collection. - <br>The Personal Data may be freely provided by the User, or collected automatically when using this Application. - <br>Any use of Cookies - or of other tracking tools - by this Application or by the owners of third party services used by this Application, unless stated otherwise, serves to identify Users and remember their preferences, for the sole purpose of providing the service required by the User. - <br>Failure to provide certain Personal Data may make it impossible for this Application to provide its services.</p> - <p>Users are responsible for any Personal Data of third parties obtained, published or shared through this Application and confirm that they have the third party's consent to provide the Data to the Owner.</p> - </div> - <div> - <h2>Mode and place of processing the Data</h2> - <h3>Methods of processing</h3> - <p>The Data Controller processes the Data of Users in a proper manner and shall take appropriate security measures to prevent unauthorized access, disclosure, modification, or unauthorized destruction of the Data. - <br>The Data processing is carried out using computers and/or IT enabled tools, following organizational procedures and modes strictly related to the purposes indicated. In addition to the Data Controller, in some cases, the Data may be accessible to certain types of persons in charge, involved with the operation of the site (administration, sales, marketing, legal, system administration) or external parties (such as third party technical service providers, mail carriers, hosting providers, IT companies, communications agencies) appointed, if necessary, as Data Processors by the Owner. The updated list of these parties may be requested from the Data Controller at any time.</p> - <h3>Place</h3> - <p>The Data is processed at the Data Controller's operating offices and in any other places where the parties involved with the processing are located. For further information, please contact the Data Controller.</p> - <h3>Retention time</h3> - <p>The Data is kept for the time necessary to provide the service requested by the User, or stated by the purposes outlined in this document, and the User can always request that the Data Controller suspend or remove the data.</p> - </div> - <div> - <h2>The use of the collected Data</h2> - <p> - The Data concerning the User is collected to allow the Owner to provide its services, as well as for the following purposes: Analytics, Interaction with external social networks and platforms, Registration and authentication and Access to third party services' accounts. - </p> - <p>The Personal Data used for each purpose is outlined in the specific sections of this document.</p> - </div> - <div> - <h2>Facebook permissions asked by this Application</h2> - <p>This Application may ask for some Facebook permissions allowing it to perform actions with the User's Facebook account and to retrieve information, including Personal Data, from it.</p> - <p>For more information about the following permissions, refer to the <a href="https://developers.facebook.com/docs/authentication/permissions/" target="_blank">Facebook permissions documentation</a> and to the <a href="https://www.facebook.com/about/privacy/" target="_blank">Facebook privacy policy</a>.</p> - <p>The permissions asked are the following:</p> - <h3>Basic information</h3> - <p>By default, this includes certain User’s Data such as id, name, picture, gender, and their locale. Certain connections of the User, such as the Friends, are also available. If the user has made more of their data public, more information will be available.</p> - <h3>Email</h3> - <p>Provides access to the User's primary email address</p> - </div> - <div> - <h2>Detailed information on the processing of Personal Data</h2> - <p>Personal Data is collected for the following purposes and using the following services:</p> - <ul class="for_boxes"> - <li> - <div class="box_primary box_10 expand collapsed"> - <h3 class="expand-click w_icon_24 policyicon_purpose_781125">Access to third party services' accounts</h3> - <div class="expand-content" style="display: none;"> - <p>These services allow this Application to access Data from your account on a third party service and perform actions with it. - <br> These services are not activated automatically, but require explicit authorization by the User.</p> - <h4>Access to the Facebook account (This Application)</h4> - <p>This service allows this Application to connect with the User's account on the Facebook social network, provided by Facebook, Inc.</p> - <p> - Permissions asked: Email. - </p> - <p> - Place of processing : USA – - <a href="https://www.facebook.com/policy.php" target="_blank">Privacy Policy</a> - </p> - </div> - </div> - </li> - <li> - <div class="box_primary box_10 expand collapsed"> - <h3 class="expand-click w_icon_24 policyicon_purpose_781118">Analytics</h3> - <div class="expand-content" style="display: none;"> - <p>The services contained in this section enable the Owner to monitor and analyze web traffic and can be used to keep track of User behavior.</p> - <h4>Google Analytics (Google Inc.)</h4> - <p>Google Analytics is a web analysis service provided by Google Inc. (“Googleâ€). Google utilizes the Data collected to track and examine the use of this Application, to prepare reports on its activities and share them with other Google services. - <br> Google may use the Data collected to contextualize and personalize the ads of its own advertising network.</p> - <p> - Personal Data collected: Cookie and Usage data. - </p> - <p> - Place of processing : USA – - <a href="http://www.google.com/intl/en/policies/privacy/" target="_blank">Privacy Policy</a> – - <a href="http://tools.google.com/dlpage/gaoptout?hl=en" onclick="javascript:return tryFunc('tryGaOptOut',{href:'http://tools.google.com/dlpage/gaoptout?hl=en'})" target="_blank">Opt Out</a> - </p> - </div> - </div> - </li> - <li> - <div class="box_primary box_10 expand collapsed"> - <h3 class="expand-click w_icon_24 policyicon_purpose_781119">Interaction with external social networks and platforms</h3> - <div class="expand-content" style="display: none;"> - <p>These services allow interaction with social networks or other external platforms directly from the pages of this Application. - <br> The interaction and information obtained by this Application are always subject to the User’s privacy settings for each social network. - <br> If a service enabling interaction with social networks is installed it may still collect traffic data for the pages where the service is installed, even when Users do not use it.</p> - <h4>Google+ +1 button and social widgets (Google Inc.)</h4> - <p>The Google+ +1 button and social widgets are services allowing interaction with the Google+ social network provided by Google Inc.</p> - <p> - Personal Data collected: Cookie and Usage data. - </p> - <p> - Place of processing : USA – - <a href="http://www.google.com/intl/en/policies/privacy/" target="_blank">Privacy Policy</a> - </p> - </div> - </div> - </li> - <li> - <div class="box_primary box_10 expand collapsed"> - <h3 class="expand-click w_icon_24 policyicon_purpose_781123">Registration and authentication</h3> - <div class="expand-content" style="display: none;"> - <p>By registering or authenticating, Users allow this Application to identify them and give them access to dedicated services. - <br> Depending on what is described below, third parties may provide registration and authentication services. - <br> In this case, this Application will be able to access some Data, stored by these third party services, for registration or identification purposes.</p> - <h4>Direct registration (This Application)</h4> - <p>The User registers by filling out the registration form and providing the Personal Data directly to this Application.</p> - <p> - Personal Data collected: Picture. - </p> - </div> - </div> - </li> - </ul> - </div> - <div> - <h2>Additional information about Data collection and processing</h2> - <h3>Legal action</h3> - <p> - The User's Personal Data may be used for legal purposes by the Data Controller, in Court or in the stages leading to possible legal action arising from improper use of this Application or the related services. - <br>The User declares to be aware that the Data Controller may be required to reveal personal data upon request of public authorities. - </p> - <h3>Additional information about User's Personal Data</h3> - <p> - In addition to the information contained in this privacy policy, this Application may provide the User with additional and contextual information concerning particular services or the collection and processing of Personal Data upon request. - </p> - <h3>System Logs and Maintenance</h3> - <p> - For operation and maintenance purposes, this Application and any third party services may collect files that record interaction with this Application (System Logs) or use for this purpose other Personal Data (such as IP Address). - </p> - <h3>Information not contained in this policy</h3> - <p> - More details concerning the collection or processing of Personal Data may be requested from the Data Controller at any time. Please see the contact information at the beginning of this document. - </p> - <h3>The rights of Users</h3> - <p> - Users have the right, at any time, to know whether their Personal Data has been stored and can consult the Data Controller to learn about their contents and origin, to verify their accuracy or to ask for them to be supplemented, cancelled, updated or corrected, or for their transformation into anonymous format or to block any data held in violation of the law, as well as to oppose their treatment for any and all legitimate reasons. Requests should be sent to the Data Controller at the contact information set out above. - </p> - <p> - This Application does not support “Do Not Track†requests. - <br>To determine whether any of the third party services it uses honor the “Do Not Track†requests, please read their privacy policies. - </p> - <h3>Changes to this privacy policy</h3> - <p> - The Data Controller reserves the right to make changes to this privacy policy at any time by giving notice to its Users on this page. It is strongly recommended to check this page often, referring to the date of the last modification listed at the bottom. If a User objects to any of the changes to the Policy, the User must cease using this Application and can request that the Data Controller removes the Personal Data. Unless stated otherwise, the then-current privacy policy applies to all Personal Data the Data Controller has about Users. - </p> - <h3>Information about this privacy policy</h3> - <p> - The Data Controller is responsible for this privacy policy, prepared starting from the modules provided by Iubenda and hosted on Iubenda's servers. - </p> - </div> - <div> - <div class="box_primary box_10 definitions expand collapsed"> - <h3 class="expand-click w_icon_24 icon_ribbon">Definitions and legal references</h3> - <div class="expand-content" style="display: none;"> - <h4>Personal Data (or Data)</h4> - <p>Any information regarding a natural person, a legal person, an institution or an association, which is, or can be, identified, even indirectly, by reference to any other information, including a personal identification number.</p> - <h4>Usage Data</h4> - <p>Information collected automatically from this Application (or third party services employed in this Application), which can include: the IP addresses or domain names of the computers utilized by the Users who use this Application, the URI addresses (Uniform Resource Identifier), the time of the request, the method utilized to submit the request to the server, the size of the file received in response, the numerical code indicating the status of the server's answer (successful outcome, error, etc.), the country of origin, the features of the browser and the operating system utilized by the User, the various time details per visit (e.g., the time spent on each page within the Application) and the details about the path followed within the Application with special reference to the sequence of pages visited, and other parameters about the device operating system and/or the User's IT environment.</p> - <h4>User</h4> - <p>The individual using this Application, which must coincide with or be authorized by the Data Subject, to whom the Personal Data refer.</p> - <h4>Data Subject</h4> - <p>The legal or natural person to whom the Personal Data refers.</p> - <h4>Data Processor (or Data Supervisor)</h4> - <p>The natural person, legal person, public administration or any other body, association or organization authorized by the Data Controller to process the Personal Data in compliance with this privacy policy.</p> - <h4>Data Controller (or Owner)</h4> - <p>The natural person, legal person, public administration or any other body, association or organization with the right, also jointly with another Data Controller, to make decisions regarding the purposes, and the methods of processing of Personal Data and the means used, including the security measures concerning the operation and use of this Application. The Data Controller, unless otherwise specified, is the Owner of this Application.</p> - <h4>This Application</h4> - <p>The hardware or software tool by which the Personal Data of the User is collected.</p> - <h4>Cookie</h4> - <p>Small piece of data stored in the User's device.</p> - <hr> - <h4>Legal information</h4> - <p>Notice to European Users: this privacy statement has been prepared in fulfillment of the obligations under Art. 10 of EC Directive n. 95/46/EC, and under the provisions of Directive 2002/58/EC, as revised by Directive 2009/136/EC, on the subject of Cookies.</p> - <p>This privacy policy relates solely to this Application.</p> - </div> - </div> - </div> - </div> - </div> - <footer> - <div class="social"> - <h4>Join the Community</h4> - <nav> - <a target="_blank" class="button share twitter" href="https://twitter.com/RocketChatApp"><i class="icon-twitter"></i><span>Twitter</span></a> - <a target="_blank" class="button share facebook" href="https://www.facebook.com/RocketChatApp"><i class="icon-facebook"></i><span>Facebook</span></a> - <a target="_blank" class="button share google" href="https://plus.google.com/+RocketChatApp"><i class="icon-gplus"></i><span>Google Plus</span></a> - <a target="_blank" class="button share github" href="https://github.com/RocketChat/Rocket.Chat"><i class='icon-github-circled'></i><span>Github</span></a> - <a target="_blank" class="button share linkedin" href="https://www.linkedin.com/company/rocket-chat"><i class='icon-linkedin'></i><span>Linkedin</span></a> - </nav> - </div> - <a href="http://meteor.com" target="_blank" title="Proudly developed with Meteor" class="meteor">Proudly developed with Meteor</a> - <github-fork href="https://github.com/RocketChat/Rocket.Chat" hidden></github-fork> - </footer> - <div id="particles-js"></div> - </div> - </section> -</body> diff --git a/public/landing/style.css b/public/landing/style.css deleted file mode 100644 index 0470a06a822ae3a5bacb64fceac3e7ffa0908ffe..0000000000000000000000000000000000000000 --- a/public/landing/style.css +++ /dev/null @@ -1,2252 +0,0 @@ -@import url(//fonts.googleapis.com/css?family=Roboto:300,400,500,700,900); -@import url(//fonts.googleapis.com/css?family=Muli:400,300,500); -@font-face { - font-family: 'fontello'; - src: url('/fonts/fontello.eot?19437876'); - src: url('/fonts/fontello.eot?19437876#iefix') format('embedded-opentype'), url('/fonts/fontello.woff?19437876') format('woff'), url('/fonts/fontello.ttf?19437876') format('truetype'), url('/fonts/fontello.svg?19437876#fontello') format('svg'); - font-weight: normal; - font-style: normal -} - -[class^="icon-"]:before, -[class*=" icon-"]:before { - font-family: "fontello"; - font-style: normal; - font-weight: normal; - speak: none; - display: inline-block; - text-decoration: inherit; - width: 1em; - margin-right: .2em; - text-align: center; - /* opacity: .8; */ - /* For safety - reset parent styles, that can break glyph codes*/ - - font-variant: normal; - text-transform: none; - /* fix buttons height, for twitter bootstrap */ - - line-height: inherit; - /* Animation center compensation - margins should be symmetric */ - /* remove if not needed */ - - margin-left: .2em; - /* you can be more comfortable with increased icons size */ - /* font-size: 120%; */ - /* Font smoothing. That was taken from TWBS */ - - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - /* Uncomment for 3D effect */ - /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */ -} - -.icon-tumblr:before { - content: '\e881' -} - -.icon-trello:before { - content: '\e882' -} - -.icon-facebook:before { - content: '\e89a' -} - -.icon-dropbox:before { - content: '\e89b' -} - -.icon-dribbble:before { - content: '\e89c' -} - -.icon-twitter:before { - content: '\e87e' -} - -.icon-gplus:before { - content: '\e887' -} - -.icon-github-circled:before { - content: '\5c' -} - -.icon-linkedin:before { - content: '\e88d'; -} - -#login-buttons-image-facebook { - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAq0lEQVQ4jWP8//8/AyWAhYGBgcEmauYZBgYGYxL1nj2yLN2ECcohVTNcDwsxKlXlhRm6yzwZRAS5GRgYGBhsombC5ZhwaUIGyJrRAVEuwGYzSS7AB/C64MiydKx8ZJfgNeDN+68MDAwIL8D4RLsgIHsJis0wPjKgOAyoE4hcnGwMGkpiBBUbacvA2TfuvaKiC759/3X23NUnOPMDtgTEwMBwloGBgYGR0uwMAGOPLJS9mkQHAAAAAElFTkSuQmCC) -} - -#login-buttons-image-github { - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9wJGBYxHYxl31wAAAHpSURBVDjLpZI/aFNRFMZ/973bJqGRPopV4qNq/+SpTYnWRhCKilShg9BGcHOM+GfQoZuLk4iLgw4qZNBaHLuIdBNHl7Ta1qdNFI3SihnaNG1MpH3vuiQYQnwZvHCG893zffc751z4z6PX5T5gA1DAKnAaOAQEgAfAVeCpl+CeCrlRuEC6maO4h0A1wl4tPAHMqNUthvrDdHYY7A3t4rDVjeO6rBU2FaABM1WCrBNoi48Mi+nH9yj+KtPibAKwJXfQ5vcRG7soUnYmWEuQgAEIYBv4cGpoILI0Z4tyYYPegS6UguyijZQ6J45GSNmZHzUcJYD2ii2Ajv7efZ8WZ6ZwXFj79hXpayW4O0SL1Nl/8jzZlZ9dQLFS70pgvZKIyGD0yvu5eRmMnrk1PjI81ir1qBACTdPevXj95mVuNX8XKDQc/+T334bZZ104cvzYw2s3J3qAL5WXSsDbf61NNMBu+wOBs+VSyQ84Nfhg028ZGx3/qyy0lC7lgi7lghBitoon03lvB8l0/k7Wnk+8mny0cyXzEcfZxgwfZPTyRMHsOzAFXE9YhtNQIJnOx4FpJXT1eSkn2g0frqMoFrfoCXcqlCOAGwnLuO/l4JymcWl5uRxzXUKghBAiZ5r+WaV4lrCM555zqO+x2d0ftGmpiA/0k70AAAAASUVORK5CYII=) -} - -#login-buttons-image-google { - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAADCklEQVQ4jSXSy2ucVRjA4d97zvdNJpPJbTJJE9rYaCINShZtRCFIA1bbLryBUlyoLQjqVl12W7UbN4qb1gtuYhFRRBCDBITaesFbbI3RFBLSptEY05l0ZjLfnMvrov/Bs3gAcF71x6VVHTk+o8nDH+hrH89rUK9Z9Yaen57S3wVtGaMBNGC0IegWKIDxTtVaOHVugZVmH3HX3Zz+4l+W1xvkOjuZfPsspY4CNkZELEgEIJKwYlBjEwjec/mfCMVuorVs76R8+P0KYMmP30U2dT8eIZqAR2ipRcWjEYxGSCRhV08e04oYMoxYLi97EI9YCJ0FHBYbIVGDlUBLwRlLIuYW6chEmQt/rJO09RJjhjEJEYvJYGNhkbUhw43OXtIWDFRq9G87nAaSK6sVRm8r8fzRMWbOX2Xx7ypd7ZET03sQhDOz73DqSJOrd+7HSo4QIu0Nx/4rOzx+cRXZ9+z7+uqJ+3hiepxK3fHZT2tMjXYzOtzL6dmznPzhLexgN0QlxAAYxAlqUqRmkf5j59RlNQ6MFHhgcpCTTx8EUb5e+plD7x4jjg1ANCAgrRQAdR7xKXjBlGyLYi7PxaUmb8z8xcpGHVXLHaXdjI0egKyJiQYTEhSPREVIEUBNC+Mqm+xpz3j0njLPHB2nsh1QgeG+IS48dYbD5YNoo0ZUAbVEuTUoKuBSZOarX/WhyQn6eg2+usDWf0s0tq8zNPYk+WI/Lnge++hlvlyfQ3NdECzGRWKwEEA0qNY251n69kV6+Y0kbaCZoebG2X3oU7pKoyxuXOPe945zs9DCeosGIXoBDyaLdf6ce4Hbk+/Y299ksKtAuaeNsiyw8c1LKIZ95b0MdgxA5giixACpTxEPSau6QdFfI5/2cLPmEW+JAQrtJUJzDXF1dkwHzVodJMX4HFEcQQMaFdPeM0Jb/4PUtzzaLKAhRyJFwo6lbegRNFfk819muV5dR4JBQoQdQ2xFiDmSNDHiaptamR9Gq5cQ18AledrGDpOfeI5Lq8u88smbhMRisoSAgAYghdfn5H/JkHuRZ1owLAAAAABJRU5ErkJggg==) -} - -#login-buttons-image-meteor-developer { - background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAEJGlDQ1BJQ0MgUHJvZmlsZQAAOBGFVd9v21QUPolvUqQWPyBYR4eKxa9VU1u5GxqtxgZJk6XtShal6dgqJOQ6N4mpGwfb6baqT3uBNwb8AUDZAw9IPCENBmJ72fbAtElThyqqSUh76MQPISbtBVXhu3ZiJ1PEXPX6yznfOec7517bRD1fabWaGVWIlquunc8klZOnFpSeTYrSs9RLA9Sr6U4tkcvNEi7BFffO6+EdigjL7ZHu/k72I796i9zRiSJPwG4VHX0Z+AxRzNRrtksUvwf7+Gm3BtzzHPDTNgQCqwKXfZwSeNHHJz1OIT8JjtAq6xWtCLwGPLzYZi+3YV8DGMiT4VVuG7oiZpGzrZJhcs/hL49xtzH/Dy6bdfTsXYNY+5yluWO4D4neK/ZUvok/17X0HPBLsF+vuUlhfwX4j/rSfAJ4H1H0qZJ9dN7nR19frRTeBt4Fe9FwpwtN+2p1MXscGLHR9SXrmMgjONd1ZxKzpBeA71b4tNhj6JGoyFNp4GHgwUp9qplfmnFW5oTdy7NamcwCI49kv6fN5IAHgD+0rbyoBc3SOjczohbyS1drbq6pQdqumllRC/0ymTtej8gpbbuVwpQfyw66dqEZyxZKxtHpJn+tZnpnEdrYBbueF9qQn93S7HQGGHnYP7w6L+YGHNtd1FJitqPAR+hERCNOFi1i1alKO6RQnjKUxL1GNjwlMsiEhcPLYTEiT9ISbN15OY/jx4SMshe9LaJRpTvHr3C/ybFYP1PZAfwfYrPsMBtnE6SwN9ib7AhLwTrBDgUKcm06FSrTfSj187xPdVQWOk5Q8vxAfSiIUc7Z7xr6zY/+hpqwSyv0I0/QMTRb7RMgBxNodTfSPqdraz/sDjzKBrv4zu2+a2t0/HHzjd2Lbcc2sG7GtsL42K+xLfxtUgI7YHqKlqHK8HbCCXgjHT1cAdMlDetv4FnQ2lLasaOl6vmB0CMmwT/IPszSueHQqv6i/qluqF+oF9TfO2qEGTumJH0qfSv9KH0nfS/9TIp0Wboi/SRdlb6RLgU5u++9nyXYe69fYRPdil1o1WufNSdTTsp75BfllPy8/LI8G7AUuV8ek6fkvfDsCfbNDP0dvRh0CrNqTbV7LfEEGDQPJQadBtfGVMWEq3QWWdufk6ZSNsjG2PQjp3ZcnOWWing6noonSInvi0/Ex+IzAreevPhe+CawpgP1/pMTMDo64G0sTCXIM+KdOnFWRfQKdJvQzV1+Bt8OokmrdtY2yhVX2a+qrykJfMq4Ml3VR4cVzTQVz+UoNne4vcKLoyS+gyKO6EHe+75Fdt0Mbe5bRIf/wjvrVmhbqBN97RD1vxrahvBOfOYzoosH9bq94uejSOQGkVM6sN/7HelL4t10t9F4gPdVzydEOx83Gv+uNxo7XyL/FtFl8z9ZAHF4bBsrEwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAg5JREFUOBFdU7uuqVEQHr/7/RIhJMLZUVGrdAoP4AEUXkC1T6dSKZQ6TyAkEvtUFGqVRKGlkRCFwm27zZkZ/rV/eyXWXP75Zr6ZNQAA8PdP0zTxBYNB9c3j8Sj9V/x7ApPJJIGhYEhkoVDAer0uutfrRbPZ/JaI4k1IB9xuN1itVrher1QA4H6/w/l8hsViAcfjETKZDBAjOBwOcLlcJIYvjcFOp1M+7HY7keFwWMC9Xg+SySSs12sBUHXgeOOxMPh0OkGxWIRAIADz+RxmsxnUajUolUoSy8z42Gw2KcY6MyX2AJFIRHpqt9vcCm63WxyPx0hsxOZrMpm89e3z+dBisTx9DocDiYUYo9FIgVihOYhNfWOr1UJihLlcTiV7JQE0PhFX43O73UQ+Hg+RfNFQke1utytJqGWkJ9dgv99DPB7n1uD78i1Sv7hPwoppt9vlBZbLpdgyA9KQpi4Zy+WyVFAlSdEZcPXBYID5fF5i/X6/SJ4shkLPpZlOp4JdrVZYrVZxOByqXP1+/wmggvrgZWN5iMwilUrh178v7HQ6mM1mxffx5wM3m40kaTab4kskEiJ5ARnHvSCzeBlKptNp0RuNhiT4/PspNrdrACMvg3ygZcFoNIqxWExehenx7nNi3otKpSK66v1ZnX0/fyb+o0hfL5++HxyjA/WCBtxPAoNT0XS5XGrR1PYZiv4Hdhyfo4t1ww8AAAAASUVORK5CYII=) -} - -html, -body, -div, -span, -applet, -object, -iframe, -h1, -h2, -h3, -h4, -h5, -h6, -p, -blockquote, -pre, -a, -abbr, -acronym, -address, -big, -cite, -code, -del, -dfn, -em, -img, -ins, -kbd, -q, -s, -samp, -small, -strike, -strong, -sub, -sup, -tt, -var, -b, -u, -i, -center, -dl, -dt, -dd, -ol, -ul, -li, -fieldset, -form, -label, -legend, -table, -caption, -tbody, -tfoot, -thead, -tr, -th, -td, -article, -aside, -canvas, -details, -embed, -figure, -figcaption, -footer, -header, -hgroup, -menu, -nav, -output, -ruby, -section, -summary, -time, -mark, -audio, -video { - margin: 0; - padding: 0; - border: 0; - font-size: 100%; - vertical-align: baseline -} - -article, -aside, -details, -figcaption, -figure, -footer, -header, -hgroup, -menu, -nav, -section { - display: block -} - -body { - line-height: 1 -} - -ol, -ul { - list-style: none -} - -blockquote, -q { - quotes: none -} - -blockquote:before, -blockquote:after, -q:before, -q:after { - content: ''; - content: none -} - -table { - border-collapse: collapse; - border-spacing: 0 -} - -@-webkit-keyframes fadeIn { - 0% { - opacity: 0; - visibility: hidden - } - 1% { - opacity: 0; - visibility: visible - } - 100% { - opacity: 1; - visibility: visible - } -} - -@keyframes fadeIn { - 0% { - opacity: 0; - visibility: hidden - } - 1% { - opacity: 0; - visibility: visible - } - 100% { - opacity: 1; - visibility: visible - } -} - -@-webkit-keyframes fadeOut { - 0% { - opacity: 1; - visibility: visible - } - 99% { - opacity: 0; - visibility: visible - } - 100% { - opacity: 0; - visibility: hidden - } -} - -@keyframes fadeOut { - 0% { - opacity: 1; - visibility: visible - } - 99% { - opacity: 0; - visibility: visible - } - 100% { - opacity: 0; - visibility: hidden - } -} - -@-webkit-keyframes highlight { - 0% { - background: #ffff99 - } - 100% { - background: none - } -} - -@-moz-keyframes highlight { - 0% { - background: #ffff99 - } - 100% { - background: none - } -} - -@-o-keyframes highlight { - 0% { - background: #ffff99 - } - 100% { - background: none - } -} - -@keyframes highlight { - 0% { - background: #ffff99 - } - 100% { - background: none - } -} - -@keyframes modalEnter { - 0% { - opacity: 0; - visibility: hidden - } - 1% { - opacity: 0; - visibility: visible; - -webkit-transform: translateY(-150px); - -moz-transform: translateY(-150px); - -o-transform: translateY(-150px); - -ms-transform: translateY(-150px); - transform: translateY(-150px) - } - 100% { - opacity: 1; - visibility: visible; - -webkit-transform: translateY(0px); - -moz-transform: translateY(0px); - -o-transform: translateY(0px); - -ms-transform: translateY(0px); - transform: translateY(0px) - } -} - -@-webkit-keyframes modalEnter { - 0% { - opacity: 0; - visibility: hidden - } - 1% { - opacity: 0; - visibility: visible; - -webkit-transform: translateY(-150px) - } - 100% { - opacity: 1; - visibility: visible; - -webkit-transform: translateY(0) - } -} - -@keyframes modalExit { - 0% { - opacity: 1; - visibility: visible - } - 99% { - opacity: 0; - visibility: visible; - -webkit-transform: translateY(150px); - -moz-transform: translateY(150px); - -o-transform: translateY(150px); - -ms-transform: translateY(150px); - transform: translateY(150px) - } - 100% { - opacity: 0; - visibility: hidden - } -} - -@-webkit-keyframes modalExit { - 0% { - opacity: 1; - visibility: visible - } - 99% { - opacity: 0; - visibility: visible; - -webkit-transform: translateY(150px) - } - 100% { - opacity: 0; - visibility: hidden - } -} - -@-webkit-keyframes scaled { - 0% { - -webkit-transform: scale(1); - -moz-transform: scale(1); - -o-transform: scale(1); - -ms-transform: scale(1); - transform: scale(1) - } - 20% { - -webkit-transform: scale(1.55); - -moz-transform: scale(1.55); - -o-transform: scale(1.55); - -ms-transform: scale(1.55); - transform: scale(1.55) - } - 50% { - -webkit-transform: scale(1); - -moz-transform: scale(1); - -o-transform: scale(1); - -ms-transform: scale(1); - transform: scale(1) - } - 100% { - -webkit-transform: scale(1); - -moz-transform: scale(1); - -o-transform: scale(1); - -ms-transform: scale(1); - transform: scale(1) - } -} - -@-moz-keyframes scaled { - 0% { - -webkit-transform: scale(1); - -moz-transform: scale(1); - -o-transform: scale(1); - -ms-transform: scale(1); - transform: scale(1) - } - 20% { - -webkit-transform: scale(1.55); - -moz-transform: scale(1.55); - -o-transform: scale(1.55); - -ms-transform: scale(1.55); - transform: scale(1.55) - } - 50% { - -webkit-transform: scale(1); - -moz-transform: scale(1); - -o-transform: scale(1); - -ms-transform: scale(1); - transform: scale(1) - } - 100% { - -webkit-transform: scale(1); - -moz-transform: scale(1); - -o-transform: scale(1); - -ms-transform: scale(1); - transform: scale(1) - } -} - -@-o-keyframes scaled { - 0% { - -webkit-transform: scale(1); - -moz-transform: scale(1); - -o-transform: scale(1); - -ms-transform: scale(1); - transform: scale(1) - } - 20% { - -webkit-transform: scale(1.55); - -moz-transform: scale(1.55); - -o-transform: scale(1.55); - -ms-transform: scale(1.55); - transform: scale(1.55) - } - 50% { - -webkit-transform: scale(1); - -moz-transform: scale(1); - -o-transform: scale(1); - -ms-transform: scale(1); - transform: scale(1) - } - 100% { - -webkit-transform: scale(1); - -moz-transform: scale(1); - -o-transform: scale(1); - -ms-transform: scale(1); - transform: scale(1) - } -} - -@keyframes scaled { - 0% { - -webkit-transform: scale(1); - -moz-transform: scale(1); - -o-transform: scale(1); - -ms-transform: scale(1); - transform: scale(1) - } - 20% { - -webkit-transform: scale(1.55); - -moz-transform: scale(1.55); - -o-transform: scale(1.55); - -ms-transform: scale(1.55); - transform: scale(1.55) - } - 50% { - -webkit-transform: scale(1); - -moz-transform: scale(1); - -o-transform: scale(1); - -ms-transform: scale(1); - transform: scale(1) - } - 100% { - -webkit-transform: scale(1); - -moz-transform: scale(1); - -o-transform: scale(1); - -ms-transform: scale(1); - transform: scale(1) - } -} - -@-webkit-keyframes minor { - 0% { - -webkit-transform: scale(1); - -moz-transform: scale(1); - -o-transform: scale(1); - -ms-transform: scale(1); - transform: scale(1) - } - 20% { - -webkit-transform: scale(1.08); - -moz-transform: scale(1.08); - -o-transform: scale(1.08); - -ms-transform: scale(1.08); - transform: scale(1.08) - } - 50% { - -webkit-transform: scale(1); - -moz-transform: scale(1); - -o-transform: scale(1); - -ms-transform: scale(1); - transform: scale(1) - } - 100% { - -webkit-transform: scale(1); - -moz-transform: scale(1); - -o-transform: scale(1); - -ms-transform: scale(1); - transform: scale(1) - } -} - -@-moz-keyframes minor { - 0% { - -webkit-transform: scale(1); - -moz-transform: scale(1); - -o-transform: scale(1); - -ms-transform: scale(1); - transform: scale(1) - } - 20% { - -webkit-transform: scale(1.08); - -moz-transform: scale(1.08); - -o-transform: scale(1.08); - -ms-transform: scale(1.08); - transform: scale(1.08) - } - 50% { - -webkit-transform: scale(1); - -moz-transform: scale(1); - -o-transform: scale(1); - -ms-transform: scale(1); - transform: scale(1) - } - 100% { - -webkit-transform: scale(1); - -moz-transform: scale(1); - -o-transform: scale(1); - -ms-transform: scale(1); - transform: scale(1) - } -} - -@-o-keyframes minor { - 0% { - -webkit-transform: scale(1); - -moz-transform: scale(1); - -o-transform: scale(1); - -ms-transform: scale(1); - transform: scale(1) - } - 20% { - -webkit-transform: scale(1.08); - -moz-transform: scale(1.08); - -o-transform: scale(1.08); - -ms-transform: scale(1.08); - transform: scale(1.08) - } - 50% { - -webkit-transform: scale(1); - -moz-transform: scale(1); - -o-transform: scale(1); - -ms-transform: scale(1); - transform: scale(1) - } - 100% { - -webkit-transform: scale(1); - -moz-transform: scale(1); - -o-transform: scale(1); - -ms-transform: scale(1); - transform: scale(1) - } -} - -@keyframes minor { - 0% { - -webkit-transform: scale(1); - -moz-transform: scale(1); - -o-transform: scale(1); - -ms-transform: scale(1); - transform: scale(1) - } - 20% { - -webkit-transform: scale(1.08); - -moz-transform: scale(1.08); - -o-transform: scale(1.08); - -ms-transform: scale(1.08); - transform: scale(1.08) - } - 50% { - -webkit-transform: scale(1); - -moz-transform: scale(1); - -o-transform: scale(1); - -ms-transform: scale(1); - transform: scale(1) - } - 100% { - -webkit-transform: scale(1); - -moz-transform: scale(1); - -o-transform: scale(1); - -ms-transform: scale(1); - transform: scale(1) - } -} - -* { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box -} - -:focus { - outline: 0 !important; - outline-color: transparent; - outline-style: none -} - -a { - text-decoration: none -} - -a:hover, -a:active { - color: #444444; - text-decoration: none -} - -.text-center { - text-align: center -} - -.connection-status>.alert { - padding: 2px; - position: absolute; - width: 100%; - z-index: 1000; - border-radius: 0px -} - -.alert { - padding: 15px; - margin-bottom: 20px; - border: 1px solid rgba(0, 0, 0, 0); - border-radius: 4px -} - -.alert-warning { - color: #8A6D3B; - background-color: #FCF8E3; - border-color: #FAEBCC -} - -.full-page .hidden { - visibility: hidden !important; - display: none !important -} - -.small-title, -.user-view .box h4 { - font-size: 13px; - text-transform: uppercase; - margin-bottom: 5px; - font-weight: 600 -} - -.fill-all, -.scrollable, -.page-container, -.page-container .content, -.flex-tab .content, -.full-page .connect { - position: absolute; - width: 100%; - height: 100%; - top: 0; - left: 0 -} - -.scrollable { - overflow-y: scroll; - -webkit-overflow-scrolling: touch -} - -.scrollable::-webkit-scrollbar { - width: 6px; - background: transparent -} - -.scrollable::-webkit-scrollbar-thumb { - background-color: #bfbfbf; - -webkit-border-radius: 50px -} - -.scrollable::-webkit-scrollbar-corner { - background-color: transparent -} - -.input-line { - margin-bottom: 12px -} - -.input-line:nth-last-child(1) { - margin-bottom: 0 -} - -.input-line.search .icon-search { - position: absolute; - color: #7f7f7f; - left: 5px; - top: 10px; - font-weight: 400 -} - -.input-line.search input { - padding-left: 25px -} - -.input-line label { - display: block; - margin-bottom: 4px; - color: #444444 -} - -.input-line input[type='text'] { - display: block -} - -.rocket-h2, -#login-card h2, -.full-page .text h2 { - font-weight: 300; - text-transform: uppercase; - font-size: 20px; - letter-spacing: -0.5px; - margin: 18px 0; - color: #EFEFEF; - line-height: 26px; -} - -.unselectable, -.button { - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none -} - -.rocket-h3, -#login-card h3, -.social-login h3, -.full-page .text h3 { - font-weight: 300; - text-transform: uppercase; - font-size: 16px; - letter-spacing: -0.5px; - margin: 18px 0; - color: #EAEAEA -} - -html { - overflow-y: scroll; - height: 100% -} - -html::-webkit-scrollbar { - width: 3px; - background: transparent -} - -html::-webkit-scrollbar-thumb { - background-color: rgba(255, 255, 255, 0.05); - -webkit-border-radius: 50px -} - -html::-webkit-scrollbar-corner { - background-color: transparent -} - -html.noscroll { - overflow: hidden -} - -body { - font-family: "Roboto", "HelveticaNeue-Light", "sans-serif"; - font-size: 14px; - color: #444444; - height: 100%; - width: 100%; - -webkit-font-smoothing: antialiased; - line-height: 1rem; - padding: 0; - overflow: visible; - position: relative; - background-color: #04436a -} - -input, -button, -select, -textarea { - font-family: inherit; - font-size: inherit; - line-height: inherit -} - -input:focus { - outline: none; - box-shadow: 0 0 0 -} - -textarea, -select, -input[type='text'], -input[type='email'], -input[type='password'] { - height: 35px; - line-height: normal; - border: 1px solid #dfdfdf; - background-color: #fff; - border-radius: 2px; - padding: 2px 8px; - box-shadow: 1px 1px 0 rgba(0, 0, 0, 0.2); - position: relative; - width: 100%; - outline: none -} - -input.input-forward { - width: 0px; - visibility: hidden; - -webkit-transition: width 0.5s ease-in; - -moz-transition: width 0.5s ease-in; - -o-transition: width 0.5s ease-in; - transition: width 0.5s ease-in -} - -input.input-forward.show { - visibility: visible; - -lh-property: 0; - width: -webkit-calc(100% - 48px); - width: -moz-calc(100% - 48px); - width: calc(100% - 48px) -} - -input.search:before { - content: " "; - width: 30px; - height: 30px; - display: block; - position: absolute; - top: 0; - left: 0; - background-color: #000 -} - -form.search-form { - position: relative -} - -.form-group .-btn { - margin-left: 2px -} - -.form-group .-btn:nth-child(1) { - margin-left: 3px -} - -.form-group .input-group { - padding: 2px 0 -} - -.form-horizontal .control-label { - padding-top: 12px; - font-weight: bold; - color: #444444 -} - -.-autocomplete-container { - box-shadow: 1px 1px 0px rgba(0, 0, 0, 0.2); - border: none; - border-radius: 0; - width: 100%; - top: auto !important -} - -.-autocomplete-container p { - font-size: 14px; - padding: 8px 8px; - color: #7f7f7f -} - -.-autocomplete-container>i { - visibility: hidden -} - -.-autocomplete-container>i:after { - content: " "; - visibility: visible; - background-image: url('/images/loading.gif'); - background-position: center; - background-repeat: no-repeat; - display: block; - height: 40px; - margin-bottom: 12px -} - -.-autocomplete-item { - padding: 8px 5px; - font-size: 12px; - cursor: pointer; - color: #7f7f7f -} - -.-autocomplete-item i { - color: #7f7f7f -} - -.-autocomplete-item.selected { - background-color: #eaeaea; - color: #444444 -} - -label.required:after { - content: ' *'; - color: red -} - -.status-offline, -.icon-at.status-offline { - color: #cccccc -} - -.status-online, -.icon-at.status-online { - color: #35ac19 -} - -.status-busy, -.icon-at.status-busy { - color: #d30230 -} - -.status-away, -.icon-at.status-away { - color: #fcb316 -} - -.favorite-room { - color: #FECF09 -} - -.toggle-favorite { - color: #AAA -} - -.loading { - background-image: url('/images/loading.gif'); - background-repeat: no-repeat; - background-position: 50%; - width: 100%; - height: 100%; - position: fixed; - top: 0; - left: 0 -} - -.loading.inline { - position: relative; - min-height: 40px; - background-size: 24px 24px -} - -.btn-loading { - background-image: url('/images/loading.gif'); - background-repeat: no-repeat; - background-position: 50%; - color: transparent !important; - pointer-events: none; - cursor: not-allowed; - background-color: transparent; - border: none -} - -.btn-loading:hover { - background-color: transparent -} - -.button { - display: inline-block; - padding: 10px 12px 8px; - background-color: #FFF; - color: rgba(255, 255, 255, 0.85); - font-weight: 400; - font-size: 13px; - margin: 4px; - text-transform: uppercase; - word-spacing: 0; - box-shadow: 1px 1px 0 rgba(0, 0, 0, 0.125); - border: none; - line-height: 16px; - position: relative; - background-color: #13679a; - cursor: pointer; -} - -.button span { - position: relative; - z-index: 2 -} - -.button:before { - content: " "; - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - background-color: rgba(0, 0, 0, 0.1); - opacity: 0; - z-index: 1; - -webkit-transition: opacity 0.1s ease-out; - -moz-transition: opacity 0.1s ease-out; - -o-transition: opacity 0.1s ease-out; - transition: opacity 0.1s ease-out -} - -.button:hover { - text-decoration: none; - color: #FFF -} - -.button:hover:before { - opacity: 1 -} - -.button.secondary { - background-color: #eaeaea; - color: #444444 -} - -.button.secondary:before { - background-color: rgba(0, 0, 0, 0.045) -} - -.button.delete, -.button.remove, -.button.red { - min-width: 120px; - background-color: #bc2031 -} - -.button.clean { - background-color: rgba(0, 0, 0, 0.025); - font-size: 14px; - box-shadow: 0 0 3px rgba(0, 0, 0, 0.08) -} - -.button.clean.primary { - font-weight: 600 -} - -.button.facebook { - background-color: #325c99 -} - -.button.twitter { - background-color: #02acec -} - -.button.google { - background-color: #dd4b39 -} - -.button.github { - background-color: #4c4c4c -} - -.button.trello { - background-color: #026aa7 -} - -.button.meteor-developer { - background-color: #de4f4f -} - -.sec-header { - margin: 16px 0; - text-align: center -} - -.sec-header>* { - display: inline-table; - width: auto; - vertical-align: middle; - line-height: 35px -} - -.sec-header label { - margin-left: 20px -} - -.mac-bar { - display: block; - position: relative; - height: 24px; - background-color: #ddd; - width: 100%; - z-index: 10 -} - -.mac-bar i { - height: 12px; - width: 12px; - display: inline-block; - background-color: #ff5f57; - border-radius: 50%; - position: absolute; - top: 6px; - left: 10px -} - -.mac-bar i:nth-child(2) { - left: 26px; - background-color: #ffbd2e -} - -.mac-bar i:nth-child(3) { - left: 42px; - background-color: #28ca41 -} - -.avatar { - height: 100%; - width: 100%; - overflow: hidden -} - -.avatar .avatar-image { - display: block; - background-color: transparent; - background-size: 100% auto -} - -#rocket-chat { - display: block; - width: 100%; - height: 100%; - position: absolute; - left: 0; - top: 0; - opacity: 1; - visibility: visible; - background-color: #fff; - -webkit-transition: opacity 0.2s ease-out; - -moz-transition: opacity 0.2s ease-out; - -o-transition: opacity 0.2s ease-out; - transition: opacity 0.2s ease-out -} - -#rocket-chat.-hidden { - visibility: hidden; - opacity: 0 -} - -#rocket-chat>.alert { - margin-bottom: 0; - padding: 5px; - position: absolute -} - -.page-container { - overflow-y: hidden -} - -.page-container .content { - padding: 0px 40px; - overflow-y: scroll; - margin-top: 60px; - padding-top: 15px; - -webkit-overflow-scrolling: touch; - -lh-property: 0; - height: -webkit-calc(100% - 60px); - height: -moz-calc(100% - 60px); - height: calc(100% - 60px) -} - -.page-container .content::-webkit-scrollbar { - width: 6px; - background: transparent -} - -.page-container .content::-webkit-scrollbar-thumb { - background-color: #eaeaea; - -webkit-border-radius: 50px -} - -.page-container .content::-webkit-scrollbar-corner { - background-color: transparent -} - -.fixed-title { - position: absolute; - display: block; - padding: 15px 10px 15px 20px; - background: #fff; - border-bottom: 1px solid #eaeaea; - z-index: 100; - top: 0; - left: 0; - width: 99% -} - -.fixed-title h2 { - max-width: 90%; - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; - font-size: 22px; - font-weight: 500; - line-height: 29px -} - -.fixed-title h2 .icon-star { - margin-right: -4px -} - -.fixed-title h2 .icon-at, -.fixed-title h2 .icon-hash { - margin-right: -7px; - color: #7f7f7f -} - -.fixed-title .hidden { - visibility: hidden; - display: none -} - -.main-content { - display: table; - position: relative; - margin-left: 260px; - margin-top: 0; - height: 100%; - -lh-property: 0; - width: -webkit-calc(100% - 260px); - width: -moz-calc(100% - 260px); - width: calc(100% - 260px); - -webkit-transition: width 0.25s cubic-bezier(0.5, 0, 0.1, 1); - -moz-transition: width 0.25s cubic-bezier(0.5, 0, 0.1, 1); - -o-transition: width 0.25s cubic-bezier(0.5, 0, 0.1, 1); - transition: width 0.25s cubic-bezier(0.5, 0, 0.1, 1) -} - -.main-content.flex-opened { - -lh-property: 0; - width: -webkit-calc(100% - 660px); - width: -moz-calc(100% - 660px); - width: calc(100% - 660px); - margin-right: 420px -} - -.main-content.flex-opened .flex-tab { - -webkit-transform: translateX(0px); - -moz-transform: translateX(0px); - -o-transform: translateX(0px); - -ms-transform: translateX(0px); - transform: translateX(0px) -} - -.main-content .container-fluid { - padding-top: 0 -} - -.main-content .history-date { - margin-bottom: 20px -} - -.page-static p { - margin-bottom: 12px -} - -.page-static h1, -.page-static h2, -.page-static h3, -.page-static h4 { - font-weight: 300; - text-transform: uppercase -} - -.page-home .fixed-title h2 { - overflow: visible -} - -.page-home .logo { - display: inline-block; - width: 240px; - margin-right: 6px; - vertical-align: text-top; - margin-top: -5px; - margin-left: 10px -} - -.page-home .info { - margin-bottom: 20px; - max-width: 680px; - line-height: 20px -} - -.page-home .social h4 { - margin-bottom: 8px -} - -.page-home .social nav { - margin-left: -4px -} - -.page-list .search { - margin-bottom: 12px -} - -.page-list .results { - padding: 10px 0; - border-bottom: 1px solid #DFDFDF; - margin-bottom: 10px; - font-weight: 300; - color: #7f7f7f -} - -.page-list .results p { - font-size: 12px; - text-transform: uppercase -} - -.page-list .list a { - display: inline-block; - padding: 10px 16px; - width: 100%; - color: #444444; - border-bottom: 1px solid #f4f4f4; - -webkit-transition: background 0.15s ease-out; - -moz-transition: background 0.15s ease-out; - -o-transition: background 0.15s ease-out; - transition: background 0.15s ease-out -} - -.page-list .list a:after { - content: "."; - display: block; - clear: both; - visibility: hidden; - line-height: 0; - height: 0 -} - -.page-list .list a:hover { - background-color: #f4f4f4 -} - -.page-list .list ul { - margin: 6px 0 -} - -.page-list .list li { - display: inline-block; - margin-right: 14px; - font-size: 11px; - color: #7f7f7f; - position: relative -} - -.page-list .list li:after { - content: " "; - width: 4px; - height: 4px; - border-radius: 50%; - background-color: #7f7f7f; - position: absolute; - right: -12px; - -lh-property: 0; - top: -webkit-calc(50% - 2px); - top: -moz-calc(50% - 2px); - top: calc(50% - 2px) -} - -.page-list .list li:nth-last-child(1):after { - display: none -} - -.page-list .list .info { - display: block; - float: left; - -lh-property: 0; - width: -webkit-calc(100% - 150px); - width: -moz-calc(100% - 150px); - width: calc(100% - 150px) -} - -.page-list .list .info i { - margin-right: 5px; - width: 20px; - text-align: left -} - -.page-list .list .info h3 { - font-size: 18px; - font-weight: 500 -} - -.page-list .list .info a { - text-decoration: none; - color: #444444 -} - -.page-list .list .status { - display: block; - float: right; - width: 150px; - min-height: 30px; - color: #7f7f7f; - text-align: right -} - -.page-list .list .status strong { - font-size: 12px; - font-weight: 500 -} - -.user-view { - padding: 20px -} - -.user-view .about { - width: 100%; - margin-bottom: 20px -} - -.user-view .thumb { - float: left; - width: 100px; - height: 100px -} - -.user-view .thumb .avatar { - border-radius: 0; - box-shadow: 1px 1px 0 rgba(0, 0, 0, 0.3) -} - -.user-view .thumb .avatar .avatar-initials { - line-height: 100px -} - -.user-view nav { - margin-left: -4px -} - -.user-view nav .back { - float: right -} - -.user-view .info { - margin-left: 120px; - white-space: normal; - -lh-property: 0; - width: -webkit-calc(100% - 120px); - width: -moz-calc(100% - 120px); - width: calc(100% - 120px) -} - -.user-view .info h3 { - font-size: 24px; - margin-bottom: 8px; - line-height: 22px -} - -.user-view .info p { - line-height: 18px; - font-size: 12px; - font-weight: 300; - color: #7f7f7f -} - -.user-view .stats li { - margin-bottom: 3px; - display: inline-block; - padding: 4px 6px; - background-color: #e9e9e9; - border-right: 2px; - border-radius: 2px -} - -.user-view .box { - position: relative; - margin-bottom: 25px; - font-size: 13px -} - -.user-view .box h4 { - margin-bottom: 6px -} - -.user-view .box:after { - content: " "; - height: 1px; - width: 100%; - bottom: -10px; - left: 0; - background-color: #CDCDCD; - position: absolute -} - -.user-view .tags li { - display: inline-block; - padding: 4px; - background-color: #CDCDCD; - border-right: 2px -} - -.user-view .links i { - margin-right: 5px; - font-size: 13px -} - -.user-view .links a { - white-space: nowrap; - max-width: 100%; - overflow: hidden; - text-overflow: ellipsis; - display: block; - border-radius: 2px; - padding: 0 5px; - color: #6f6f6f; - line-height: 22px; - position: relative; - -webkit-transition: background 0.18s ease, colo 0.18s ease; - -moz-transition: background 0.18s ease, colo 0.18s ease; - -o-transition: background 0.18s ease, colo 0.18s ease; - transition: background 0.18s ease, colo 0.18s ease -} - -.user-view .links a:before { - content: attr(data-stats); - position: absolute; - right: 5px; - top: 0; - font-size: 11px; - opacity: 0 -} - -.user-view .links a:hover { - padding-right: 34px; - background-color: #e9e9e9; - text-decoration: none; - color: #333 -} - -.user-view .links a:hover:before { - opacity: 1 -} - -.user-view .links a span { - font-weight: 300 -} - -.user-view .contact-code { - margin: -5px 0 10px 0; - font-size: 12px -} - -.user-image { - margin: 4px; - height: 40px; - width: 40px; - cursor: pointer; - background-color: #eaeaea; - font-size: 12px; - position: relative; - display: inline-table -} - -.user-image:hover .avatar:after, -.user-image.selected .avatar:after { - -webkit-transform: scaleX(1); - -moz-transform: scaleX(1); - -o-transform: scaleX(1); - -ms-transform: scaleX(1); - transform: scaleX(1) -} - -.status-offline .user-image:hover .avatar:after, -.status-offline .user-image.selected .avatar:after, -.status-offline .user-image:hover .avatar:before, -.status-offline .user-image.selected .avatar:before { - background-color: #cccccc -} - -.status-online .user-image:hover .avatar:after, -.status-online .user-image.selected .avatar:after, -.status-online .user-image:hover .avatar:before, -.status-online .user-image.selected .avatar:before { - background-color: #35ac19 -} - -.status-away .user-image:hover .avatar:after, -.status-away .user-image.selected .avatar:after, -.status-away .user-image:hover .avatar:before, -.status-away .user-image.selected .avatar:before { - background-color: #fcb316 -} - -.status-busy .user-image:hover .avatar:after, -.status-busy .user-image.selected .avatar:after, -.status-busy .user-image:hover .avatar:before, -.status-busy .user-image.selected .avatar:before { - background-color: #d30230 -} - -.user-image:hover .avatar p, -.user-image.selected .avatar p { - color: #444444 -} - -.user-image .avatar { - overflow: visible -} - -.user-image .avatar:after, -.user-image .avatar:before { - content: " "; - width: 100%; - height: 2px; - position: absolute; - z-index: 1; - left: 0px -} - -.user-image .avatar:after { - bottom: -4px; - -webkit-transform: scaleX(0); - -moz-transform: scaleX(0); - -o-transform: scaleX(0); - -ms-transform: scaleX(0); - transform: scaleX(0); - -webkit-transform-origin: 50% 50%; - -moz-transform-origin: 50% 50%; - -o-transform-origin: 50% 50%; - -ms-transform-origin: 50% 50%; - transform-origin: 50% 50%; - -webkit-transition: -webkit-transform 0.15s ease-out 0.02s; - -moz-transition: -moz-transform 0.15s ease-out 0.02s; - -o-transition: -o-transform 0.15s ease-out 0.02s; - transition: -webkit-transform 0.15s ease-out 0.02s, -moz-transform 0.15s ease-out 0.02s, -o-transform 0.15s ease-out 0.02s, transform 0.15s ease-out 0.02s -} - -.user-image .avatar:before { - bottom: -3px -} - -.user-image .avatar .avatar-initials { - line-height: 40px -} - -.user-image p { - display: none -} - -.lines .user-image { - width: 100%; - margin: 0; - background-color: transparent -} - -.lines .user-image:after { - display: none -} - -.lines .user-image a { - display: inline-block; - padding: 5px 0; - height: auto; - background-color: transparent; - display: block -} - -.lines .user-image a:after { - content: "."; - display: block; - clear: both; - visibility: hidden; - line-height: 0; - height: 0 -} - -.lines .user-image a>div { - float: left; - width: 40px; - height: 40px -} - -.lines .user-image p { - float: left; - display: block; - line-height: 40px; - font-size: 15px; - font-weight: 400; - overflow: hidden; - text-overflow: ellipsis; - position: relative; - padding-left: 10px; - color: #7f7f7f; - -lh-property: 0; - width: -webkit-calc(100% - 45px); - width: -moz-calc(100% - 45px); - width: calc(100% - 45px) -} - -#login-card h2 { - color: #444444; - margin-bottom: 30px -} - -#login-card h2.error { - color: #b40202 -} - -#login-card h3.error { - color: #b40202 -} - -#login-card img { - width: 200px -} - -#login-card a { - color: #04436a; - margin: 4px 0; - display: inline-block -} - -#login-card a:active { - color: #04436a -} - -#login-card a:hover { - color: #022439 -} - -#login-card .options { - display: none; - width: 100%; - font-size: 10px -} - -#login-card .submit { - margin-bottom: 12px; - padding-top: 4px -} - -#login-card .remember { - float: left -} - -#login-card .remember input { - margin-right: 4px -} - -#login-card .forgot { - float: right; - line-height: 20px -} - -#login-card .fields { - -webkit-transform-style: preserve-3d; - -moz-transform-style: preserve-3d; - -o-transform-style: preserve-3d; - -ms-transform-style: preserve-3d; - transform-style: preserve-3d; - -webkit-perspective: 600px; - -moz-perspective: 600px; - perspective: 600px; - margin-bottom: 26px -} - -#login-card .fields label { - font-family: "Roboto"; - font-size: 13px; - margin-top: 10px; - color: #AAA; - margin-left: 12px -} - -#login-card .input-text { - margin: 0 0 14px 0; - position: relative -} - -#login-card .input-text:before { - content: " "; - width: 100%; - height: 40px; - position: absolute; - top: 7px; - left: 0; - cursor: text -} - -#login-card .input-text.active:before { - visibility: hidden -} - -#login-card .input-text.active .field { - -webkit-transform: rotateX(0deg); - -moz-transform: rotateX(0deg); - -o-transform: rotateX(0deg); - -ms-transform: rotateX(0deg); - transform: rotateX(0deg) -} - -#login-card .input-text:hover i { - background-color: #BFBFBF -} - -#login-card .input-text:hover label { - color: #999 -} - -#login-card .field { - display: block; - -webkit-transform-origin: 50% 100% 0; - -moz-transform-origin: 50% 100% 0; - -o-transform-origin: 50% 100% 0; - -ms-transform-origin: 50% 100% 0; - transform-origin: 50% 100% 0; - -webkit-transform: rotateX(100deg); - -moz-transform: rotateX(100deg); - -o-transform: rotateX(100deg); - -ms-transform: rotateX(100deg); - transform: rotateX(100deg); - -webkit-transform-style: preserve-3d; - -moz-transform-style: preserve-3d; - -o-transform-style: preserve-3d; - -ms-transform-style: preserve-3d; - transform-style: preserve-3d; - -webkit-backface-visibility: hidden; - -moz-backface-visibility: hidden; - -o-backface-visibility: hidden; - -ms-backface-visibility: hidden; - backface-visibility: hidden; - -webkit-transition: -webkit-transform 0.38s cubic-bezier(0.5, 0, 0.1, 1); - -moz-transition: -moz-transform 0.38s cubic-bezier(0.5, 0, 0.1, 1); - -o-transition: -o-transform 0.38s cubic-bezier(0.5, 0, 0.1, 1); - transition: -webkit-transform 0.38s cubic-bezier(0.5, 0, 0.1, 1), -moz-transform 0.38s cubic-bezier(0.5, 0, 0.1, 1), -o-transform 0.38s cubic-bezier(0.5, 0, 0.1, 1), transform 0.38s cubic-bezier(0.5, 0, 0.1, 1) -} - -#login-card .field i { - display: block; - width: 100%; - height: 3px; - background-color: #EAEAEA; - position: absolute; - bottom: 0; - left: 0; - -webkit-transform-origin: 50% 100% 0; - -moz-transform-origin: 50% 100% 0; - -o-transform-origin: 50% 100% 0; - -ms-transform-origin: 50% 100% 0; - transform-origin: 50% 100% 0; - -webkit-transform: rotateX(-90deg) translateY(4px); - -moz-transform: rotateX(-90deg) translateY(4px); - -o-transform: rotateX(-90deg) translateY(4px); - -ms-transform: rotateX(-90deg) translateY(4px); - transform: rotateX(-90deg) translateY(4px); - -webkit-transition: background 0.2s ease-out; - -moz-transition: background 0.2s ease-out; - -o-transition: background 0.2s ease-out; - transition: background 0.2s ease-out -} - -#login-card .field span { - display: block; - -webkit-transform-style: flat; - -moz-transform-style: flat; - -o-transform-style: flat; - -ms-transform-style: flat; - transform-style: flat -} - -#login-card .field input { - box-shadow: 0 0 0; - background-color: transparent; - border-width: 0; - position: relative; - padding: 4px 8px; - font-size: 22px; - border-bottom: 1px solid #DFDFDF; - font-family: "Roboto"; - font-weight: 300 -} - -#login-card .field input.error { - border-bottom: 1px solid #b40202; -} - -#login-card .field input.error::-webkit-input-placeholder { - color: #b40202 -} - -#login-card .field input.error:-moz-placeholder { - color: #b40202 -} - -#login-card .field input.error::-moz-placeholder { - color: #b40202 -} - -#login-card .field input.error:-ms-input-placeholder { - color: #b40202 -} - -#login-card .field input:-webkit-autofill { - color: #fff !important -} - -#login-card .field input:-webkit-autofill { - -webkit-box-shadow: 0 0 0px 1000px #f4f4f4 inset; - background-color: transparent !important -} - -.social-login { - margin: 35px 0 30px; - text-align: center; - position: relative; - z-index: 1 -} - -.social-login h3 { - margin-top: 0; - margin-bottom: 12px -} - -.full-page { - text-align: center; - display: block; - width: 100%; - min-height: 100%; - z-index: 101; - background-color: #022439; - background-image: 8121991; - background-image: -webkit-linear-gradient(#022439, #04436a); - background-image: -moz-linear-gradient(#022439, #04436a); - background-image: -o-linear-gradient(#022439, #04436a); - background-image: linear-gradient(#022439, #04436a) -} - -.full-page .wrapper { - text-align: center; - padding: 60px 0; - z-index: 10; - position: relative -} - -.full-page .logo { - display: block; - margin-bottom: 30px -} - -.full-page .logo>img { - display: inline-block; - position: relative; - top: 0; - right: 0; - z-index: 20; - width: 500px; - max-width: 90% -} - -.full-page a { - font-family: "Roboto"; - font-weight: 300 -} - -.full-page .screen { - display: block; - margin: 0 auto 30px; - max-width: 520px; - width: 90%; - position: relative; - box-shadow: 0 0 8px 6px rgba(0, 0, 0, 0.1); - z-index: 5; - text-decoration: none -} - -.full-page .screen figure { - display: block; - width: 100%; - height: 0; - padding-bottom: 53%; - background: url(/images/new-screen.jpg) no-repeat 50% 50% #DFDFDF; - background-size: 100% auto -} - -.full-page .screen>span { - display: block; - position: relative; - height: 24px; - background-color: #ddd; - width: 100%; - z-index: 10 -} - -.full-page .screen>span i { - height: 12px; - width: 12px; - display: inline-block; - background-color: #ff5f57; - border-radius: 50%; - position: absolute; - top: 6px; - left: 10px -} - -.full-page .screen>span i:nth-child(2) { - left: 26px; - background-color: #ffbd2e -} - -.full-page .screen>span i:nth-child(3) { - left: 42px; - background-color: #28ca41 -} - -.full-page .screen .button { - display: block; - position: absolute; - -lh-property: 0; - top: -webkit-calc(50% - 17px); - top: -moz-calc(50% - 17px); - top: calc(50% - 17px); - -lh-property: 0; - left: -webkit-calc(50% - 94px); - left: -moz-calc(50% - 94px); - left: calc(50% - 94px); - -webkit-transform: scale(0.75); - -moz-transform: scale(0.75); - -o-transform: scale(0.75); - -ms-transform: scale(0.75); - transform: scale(0.75); - opacity: 0; - -webkit-transition: -webkit-transform 0.2s cubic-bezier(0, 0.4, 0.4, 1.5), opacity 0.1s ease-out; - -moz-transition: -moz-transform 0.2s cubic-bezier(0, 0.4, 0.4, 1.5), opacity 0.1s ease-out; - -o-transition: -o-transform 0.2s cubic-bezier(0, 0.4, 0.4, 1.5), opacity 0.1s ease-out; - transition: -webkit-transform 0.2s cubic-bezier(0, 0.4, 0.4, 1.5), -moz-transform 0.2s cubic-bezier(0, 0.4, 0.4, 1.5), -o-transform 0.2s cubic-bezier(0, 0.4, 0.4, 1.5), transform 0.2s cubic-bezier(0, 0.4, 0.4, 1.5), opacity 0.1s ease-out -} - -.full-page .screen:hover .button { - -webkit-transform: scale(1); - -moz-transform: scale(1); - -o-transform: scale(1); - -ms-transform: scale(1); - transform: scale(1); - opacity: 1 -} - -.full-page .cell { - display: table-cell; - vertical-align: middle; - text-align: center -} - -.full-page header { - display: block; - position: relative; - z-index: 1 -} - -.full-page .text { - color: #FFF; - font-weight: 300; - margin-bottom: 25px; - margin: 0 auto 12px; - max-width: 580px; - width: 90%; - position: relative; - z-index: 1 -} - -.full-page .text .button { - background-color: #bc2031; - color: #FFF; - font-weight: 400; - padding: 16px 20px; - margin-top: 20px -} - -.full-page .text h1 { - font-weight: 700; - text-transform: uppercase; - font-size: 24px; - letter-spacing: -0.5px; - margin-bottom: 20px; - display: none -} - -.full-page .text p { - margin: 18px 0; - font-size: 16px; - line-height: 24px; - font-weight: 300; -} - -.full-page footer { - color: #fff; - padding: 20px 0 0; - position: relative; - z-index: 1 -} - -.full-page footer div.switch-language { - margin-top: 20px -} - -.full-page footer div.switch-language a { - color: #7f7f7f -} - -.full-page a.meteor { - position: fixed; - right: 30px; - bottom: 20px; - width: 100px; - height: 50px; - background: url(/images/meteor.png) no-repeat center center; - background-size: 100% auto; - text-indent: -9999em -} - -.full-page .connect { - position: fixed -} - -.full-page .share { - border-radius: 50%; - min-height: 40px; - line-height: 20px -} - -.full-page .share:before { - border-radius: 50% -} - -.full-page .share span { - display: none -} - -.rocket-team{ - max-width: 520px; - width: 90%; - margin: 0 auto 50px; -} - -.full-page footer h4 { - font-weight: 300; - text-transform: uppercase; - font-size: 16px; - letter-spacing: -0.5px; - margin: 12px 0; - color: #EFEFEF; - line-height: 16px; -} - -.full-page footer p{ - margin: 12px 0; - font-size: 14px; - line-height: 20px; - font-weight: 300; -} - -.rocket-team li{ - display: inline-block; -} - -.rocket-team a{ - display: inline-block; - width: 50px; - height: 50px; - border-radius: 50%; - background-size: 100%; - background-position: 50% 50%; - margin-right: 5px; -} - -github-fork{ - display: block; - position: fixed; - z-index: 10; - top: 0; - right: 0; -} - -@media all and (max-width: 750px){ - github-fork{ - display: none !important; - } -} - -#particles-js{ - position: fixed; - width: 100%; - height: 100%; - top: 0; - left: 0; -} diff --git a/public/scripts/particles.js b/public/scripts/particles.js deleted file mode 100644 index b3d46d127fce3c8c3d2cb8a234a6d3f7bb8bbcaf..0000000000000000000000000000000000000000 --- a/public/scripts/particles.js +++ /dev/null @@ -1,9 +0,0 @@ -/* ----------------------------------------------- -/* Author : Vincent Garreau - vincentgarreau.com -/* MIT license: http://opensource.org/licenses/MIT -/* Demo / Generator : vincentgarreau.com/particles.js -/* GitHub : github.com/VincentGarreau/particles.js -/* How to use? : Check the GitHub README -/* v2.0.0 -/* ----------------------------------------------- */ -function hexToRgb(e){var a=/^#?([a-f\d])([a-f\d])([a-f\d])$/i;e=e.replace(a,function(e,a,t,i){return a+a+t+t+i+i});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 clamp(e,a,t){return Math.min(Math.max(e,a),t)}function isInArray(e,a){return a.indexOf(e)>-1}var pJS=function(e,a){var t=document.querySelector("#"+e+" > .particles-js-canvas-el");this.pJS={canvas:{el:t,w:t.offsetWidth,h:t.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 i=this.pJS;a&&Object.deepExtend(i,a),i.tmp.obj={size_value:i.particles.size.value,size_anim_speed:i.particles.size.anim.speed,move_speed:i.particles.move.speed,line_linked_distance:i.particles.line_linked.distance,line_linked_width:i.particles.line_linked.width,mode_grab_distance:i.interactivity.modes.grab.distance,mode_bubble_distance:i.interactivity.modes.bubble.distance,mode_bubble_size:i.interactivity.modes.bubble.size,mode_repulse_distance:i.interactivity.modes.repulse.distance},i.fn.retinaInit=function(){i.retina_detect&&window.devicePixelRatio>1?(i.canvas.pxratio=window.devicePixelRatio,i.tmp.retina=!0):(i.canvas.pxratio=1,i.tmp.retina=!1),i.canvas.w=i.canvas.el.offsetWidth*i.canvas.pxratio,i.canvas.h=i.canvas.el.offsetHeight*i.canvas.pxratio,i.particles.size.value=i.tmp.obj.size_value*i.canvas.pxratio,i.particles.size.anim.speed=i.tmp.obj.size_anim_speed*i.canvas.pxratio,i.particles.move.speed=i.tmp.obj.move_speed*i.canvas.pxratio,i.particles.line_linked.distance=i.tmp.obj.line_linked_distance*i.canvas.pxratio,i.interactivity.modes.grab.distance=i.tmp.obj.mode_grab_distance*i.canvas.pxratio,i.interactivity.modes.bubble.distance=i.tmp.obj.mode_bubble_distance*i.canvas.pxratio,i.particles.line_linked.width=i.tmp.obj.line_linked_width*i.canvas.pxratio,i.interactivity.modes.bubble.size=i.tmp.obj.mode_bubble_size*i.canvas.pxratio,i.interactivity.modes.repulse.distance=i.tmp.obj.mode_repulse_distance*i.canvas.pxratio},i.fn.canvasInit=function(){i.canvas.ctx=i.canvas.el.getContext("2d")},i.fn.canvasSize=function(){i.canvas.el.width=i.canvas.w,i.canvas.el.height=i.canvas.h,i&&i.interactivity.events.resize&&window.addEventListener("resize",function(){i.canvas.w=i.canvas.el.offsetWidth,i.canvas.h=i.canvas.el.offsetHeight,i.tmp.retina&&(i.canvas.w*=i.canvas.pxratio,i.canvas.h*=i.canvas.pxratio),i.canvas.el.width=i.canvas.w,i.canvas.el.height=i.canvas.h,i.particles.move.enable||(i.fn.particlesEmpty(),i.fn.particlesCreate(),i.fn.particlesDraw(),i.fn.vendors.densityAutoParticles()),i.fn.vendors.densityAutoParticles()})},i.fn.canvasPaint=function(){i.canvas.ctx.fillRect(0,0,i.canvas.w,i.canvas.h)},i.fn.canvasClear=function(){i.canvas.ctx.clearRect(0,0,i.canvas.w,i.canvas.h)},i.fn.particle=function(e,a,t){if(this.radius=(i.particles.size.random?Math.random():1)*i.particles.size.value,i.particles.size.anim.enable&&(this.size_status=!1,this.vs=i.particles.size.anim.speed/100,i.particles.size.anim.sync||(this.vs=this.vs*Math.random())),this.x=t?t.x:Math.random()*i.canvas.w,this.y=t?t.y:Math.random()*i.canvas.h,this.x>i.canvas.w-2*this.radius?this.x=this.x-this.radius:this.x<2*this.radius&&(this.x=this.x+this.radius),this.y>i.canvas.h-2*this.radius?this.y=this.y-this.radius:this.y<2*this.radius&&(this.y=this.y+this.radius),i.particles.move.bounce&&i.fn.vendors.checkOverlap(this,t),this.color={},"object"==typeof e.value)if(e.value instanceof Array){var s=e.value[Math.floor(Math.random()*i.particles.color.value.length)];this.color.rgb=hexToRgb(s)}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=hexToRgb(this.color.value));this.opacity=(i.particles.opacity.random?Math.random():1)*i.particles.opacity.value,i.particles.opacity.anim.enable&&(this.opacity_status=!1,this.vo=i.particles.opacity.anim.speed/100,i.particles.opacity.anim.sync||(this.vo=this.vo*Math.random()));var n={};switch(i.particles.move.direction){case"top":n={x:0,y:-1};break;case"top-right":n={x:.5,y:-.5};break;case"right":n={x:1,y:-0};break;case"bottom-right":n={x:.5,y:.5};break;case"bottom":n={x:0,y:1};break;case"bottom-left":n={x:-.5,y:1};break;case"left":n={x:-1,y:0};break;case"top-left":n={x:-.5,y:-.5};break;default:n={x:0,y:0}}i.particles.move.straight?(this.vx=n.x,this.vy=n.y,i.particles.move.random&&(this.vx=this.vx*Math.random(),this.vy=this.vy*Math.random())):(this.vx=n.x+Math.random()-.5,this.vy=n.y+Math.random()-.5),this.vx_i=this.vx,this.vy_i=this.vy;var r=i.particles.shape.type;if("object"==typeof r){if(r instanceof Array){var c=r[Math.floor(Math.random()*r.length)];this.shape=c}}else this.shape=r;if("image"==this.shape){var o=i.particles.shape;this.img={src:o.image.src,ratio:o.image.width/o.image.height},this.img.ratio||(this.img.ratio=1),"svg"==i.tmp.img_type&&void 0!=i.tmp.source_svg&&(i.fn.vendors.createSvgImg(this),i.tmp.pushing&&(this.img.loaded=!1))}},i.fn.particle.prototype.draw=function(){function e(){i.canvas.ctx.drawImage(r,a.x-t,a.y-t,2*t,2*t/a.img.ratio)}var a=this;if(void 0!=a.radius_bubble)var t=a.radius_bubble;else var t=a.radius;if(void 0!=a.opacity_bubble)var s=a.opacity_bubble;else var s=a.opacity;if(a.color.rgb)var n="rgba("+a.color.rgb.r+","+a.color.rgb.g+","+a.color.rgb.b+","+s+")";else var n="hsla("+a.color.hsl.h+","+a.color.hsl.s+"%,"+a.color.hsl.l+"%,"+s+")";switch(i.canvas.ctx.fillStyle=n,i.canvas.ctx.beginPath(),a.shape){case"circle":i.canvas.ctx.arc(a.x,a.y,t,0,2*Math.PI,!1);break;case"edge":i.canvas.ctx.rect(a.x-t,a.y-t,2*t,2*t);break;case"triangle":i.fn.vendors.drawShape(i.canvas.ctx,a.x-t,a.y+t/1.66,2*t,3,2);break;case"polygon":i.fn.vendors.drawShape(i.canvas.ctx,a.x-t/(i.particles.shape.polygon.nb_sides/3.5),a.y-t/.76,2.66*t/(i.particles.shape.polygon.nb_sides/3),i.particles.shape.polygon.nb_sides,1);break;case"star":i.fn.vendors.drawShape(i.canvas.ctx,a.x-2*t/(i.particles.shape.polygon.nb_sides/4),a.y-t/1.52,2*t*2.66/(i.particles.shape.polygon.nb_sides/3),i.particles.shape.polygon.nb_sides,2);break;case"image":if("svg"==i.tmp.img_type)var r=a.img.obj;else var r=i.tmp.img_obj;r&&e()}i.canvas.ctx.closePath(),i.particles.shape.stroke.width>0&&(i.canvas.ctx.strokeStyle=i.particles.shape.stroke.color,i.canvas.ctx.lineWidth=i.particles.shape.stroke.width,i.canvas.ctx.stroke()),i.canvas.ctx.fill()},i.fn.particlesCreate=function(){for(var e=0;e<i.particles.number.value;e++)i.particles.array.push(new i.fn.particle(i.particles.color,i.particles.opacity.value))},i.fn.particlesUpdate=function(){for(var e=0;e<i.particles.array.length;e++){var a=i.particles.array[e];if(i.particles.move.enable){var t=i.particles.move.speed/2;a.x+=a.vx*t,a.y+=a.vy*t}if(i.particles.opacity.anim.enable&&(1==a.opacity_status?(a.opacity>=i.particles.opacity.value&&(a.opacity_status=!1),a.opacity+=a.vo):(a.opacity<=i.particles.opacity.anim.opacity_min&&(a.opacity_status=!0),a.opacity-=a.vo),a.opacity<0&&(a.opacity=0)),i.particles.size.anim.enable&&(1==a.size_status?(a.radius>=i.particles.size.value&&(a.size_status=!1),a.radius+=a.vs):(a.radius<=i.particles.size.anim.size_min&&(a.size_status=!0),a.radius-=a.vs),a.radius<0&&(a.radius=0)),"bounce"==i.particles.move.out_mode)var s={x_left:a.radius,x_right:i.canvas.w,y_top:a.radius,y_bottom:i.canvas.h};else var s={x_left:-a.radius,x_right:i.canvas.w+a.radius,y_top:-a.radius,y_bottom:i.canvas.h+a.radius};switch(a.x-a.radius>i.canvas.w?(a.x=s.x_left,a.y=Math.random()*i.canvas.h):a.x+a.radius<0&&(a.x=s.x_right,a.y=Math.random()*i.canvas.h),a.y-a.radius>i.canvas.h?(a.y=s.y_top,a.x=Math.random()*i.canvas.w):a.y+a.radius<0&&(a.y=s.y_bottom,a.x=Math.random()*i.canvas.w),i.particles.move.out_mode){case"bounce":a.x+a.radius>i.canvas.w?a.vx=-a.vx:a.x-a.radius<0&&(a.vx=-a.vx),a.y+a.radius>i.canvas.h?a.vy=-a.vy:a.y-a.radius<0&&(a.vy=-a.vy)}if(isInArray("grab",i.interactivity.events.onhover.mode)&&i.fn.modes.grabParticle(a),(isInArray("bubble",i.interactivity.events.onhover.mode)||isInArray("bubble",i.interactivity.events.onclick.mode))&&i.fn.modes.bubbleParticle(a),(isInArray("repulse",i.interactivity.events.onhover.mode)||isInArray("repulse",i.interactivity.events.onclick.mode))&&i.fn.modes.repulseParticle(a),i.particles.line_linked.enable||i.particles.move.attract.enable)for(var n=e+1;n<i.particles.array.length;n++){var r=i.particles.array[n];i.particles.line_linked.enable&&i.fn.interact.linkParticles(a,r),i.particles.move.attract.enable&&i.fn.interact.attractParticles(a,r),i.particles.move.bounce&&i.fn.interact.bounceParticles(a,r)}}},i.fn.particlesDraw=function(){i.canvas.ctx.clearRect(0,0,i.canvas.w,i.canvas.h),i.fn.particlesUpdate();for(var e=0;e<i.particles.array.length;e++){var a=i.particles.array[e];a.draw()}},i.fn.particlesEmpty=function(){i.particles.array=[]},i.fn.particlesRefresh=function(){cancelRequestAnimFrame(i.fn.checkAnimFrame),cancelRequestAnimFrame(i.fn.drawAnimFrame),i.tmp.source_svg=void 0,i.tmp.img_obj=void 0,i.tmp.count_svg=0,i.fn.particlesEmpty(),i.fn.canvasClear(),i.fn.vendors.start()},i.fn.interact.linkParticles=function(e,a){var t=e.x-a.x,s=e.y-a.y,n=Math.sqrt(t*t+s*s);if(n<=i.particles.line_linked.distance){var r=i.particles.line_linked.opacity-n/(1/i.particles.line_linked.opacity)/i.particles.line_linked.distance;if(r>0){var c=i.particles.line_linked.color_rgb_line;i.canvas.ctx.strokeStyle="rgba("+c.r+","+c.g+","+c.b+","+r+")",i.canvas.ctx.lineWidth=i.particles.line_linked.width,i.canvas.ctx.beginPath(),i.canvas.ctx.moveTo(e.x,e.y),i.canvas.ctx.lineTo(a.x,a.y),i.canvas.ctx.stroke(),i.canvas.ctx.closePath()}}},i.fn.interact.attractParticles=function(e,a){var t=e.x-a.x,s=e.y-a.y,n=Math.sqrt(t*t+s*s);if(n<=i.particles.line_linked.distance){var r=t/(1e3*i.particles.move.attract.rotateX),c=s/(1e3*i.particles.move.attract.rotateY);e.vx-=r,e.vy-=c,a.vx+=r,a.vy+=c}},i.fn.interact.bounceParticles=function(e,a){var t=e.x-a.x,i=e.y-a.y,s=Math.sqrt(t*t+i*i),n=e.radius+a.radius;n>=s&&(e.vx=-e.vx,e.vy=-e.vy,a.vx=-a.vx,a.vy=-a.vy)},i.fn.modes.pushParticles=function(e,a){i.tmp.pushing=!0;for(var t=0;e>t;t++)i.particles.array.push(new i.fn.particle(i.particles.color,i.particles.opacity.value,{x:a?a.pos_x:Math.random()*i.canvas.w,y:a?a.pos_y:Math.random()*i.canvas.h})),t==e-1&&(i.particles.move.enable||i.fn.particlesDraw(),i.tmp.pushing=!1)},i.fn.modes.removeParticles=function(e){i.particles.array.splice(0,e),i.particles.move.enable||i.fn.particlesDraw()},i.fn.modes.bubbleParticle=function(e){function a(){e.opacity_bubble=e.opacity,e.radius_bubble=e.radius}function t(a,t,s,n,c){if(a!=t)if(i.tmp.bubble_duration_end){if(void 0!=s){var o=n-p*(n-a)/i.interactivity.modes.bubble.duration,l=a-o;d=a+l,"size"==c&&(e.radius_bubble=d),"opacity"==c&&(e.opacity_bubble=d)}}else if(r<=i.interactivity.modes.bubble.distance){if(void 0!=s)var v=s;else var v=n;if(v!=a){var d=n-p*(n-a)/i.interactivity.modes.bubble.duration;"size"==c&&(e.radius_bubble=d),"opacity"==c&&(e.opacity_bubble=d)}}else"size"==c&&(e.radius_bubble=void 0),"opacity"==c&&(e.opacity_bubble=void 0)}if(i.interactivity.events.onhover.enable&&isInArray("bubble",i.interactivity.events.onhover.mode)){var s=e.x-i.interactivity.mouse.pos_x,n=e.y-i.interactivity.mouse.pos_y,r=Math.sqrt(s*s+n*n),c=1-r/i.interactivity.modes.bubble.distance;if(r<=i.interactivity.modes.bubble.distance){if(c>=0&&"mousemove"==i.interactivity.status){if(i.interactivity.modes.bubble.size!=i.particles.size.value)if(i.interactivity.modes.bubble.size>i.particles.size.value){var o=e.radius+i.interactivity.modes.bubble.size*c;o>=0&&(e.radius_bubble=o)}else{var l=e.radius-i.interactivity.modes.bubble.size,o=e.radius-l*c;o>0?e.radius_bubble=o:e.radius_bubble=0}if(i.interactivity.modes.bubble.opacity!=i.particles.opacity.value)if(i.interactivity.modes.bubble.opacity>i.particles.opacity.value){var v=i.interactivity.modes.bubble.opacity*c;v>e.opacity&&v<=i.interactivity.modes.bubble.opacity&&(e.opacity_bubble=v)}else{var v=e.opacity-(i.particles.opacity.value-i.interactivity.modes.bubble.opacity)*c;v<e.opacity&&v>=i.interactivity.modes.bubble.opacity&&(e.opacity_bubble=v)}}}else a();"mouseleave"==i.interactivity.status&&a()}else if(i.interactivity.events.onclick.enable&&isInArray("bubble",i.interactivity.events.onclick.mode)){if(i.tmp.bubble_clicking){var s=e.x-i.interactivity.mouse.click_pos_x,n=e.y-i.interactivity.mouse.click_pos_y,r=Math.sqrt(s*s+n*n),p=((new Date).getTime()-i.interactivity.mouse.click_time)/1e3;p>i.interactivity.modes.bubble.duration&&(i.tmp.bubble_duration_end=!0),p>2*i.interactivity.modes.bubble.duration&&(i.tmp.bubble_clicking=!1,i.tmp.bubble_duration_end=!1)}i.tmp.bubble_clicking&&(t(i.interactivity.modes.bubble.size,i.particles.size.value,e.radius_bubble,e.radius,"size"),t(i.interactivity.modes.bubble.opacity,i.particles.opacity.value,e.opacity_bubble,e.opacity,"opacity"))}},i.fn.modes.repulseParticle=function(e){function a(){var a=Math.atan2(d,p);if(e.vx=u*Math.cos(a),e.vy=u*Math.sin(a),"bounce"==i.particles.move.out_mode){var t={x:e.x+e.vx,y:e.y+e.vy};t.x+e.radius>i.canvas.w?e.vx=-e.vx:t.x-e.radius<0&&(e.vx=-e.vx),t.y+e.radius>i.canvas.h?e.vy=-e.vy:t.y-e.radius<0&&(e.vy=-e.vy)}}if(i.interactivity.events.onhover.enable&&isInArray("repulse",i.interactivity.events.onhover.mode)&&"mousemove"==i.interactivity.status){var t=e.x-i.interactivity.mouse.pos_x,s=e.y-i.interactivity.mouse.pos_y,n=Math.sqrt(t*t+s*s),r={x:t/n,y:s/n},c=i.interactivity.modes.repulse.distance,o=100,l=clamp(1/c*(-1*Math.pow(n/c,2)+1)*c*o,0,50),v={x:e.x+r.x*l,y:e.y+r.y*l};"bounce"==i.particles.move.out_mode?(v.x-e.radius>0&&v.x+e.radius<i.canvas.w&&(e.x=v.x),v.y-e.radius>0&&v.y+e.radius<i.canvas.h&&(e.y=v.y)):(e.x=v.x,e.y=v.y)}else if(i.interactivity.events.onclick.enable&&isInArray("repulse",i.interactivity.events.onclick.mode))if(i.tmp.repulse_finish||(i.tmp.repulse_count++,i.tmp.repulse_count==i.particles.array.length&&(i.tmp.repulse_finish=!0)),i.tmp.repulse_clicking){var c=Math.pow(i.interactivity.modes.repulse.distance/6,3),p=i.interactivity.mouse.click_pos_x-e.x,d=i.interactivity.mouse.click_pos_y-e.y,m=p*p+d*d,u=-c/m*1;c>=m&&a()}else 0==i.tmp.repulse_clicking&&(e.vx=e.vx_i,e.vy=e.vy_i)},i.fn.modes.grabParticle=function(e){if(i.interactivity.events.onhover.enable&&"mousemove"==i.interactivity.status){var a=e.x-i.interactivity.mouse.pos_x,t=e.y-i.interactivity.mouse.pos_y,s=Math.sqrt(a*a+t*t);if(s<=i.interactivity.modes.grab.distance){var n=i.interactivity.modes.grab.line_linked.opacity-s/(1/i.interactivity.modes.grab.line_linked.opacity)/i.interactivity.modes.grab.distance;if(n>0){var r=i.particles.line_linked.color_rgb_line;i.canvas.ctx.strokeStyle="rgba("+r.r+","+r.g+","+r.b+","+n+")",i.canvas.ctx.lineWidth=i.particles.line_linked.width,i.canvas.ctx.beginPath(),i.canvas.ctx.moveTo(e.x,e.y),i.canvas.ctx.lineTo(i.interactivity.mouse.pos_x,i.interactivity.mouse.pos_y),i.canvas.ctx.stroke(),i.canvas.ctx.closePath()}}}},i.fn.vendors.eventsListeners=function(){"window"==i.interactivity.detect_on?i.interactivity.el=window:i.interactivity.el=i.canvas.el,(i.interactivity.events.onhover.enable||i.interactivity.events.onclick.enable)&&(i.interactivity.el.addEventListener("mousemove",function(e){if(i.interactivity.el==window)var a=e.clientX,t=e.clientY;else var a=e.offsetX||e.clientX,t=e.offsetY||e.clientY;i.interactivity.mouse.pos_x=a,i.interactivity.mouse.pos_y=t,i.tmp.retina&&(i.interactivity.mouse.pos_x*=i.canvas.pxratio,i.interactivity.mouse.pos_y*=i.canvas.pxratio),i.interactivity.status="mousemove"}),i.interactivity.el.addEventListener("mouseleave",function(e){i.interactivity.mouse.pos_x=null,i.interactivity.mouse.pos_y=null,i.interactivity.status="mouseleave"})),i.interactivity.events.onclick.enable&&i.interactivity.el.addEventListener("click",function(){if(i.interactivity.mouse.click_pos_x=i.interactivity.mouse.pos_x,i.interactivity.mouse.click_pos_y=i.interactivity.mouse.pos_y,i.interactivity.mouse.click_time=(new Date).getTime(),i.interactivity.events.onclick.enable)switch(i.interactivity.events.onclick.mode){case"push":i.particles.move.enable?i.fn.modes.pushParticles(i.interactivity.modes.push.particles_nb,i.interactivity.mouse):1==i.interactivity.modes.push.particles_nb?i.fn.modes.pushParticles(i.interactivity.modes.push.particles_nb,i.interactivity.mouse):i.interactivity.modes.push.particles_nb>1&&i.fn.modes.pushParticles(i.interactivity.modes.push.particles_nb);break;case"remove":i.fn.modes.removeParticles(i.interactivity.modes.remove.particles_nb);break;case"bubble":i.tmp.bubble_clicking=!0;break;case"repulse":i.tmp.repulse_clicking=!0,i.tmp.repulse_count=0,i.tmp.repulse_finish=!1,setTimeout(function(){i.tmp.repulse_clicking=!1},1e3*i.interactivity.modes.repulse.duration)}})},i.fn.vendors.densityAutoParticles=function(){if(i.particles.number.density.enable){var e=i.canvas.el.width*i.canvas.el.height/1e3;i.tmp.retina&&(e/=2*i.canvas.pxratio);var a=e*i.particles.number.value/i.particles.number.density.value_area,t=i.particles.array.length-a;0>t?i.fn.modes.pushParticles(Math.abs(t)):i.fn.modes.removeParticles(t)}},i.fn.vendors.checkOverlap=function(e,a){for(var t=0;t<i.particles.array.length;t++){var s=i.particles.array[t],n=e.x-s.x,r=e.y-s.y,c=Math.sqrt(n*n+r*r);c<=e.radius+s.radius&&(e.x=a?a.x:Math.random()*i.canvas.w,e.y=a?a.y:Math.random()*i.canvas.h,i.fn.vendors.checkOverlap(e))}},i.fn.vendors.createSvgImg=function(e){var a=i.tmp.source_svg,t=/#([0-9A-F]{3,6})/gi,s=a.replace(t,function(a,t,i,s){if(e.color.rgb)var n="rgba("+e.color.rgb.r+","+e.color.rgb.g+","+e.color.rgb.b+","+e.opacity+")";else var n="hsla("+e.color.hsl.h+","+e.color.hsl.s+"%,"+e.color.hsl.l+"%,"+e.opacity+")";return n}),n=new Blob([s],{type:"image/svg+xml;charset=utf-8"}),r=window.URL||window.webkitURL||window,c=r.createObjectURL(n),o=new Image;o.addEventListener("load",function(){e.img.obj=o,e.img.loaded=!0,r.revokeObjectURL(c),i.tmp.count_svg++}),o.src=c},i.fn.vendors.destroypJS=function(){cancelAnimationFrame(i.fn.drawAnimFrame),t.remove(),pJSDom=null},i.fn.vendors.drawShape=function(e,a,t,i,s,n){var r=s*n,c=s/n,o=180*(c-2)/c,l=Math.PI-Math.PI*o/180;e.save(),e.beginPath(),e.translate(a,t),e.moveTo(0,0);for(var v=0;r>v;v++)e.lineTo(i,0),e.translate(i,0),e.rotate(l);e.fill(),e.restore()},i.fn.vendors.exportImg=function(){window.open(i.canvas.el.toDataURL("image/png"),"_blank")},i.fn.vendors.loadImg=function(e){if(i.tmp.img_error=void 0,""!=i.particles.shape.image.src)if("svg"==e){var a=new XMLHttpRequest;a.open("GET",i.particles.shape.image.src),a.onreadystatechange=function(e){4==a.readyState&&(200==a.status?(i.tmp.source_svg=e.currentTarget.response,i.fn.vendors.checkBeforeDraw()):(console.log("Error pJS - Image not found"),i.tmp.img_error=!0))},a.send()}else{var t=new Image;t.addEventListener("load",function(){i.tmp.img_obj=t,i.fn.vendors.checkBeforeDraw()}),t.src=i.particles.shape.image.src}else console.log("Error pJS - No image.src"),i.tmp.img_error=!0},i.fn.vendors.draw=function(){"image"==i.particles.shape.type?"svg"==i.tmp.img_type?i.tmp.count_svg>=i.particles.number.value?(i.fn.particlesDraw(),i.particles.move.enable?i.fn.drawAnimFrame=requestAnimFrame(i.fn.vendors.draw):cancelRequestAnimFrame(i.fn.drawAnimFrame)):i.tmp.img_error||(i.fn.drawAnimFrame=requestAnimFrame(i.fn.vendors.draw)):void 0!=i.tmp.img_obj?(i.fn.particlesDraw(),i.particles.move.enable?i.fn.drawAnimFrame=requestAnimFrame(i.fn.vendors.draw):cancelRequestAnimFrame(i.fn.drawAnimFrame)):i.tmp.img_error||(i.fn.drawAnimFrame=requestAnimFrame(i.fn.vendors.draw)):(i.fn.particlesDraw(),i.particles.move.enable?i.fn.drawAnimFrame=requestAnimFrame(i.fn.vendors.draw):cancelRequestAnimFrame(i.fn.drawAnimFrame))},i.fn.vendors.checkBeforeDraw=function(){"image"==i.particles.shape.type?"svg"==i.tmp.img_type&&void 0==i.tmp.source_svg?i.tmp.checkAnimFrame=requestAnimFrame(check):(cancelRequestAnimFrame(i.tmp.checkAnimFrame),i.tmp.img_error||(i.fn.vendors.init(),i.fn.vendors.draw())):(i.fn.vendors.init(),i.fn.vendors.draw())},i.fn.vendors.init=function(){i.fn.retinaInit(),i.fn.canvasInit(),i.fn.canvasSize(),i.fn.canvasPaint(),i.fn.particlesCreate(),i.fn.vendors.densityAutoParticles(),i.particles.line_linked.color_rgb_line=hexToRgb(i.particles.line_linked.color)},i.fn.vendors.start=function(){isInArray("image",i.particles.shape.type)?(i.tmp.img_type=i.particles.shape.image.src.substr(i.particles.shape.image.src.length-3),i.fn.vendors.loadImg(i.tmp.img_type)):i.fn.vendors.checkBeforeDraw()},i.fn.vendors.eventsListeners(),i.fn.vendors.start()};Object.deepExtend=function(e,a){for(var t in a)a[t]&&a[t].constructor&&a[t].constructor===Object?(e[t]=e[t]||{},arguments.callee(e[t],a[t])):e[t]=a[t];return e},window.requestAnimFrame=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(e){window.setTimeout(e,1e3/60)}}(),window.cancelRequestAnimFrame=function(){return window.cancelAnimationFrame||window.webkitCancelRequestAnimationFrame||window.mozCancelRequestAnimationFrame||window.oCancelRequestAnimationFrame||window.msCancelRequestAnimationFrame||clearTimeout}(),window.pJSDom=[],window.particlesJS=function(e,a){"string"!=typeof e&&(a=e,e="particles-js"),e||(e="particles-js");var t=document.getElementById(e),i="particles-js-canvas-el",s=t.getElementsByClassName(i);if(s.length)for(;s.length>0;)t.removeChild(s[0]);var n=document.createElement("canvas");n.className=i,n.style.width="100%",n.style.height="100%";var r=document.getElementById(e).appendChild(n);null!=r&&pJSDom.push(new pJS(e,a))},window.particlesJS.load=function(e,a,t){var i=new XMLHttpRequest;i.open("GET",a),i.onreadystatechange=function(a){if(4==i.readyState)if(200==i.status){var s=JSON.parse(a.currentTarget.response);window.particlesJS(e,s),t&&t()}else console.log("Error pJS - XMLHttpRequest status: "+i.status),console.log("Error pJS - File config not found")},i.send()}; \ No newline at end of file diff --git a/public/scripts/particles.json b/public/scripts/particles.json deleted file mode 100644 index a6816f5a255d2132031eaa71da825b6e11b05963..0000000000000000000000000000000000000000 --- a/public/scripts/particles.json +++ /dev/null @@ -1,110 +0,0 @@ -{ - "particles": { - "number": { - "value": 65, - "density": { - "enable": true, - "value_area": 800 - } - }, - "color": { - "value": "#ffffff" - }, - "shape": { - "type": "circle", - "stroke": { - "width": 0, - "color": "#000000" - }, - "polygon": { - "nb_sides": 5 - }, - "image": { - "src": "img/github.svg", - "width": 100, - "height": 100 - } - }, - "opacity": { - "value": 0.4, - "random": false, - "anim": { - "enable": false, - "speed": 1, - "opacity_min": 0.1, - "sync": false - } - }, - "size": { - "value": 2, - "random": true, - "anim": { - "enable": false, - "speed": 30, - "size_min": 0.1, - "sync": false - } - }, - "line_linked": { - "enable": true, - "distance": 135, - "color": "#ffffff", - "opacity": 0.25, - "width": 1 - }, - "move": { - "enable": true, - "speed": 2.5, - "direction": "none", - "random": true, - "straight": false, - "out_mode": "bounce", - "bounce": false, - "attract": { - "enable": false, - "rotateX": 600, - "rotateY": 1200 - } - } - }, - "interactivity": { - "detect_on": "window", - "events": { - "onhover": { - "enable": true, - "mode": "repulse" - }, - "onclick": { - "enable": true, - "mode": "push" - }, - "resize": true - }, - "modes": { - "grab": { - "distance": 400, - "line_linked": { - "opacity": 1 - } - }, - "bubble": { - "distance": 400, - "size": 40, - "duration": 2, - "opacity": 8, - "speed": 3 - }, - "repulse": { - "distance": 200, - "duration": 0.4 - }, - "push": { - "particles_nb": 4 - }, - "remove": { - "particles_nb": 2 - } - } - }, - "retina_detect": true -} \ No newline at end of file