├── README.md ├── Wallet address example.txt ├── package-lock.json ├── package.json ├── sendmessage ├── config.json ├── index.js ├── package-lock.json ├── package.json └── test.js ├── server ├── package-lock.json ├── package.json ├── routes.js └── server.js └── view ├── README.md ├── babel.config.js ├── package-lock.json ├── package.json ├── public ├── css │ ├── all.css │ ├── grid.min.css │ └── main.css ├── favicon.ico └── index.html ├── src ├── App.vue ├── assets │ └── logo.png ├── bootstrap.js ├── common.js ├── components │ ├── DiscordBot.vue │ └── VerifySingleAsset.vue └── main.js └── web3.js /README.md: -------------------------------------------------------------------------------- 1 | # How to run the project? 2 | 3 | 1. run the command "npm install" in ./ 4 | 2. run the command "npm install" in sendmessage folder 5 | 3. run the command "npm install" in server folder 6 | 4. run the command "npm install" in view folder 7 | So we need to install node_modules 3times 8 | 5. make the bot and get token ID for app 9 | 6. configure app setting from token ID in app's config.json files 10 | 11 | ![image](https://user-images.githubusercontent.com/97944031/160313896-2d0b793c-fc9f-4dfe-9c79-a26fb2bee179.png) 12 | ![image](https://user-images.githubusercontent.com/97944031/160313752-27635f7a-a038-4086-a880-afd8e92d6e1d.png) 13 | ![image](https://user-images.githubusercontent.com/97944031/160313770-46652911-7878-4580-8f3d-5cebf36b1cb0.png) 14 | -------------------------------------------------------------------------------- /Wallet address example.txt: -------------------------------------------------------------------------------- 1 | 0x3a05aa124f70e6aba2c524594314637842102c75 2 | TURTLE TOWN NFT -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "package", 3 | "version": "1.0.0", 4 | "lockfileVersion": 2, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "package", 9 | "version": "1.0.0", 10 | "license": "ISC", 11 | "dependencies": { 12 | "concurrently": "^7.0.0", 13 | "vue-router": "^4.0.12" 14 | } 15 | }, 16 | "node_modules/@babel/parser": { 17 | "version": "7.17.3", 18 | "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.3.tgz", 19 | "integrity": "sha512-7yJPvPV+ESz2IUTPbOL+YkIGyCqOyNIzdguKQuJGnH7bg1WTIifuM21YqokFt/THWh1AkCRn9IgoykTRCBVpzA==", 20 | "peer": true, 21 | "bin": { 22 | "parser": "bin/babel-parser.js" 23 | }, 24 | "engines": { 25 | "node": ">=6.0.0" 26 | } 27 | }, 28 | "node_modules/@vue/compiler-core": { 29 | "version": "3.2.31", 30 | "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.31.tgz", 31 | "integrity": "sha512-aKno00qoA4o+V/kR6i/pE+aP+esng5siNAVQ422TkBNM6qA4veXiZbSe8OTXHXquEi/f6Akc+nLfB4JGfe4/WQ==", 32 | "peer": true, 33 | "dependencies": { 34 | "@babel/parser": "^7.16.4", 35 | "@vue/shared": "3.2.31", 36 | "estree-walker": "^2.0.2", 37 | "source-map": "^0.6.1" 38 | } 39 | }, 40 | "node_modules/@vue/compiler-dom": { 41 | "version": "3.2.31", 42 | "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.31.tgz", 43 | "integrity": "sha512-60zIlFfzIDf3u91cqfqy9KhCKIJgPeqxgveH2L+87RcGU/alT6BRrk5JtUso0OibH3O7NXuNOQ0cDc9beT0wrg==", 44 | "peer": true, 45 | "dependencies": { 46 | "@vue/compiler-core": "3.2.31", 47 | "@vue/shared": "3.2.31" 48 | } 49 | }, 50 | "node_modules/@vue/compiler-sfc": { 51 | "version": "3.2.31", 52 | "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.31.tgz", 53 | "integrity": "sha512-748adc9msSPGzXgibHiO6T7RWgfnDcVQD+VVwYgSsyyY8Ans64tALHZANrKtOzvkwznV/F4H7OAod/jIlp/dkQ==", 54 | "peer": true, 55 | "dependencies": { 56 | "@babel/parser": "^7.16.4", 57 | "@vue/compiler-core": "3.2.31", 58 | "@vue/compiler-dom": "3.2.31", 59 | "@vue/compiler-ssr": "3.2.31", 60 | "@vue/reactivity-transform": "3.2.31", 61 | "@vue/shared": "3.2.31", 62 | "estree-walker": "^2.0.2", 63 | "magic-string": "^0.25.7", 64 | "postcss": "^8.1.10", 65 | "source-map": "^0.6.1" 66 | } 67 | }, 68 | "node_modules/@vue/compiler-ssr": { 69 | "version": "3.2.31", 70 | "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.31.tgz", 71 | "integrity": "sha512-mjN0rqig+A8TVDnsGPYJM5dpbjlXeHUm2oZHZwGyMYiGT/F4fhJf/cXy8QpjnLQK4Y9Et4GWzHn9PS8AHUnSkw==", 72 | "peer": true, 73 | "dependencies": { 74 | "@vue/compiler-dom": "3.2.31", 75 | "@vue/shared": "3.2.31" 76 | } 77 | }, 78 | "node_modules/@vue/devtools-api": { 79 | "version": "6.0.12", 80 | "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.0.12.tgz", 81 | "integrity": "sha512-iO/4FIezHKXhiDBdKySCvJVh8/mZPxHpiQrTy+PXVqJZgpTPTdHy4q8GXulaY+UKEagdkBb0onxNQZ0LNiqVhw==" 82 | }, 83 | "node_modules/@vue/reactivity": { 84 | "version": "3.2.31", 85 | "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.31.tgz", 86 | "integrity": "sha512-HVr0l211gbhpEKYr2hYe7hRsV91uIVGFYNHj73njbARVGHQvIojkImKMaZNDdoDZOIkMsBc9a1sMqR+WZwfSCw==", 87 | "peer": true, 88 | "dependencies": { 89 | "@vue/shared": "3.2.31" 90 | } 91 | }, 92 | "node_modules/@vue/reactivity-transform": { 93 | "version": "3.2.31", 94 | "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.31.tgz", 95 | "integrity": "sha512-uS4l4z/W7wXdI+Va5pgVxBJ345wyGFKvpPYtdSgvfJfX/x2Ymm6ophQlXXB6acqGHtXuBqNyyO3zVp9b1r0MOA==", 96 | "peer": true, 97 | "dependencies": { 98 | "@babel/parser": "^7.16.4", 99 | "@vue/compiler-core": "3.2.31", 100 | "@vue/shared": "3.2.31", 101 | "estree-walker": "^2.0.2", 102 | "magic-string": "^0.25.7" 103 | } 104 | }, 105 | "node_modules/@vue/runtime-core": { 106 | "version": "3.2.31", 107 | "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.31.tgz", 108 | "integrity": "sha512-Kcog5XmSY7VHFEMuk4+Gap8gUssYMZ2+w+cmGI6OpZWYOEIcbE0TPzzPHi+8XTzAgx1w/ZxDFcXhZeXN5eKWsA==", 109 | "peer": true, 110 | "dependencies": { 111 | "@vue/reactivity": "3.2.31", 112 | "@vue/shared": "3.2.31" 113 | } 114 | }, 115 | "node_modules/@vue/runtime-dom": { 116 | "version": "3.2.31", 117 | "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.31.tgz", 118 | "integrity": "sha512-N+o0sICVLScUjfLG7u9u5XCjvmsexAiPt17GNnaWHJUfsKed5e85/A3SWgKxzlxx2SW/Hw7RQxzxbXez9PtY3g==", 119 | "peer": true, 120 | "dependencies": { 121 | "@vue/runtime-core": "3.2.31", 122 | "@vue/shared": "3.2.31", 123 | "csstype": "^2.6.8" 124 | } 125 | }, 126 | "node_modules/@vue/server-renderer": { 127 | "version": "3.2.31", 128 | "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.2.31.tgz", 129 | "integrity": "sha512-8CN3Zj2HyR2LQQBHZ61HexF5NReqngLT3oahyiVRfSSvak+oAvVmu8iNLSu6XR77Ili2AOpnAt1y8ywjjqtmkg==", 130 | "peer": true, 131 | "dependencies": { 132 | "@vue/compiler-ssr": "3.2.31", 133 | "@vue/shared": "3.2.31" 134 | }, 135 | "peerDependencies": { 136 | "vue": "3.2.31" 137 | } 138 | }, 139 | "node_modules/@vue/shared": { 140 | "version": "3.2.31", 141 | "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.31.tgz", 142 | "integrity": "sha512-ymN2pj6zEjiKJZbrf98UM2pfDd6F2H7ksKw7NDt/ZZ1fh5Ei39X5tABugtT03ZRlWd9imccoK0hE8hpjpU7irQ==", 143 | "peer": true 144 | }, 145 | "node_modules/ansi-regex": { 146 | "version": "5.0.1", 147 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 148 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 149 | "engines": { 150 | "node": ">=8" 151 | } 152 | }, 153 | "node_modules/ansi-styles": { 154 | "version": "4.3.0", 155 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 156 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 157 | "dependencies": { 158 | "color-convert": "^2.0.1" 159 | }, 160 | "engines": { 161 | "node": ">=8" 162 | }, 163 | "funding": { 164 | "url": "https://github.com/chalk/ansi-styles?sponsor=1" 165 | } 166 | }, 167 | "node_modules/chalk": { 168 | "version": "4.1.2", 169 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", 170 | "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", 171 | "dependencies": { 172 | "ansi-styles": "^4.1.0", 173 | "supports-color": "^7.1.0" 174 | }, 175 | "engines": { 176 | "node": ">=10" 177 | }, 178 | "funding": { 179 | "url": "https://github.com/chalk/chalk?sponsor=1" 180 | } 181 | }, 182 | "node_modules/chalk/node_modules/supports-color": { 183 | "version": "7.2.0", 184 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", 185 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", 186 | "dependencies": { 187 | "has-flag": "^4.0.0" 188 | }, 189 | "engines": { 190 | "node": ">=8" 191 | } 192 | }, 193 | "node_modules/cliui": { 194 | "version": "7.0.4", 195 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", 196 | "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", 197 | "dependencies": { 198 | "string-width": "^4.2.0", 199 | "strip-ansi": "^6.0.0", 200 | "wrap-ansi": "^7.0.0" 201 | } 202 | }, 203 | "node_modules/color-convert": { 204 | "version": "2.0.1", 205 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 206 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 207 | "dependencies": { 208 | "color-name": "~1.1.4" 209 | }, 210 | "engines": { 211 | "node": ">=7.0.0" 212 | } 213 | }, 214 | "node_modules/color-name": { 215 | "version": "1.1.4", 216 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 217 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" 218 | }, 219 | "node_modules/concurrently": { 220 | "version": "7.0.0", 221 | "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-7.0.0.tgz", 222 | "integrity": "sha512-WKM7PUsI8wyXpF80H+zjHP32fsgsHNQfPLw/e70Z5dYkV7hF+rf8q3D+ScWJIEr57CpkO3OWBko6hwhQLPR8Pw==", 223 | "dependencies": { 224 | "chalk": "^4.1.0", 225 | "date-fns": "^2.16.1", 226 | "lodash": "^4.17.21", 227 | "rxjs": "^6.6.3", 228 | "spawn-command": "^0.0.2-1", 229 | "supports-color": "^8.1.0", 230 | "tree-kill": "^1.2.2", 231 | "yargs": "^16.2.0" 232 | }, 233 | "bin": { 234 | "concurrently": "dist/bin/concurrently.js" 235 | }, 236 | "engines": { 237 | "node": "^12.20.0 || ^14.13.0 || >=16.0.0" 238 | } 239 | }, 240 | "node_modules/csstype": { 241 | "version": "2.6.19", 242 | "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.19.tgz", 243 | "integrity": "sha512-ZVxXaNy28/k3kJg0Fou5MiYpp88j7H9hLZp8PDC3jV0WFjfH5E9xHb56L0W59cPbKbcHXeP4qyT8PrHp8t6LcQ==", 244 | "peer": true 245 | }, 246 | "node_modules/date-fns": { 247 | "version": "2.28.0", 248 | "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.28.0.tgz", 249 | "integrity": "sha512-8d35hViGYx/QH0icHYCeLmsLmMUheMmTyV9Fcm6gvNwdw31yXXH+O85sOBJ+OLnLQMKZowvpKb6FgMIQjcpvQw==", 250 | "engines": { 251 | "node": ">=0.11" 252 | }, 253 | "funding": { 254 | "type": "opencollective", 255 | "url": "https://opencollective.com/date-fns" 256 | } 257 | }, 258 | "node_modules/emoji-regex": { 259 | "version": "8.0.0", 260 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 261 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" 262 | }, 263 | "node_modules/escalade": { 264 | "version": "3.1.1", 265 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", 266 | "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", 267 | "engines": { 268 | "node": ">=6" 269 | } 270 | }, 271 | "node_modules/estree-walker": { 272 | "version": "2.0.2", 273 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", 274 | "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", 275 | "peer": true 276 | }, 277 | "node_modules/get-caller-file": { 278 | "version": "2.0.5", 279 | "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", 280 | "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", 281 | "engines": { 282 | "node": "6.* || 8.* || >= 10.*" 283 | } 284 | }, 285 | "node_modules/has-flag": { 286 | "version": "4.0.0", 287 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 288 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", 289 | "engines": { 290 | "node": ">=8" 291 | } 292 | }, 293 | "node_modules/is-fullwidth-code-point": { 294 | "version": "3.0.0", 295 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", 296 | "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", 297 | "engines": { 298 | "node": ">=8" 299 | } 300 | }, 301 | "node_modules/lodash": { 302 | "version": "4.17.21", 303 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", 304 | "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" 305 | }, 306 | "node_modules/magic-string": { 307 | "version": "0.25.7", 308 | "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", 309 | "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", 310 | "peer": true, 311 | "dependencies": { 312 | "sourcemap-codec": "^1.4.4" 313 | } 314 | }, 315 | "node_modules/nanoid": { 316 | "version": "3.3.1", 317 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz", 318 | "integrity": "sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==", 319 | "peer": true, 320 | "bin": { 321 | "nanoid": "bin/nanoid.cjs" 322 | }, 323 | "engines": { 324 | "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" 325 | } 326 | }, 327 | "node_modules/picocolors": { 328 | "version": "1.0.0", 329 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", 330 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", 331 | "peer": true 332 | }, 333 | "node_modules/postcss": { 334 | "version": "8.4.6", 335 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.6.tgz", 336 | "integrity": "sha512-OovjwIzs9Te46vlEx7+uXB0PLijpwjXGKXjVGGPIGubGpq7uh5Xgf6D6FiJ/SzJMBosHDp6a2hiXOS97iBXcaA==", 337 | "peer": true, 338 | "dependencies": { 339 | "nanoid": "^3.2.0", 340 | "picocolors": "^1.0.0", 341 | "source-map-js": "^1.0.2" 342 | }, 343 | "engines": { 344 | "node": "^10 || ^12 || >=14" 345 | }, 346 | "funding": { 347 | "type": "opencollective", 348 | "url": "https://opencollective.com/postcss/" 349 | } 350 | }, 351 | "node_modules/require-directory": { 352 | "version": "2.1.1", 353 | "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", 354 | "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", 355 | "engines": { 356 | "node": ">=0.10.0" 357 | } 358 | }, 359 | "node_modules/rxjs": { 360 | "version": "6.6.7", 361 | "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", 362 | "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", 363 | "dependencies": { 364 | "tslib": "^1.9.0" 365 | }, 366 | "engines": { 367 | "npm": ">=2.0.0" 368 | } 369 | }, 370 | "node_modules/source-map": { 371 | "version": "0.6.1", 372 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 373 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 374 | "peer": true, 375 | "engines": { 376 | "node": ">=0.10.0" 377 | } 378 | }, 379 | "node_modules/source-map-js": { 380 | "version": "1.0.2", 381 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", 382 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", 383 | "peer": true, 384 | "engines": { 385 | "node": ">=0.10.0" 386 | } 387 | }, 388 | "node_modules/sourcemap-codec": { 389 | "version": "1.4.8", 390 | "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", 391 | "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", 392 | "peer": true 393 | }, 394 | "node_modules/spawn-command": { 395 | "version": "0.0.2-1", 396 | "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2-1.tgz", 397 | "integrity": "sha1-YvXpRmmBwbeW3Fkpk34RycaSG9A=" 398 | }, 399 | "node_modules/string-width": { 400 | "version": "4.2.3", 401 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 402 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 403 | "dependencies": { 404 | "emoji-regex": "^8.0.0", 405 | "is-fullwidth-code-point": "^3.0.0", 406 | "strip-ansi": "^6.0.1" 407 | }, 408 | "engines": { 409 | "node": ">=8" 410 | } 411 | }, 412 | "node_modules/strip-ansi": { 413 | "version": "6.0.1", 414 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 415 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 416 | "dependencies": { 417 | "ansi-regex": "^5.0.1" 418 | }, 419 | "engines": { 420 | "node": ">=8" 421 | } 422 | }, 423 | "node_modules/supports-color": { 424 | "version": "8.1.1", 425 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", 426 | "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", 427 | "dependencies": { 428 | "has-flag": "^4.0.0" 429 | }, 430 | "engines": { 431 | "node": ">=10" 432 | }, 433 | "funding": { 434 | "url": "https://github.com/chalk/supports-color?sponsor=1" 435 | } 436 | }, 437 | "node_modules/tree-kill": { 438 | "version": "1.2.2", 439 | "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", 440 | "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", 441 | "bin": { 442 | "tree-kill": "cli.js" 443 | } 444 | }, 445 | "node_modules/tslib": { 446 | "version": "1.14.1", 447 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", 448 | "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" 449 | }, 450 | "node_modules/vue": { 451 | "version": "3.2.31", 452 | "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.31.tgz", 453 | "integrity": "sha512-odT3W2tcffTiQCy57nOT93INw1auq5lYLLYtWpPYQQYQOOdHiqFct9Xhna6GJ+pJQaF67yZABraH47oywkJgFw==", 454 | "peer": true, 455 | "dependencies": { 456 | "@vue/compiler-dom": "3.2.31", 457 | "@vue/compiler-sfc": "3.2.31", 458 | "@vue/runtime-dom": "3.2.31", 459 | "@vue/server-renderer": "3.2.31", 460 | "@vue/shared": "3.2.31" 461 | } 462 | }, 463 | "node_modules/vue-router": { 464 | "version": "4.0.12", 465 | "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.0.12.tgz", 466 | "integrity": "sha512-CPXvfqe+mZLB1kBWssssTiWg4EQERyqJZes7USiqfW9B5N2x+nHlnsM1D3b5CaJ6qgCvMmYJnz+G0iWjNCvXrg==", 467 | "dependencies": { 468 | "@vue/devtools-api": "^6.0.0-beta.18" 469 | }, 470 | "peerDependencies": { 471 | "vue": "^3.0.0" 472 | } 473 | }, 474 | "node_modules/wrap-ansi": { 475 | "version": "7.0.0", 476 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", 477 | "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", 478 | "dependencies": { 479 | "ansi-styles": "^4.0.0", 480 | "string-width": "^4.1.0", 481 | "strip-ansi": "^6.0.0" 482 | }, 483 | "engines": { 484 | "node": ">=10" 485 | }, 486 | "funding": { 487 | "url": "https://github.com/chalk/wrap-ansi?sponsor=1" 488 | } 489 | }, 490 | "node_modules/y18n": { 491 | "version": "5.0.8", 492 | "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", 493 | "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", 494 | "engines": { 495 | "node": ">=10" 496 | } 497 | }, 498 | "node_modules/yargs": { 499 | "version": "16.2.0", 500 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", 501 | "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", 502 | "dependencies": { 503 | "cliui": "^7.0.2", 504 | "escalade": "^3.1.1", 505 | "get-caller-file": "^2.0.5", 506 | "require-directory": "^2.1.1", 507 | "string-width": "^4.2.0", 508 | "y18n": "^5.0.5", 509 | "yargs-parser": "^20.2.2" 510 | }, 511 | "engines": { 512 | "node": ">=10" 513 | } 514 | }, 515 | "node_modules/yargs-parser": { 516 | "version": "20.2.9", 517 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", 518 | "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", 519 | "engines": { 520 | "node": ">=10" 521 | } 522 | } 523 | }, 524 | "dependencies": { 525 | "@babel/parser": { 526 | "version": "7.17.3", 527 | "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.3.tgz", 528 | "integrity": "sha512-7yJPvPV+ESz2IUTPbOL+YkIGyCqOyNIzdguKQuJGnH7bg1WTIifuM21YqokFt/THWh1AkCRn9IgoykTRCBVpzA==", 529 | "peer": true 530 | }, 531 | "@vue/compiler-core": { 532 | "version": "3.2.31", 533 | "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.31.tgz", 534 | "integrity": "sha512-aKno00qoA4o+V/kR6i/pE+aP+esng5siNAVQ422TkBNM6qA4veXiZbSe8OTXHXquEi/f6Akc+nLfB4JGfe4/WQ==", 535 | "peer": true, 536 | "requires": { 537 | "@babel/parser": "^7.16.4", 538 | "@vue/shared": "3.2.31", 539 | "estree-walker": "^2.0.2", 540 | "source-map": "^0.6.1" 541 | } 542 | }, 543 | "@vue/compiler-dom": { 544 | "version": "3.2.31", 545 | "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.31.tgz", 546 | "integrity": "sha512-60zIlFfzIDf3u91cqfqy9KhCKIJgPeqxgveH2L+87RcGU/alT6BRrk5JtUso0OibH3O7NXuNOQ0cDc9beT0wrg==", 547 | "peer": true, 548 | "requires": { 549 | "@vue/compiler-core": "3.2.31", 550 | "@vue/shared": "3.2.31" 551 | } 552 | }, 553 | "@vue/compiler-sfc": { 554 | "version": "3.2.31", 555 | "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.31.tgz", 556 | "integrity": "sha512-748adc9msSPGzXgibHiO6T7RWgfnDcVQD+VVwYgSsyyY8Ans64tALHZANrKtOzvkwznV/F4H7OAod/jIlp/dkQ==", 557 | "peer": true, 558 | "requires": { 559 | "@babel/parser": "^7.16.4", 560 | "@vue/compiler-core": "3.2.31", 561 | "@vue/compiler-dom": "3.2.31", 562 | "@vue/compiler-ssr": "3.2.31", 563 | "@vue/reactivity-transform": "3.2.31", 564 | "@vue/shared": "3.2.31", 565 | "estree-walker": "^2.0.2", 566 | "magic-string": "^0.25.7", 567 | "postcss": "^8.1.10", 568 | "source-map": "^0.6.1" 569 | } 570 | }, 571 | "@vue/compiler-ssr": { 572 | "version": "3.2.31", 573 | "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.31.tgz", 574 | "integrity": "sha512-mjN0rqig+A8TVDnsGPYJM5dpbjlXeHUm2oZHZwGyMYiGT/F4fhJf/cXy8QpjnLQK4Y9Et4GWzHn9PS8AHUnSkw==", 575 | "peer": true, 576 | "requires": { 577 | "@vue/compiler-dom": "3.2.31", 578 | "@vue/shared": "3.2.31" 579 | } 580 | }, 581 | "@vue/devtools-api": { 582 | "version": "6.0.12", 583 | "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.0.12.tgz", 584 | "integrity": "sha512-iO/4FIezHKXhiDBdKySCvJVh8/mZPxHpiQrTy+PXVqJZgpTPTdHy4q8GXulaY+UKEagdkBb0onxNQZ0LNiqVhw==" 585 | }, 586 | "@vue/reactivity": { 587 | "version": "3.2.31", 588 | "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.31.tgz", 589 | "integrity": "sha512-HVr0l211gbhpEKYr2hYe7hRsV91uIVGFYNHj73njbARVGHQvIojkImKMaZNDdoDZOIkMsBc9a1sMqR+WZwfSCw==", 590 | "peer": true, 591 | "requires": { 592 | "@vue/shared": "3.2.31" 593 | } 594 | }, 595 | "@vue/reactivity-transform": { 596 | "version": "3.2.31", 597 | "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.31.tgz", 598 | "integrity": "sha512-uS4l4z/W7wXdI+Va5pgVxBJ345wyGFKvpPYtdSgvfJfX/x2Ymm6ophQlXXB6acqGHtXuBqNyyO3zVp9b1r0MOA==", 599 | "peer": true, 600 | "requires": { 601 | "@babel/parser": "^7.16.4", 602 | "@vue/compiler-core": "3.2.31", 603 | "@vue/shared": "3.2.31", 604 | "estree-walker": "^2.0.2", 605 | "magic-string": "^0.25.7" 606 | } 607 | }, 608 | "@vue/runtime-core": { 609 | "version": "3.2.31", 610 | "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.31.tgz", 611 | "integrity": "sha512-Kcog5XmSY7VHFEMuk4+Gap8gUssYMZ2+w+cmGI6OpZWYOEIcbE0TPzzPHi+8XTzAgx1w/ZxDFcXhZeXN5eKWsA==", 612 | "peer": true, 613 | "requires": { 614 | "@vue/reactivity": "3.2.31", 615 | "@vue/shared": "3.2.31" 616 | } 617 | }, 618 | "@vue/runtime-dom": { 619 | "version": "3.2.31", 620 | "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.31.tgz", 621 | "integrity": "sha512-N+o0sICVLScUjfLG7u9u5XCjvmsexAiPt17GNnaWHJUfsKed5e85/A3SWgKxzlxx2SW/Hw7RQxzxbXez9PtY3g==", 622 | "peer": true, 623 | "requires": { 624 | "@vue/runtime-core": "3.2.31", 625 | "@vue/shared": "3.2.31", 626 | "csstype": "^2.6.8" 627 | } 628 | }, 629 | "@vue/server-renderer": { 630 | "version": "3.2.31", 631 | "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.2.31.tgz", 632 | "integrity": "sha512-8CN3Zj2HyR2LQQBHZ61HexF5NReqngLT3oahyiVRfSSvak+oAvVmu8iNLSu6XR77Ili2AOpnAt1y8ywjjqtmkg==", 633 | "peer": true, 634 | "requires": { 635 | "@vue/compiler-ssr": "3.2.31", 636 | "@vue/shared": "3.2.31" 637 | } 638 | }, 639 | "@vue/shared": { 640 | "version": "3.2.31", 641 | "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.31.tgz", 642 | "integrity": "sha512-ymN2pj6zEjiKJZbrf98UM2pfDd6F2H7ksKw7NDt/ZZ1fh5Ei39X5tABugtT03ZRlWd9imccoK0hE8hpjpU7irQ==", 643 | "peer": true 644 | }, 645 | "ansi-regex": { 646 | "version": "5.0.1", 647 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 648 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" 649 | }, 650 | "ansi-styles": { 651 | "version": "4.3.0", 652 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 653 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 654 | "requires": { 655 | "color-convert": "^2.0.1" 656 | } 657 | }, 658 | "chalk": { 659 | "version": "4.1.2", 660 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", 661 | "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", 662 | "requires": { 663 | "ansi-styles": "^4.1.0", 664 | "supports-color": "^7.1.0" 665 | }, 666 | "dependencies": { 667 | "supports-color": { 668 | "version": "7.2.0", 669 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", 670 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", 671 | "requires": { 672 | "has-flag": "^4.0.0" 673 | } 674 | } 675 | } 676 | }, 677 | "cliui": { 678 | "version": "7.0.4", 679 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", 680 | "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", 681 | "requires": { 682 | "string-width": "^4.2.0", 683 | "strip-ansi": "^6.0.0", 684 | "wrap-ansi": "^7.0.0" 685 | } 686 | }, 687 | "color-convert": { 688 | "version": "2.0.1", 689 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 690 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 691 | "requires": { 692 | "color-name": "~1.1.4" 693 | } 694 | }, 695 | "color-name": { 696 | "version": "1.1.4", 697 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 698 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" 699 | }, 700 | "concurrently": { 701 | "version": "7.0.0", 702 | "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-7.0.0.tgz", 703 | "integrity": "sha512-WKM7PUsI8wyXpF80H+zjHP32fsgsHNQfPLw/e70Z5dYkV7hF+rf8q3D+ScWJIEr57CpkO3OWBko6hwhQLPR8Pw==", 704 | "requires": { 705 | "chalk": "^4.1.0", 706 | "date-fns": "^2.16.1", 707 | "lodash": "^4.17.21", 708 | "rxjs": "^6.6.3", 709 | "spawn-command": "^0.0.2-1", 710 | "supports-color": "^8.1.0", 711 | "tree-kill": "^1.2.2", 712 | "yargs": "^16.2.0" 713 | } 714 | }, 715 | "csstype": { 716 | "version": "2.6.19", 717 | "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.19.tgz", 718 | "integrity": "sha512-ZVxXaNy28/k3kJg0Fou5MiYpp88j7H9hLZp8PDC3jV0WFjfH5E9xHb56L0W59cPbKbcHXeP4qyT8PrHp8t6LcQ==", 719 | "peer": true 720 | }, 721 | "date-fns": { 722 | "version": "2.28.0", 723 | "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.28.0.tgz", 724 | "integrity": "sha512-8d35hViGYx/QH0icHYCeLmsLmMUheMmTyV9Fcm6gvNwdw31yXXH+O85sOBJ+OLnLQMKZowvpKb6FgMIQjcpvQw==" 725 | }, 726 | "emoji-regex": { 727 | "version": "8.0.0", 728 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 729 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" 730 | }, 731 | "escalade": { 732 | "version": "3.1.1", 733 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", 734 | "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" 735 | }, 736 | "estree-walker": { 737 | "version": "2.0.2", 738 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", 739 | "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", 740 | "peer": true 741 | }, 742 | "get-caller-file": { 743 | "version": "2.0.5", 744 | "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", 745 | "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" 746 | }, 747 | "has-flag": { 748 | "version": "4.0.0", 749 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 750 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" 751 | }, 752 | "is-fullwidth-code-point": { 753 | "version": "3.0.0", 754 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", 755 | "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" 756 | }, 757 | "lodash": { 758 | "version": "4.17.21", 759 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", 760 | "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" 761 | }, 762 | "magic-string": { 763 | "version": "0.25.7", 764 | "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", 765 | "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", 766 | "peer": true, 767 | "requires": { 768 | "sourcemap-codec": "^1.4.4" 769 | } 770 | }, 771 | "nanoid": { 772 | "version": "3.3.1", 773 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz", 774 | "integrity": "sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==", 775 | "peer": true 776 | }, 777 | "picocolors": { 778 | "version": "1.0.0", 779 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", 780 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", 781 | "peer": true 782 | }, 783 | "postcss": { 784 | "version": "8.4.6", 785 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.6.tgz", 786 | "integrity": "sha512-OovjwIzs9Te46vlEx7+uXB0PLijpwjXGKXjVGGPIGubGpq7uh5Xgf6D6FiJ/SzJMBosHDp6a2hiXOS97iBXcaA==", 787 | "peer": true, 788 | "requires": { 789 | "nanoid": "^3.2.0", 790 | "picocolors": "^1.0.0", 791 | "source-map-js": "^1.0.2" 792 | } 793 | }, 794 | "require-directory": { 795 | "version": "2.1.1", 796 | "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", 797 | "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" 798 | }, 799 | "rxjs": { 800 | "version": "6.6.7", 801 | "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", 802 | "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", 803 | "requires": { 804 | "tslib": "^1.9.0" 805 | } 806 | }, 807 | "source-map": { 808 | "version": "0.6.1", 809 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 810 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 811 | "peer": true 812 | }, 813 | "source-map-js": { 814 | "version": "1.0.2", 815 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", 816 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", 817 | "peer": true 818 | }, 819 | "sourcemap-codec": { 820 | "version": "1.4.8", 821 | "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", 822 | "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", 823 | "peer": true 824 | }, 825 | "spawn-command": { 826 | "version": "0.0.2-1", 827 | "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2-1.tgz", 828 | "integrity": "sha1-YvXpRmmBwbeW3Fkpk34RycaSG9A=" 829 | }, 830 | "string-width": { 831 | "version": "4.2.3", 832 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 833 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 834 | "requires": { 835 | "emoji-regex": "^8.0.0", 836 | "is-fullwidth-code-point": "^3.0.0", 837 | "strip-ansi": "^6.0.1" 838 | } 839 | }, 840 | "strip-ansi": { 841 | "version": "6.0.1", 842 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 843 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 844 | "requires": { 845 | "ansi-regex": "^5.0.1" 846 | } 847 | }, 848 | "supports-color": { 849 | "version": "8.1.1", 850 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", 851 | "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", 852 | "requires": { 853 | "has-flag": "^4.0.0" 854 | } 855 | }, 856 | "tree-kill": { 857 | "version": "1.2.2", 858 | "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", 859 | "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==" 860 | }, 861 | "tslib": { 862 | "version": "1.14.1", 863 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", 864 | "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" 865 | }, 866 | "vue": { 867 | "version": "3.2.31", 868 | "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.31.tgz", 869 | "integrity": "sha512-odT3W2tcffTiQCy57nOT93INw1auq5lYLLYtWpPYQQYQOOdHiqFct9Xhna6GJ+pJQaF67yZABraH47oywkJgFw==", 870 | "peer": true, 871 | "requires": { 872 | "@vue/compiler-dom": "3.2.31", 873 | "@vue/compiler-sfc": "3.2.31", 874 | "@vue/runtime-dom": "3.2.31", 875 | "@vue/server-renderer": "3.2.31", 876 | "@vue/shared": "3.2.31" 877 | } 878 | }, 879 | "vue-router": { 880 | "version": "4.0.12", 881 | "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.0.12.tgz", 882 | "integrity": "sha512-CPXvfqe+mZLB1kBWssssTiWg4EQERyqJZes7USiqfW9B5N2x+nHlnsM1D3b5CaJ6qgCvMmYJnz+G0iWjNCvXrg==", 883 | "requires": { 884 | "@vue/devtools-api": "^6.0.0-beta.18" 885 | } 886 | }, 887 | "wrap-ansi": { 888 | "version": "7.0.0", 889 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", 890 | "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", 891 | "requires": { 892 | "ansi-styles": "^4.0.0", 893 | "string-width": "^4.1.0", 894 | "strip-ansi": "^6.0.0" 895 | } 896 | }, 897 | "y18n": { 898 | "version": "5.0.8", 899 | "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", 900 | "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" 901 | }, 902 | "yargs": { 903 | "version": "16.2.0", 904 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", 905 | "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", 906 | "requires": { 907 | "cliui": "^7.0.2", 908 | "escalade": "^3.1.1", 909 | "get-caller-file": "^2.0.5", 910 | "require-directory": "^2.1.1", 911 | "string-width": "^4.2.0", 912 | "y18n": "^5.0.5", 913 | "yargs-parser": "^20.2.2" 914 | } 915 | }, 916 | "yargs-parser": { 917 | "version": "20.2.9", 918 | "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", 919 | "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" 920 | } 921 | } 922 | } 923 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "package", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1", 8 | "start": "concurrently \"cd server && npm start\" \"cd view && npm start\" \"cd sendmessage && npm start\"" 9 | }, 10 | "author": "", 11 | "license": "ISC", 12 | "dependencies": { 13 | "concurrently": "^7.0.0" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /sendmessage/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "BOT_TOKEN": "Input your bot token id." 3 | } 4 | -------------------------------------------------------------------------------- /sendmessage/index.js: -------------------------------------------------------------------------------- 1 | const Discord = require("discord.js"); 2 | const config = require("./config.json"); 3 | const { 4 | Client, 5 | Intents, 6 | MessageEmbed, 7 | MessageActionRow, 8 | MessageButton, 9 | } = require("discord.js"); 10 | 11 | const client = new Client({ 12 | intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MESSAGES], 13 | }); 14 | const letsGo = new MessageActionRow().addComponents( 15 | new MessageButton() 16 | .setCustomId("letsgoButton") 17 | .setLabel("Let's go!") 18 | .setStyle("PRIMARY") 19 | ); 20 | 21 | const RunApp = new MessageEmbed() 22 | .setColor("#0099ff") 23 | .setTitle("Assign role to your nft") 24 | .setURL("http://localhost:8080/") 25 | .setAuthor( 26 | "Love Tom", 27 | "https://i.imgur.com/AfFp7pu.png", 28 | "http://localhost:8080" 29 | ) 30 | .setDescription( 31 | "This is a discord bot, assign role to user by nft's attribute." 32 | ) 33 | .setThumbnail("https://i.imgur.com/AfFp7pu.png") 34 | .setTimestamp() 35 | .setFooter("Thanks for your using.", "https://i.imgur.com/AfFp7pu.png"); 36 | 37 | client.on("ready", () => { 38 | client.user.setActivity(`on ${client.guilds.cache.size} servers`); 39 | console.log( 40 | `Ready to serve on ${client.guilds.cache.size} servers, for ${client.users.cache.size} users.` 41 | ); 42 | }); 43 | 44 | client.on("guildCreate", (guild) => { 45 | console.log("Joined a new guild: " + guild); 46 | //Your other stuff like adding to guildArray 47 | guild.channels 48 | .create("nft-checking", { reason: "Needed a cool new channel" }) 49 | .then(function (res) { 50 | console.log(res); 51 | //res.send({ embeds: [RunApp] }); 52 | res.send({ content: "NFT Checking", components: [letsGo] }); 53 | }) 54 | .catch(console.error); 55 | }); 56 | client.on("guildMemberAdd", function (member) { 57 | console.log(`a user joins a guild: ${member.tag}`); 58 | }); 59 | 60 | client.on("interactionCreate", async (interaction) => { 61 | if (!interaction.isButton()) return; 62 | console.log(interaction); 63 | 64 | if (interaction.customId == "letsgoButton") { 65 | // console.log("yes, it"); 66 | // interaction.message. 67 | console.log("Guild => ", interaction.guildId); 68 | console.log("channel => ", interaction.channelId); 69 | console.log("User => ", interaction.user.id, interaction.user.username); 70 | 71 | var url = 72 | "http://localhost:8080/?guild=" + 73 | interaction.guildId + 74 | "&channel=" + 75 | interaction.channelId + 76 | "&user=" + 77 | interaction.user.id; 78 | RunApp.setURL(url); 79 | 80 | await interaction.reply({ 81 | content: 82 | "Guild: " + 83 | interaction.guildId + 84 | ", Channel: " + 85 | interaction.channelId + 86 | " , " + 87 | "User: " + 88 | interaction.user.id, 89 | embeds: [RunApp], 90 | }); 91 | } 92 | }); 93 | 94 | // guildMemberAvailable 95 | /* Emitted whenever a member becomes available in a large guild. 96 | PARAMETER TYPE DESCRIPTION 97 | member GuildMember The member that became available */ 98 | client.on("guildMemberAvailable", function (member) { 99 | console.log(`member becomes available in a large guild: ${member.tag}`); 100 | }); 101 | client.on("guildUnavailable", function (guild) { 102 | console.error( 103 | `a guild becomes unavailable, likely due to a server outage: ${guild}` 104 | ); 105 | }); 106 | 107 | client.login(config.BOT_TOKEN); 108 | console.log("Discord server is running."); 109 | 110 | const prefix = "!"; 111 | client.on("messageCreate", function (message) { 112 | let guild = message.guild; 113 | if (message.author.bot) return; 114 | if (!message.content.startsWith(prefix)) return; 115 | 116 | const commandBody = message.content.slice(prefix.length); 117 | const args = commandBody.split(" "); 118 | const command = args.shift().toLowerCase(); 119 | let role = ""; 120 | if (command === "ping") { 121 | const timeTaken = Date.now() - message.createdTimestamp; 122 | message.reply(`Pong! This message had a latency of ${timeTaken}ms.`); 123 | console.log("ping command is called."); 124 | } else if (command === "sum") { 125 | const numArgs = args.map((x) => parseFloat(x)); 126 | const sum = numArgs.reduce((counter, x) => (counter += x)); 127 | message.reply(`The sum of all the arguments you provided is ${sum}!`); 128 | } else if (command === "channel") { 129 | // Create a new text channel 130 | guild.channels 131 | .create("New channel", { reason: "Needed a cool new channel" }) 132 | .then((channel) => { 133 | console.log; 134 | channel.send(channel.name + " channel created!"); 135 | }) 136 | .catch(console.error); 137 | } else if (command === "red") { 138 | role = message.member.guild.roles.cache.find( 139 | (role) => role.name === "Red" 140 | ); 141 | } else if (command === "green") { 142 | role = message.member.guild.roles.cache.find( 143 | (role) => role.name === "Green" 144 | ); 145 | } else if (command === "yellow") { 146 | role = message.member.guild.roles.cache.find( 147 | (role) => role.name === "Yellow" 148 | ); 149 | } else if (command === "member") { 150 | role = message.member.guild.roles.cache.find( 151 | (role) => role.name === "member" 152 | ); 153 | } 154 | if (role) { 155 | message.guild.members.cache.get(message.author.id).roles.add(role); 156 | message.reply(`${role} role added to ${message.author.username}!`); 157 | } 158 | }); 159 | -------------------------------------------------------------------------------- /sendmessage/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sendmessage", 3 | "version": "1.0.0", 4 | "description": "Sending message to discord bot", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1", 8 | "start": "node index.js" 9 | }, 10 | "author": "", 11 | "license": "ISC", 12 | "dependencies": { 13 | "api": "^4.2.0", 14 | "chalk": "^5.0.0", 15 | "discord-input": "^1.1.3", 16 | "discord-rpc": "^4.0.1", 17 | "discord.js": "^13.6.0", 18 | "message-button": "^1.2.4" 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /sendmessage/test.js: -------------------------------------------------------------------------------- 1 | const { MessageActionRow, MessageButton } = require("discord.js"); 2 | const Discord = require("discord.js"); 3 | const { Client, Intents } = require("discord.js"); 4 | const client = new Client({ 5 | intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MESSAGES], 6 | }); 7 | client.on("interactionCreate", async (interaction) => { 8 | if (!interaction.isCommand()) return; 9 | 10 | if (interaction.commandName === "ping") { 11 | const row = new MessageActionRow().addComponents( 12 | new MessageButton() 13 | .setCustomId("primary") 14 | .setLabel("Primary") 15 | .setStyle("PRIMARY") 16 | ); 17 | 18 | await interaction.reply({ content: "Pong!", components: [row] }); 19 | } 20 | }); 21 | 22 | client.login("OTQ2ODA1OTU2MjM3NDkyMjY0.YhkDwg.tO2BHkl8WOMabBBSs3w5L-t77m0"); 23 | -------------------------------------------------------------------------------- /server/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "package", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1", 8 | "start": "nodemon server.js" 9 | }, 10 | "author": "", 11 | "license": "ISC", 12 | "dependencies": { 13 | "api": "^4.2.0", 14 | "body-parser": "^1.19.1", 15 | "concurrently": "^7.0.0", 16 | "cors": "^2.8.5", 17 | "discord": "^0.8.2", 18 | "express": "^4.17.2", 19 | "nodemon": "^2.0.15" 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /server/routes.js: -------------------------------------------------------------------------------- 1 | const express = require("express"); 2 | const app = express(); 3 | const sdk = require("api")("@opensea/v1.0#dyu8zkzh9hve9"); 4 | 5 | var { 6 | Client, 7 | Intents, 8 | MessageEmbed, 9 | MessageAttachment, 10 | MessageActionRow, 11 | MessageButton, 12 | } = require("discord.js"); 13 | var client = new Client({ 14 | intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MESSAGES], 15 | }); 16 | 17 | app.post("/collection", async (request, response) => { 18 | console.log("ServerInfo:"); 19 | // assign role to discord 20 | var guildID = request.body.guild; 21 | var userID = request.body.user; 22 | var property = request.body.properties; 23 | console.log("Guild id: " + guildID); 24 | console.log("User id: " + userID); 25 | // console.log(channel); 26 | console.log(property); 27 | for (var i = 0; i < property.length; i++) { 28 | var role = await client.guilds.cache 29 | .get(guildID) 30 | .roles.create({ name: property[i].value }); 31 | // console.log("Role id: " + role.id); 32 | client.guilds.cache 33 | .get(guildID) 34 | .members.cache.get(userID) 35 | .roles.add(role); 36 | } 37 | 38 | // console.log(client.guilds.cache.get(guildID).members.cache); 39 | // for (var i = 0; i < property.length; i++) {} 40 | // client.guilds.cache 41 | // .get(guildID) 42 | // // .members.cache.get(userID) 43 | // .roles.add(role); 44 | 45 | response.status(200).send("res"); 46 | // const role = client.guilds.cache 47 | // .get(request.body.guild) 48 | // .roles.create({ name: "RED", color: "RED" }) 49 | // .then(async (res) => { 50 | // client.guilds.cache 51 | // .get(request.body.guild) 52 | // .members.cache.get(request.body.user) 53 | // .roles.add(role); 54 | // }); 55 | // console.log(client.guilds.cache.get(guildID).roles); 56 | // sdk["retrieving-a-single-collection"]({ 57 | // collection_slug: request.body.collectionname, 58 | // }) 59 | // .then(async (res) => { 60 | // console.log(guildID); 61 | // console.log(userID); 62 | // // console.log(request.body.channel); 63 | // // assign role to discord 64 | // const role = await client.guilds.cache 65 | // .get(request.body.guild) 66 | // .roles.create({ name: "RED", color: "RED" }); 67 | // client.guilds.cache 68 | // .get(guildID) 69 | // .members.cache.get(userID) 70 | // .roles.add(role); 71 | // response.status(200).send(res); 72 | // }) 73 | // .catch((err) => response.status(500).send(err)); 74 | }); 75 | client.login("Your bot application id"); 76 | 77 | module.exports = app; 78 | -------------------------------------------------------------------------------- /server/server.js: -------------------------------------------------------------------------------- 1 | const express = require('express'); 2 | const bodyParser = require('body-parser'); 3 | const app = express(); 4 | const Router = require("./routes"); 5 | const port = 3001; 6 | 7 | app.use(bodyParser.json()); 8 | app.use(bodyParser.urlencoded({ extended: true })); 9 | app.use(express.json()); 10 | 11 | const cors = require('cors'); 12 | const corsOptions = { 13 | origin: 'http://localhost:8080', 14 | credentials: true, //access-control-allow-credentials:true 15 | optionSuccessStatus: 200 16 | } 17 | 18 | app.use(cors(corsOptions)); 19 | app.use("/api", Router); 20 | 21 | app.listen(port, () => console.log(`Server Listening on port ${port}`)); -------------------------------------------------------------------------------- /view/README.md: -------------------------------------------------------------------------------- 1 | # discord-bot 2 | 3 | ## Project setup 4 | ``` 5 | npm install 6 | ``` 7 | 8 | ### Compiles and hot-reloads for development 9 | ``` 10 | npm run serve 11 | ``` 12 | 13 | ### Compiles and minifies for production 14 | ``` 15 | npm run build 16 | ``` 17 | 18 | ### Lints and fixes files 19 | ``` 20 | npm run lint 21 | ``` 22 | 23 | ### Customize configuration 24 | See [Configuration Reference](https://cli.vuejs.org/config/). 25 | -------------------------------------------------------------------------------- /view/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | '@vue/cli-plugin-babel/preset' 4 | ] 5 | } 6 | -------------------------------------------------------------------------------- /view/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "discord-bot", 3 | "version": "0.1.0", 4 | "private": true, 5 | "scripts": { 6 | "serve": "vue-cli-service serve", 7 | "build": "vue-cli-service build", 8 | "lint": "vue-cli-service lint", 9 | "start": "npm run serve" 10 | }, 11 | "dependencies": { 12 | "core-js": "^3.6.5", 13 | "view-design": "^4.7.0", 14 | "vue": "^2.6.11", 15 | "web3": "^1.7.1" 16 | }, 17 | "devDependencies": { 18 | "@vue/cli-plugin-babel": "~4.5.0", 19 | "@vue/cli-plugin-eslint": "~4.5.0", 20 | "@vue/cli-service": "~4.5.0", 21 | "axios": "^0.25.0", 22 | "babel-eslint": "^10.1.0", 23 | "eslint": "^6.7.2", 24 | "eslint-plugin-vue": "^6.2.2", 25 | "lodash": "^4.17.21", 26 | "vue-template-compiler": "^2.6.11" 27 | }, 28 | "eslintConfig": { 29 | "root": true, 30 | "env": { 31 | "node": true 32 | }, 33 | "extends": [ 34 | "plugin:vue/essential", 35 | "eslint:recommended" 36 | ], 37 | "parserOptions": { 38 | "parser": "babel-eslint" 39 | }, 40 | "rules": {} 41 | }, 42 | "browserslist": [ 43 | "> 1%", 44 | "last 2 versions", 45 | "not dead" 46 | ] 47 | } 48 | -------------------------------------------------------------------------------- /view/public/css/main.css: -------------------------------------------------------------------------------- 1 | /*===================== 2 | 1.COMMON 3 | 2.SIDEMENU 4 | 3.HEADER 5 | 4.HOME 6 | 5.ADD MONEY 7 | 6.INVOICE 8 | 7.AUDIT 9 | 8.FOOTER 10 | 9.LOGIN 11 | 10.REGISTRATION 12 | 11.USER PROFILE EDIT 13 | 12.DASHBOARD 14 | 13.ADMIN OVERVEIW 15 | 14.ADMIN 16 | 15.USER 17 | 16.NEW HOME 18 | 17.FOOTER 19 | 18.MENU 20 | =====================*/ 21 | 22 | 23 | 24 | 25 | /*========= 1.COMMON ========*/ 26 | p { 27 | font-size: 1rem; 28 | line-height: 24px; 29 | } 30 | section { 31 | position: relative; 32 | } 33 | h1, h2, h3, h4, h5, h6, 34 | .h1, .h2, .h3, .h4, .h5, .h5 { 35 | font-weight: bold; 36 | color: #33475c; 37 | margin: 0px; 38 | } 39 | 40 | h1, .h1 { 41 | line-height: 50px; 42 | } 43 | 44 | h2, .h2 { 45 | font-size: 34px; 46 | line-height: 1.3; 47 | } 48 | 49 | h3, .h3 { 50 | font-size: 22px; 51 | line-height: 1.36; 52 | } 53 | a, button { 54 | outline: none; 55 | border: 0; 56 | cursor: pointer; 57 | } 58 | a:hover, button:hover { 59 | text-decoration: none; 60 | } 61 | a:focus, a:active, button:focus, button:active { 62 | outline: 0; 63 | border: 0; 64 | } 65 | 66 | a { 67 | color: #0099ff; 68 | } 69 | a:hover { 70 | color: #0099ff !important; 71 | text-decoration: none; 72 | } 73 | button, input, select, textarea { 74 | font-family: "Helvetica Neue",Helvetica,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","\5FAE\8F6F\96C5\9ED1",Arial,sans-serif; 75 | } 76 | .l-v-center { 77 | position: absolute; 78 | left: 0; 79 | top: 30%; 80 | -webkit-transform: translateY(-30%); 81 | -ms-transform: translateY(-30%); 82 | transform: translateY(-30%); 83 | width: 100%; 84 | margin: auto; 85 | } 86 | 87 | .container { 88 | max-width: 1220px; 89 | } 90 | 91 | .main-container { 92 | min-height: 100vh; 93 | } 94 | 95 | section, .section-spacer { 96 | position: relative; 97 | } 98 | 99 | .section-spacer { 100 | padding: 83px 0; 101 | position: relative; 102 | } 103 | 104 | .section-header { 105 | margin-bottom: 60px; 106 | } 107 | 108 | .section-title { 109 | margin-bottom: 1rem; 110 | } 111 | 112 | .absolute-bottom { 113 | position: absolute; 114 | bottom: -10px; 115 | } 116 | h1, h2, h3, h4, h5, h6, 117 | .h1, .h2, .h3, .h4, .h5, .h5 { 118 | font-weight: bold; 119 | color: #33475c; 120 | margin: 0px; 121 | } 122 | 123 | h1, .h1 { 124 | line-height: 50px; 125 | } 126 | 127 | h2, .h2 { 128 | font-size: 34px; 129 | line-height: 1.3; 130 | } 131 | 132 | h3, .h3 { 133 | font-size: 22px; 134 | line-height: 1.36; 135 | } 136 | /* 137 | SELF HOSTED FONTS 138 | 139 | @font-face { 140 | font-family: 'HK Grotesk'; 141 | src: url("/static/fonts/hk-grotesk/HKGrotesk-Light.woff2") format("woff2"), url("../fonts/hk-grotesk/HKGrotesk-Light.woff") format("woff"); 142 | font-weight: 300; 143 | font-style: normal; 144 | } 145 | @font-face { 146 | font-family: 'HK Grotesk'; 147 | src: url("/static/fonts/hk-grotesk/HKGrotesk-Bold.woff2") format("woff2"), url("../fonts/hk-grotesk/HKGrotesk-Bold.woff") format("woff"); 148 | font-weight: bold; 149 | font-style: normal; 150 | } 151 | @font-face { 152 | font-family: 'HK Grotesk'; 153 | src: url("/static/fonts/hk-grotesk/HKGrotesk-Regular.woff2") format("woff2"), url("../fonts/hk-grotesk/HKGrotesk-Regular.woff") format("woff"); 154 | font-weight: normal; 155 | font-style: normal; 156 | } 157 | @font-face { 158 | font-family: 'HK Grotesk'; 159 | src: url("/static/fonts/hk-grotesk/HKGrotesk-Medium.woff2") format("woff2"), url("../fonts/hk-grotesk/HKGrotesk-Medium.woff") format("woff"); 160 | font-weight: 500; 161 | font-style: normal; 162 | } 163 | */ 164 | /* 165 | GLOBAL SHARED STYLES 166 | */ 167 | body { 168 | margin: 0 auto; 169 | padding: 0px; 170 | background: #f5f5f5; 171 | background: #f5f7fa; 172 | background-color: #f5f7fa !important; 173 | color: rgba(99, 114, 130, 0.9) !important; 174 | font-family: "HK Grotesk", Helvetica, arial, sans-serif !important; 175 | font-weight: 500; 176 | } 177 | img{ 178 | display: block; 179 | width: 100%; 180 | } 181 | h1{ 182 | font-size: 38px; 183 | } 184 | h2{ 185 | font-size: 24px; 186 | } 187 | h3{ 188 | font-size: 20px; 189 | } 190 | h4{ 191 | font-size: 17px; 192 | } 193 | h1,h2,h3,h4{ 194 | font-weight: bold; 195 | margin: 0px; 196 | } 197 | p{ 198 | margin: 0px; 199 | } 200 | ul{ 201 | padding: 0; 202 | margin: 0px; 203 | } 204 | input, select{ 205 | /*border-radius: 0px !important;*/ 206 | } 207 | button:focus, input:focus{ 208 | outline: none; 209 | box-shadow: none; 210 | } 211 | textarea { 212 | resize: none !important; 213 | } 214 | ._box_shadow { 215 | background: #fff; 216 | /*box-shadow: 0px 2px 28px 0px rgba(48, 48, 48, 0.1); 217 | box-shadow: 0px 2px 18px 0px rgba(186, 212, 247, 0.43);*/ 218 | -webkit-box-shadow: 0 10px 20px rgba(47, 91, 231, 0.1); 219 | box-shadow: 0 10px 20px rgba(47, 91, 231, 0.1); 220 | } 221 | ._flex_space{ 222 | flex: 1 1; 223 | } 224 | ._bg { 225 | background: #0099ff; 226 | } 227 | ._btn:hover{ 228 | background: #0551b7; 229 | } 230 | ._btn { 231 | border: none; 232 | font-size: 14px; 233 | background: #0266ed; 234 | color: #fff; 235 | border-radius: 3px; 236 | transition: .3s all ease; 237 | padding: 3px 11px; 238 | cursor: pointer; 239 | background: #0099ff; 240 | } 241 | ._btn:focus{ 242 | outline: none; 243 | border: none; 244 | box-shadow: none; 245 | } 246 | ._con { 247 | padding: 0 80px; 248 | } 249 | ._dis_flex{ 250 | display: flex; 251 | } 252 | ._text_overflow{ 253 | text-overflow: ellipsis; 254 | white-space: nowrap; 255 | overflow: hidden; 256 | } 257 | ._overflow{ 258 | overflow: auto; 259 | } 260 | ._text_right{ 261 | text-align: right; 262 | } 263 | ._text { 264 | font-size: 16px; 265 | } 266 | ._title{ 267 | font-size: 4rem; 268 | } 269 | ._title2 { 270 | font-size: 2rem; 271 | font-weight: 300; 272 | } 273 | ._title0 { 274 | color: #222; 275 | font-size: 17px; 276 | font-weight: 600; 277 | margin-bottom: 10px; 278 | } 279 | ._title3 { 280 | font-weight: 300; 281 | color: rgba(255,255,255,.7); 282 | font-family: unset; 283 | } 284 | ._text_center{ 285 | text-align: center; 286 | } 287 | ._border_color{ 288 | border-color:#f3f3f3 !important; 289 | } 290 | ._color { 291 | color: #0266ed; 292 | } 293 | ._border_radious{ 294 | border-radius: 3px; 295 | } 296 | ._padd10 { 297 | padding-left: 10px; 298 | padding-right: 10px; 299 | } 300 | ._padd15 { 301 | padding-left: 15px; 302 | padding-right: 15px; 303 | } 304 | ._padd20 { 305 | padding-left: 20px; 306 | padding-right: 20px; 307 | } 308 | ._padd0{ 309 | padding: 0px; 310 | } 311 | ._padd_b20{ 312 | padding-bottom: 20px; 313 | } 314 | ._padd_b25{ 315 | padding-bottom: 25px; 316 | } 317 | 318 | ._p20{ 319 | padding: 18px 20px 25px; 320 | } 321 | ._mar_b30{ 322 | margin-bottom: 30px; 323 | } 324 | ._mar_top{ 325 | margin-top: 35px; 326 | margin-top: 22px; 327 | } 328 | ._row_mar10{ 329 | margin-right: -10px; 330 | margin-left: -10px; 331 | } 332 | /*========= 1.COMMON ========*/ 333 | 334 | /*========= 2.SIDEMENU ========*/ 335 | ._1side_menu_content::-webkit-scrollbar { 336 | width: 5px; 337 | } 338 | 339 | ._1side_menu_content::-webkit-scrollbar-track { 340 | -webkit-box-shadow: inset 0 0 6px #e4f6ff; 341 | box-shadow: inset 0 0 6px #e4f6ff; 342 | } 343 | ._1side_menu_content::-webkit-scrollbar-thumb { 344 | background-color: #2d8cf0; 345 | outline: 1px solid #fff; 346 | } 347 | ._1side_menu { 348 | width: 248px; 349 | position: fixed; 350 | left: 0; 351 | top: 0; 352 | background: #fff; 353 | height: 100vh; 354 | overflow: hidden; 355 | color: #000; 356 | display: flex; 357 | flex-direction: column; 358 | box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1); 359 | box-shadow: 0 10px 20px rgba(47, 91, 231, 0.1); 360 | } 361 | ._1side_menu_logo { 362 | text-align: center; 363 | border-bottom: 1px solid #f4f4f5; 364 | height: 56px; 365 | padding-top: 18px; 366 | } 367 | ._1side_menu_content { 368 | /*height: -moz-calc(100% - (20px + 30px));*/ 369 | /* height: -webkit-calc(100% - (20px + 30px)); */ 370 | /* height: calc(100% - (20px + 30px)); */ 371 | flex: 1 1; 372 | overflow: auto; 373 | } 374 | ._1side_menu_img_name { 375 | margin: 15px 0 0; 376 | } 377 | ._1side_menu_img { 378 | height: 90px; 379 | width: 90px; 380 | border-radius: 50%; 381 | margin: 0 auto; 382 | border: 1px solid #223340; 383 | } 384 | ._1side_menu_name { 385 | font-weight: 600; 386 | text-align: center; 387 | font-size: 19px; 388 | margin: 15px 0 2px; 389 | color: #111113; 390 | } 391 | ._1side_menu_list { 392 | margin-top: 22px; 393 | margin-bottom: 16px; 394 | } 395 | ._1side_menu_list_ul{} 396 | ._1side_menu_list_ul li i { 397 | font-size: 19px; 398 | margin-right: 8px; 399 | } 400 | ._1side_menu_list_ul li a:hover{ 401 | color: #dcdcdc; 402 | } 403 | ._1side_menu_list_ul li a { 404 | color: #000000 !important; 405 | display: flex; 406 | font-size: 14px; 407 | cursor: pointer; 408 | padding: 13px 25px; 409 | transition: .2s all ease; 410 | border-right: 2px solid transparent; 411 | } 412 | ._1side_menu_list_ul li { 413 | color: #dcdcdc; 414 | font-size: 14px; 415 | cursor: pointer; 416 | transition: .2s all ease; 417 | } 418 | ._1side_menu_list_ul li:hover{ 419 | } 420 | ._1side_menu_list_ul_active { 421 | color: #2d8cf0; 422 | background: #ecf9ff; 423 | } 424 | ._1side_menu_list_ul_active a { 425 | color: #0099ff!important; 426 | border-right: 2px solid #0099ff !important; 427 | } 428 | /*========= 2.SIDEMENU ========*/ 429 | 430 | 431 | /*========= 3.HEADER =======*/ 432 | .header { 433 | display: flex; 434 | align-items: center; 435 | height: 55px; 436 | position: fixed; 437 | width: 100%; 438 | z-index: 1; 439 | padding-left: 248px; 440 | top: 0px; 441 | left: 0px; 442 | } 443 | ._2menu { 444 | display: flex; 445 | align-items: center; 446 | height: 55px; 447 | width: 100%; 448 | z-index: 11111; 449 | top: 0px; 450 | left: 0px; 451 | background: #fff; 452 | padding: 0 15px 0 2px; 453 | } 454 | ._2menu_logo { 455 | height: 100%; 456 | padding-top: 17px; 457 | border-right: 1px solid #ececec; 458 | padding-right: 3px; 459 | } 460 | ._2menu_logo_pic { 461 | width: 100px; 462 | } 463 | ._2menu_ceta { 464 | flex: 1 1; 465 | padding: 0 26px; 466 | height: 100%; 467 | } 468 | .open_button li{ 469 | display: inline-block; 470 | margin:0 10px; 471 | } 472 | .open_button{} 473 | .open_button i { 474 | font-size: 25px; 475 | color: #444; 476 | font-weight: bold; 477 | cursor: pointer; 478 | } 479 | ._2menu_log { 480 | height: 100%; 481 | padding: 13px 0 0 0px; 482 | border-left: 1px solid #ececec; 483 | } 484 | ._2menu_profile_pic { 485 | height: 35px; 486 | width: 35px; 487 | border-radius: 50%; 488 | } 489 | ._2menu_profile { 490 | height: 35px; 491 | width: 35px; 492 | position: relative; 493 | } 494 | ._2menu_profile_active { 495 | background: #0099ff !important; 496 | } 497 | ._2menu_profile_on { 498 | position: absolute; 499 | height: 13px; 500 | width: 12px; 501 | border-radius: 50%; 502 | background: white; 503 | border: 2px solid #ddd; 504 | bottom: 0px; 505 | right: 0px; 506 | } 507 | ._2menu_mess { 508 | position: relative; 509 | width: 19px; 510 | display: inline-block; 511 | } 512 | ._2menu_mess i { 513 | font-size: 19px; 514 | color: #7d7d7d; 515 | } 516 | ._2menu_mess_num { 517 | position: absolute; 518 | top: -9px; 519 | right: -6px; 520 | font-weight: 700; 521 | height: 17px; 522 | width: 17px; 523 | line-height: 16px; 524 | text-align: center; 525 | color: #fff; 526 | font-size: 9px; 527 | border-radius: 50%; 528 | border: 1px solid #fff; 529 | } 530 | ._2menu_ul{} 531 | ._2menu_ul li { 532 | display: inline-block; 533 | vertical-align: middle; 534 | margin-left: 27px; 535 | cursor: pointer; 536 | } 537 | ._2menu_ceta_text i { 538 | position: absolute; 539 | right: 0; 540 | top: 6px; 541 | transition: .3s all ease; 542 | height: 12px; 543 | width: 8px; 544 | } 545 | ._2menu_ul_list { 546 | display: flex; 547 | align-items: center; 548 | } 549 | ._2menu_main_ul_list_ul { 550 | text-align: right; 551 | padding-top: 2px; 552 | } 553 | ._2menu_main_ul_list_ul li{ 554 | display: inline-block; 555 | margin-left: 20px; 556 | } 557 | ._2menu_main_ul_list_ul li p:hover{ 558 | color: #0099ff; 559 | } 560 | ._2menu_main_ul_list_ul li p { 561 | transition: 0.3s all ease; 562 | cursor: pointer; 563 | align-items: center; 564 | font-size: 14px; 565 | text-transform: uppercase; 566 | font-weight: 600; 567 | text-decoration: none; 568 | } 569 | li.activeclass { 570 | color: #0099ff; 571 | } 572 | /*========= 3.HEADER =======*/ 573 | 574 | /*========= 4.HOME =======*/ 575 | .content { 576 | padding-top: 80px; 577 | padding-bottom: 100px; 578 | padding-left: 20px; 579 | padding-right: 20px; 580 | } 581 | .home_header:before{ 582 | position: absolute; 583 | content: ''; 584 | } 585 | .home { 586 | 587 | } 588 | .home_header{ 589 | background-position: center center; 590 | -webkit-background-size: cover; 591 | -moz-background-size: cover; 592 | -o-background-size: cover; 593 | background-size: cover; 594 | color: #fff; 595 | height: 100vh; 596 | min-height: 650px; 597 | } 598 | .home_header_main{} 599 | .home_header_logo { 600 | text-align: left; 601 | margin-left: 106px; 602 | padding: 24px 0 16px; 603 | } 604 | .home_header_title { 605 | margin-top: 43px; 606 | } 607 | .home_header_title ._title { 608 | padding: 0 0 13px; 609 | } 610 | .pay_line { 611 | width: 63px; 612 | height: 3px; 613 | background: #2d8cf0; 614 | margin: 0 auto; 615 | } 616 | .home_services_main { 617 | width: 50%; 618 | margin: 19px auto 0; 619 | } 620 | .sub_title{ 621 | margin: 21px 0 32px; 622 | } 623 | .home_services_main p { 624 | display: inline-block; 625 | margin: 25px 4px; 626 | } 627 | .home_services_main_btn { 628 | font-weight: 700; 629 | text-transform: uppercase; 630 | border: none; 631 | border-radius: 300px; 632 | font-family: 'Open Sans','Helvetica Neue',Arial,sans-serif; 633 | font-size: 1rem; 634 | line-height: 1.5; 635 | transition: color .15s ease-in-out , background-color .15s ease-in-out , border-color .15s ease-in-out , box-shadow .15s ease-in-out; 636 | padding: 1rem 2rem; 637 | } 638 | .orange_bg:hover { 639 | background: #ee4b28; 640 | color: #fff; 641 | } 642 | .orange_bg { 643 | background-color: #f05f40; 644 | border-color: #f05f40; 645 | color: #fff; 646 | } 647 | .white_bg:hover{ 648 | color: #212529; 649 | background-color: #e2e6ea; 650 | border-color: #dae0e5; 651 | } 652 | .white_bg{ 653 | color: #212529; 654 | background-color: #fff; 655 | border-color: #fff; 656 | } 657 | .green_bg:hover{ 658 | color: #fff; 659 | background-color: #5a6268; 660 | border-color: #545b62; 661 | } 662 | .green_bg{ 663 | color: #fff; 664 | background-color: #6c757d; 665 | border-color: #6c757d; 666 | } 667 | .red_bg:hover{ 668 | color: #fff; 669 | background-color: #c82333; 670 | border-color: #bd2130; 671 | } 672 | .red_bg{ 673 | color: #fff; 674 | background-color: #dc3545; 675 | border-color: #dc3545; 676 | } 677 | .yellow_bg:hover{ 678 | background: #d4d40c; 679 | color: #000; 680 | } 681 | .yellow_bg { 682 | background: yellow; 683 | color: #000; 684 | } 685 | .need_section { 686 | background: #f05f40; 687 | color: #fff; 688 | text-align: center; 689 | padding: 53px 0 85px; 690 | } 691 | .service_title { 692 | font-size: 21px; 693 | color: #111; 694 | margin: 7px 0 8px; 695 | } 696 | .need_section ._text { 697 | font-size: 16px; 698 | margin: 34px 0 50px; 699 | } 700 | .service { 701 | padding: 52px 0 17px; 702 | } 703 | .service .need_title { 704 | margin-bottom: 54px; 705 | } 706 | .service_main { 707 | margin-bottom: 35px; 708 | } 709 | .service_icons{} 710 | .service_icons i { 711 | color: #f05f40; 712 | font-size: 69px; 713 | } 714 | /*========= 4.HOME =======*/ 715 | 716 | /*========= 5.ADD MONEY =======*/ 717 | .addMoney{} 718 | .addMoney ._text { 719 | font-size: 16px; 720 | width: 305px; 721 | text-align: center; 722 | margin: 18px auto 8px; 723 | color: #666; 724 | font-size: 14px; 725 | line-height: 17px; 726 | } 727 | .addMoney_title { 728 | color: #383838; 729 | text-align: center; 730 | } 731 | .addMoney_main { 732 | padding-top: 27px; 733 | } 734 | .addMoney_check:hover { 735 | box-shadow: 0px 5px 51px 3px rgba(48, 48, 48, 0.16); 736 | } 737 | .addMoney_check { 738 | text-align: center; 739 | width: 198px; 740 | padding: 33px 8px; 741 | transition: .3s all ease; 742 | margin: 0 15px; 743 | cursor: pointer; 744 | } 745 | .addMoney_check_img { 746 | height: 92px; 747 | width: auto; 748 | margin: -4px auto 2px; 749 | } 750 | .addMoney_check_text { 751 | font-weight: 600; 752 | color: #333; 753 | } 754 | /*========= 5.ADD MONEY =======*/ 755 | 756 | /*========= 6.INVOICE =======*/ 757 | .invoice { 758 | padding-top: 25px; 759 | padding-bottom: 24px; 760 | } 761 | .invoice_upload { 762 | border-bottom: 1px solid; 763 | margin-bottom: 22px; 764 | padding-bottom: 16px; 765 | } 766 | .invoice_button { 767 | text-align: right; 768 | } 769 | .invoice_message_box { 770 | padding-bottom: 20px; 771 | } 772 | .invoice_btn { 773 | font-weight: 500; 774 | font-size: 11px; 775 | padding: 6px 19px; 776 | } 777 | /*========= 6.INVOICE =======*/ 778 | 779 | /*========= 7.AUDIT =======*/ 780 | .audit_list { 781 | padding-top: 15px; 782 | padding-bottom: 5px; 783 | margin-bottom: 25px; 784 | } 785 | .audit{ 786 | margin-bottom: 25px; 787 | } 788 | .audit_table{ 789 | padding-top: 15px; 790 | padding-bottom: 27px; 791 | overflow: auto; 792 | } 793 | .audit_list_ul_active { 794 | color: #0099ff !important; 795 | background: #ecf4ff; 796 | border-right: 2px solid #0099ff !important; 797 | } 798 | .audit_list_ul_active i { 799 | color: #73a8f1 !important; 800 | } 801 | .audit_list_ul{} 802 | .audit_list_ul li:last-child{ 803 | border-bottom: 0px solid #e3edfbd1; 804 | } 805 | .audit_list_ul li:hover{ 806 | color: #000; 807 | background: #ecf4ff; 808 | } 809 | .audit_list_ul li:hover i { 810 | color: #73a8f1; 811 | } 812 | .audit_list ._title0{ 813 | padding: 0px 15px; 814 | } 815 | .audit_list_ul li { 816 | list-style: none; 817 | font-size: 14px; 818 | color: #444; 819 | border-bottom: 1px solid #e3edfbd1; 820 | padding: 16px 15px; 821 | transition: .2s all ease; 822 | cursor: pointer; 823 | border-right: 2px solid transparent; 824 | } 825 | .audit_list_ul li i { 826 | color: #a7ccff; 827 | font-size: 16px; 828 | transition: .2s all ease; 829 | margin-right: 5px; 830 | } 831 | /*TABLE*/ 832 | ._table { 833 | border-collapse: collapse; 834 | width: 100%; 835 | } 836 | ._table tr{} 837 | ._table tr:first-child { 838 | background: #a7ccff; 839 | background: #0099ff; 840 | } 841 | ._table tr:first-child:hover{ 842 | background: #0099ff; 843 | } 844 | ._table tr:hover, ._table tr:nth-child(even):hover { 845 | background: #ecf9ff; 846 | } 847 | ._table tr:nth-child(even) { 848 | background: #ececec8c; 849 | } 850 | ._table tr th { 851 | border: 1px solid transparent; 852 | text-align: left; 853 | padding: 8px 13px; 854 | color: #fff; 855 | font-size: 15px; 856 | } 857 | ._table tr td { 858 | border: 1px solid #f3f3f3; 859 | text-align: left; 860 | padding: 8px 13px; 861 | min-width: 103px; 862 | font-size: 15px; 863 | } 864 | /*TABLE*/ 865 | /*========= 7.AUDIT =======*/ 866 | 867 | /*========= 8.FOOTER =======*/ 868 | .footer { 869 | background: #2d8cf0; 870 | color: #fff; 871 | padding: 32px 0 29px; 872 | } 873 | .footer_ul { 874 | text-align: right; 875 | } 876 | .footer_ul li { 877 | list-style: none; 878 | cursor: pointer; 879 | font-size: 14px; 880 | padding: 3px 0px; 881 | transition: .2s all ease; 882 | } 883 | .footer_ul li:hover { 884 | color: #d6d6d6; 885 | padding-right: 10px; 886 | } 887 | .footer_ul2 { 888 | padding-top: 21px; 889 | } 890 | .footer_ul2 li { 891 | display: inline-block; 892 | font-size: 22px; 893 | margin-right: 4px; 894 | cursor: pointer; 895 | } 896 | ._color_blue { 897 | color: blue; 898 | } 899 | ._color_ash { 900 | color: #7de7ff; 901 | } 902 | ._color_dark_blue { 903 | color: white; 904 | } 905 | /*========= 8.FOOTER =======*/ 906 | 907 | /*========= 9.LOGIN =======*/ 908 | ._3login { 909 | width: 450px; 910 | margin: 0 auto 20px; 911 | position: absolute; 912 | top: 50%; 913 | left: 50%; 914 | transform: translate(-50%, -50%); 915 | background: #fff; 916 | padding: 9px 33px 40px; 917 | } 918 | ._3login_logo { 919 | max-width: 374px; 920 | margin: 33px auto 11px; 921 | } 922 | ._3login_title span{ 923 | background: #fff; 924 | padding:0px 10px; 925 | color: #333; 926 | } 927 | ._3login_title { 928 | text-align: center; 929 | border-bottom: 1px solid #ddd; 930 | margin: 0 0 27px; 931 | line-height: 0px; 932 | font-weight: 600; 933 | color: #888; 934 | font-size: 12px; 935 | } 936 | ._3login_form { 937 | margin-top: 63px; 938 | } 939 | ._3login_input_group { 940 | margin-bottom: 30px; 941 | } 942 | ._3login_input_group input{} 943 | ._3login_input_button { 944 | text-align: center; 945 | } 946 | ._3login_input_button button { 947 | padding: 10px 40px; 948 | } 949 | ._3login_forgot { 950 | text-align: right; 951 | padding: 3px 0 0; 952 | } 953 | ._3login_forgot span { 954 | font-size: 12px; 955 | color: #0266ed; 956 | cursor: pointer; 957 | } 958 | ._3login_forgot span:hover{ 959 | text-decoration: underline; 960 | } 961 | /*========= 9.LOGIN =======*/ 962 | 963 | /*========= 10.REGISTRATION =======*/ 964 | .registration { 965 | width: 550px; 966 | margin: 60px auto 50px; 967 | background: #fff; 968 | padding: 9px 33px 40px; 969 | } 970 | .registration_title { 971 | font-weight: 600; 972 | color: #222; 973 | font-size: 13px; 974 | margin: 0 0 5px; 975 | } 976 | /*========= 10.REGISTRATION =======*/ 977 | .paddingtopbottom{ 978 | padding-top: 11px; 979 | padding-bottom: 11px; 980 | } 981 | .paddingtopbottom p{ 982 | font-weight: bold; 983 | } 984 | .green{ 985 | color: green; 986 | } 987 | 988 | /*========= 11.USER PROFILE EDIT =======*/ 989 | ._2userproEdit{} 990 | ._2userproEdit_main{} 991 | ._2userproEdit_pic{} 992 | ._2userproEdit_img{} 993 | ._2userproEdit_edit{} 994 | ._2userproEdit_details{} 995 | ._2userproEdit_details_all{} 996 | /*========= 11.USER PROFILE EDIT =======*/ 997 | 998 | /*========= 12.DASHBOARD =======*/ 999 | ._1dashboard { 1000 | padding-top: 18px; 1001 | padding-bottom: 22px; 1002 | } 1003 | ._1dashboard_table { 1004 | padding-top: 16px; 1005 | padding-bottom: 20px; 1006 | } 1007 | ._1dashboard_graph { 1008 | margin-top: 37px; 1009 | } 1010 | ._1dashboard_graph { 1011 | margin-top: 37px; 1012 | padding-top: 17px; 1013 | padding-bottom: 16px; 1014 | } 1015 | ._1dashboard_slider{} 1016 | /*========= 12.DASHBOARD =======*/ 1017 | 1018 | /*========= 13.ADMIN OVERVEIW =======*/ 1019 | ._1adminOverveiw_card { 1020 | display: flex; 1021 | padding: 20px 14px; 1022 | color: #0099ff !important; 1023 | } 1024 | ._1adminOverveiw_card_left { 1025 | flex: 1 1; 1026 | } 1027 | ._1adminOverveiw_card_right{} 1028 | ._1adminOverveiw_card_right i { 1029 | font-size: 43px; 1030 | } 1031 | ._1adminOverveiw_card_left_num { 1032 | font-weight: 600; 1033 | font-size: 17px; 1034 | margin: 0 0 3px; 1035 | } 1036 | ._1adminOverveiw_bg_four { 1037 | color: #00BCD4; 1038 | } 1039 | ._1adminOverveiw_bg_three { 1040 | color: #FF5722; 1041 | } 1042 | ._1adminOverveiw_bg_two i{ 1043 | font-weight: bold; 1044 | } 1045 | ._1adminOverveiw_bg_two { 1046 | color: #009688; 1047 | } 1048 | ._1adminOverveiw_bg_one{ 1049 | color: #E91E63; 1050 | } 1051 | ._1adminOverveiw_card_left_title{ 1052 | color: #222; 1053 | } 1054 | ._1adminOverveiw_table_recent{} 1055 | ._table_div{} 1056 | ._due { 1057 | background: red; 1058 | color: #fff; 1059 | padding: 3px 7px; 1060 | border-radius: 20px; 1061 | font-size: 11px; 1062 | font-weight: 600; 1063 | cursor: pointer; 1064 | } 1065 | ._action_btn { 1066 | padding: 2px 8px; 1067 | font-weight: bold; 1068 | font-size: 12px; 1069 | } 1070 | .table_pro_img{ 1071 | height: 30px; 1072 | width: 30px; 1073 | border-radius: 50%; 1074 | margin-right: 8px; 1075 | } 1076 | ._table_name { 1077 | font-weight: 600; 1078 | color: #383737; 1079 | max-width: 415px; 1080 | display: -webkit-box; 1081 | max-height: 3.2rem; 1082 | -webkit-box-orient: vertical; 1083 | overflow: hidden; 1084 | text-overflow: ellipsis; 1085 | white-space: normal; 1086 | -webkit-line-clamp: 2; 1087 | } 1088 | ._table_pro { 1089 | display: flex; 1090 | align-items: center; 1091 | font-weight: 600; 1092 | color: #383737; 1093 | } 1094 | ._num { 1095 | background: #6da5f3; 1096 | color: #fff; 1097 | font-size: 11px; 1098 | font-weight: 600; 1099 | padding: 2px 9px; 1100 | border-radius: 22px; 1101 | } 1102 | /*========= 13.ADMIN OVERVEIW =======*/ 1103 | 1104 | /*========= 14.ADMIN =======*/ 1105 | .add_invoice_new{} 1106 | .add_invoice_new_form{ 1107 | margin-top: 30px; 1108 | } 1109 | ._paid{ 1110 | background: #1ea1f3; 1111 | color: #fff; 1112 | font-size: 11px; 1113 | font-weight: 600; 1114 | padding: 2px 9px; 1115 | border-radius: 22px; 1116 | } 1117 | /*========= 14.ADMIN =======*/ 1118 | 1119 | /*========= 15.USER =======*/ 1120 | .user_overVeiw{} 1121 | .user_credit_trasection{} 1122 | .OVERVEIW_all{} 1123 | ._debit{ 1124 | color: red; 1125 | font-weight: 600; 1126 | } 1127 | ._cridet { 1128 | color: green; 1129 | font-weight: 600; 1130 | } 1131 | .Upload_image{} 1132 | .Upload_image li i { 1133 | font-size: 96px; 1134 | color: green; 1135 | } 1136 | .Upload_image li { 1137 | display: inline-block; 1138 | margin-right: 15px; 1139 | margin-bottom: 15px; 1140 | } 1141 | .Upload_image_img{} 1142 | 1143 | .user_name_text { 1144 | color: #0266ed; 1145 | font-weight: 600; 1146 | font-size: 17px; 1147 | } 1148 | .user_image { 1149 | height: 50px; 1150 | width: 50px; 1151 | border-radius: 50%; 1152 | margin-right: 13px; 1153 | } 1154 | .user_title { 1155 | margin-bottom: 8px; 1156 | } 1157 | .user_title_span { 1158 | font-weight: 600; 1159 | color: #222; 1160 | padding-right: 20px; 1161 | } 1162 | .user_details_all{ 1163 | margin-top: 15px; 1164 | } 1165 | /*========= 15.USER =======*/ 1166 | 1167 | /*========= 16.NEW HOME =======*/ 1168 | /*========= 16.NEW HOME =======*/ 1169 | 1170 | /*========= 17.FOOTER =======*/ 1171 | footer p{ 1172 | font-size: 16px; 1173 | } 1174 | footer a { 1175 | color: #637282; 1176 | } 1177 | footer h5 { 1178 | margin-bottom: 20px; 1179 | } 1180 | footer .list-unstyled li { 1181 | margin-bottom: 10px; 1182 | color: #637282 !important; 1183 | font-size: 16px; 1184 | } 1185 | footer hr { 1186 | border-color: rgba(47, 91, 231, 0.1); 1187 | } 1188 | footer .social-links .list-inline-item { 1189 | margin: 0 5px; 1190 | } 1191 | footer .social-links .list-inline-item i { 1192 | font-size: 1.5rem; 1193 | } 1194 | .footer_icons{ 1195 | padding:20px 0 10px; 1196 | } 1197 | /*========= 17.FOOTER =======*/ 1198 | 1199 | /*========= 18.MENU =======*/ 1200 | .navbar-toggler { 1201 | padding: 0; 1202 | width: 20px; 1203 | height: 15px; 1204 | position: relative; 1205 | border: none; 1206 | } 1207 | .navbar-expand-lg .navbar-toggler { 1208 | border-color: #fff; 1209 | } 1210 | .navbar-light .navbar-toggler { 1211 | color: rgba(0,0,0,.5); 1212 | border-color: rgba(0,0,0,.1); 1213 | } 1214 | .menu-icon { 1215 | width: 100%; 1216 | height: 100%; 1217 | top: 50%; 1218 | left: 50%; 1219 | -webkit-transform: translate(-50%, -50%); 1220 | -ms-transform: translate(-50%, -50%); 1221 | transform: translate(-50%, -50%); 1222 | position: absolute; 1223 | } 1224 | .menu-icon__bar { 1225 | width: 100%; 1226 | height: 2px; 1227 | border-radius: 50px; 1228 | background: #0099ff; 1229 | display: block; 1230 | position: absolute; 1231 | left: 0; 1232 | -webkit-transition: all .25s ease-in-out; 1233 | transition: all .25s ease-in-out; 1234 | } 1235 | .menu-icon__bar:nth-child(2) { 1236 | top: 0; 1237 | bottom: 0; 1238 | margin: auto; 1239 | } 1240 | .menu-icon__bar:nth-child(3) { 1241 | bottom: 0; 1242 | } 1243 | .navbar-is-sticky { 1244 | -webkit-box-shadow: 0 1px 5px rgba(47, 91, 231, 0.1); 1245 | box-shadow: 0 1px 5px rgba(47, 91, 231, 0.1); 1246 | background: white; 1247 | padding-top: .3rem; 1248 | padding-bottom: .3rem; 1249 | min-height: auto; 1250 | height: inherit !important; 1251 | } 1252 | .navbar .navbar-nav .nav-item .nav-link { 1253 | position: relative; 1254 | padding: .8rem 1rem; 1255 | color: #637282; 1256 | -webkit-transition: all 1s ease-in-out; 1257 | transition: all 1s ease-in-out; 1258 | font-size: 16px; 1259 | } 1260 | .btn { 1261 | border-radius: 4px; 1262 | padding: 15px 20px; 1263 | font-weight: bold !important; 1264 | outline: 0; 1265 | line-height: 1; 1266 | font-size: 14px; 1267 | } 1268 | .btn-outline { 1269 | color: #0099ff; 1270 | border: 2px solid #0099ff; 1271 | } 1272 | .menu_log_btn { 1273 | border-radius: 4px; 1274 | padding: 8px 15px; 1275 | } 1276 | /*========= 18.MENU =======*/ 1277 | 1278 | /*========= NEW CSS ===========*/ 1279 | .menu_list { 1280 | width: 100%; 1281 | justify-content: flex-end; 1282 | padding-right: 17px; 1283 | } 1284 | .menu_log_btn { 1285 | border-radius: 4px; 1286 | padding: 8px 15px; 1287 | } 1288 | .slider_section_main { 1289 | height: 570px; 1290 | overflow: hidden; 1291 | border-radius: 10px; 1292 | } 1293 | /*========= NEW CSS ===========*/ 1294 | 1295 | /*========= common CSS ===========*/ 1296 | .lead { 1297 | font-weight: inherit; 1298 | line-height: 28px; 1299 | } 1300 | .l-v-center { 1301 | position: absolute; 1302 | left: 0; 1303 | top: 30%; 1304 | -webkit-transform: translateY(-30%); 1305 | -ms-transform: translateY(-30%); 1306 | transform: translateY(-30%); 1307 | width: 100%; 1308 | margin: auto; 1309 | } 1310 | .container { 1311 | max-width: 1220px; 1312 | } 1313 | .main-container { 1314 | min-height: 100vh; 1315 | } 1316 | section, .section-spacer { 1317 | position: relative; 1318 | } 1319 | .section-spacer { 1320 | padding: 83px 0; 1321 | position: relative; 1322 | } 1323 | .section-header { 1324 | margin-bottom: 60px; 1325 | } 1326 | .section-title { 1327 | margin-bottom: 1rem; 1328 | } 1329 | .absolute-bottom { 1330 | position: absolute; 1331 | bottom: -10px; 1332 | } 1333 | .mfp-bg { 1334 | background: rgba(0, 0, 0, 0.5); 1335 | opacity: 1; 1336 | -webkit-transition: all .4s ease-in-out; 1337 | transition: all .4s ease-in-out; 1338 | } 1339 | 1340 | .mfp-content { 1341 | max-width: 1200px !important; 1342 | border-radius: 30px; 1343 | } 1344 | 1345 | .mfp-iframe-scaler iframe { 1346 | -webkit-box-shadow: 0px 0px 50px 20px rgba(0, 0, 0, 0.2); 1347 | box-shadow: 0px 0px 50px 20px rgba(0, 0, 0, 0.2); 1348 | } 1349 | 1350 | .mfp-image-holder .mfp-close, 1351 | .mfp-iframe-holder .mfp-close { 1352 | right: 0; 1353 | top: -50px; 1354 | width: 50px; 1355 | height: 50px; 1356 | font-size: 50px; 1357 | text-align: center; 1358 | background: white; 1359 | color: #0099ff; 1360 | line-height: 50px; 1361 | margin: auto; 1362 | padding: 0; 1363 | opacity: 1; 1364 | z-index: 10; 1365 | } 1366 | .tooltip { 1367 | opacity: 1 !important; 1368 | } 1369 | 1370 | .tooltip-arrow, 1371 | .tooltip > .tooltip-inner { 1372 | background-color: #ffd5d5; 1373 | opacity: 1; 1374 | border-radius: 0; 1375 | color: #33475c !important; 1376 | } 1377 | 1378 | .tooltip.bs-tooltip-auto[x-placement^=top] .arrow::before, .tooltip.bs-tooltip-top .arrow::before { 1379 | border-top-color: #ffd5d5; 1380 | } 1381 | .u-bg--secondary { 1382 | /* add your brand color here */ 1383 | background: #6eecec; 1384 | color: #fff; 1385 | } 1386 | 1387 | .u-bg--dark { 1388 | color: #fff; 1389 | background: #0099ff; 1390 | } 1391 | .u-bg--dark * { 1392 | color: #fff; 1393 | } 1394 | 1395 | .u-text--light h1, .u-text--light h2, .u-text--light h3, .u-text--light h4, .u-text--light h5, .u-text--light h6, 1396 | .u-text--light p { 1397 | color: #fff; 1398 | } 1399 | 1400 | .u-bg-overlay { 1401 | position: absolute; 1402 | top: 0; 1403 | right: 0; 1404 | left: 0; 1405 | height: 70%; 1406 | width: 100%; 1407 | z-index: -1; 1408 | } 1409 | 1410 | .u-bg-gradient--primary { 1411 | } 1412 | 1413 | .u-bg--primary { 1414 | background: #0099ff; 1415 | } 1416 | 1417 | .u-bg--red { 1418 | background: #f22f46; 1419 | } 1420 | 1421 | .u-bg--default { 1422 | background: #f5f7fa; 1423 | } 1424 | .form-group { 1425 | margin-bottom: 25px; 1426 | } 1427 | 1428 | .form-control { 1429 | border-radius: 3px; 1430 | padding: .8rem 1rem; 1431 | border: 1px solid rgba(51, 71, 92, 0.1); 1432 | -webkit-box-shadow: none; 1433 | box-shadow: none; 1434 | } 1435 | .form-control:focus, .form-control:active { 1436 | border-color: rgba(47, 91, 231, 0.5); 1437 | -webkit-box-shadow: none; 1438 | box-shadow: none; 1439 | } 1440 | 1441 | .form-control.rounded { 1442 | border-radius: 50px !important; 1443 | } 1444 | 1445 | .input-field-lg { 1446 | padding: 15px; 1447 | } 1448 | 1449 | .custom-select { 1450 | width: auto; 1451 | border-radius: 2px; 1452 | background: white; 1453 | padding: 0 !important; 1454 | position: relative; 1455 | cursor: pointer; 1456 | pointer-events: fill; 1457 | } 1458 | .custom-select select { 1459 | padding-left: 10px; 1460 | border: 0 !important; 1461 | } 1462 | .custom-select:after { 1463 | content: '⇲'; 1464 | position: absolute; 1465 | right: 0; 1466 | top: 50%; 1467 | width: 20px; 1468 | -webkit-transform: translateY(-50%); 1469 | -ms-transform: translateY(-50%); 1470 | transform: translateY(-50%); 1471 | margin: auto; 1472 | pointer-events: none; 1473 | } 1474 | 1475 | /* 1476 | Custom Checkbox 1477 | */ 1478 | .custom-checkbox-control { 1479 | display: inline; 1480 | } 1481 | 1482 | .custom-checkbox { 1483 | display: -webkit-inline-box; 1484 | display: -webkit-inline-flex; 1485 | display: -ms-inline-flexbox; 1486 | display: inline-flex; 1487 | -webkit-box-align: start; 1488 | -webkit-align-items: flex-start; 1489 | -ms-flex-align: start; 1490 | align-items: flex-start; 1491 | position: relative; 1492 | cursor: pointer; 1493 | } 1494 | .custom-checkbox .custom-checkbox--input[type="checkbox"] { 1495 | width: 0; 1496 | height: 0; 1497 | top: -35px; 1498 | left: -35px; 1499 | opacity: 0; 1500 | margin-right: 10px; 1501 | display: none; 1502 | position: absolute; 1503 | } 1504 | .custom-checkbox .custom-checkbox--label { 1505 | vertical-align: top; 1506 | margin: 0; 1507 | display: -webkit-inline-box; 1508 | display: -webkit-inline-flex; 1509 | display: -ms-inline-flexbox; 1510 | display: inline-flex; 1511 | -webkit-box-align: start; 1512 | -webkit-align-items: flex-start; 1513 | -ms-flex-align: start; 1514 | align-items: flex-start; 1515 | font-weight: bold; 1516 | font-size: 14px; 1517 | } 1518 | .custom-checkbox .custom-checkbox--faux { 1519 | width: 20px; 1520 | height: 20px; 1521 | min-width: 20px; 1522 | min-height: 20px; 1523 | display: inline-block; 1524 | border: 1px solid rgba(47, 91, 231, 0.5); 1525 | border-radius: 2px; 1526 | position: relative; 1527 | margin-right: 1rem; 1528 | left: 0; 1529 | cursor: pointer; 1530 | } 1531 | .custom-checkbox .custom-checkbox--faux:after { 1532 | content: ''; 1533 | position: absolute; 1534 | display: none; 1535 | top: -2px; 1536 | right: 0; 1537 | bottom: 0; 1538 | left: 0; 1539 | margin: auto; 1540 | vertical-align: middle; 1541 | width: 5px; 1542 | height: 12px; 1543 | border: solid white; 1544 | border-width: 0 2px 2px 0; 1545 | -webkit-transform: rotate(40deg); 1546 | -ms-transform: rotate(40deg); 1547 | transform: rotate(40deg); 1548 | } 1549 | 1550 | .custom-checkbox .custom-checkbox--input[type="checkbox"]:checked ~ .custom-checkbox--label .custom-checkbox--faux, 1551 | .custom-checkbox--label + .custom-checkbox--faux { 1552 | border-color: #0099ff !important; 1553 | background: #0099ff !important; 1554 | } 1555 | .custom-checkbox .custom-checkbox--input[type="checkbox"]:checked ~ .custom-checkbox--label .custom-checkbox--faux:after, 1556 | .custom-checkbox--label + .custom-checkbox--faux:after { 1557 | display: block; 1558 | } 1559 | .list-check { 1560 | list-style-type: none; 1561 | padding-left: 0; 1562 | } 1563 | 1564 | .list-check--item { 1565 | margin-bottom: 3rem; 1566 | padding-left: 60px; 1567 | position: relative; 1568 | } 1569 | .list-check--item:last-of-type { 1570 | margin-bottom: 0; 1571 | } 1572 | .list-check.light:before { 1573 | background: white; 1574 | } 1575 | .u-hidden { 1576 | display: none; 1577 | } 1578 | 1579 | .o-bg-image { 1580 | object-fit: cover; 1581 | position: absolute; 1582 | top: 0; 1583 | left: 0; 1584 | width: 100%; 1585 | height: 100%; 1586 | } 1587 | 1588 | .u-box-shadow--default { 1589 | -webkit-box-shadow: 0 25px 25px rgba(47, 91, 231, 0.1); 1590 | box-shadow: 0 25px 25px rgba(47, 91, 231, 0.1); 1591 | } 1592 | 1593 | .content-divider { 1594 | margin: 0; 1595 | border-color: rgba(47, 91, 231, 0.2); 1596 | } 1597 | #loading { 1598 | position: fixed; 1599 | left: 0; 1600 | top: 0; 1601 | width: 100%; 1602 | height: 100%; 1603 | background-color: #fff; 1604 | z-index: 10000; 1605 | } 1606 | 1607 | #loading .ripple { 1608 | width: 60px; 1609 | height: 60px; 1610 | border-radius: 50%; 1611 | position: absolute; 1612 | top: -webkit-calc(50% - 30px); 1613 | top: calc(50% - 30px); 1614 | left: -webkit-calc(50% - 30px); 1615 | left: calc(50% - 30px); 1616 | -webkit-animation-name: ripple; 1617 | animation-name: ripple; 1618 | -webkit-animation-duration: 1s; 1619 | animation-duration: 1s; 1620 | -webkit-animation-timing-function: ease-in-out; 1621 | animation-timing-function: ease-in-out; 1622 | -webkit-animation-direction: alternate-reverse; 1623 | animation-direction: alternate-reverse; 1624 | -webkit-animation-iteration-count: infinite; 1625 | animation-iteration-count: infinite; 1626 | -webkit-transform: scale(0); 1627 | -ms-transform: scale(0); 1628 | transform: scale(0); 1629 | opacity: 0.6; 1630 | } 1631 | 1632 | #loading .ripple1 { 1633 | background-color: rgba(47, 231, 177, 0.4); 1634 | } 1635 | 1636 | #loading .ripple2 { 1637 | -webkit-animation-delay: -250ms; 1638 | animation-delay: -250ms; 1639 | background-color: rgba(47, 231, 177, 0.5); 1640 | } 1641 | 1642 | #loading .ripple3 { 1643 | -webkit-animation-delay: -500ms; 1644 | animation-delay: -500ms; 1645 | background-color: rgba(47, 91, 231, 0.6); 1646 | } 1647 | 1648 | #loading .ripple4 { 1649 | -webkit-animation-delay: -750ms; 1650 | animation-delay: -750ms; 1651 | background-color: #2F5BE7; 1652 | } 1653 | 1654 | @-webkit-keyframes ripple { 1655 | to { 1656 | -webkit-transform: scale(1); 1657 | transform: scale(1); 1658 | } 1659 | } 1660 | @keyframes ripple { 1661 | to { 1662 | -webkit-transform: scale(1); 1663 | transform: scale(1); 1664 | } 1665 | } 1666 | .avatar { 1667 | width: 60px; 1668 | height: 60px; 1669 | } 1670 | .avatar-circle { 1671 | border-radius: 50%; 1672 | } 1673 | .avatar-lg { 1674 | width: 110px; 1675 | height: 110px; 1676 | } 1677 | .navbar-brand { 1678 | padding: 0; 1679 | } 1680 | .navbar-brand img { 1681 | display: inline-block; 1682 | } 1683 | 1684 | .navbar { 1685 | -webkit-transition: all 0.3s ease-in-out; 1686 | transition: all 0.3s ease-in-out; 1687 | border: 0; 1688 | } 1689 | .navbar .navbar-nav .nav-item .nav-link { 1690 | position: relative; 1691 | padding: .8rem 1rem; 1692 | color: #637282; 1693 | -webkit-transition: all 1s ease-in-out; 1694 | transition: all 1s ease-in-out; 1695 | } 1696 | .navbar .navbar-nav .nav-item .current { 1697 | color: #33475c; 1698 | } 1699 | 1700 | .navbar-light { 1701 | background: white; 1702 | } 1703 | 1704 | .dropdown-menu { 1705 | border: 0; 1706 | -webkit-box-shadow: 0 0 20px rgba(47, 91, 231, 0.2); 1707 | box-shadow: 0 0 20px rgba(47, 91, 231, 0.2); 1708 | padding: 0; 1709 | overflow: hidden; 1710 | } 1711 | .dropdown-menu .dropdown-item { 1712 | padding: .8rem; 1713 | } 1714 | .dropdown-menu .dropdown-item:hover { 1715 | background: rgba(47, 91, 231, 0.1); 1716 | } 1717 | 1718 | .navbar .dropdown-menu { 1719 | -webkit-animation: showDropdown .35s ease forwards; 1720 | animation: showDropdown .35s ease forwards; 1721 | } 1722 | 1723 | @-webkit-keyframes showDropdown { 1724 | 0% { 1725 | opacity: 0; 1726 | -webkit-transform: translateY(5px); 1727 | transform: translateY(5px); 1728 | } 1729 | 1730 | 100% { 1731 | opacity: 1; 1732 | -webkit-transform: translateY(0); 1733 | transform: translateY(0); 1734 | } 1735 | } 1736 | 1737 | @keyframes showDropdown { 1738 | 0% { 1739 | opacity: 0; 1740 | -webkit-transform: translateY(5px); 1741 | transform: translateY(5px); 1742 | } 1743 | 1744 | 100% { 1745 | opacity: 1; 1746 | -webkit-transform: translateY(0); 1747 | transform: translateY(0); 1748 | } 1749 | } 1750 | .navbar-is-sticky { 1751 | -webkit-box-shadow: 0 1px 5px rgba(47, 91, 231, 0.1); 1752 | box-shadow: 0 1px 5px rgba(47, 91, 231, 0.1); 1753 | background: white; 1754 | padding-top: .3rem; 1755 | padding-bottom: .3rem; 1756 | min-height: auto; 1757 | height: inherit !important; 1758 | } 1759 | 1760 | .navbar-expand-lg .navbar-toggler { 1761 | border-color: #fff; 1762 | } 1763 | .navbar-expand-lg .navbar-toggler-icon { 1764 | color: #fff; 1765 | } 1766 | 1767 | body.has-sticky-navbar { 1768 | padding-top: 80px; 1769 | } 1770 | body.has-sticky-navbar .navbar { 1771 | height: 80px; 1772 | } 1773 | .navbar-toggler.menu-is-expanded .menu-icon__bar:first-child { 1774 | -webkit-transform: translateY(7.5px) translateY(-50%) rotate(45deg); 1775 | -ms-transform: translateY(7.5px) translateY(-50%) rotate(45deg); 1776 | transform: translateY(7.5px) translateY(-50%) rotate(45deg); 1777 | } 1778 | 1779 | .navbar-toggler.menu-is-expanded .menu-icon__bar:nth-child(2) { 1780 | width: 0%; 1781 | -webkit-transform: translateX(-100%); 1782 | -ms-transform: translateX(-100%); 1783 | transform: translateX(-100%); 1784 | } 1785 | 1786 | .navbar-toggler.menu-is-expanded .menu-icon__bar:last-child { 1787 | -webkit-transform: translateY(-7.5px) translateY(50%) rotate(-45deg); 1788 | -ms-transform: translateY(-7.5px) translateY(50%) rotate(-45deg); 1789 | transform: translateY(-7.5px) translateY(50%) rotate(-45deg); 1790 | } 1791 | .intro { 1792 | position: relative; 1793 | background: #f5f7fa; 1794 | width: 100%; 1795 | padding: 100px 0; 1796 | overflow: hidden; 1797 | } 1798 | 1799 | .intro-cta-group { 1800 | margin-top: 30px; 1801 | display: block; 1802 | } 1803 | .intro-cta-group .video-trigger { 1804 | color: #ffffff; 1805 | background: #737373; 1806 | padding-top: 5px; 1807 | padding-bottom: 5px; 1808 | padding-right: 0; 1809 | padding-left: 1rem; 1810 | } 1811 | .intro-cta-group .video-trigger .btn-icon { 1812 | border-color: rgba(255, 255, 255, 0.2); 1813 | color: #ffffff; 1814 | } 1815 | .h2{ 1816 | font-size: 34px; 1817 | } 1818 | .intro-lead-title { 1819 | line-height: 1.2; 1820 | font-size: 38px; 1821 | } 1822 | .client-logos img { 1823 | width: 100px; 1824 | display: inline-block; 1825 | } 1826 | .intro-img { 1827 | width: 100%; 1828 | margin-top: 2rem; 1829 | } 1830 | .text-muted{ 1831 | font-size: 22px; 1832 | } 1833 | .img-shape { 1834 | width: 100%; 1835 | } 1836 | .price-plan-switch .nav-pills { 1837 | border-radius: 50px; 1838 | } 1839 | .price-plan-switch .nav-pills .nav-item { 1840 | padding: 5px; 1841 | } 1842 | .price-plan-switch .nav-pills .nav-link { 1843 | color: #637282; 1844 | padding: 8px 15px; 1845 | background: white; 1846 | border-radius: 50px; 1847 | -webkit-box-shadow: 0 10px 20px rgba(47, 91, 231, 0.1); 1848 | box-shadow: 0 10px 20px rgba(47, 91, 231, 0.1); 1849 | } 1850 | .price-plan-switch .nav-pills .nav-link.active { 1851 | background: #0099ff; 1852 | color: white; 1853 | } 1854 | 1855 | .pricing-tier { 1856 | padding: 2rem; 1857 | text-align: left; 1858 | background: white; 1859 | display: -webkit-box; 1860 | display: -webkit-flex; 1861 | display: -ms-flexbox; 1862 | display: flex; 1863 | -webkit-box-orient: vertical; 1864 | -webkit-box-direction: normal; 1865 | -webkit-flex-direction: column; 1866 | -ms-flex-direction: column; 1867 | flex-direction: column; 1868 | -webkit-box-pack: justify; 1869 | -webkit-justify-content: space-between; 1870 | -ms-flex-pack: justify; 1871 | justify-content: space-between; 1872 | min-height: 350px; 1873 | color: black; 1874 | -webkit-box-shadow: 0 10px 20px rgba(47, 91, 231, 0.1); 1875 | box-shadow: 0 10px 20px rgba(47, 91, 231, 0.1); 1876 | border-radius: 3px; 1877 | margin-bottom: 2rem; 1878 | } 1879 | .pricing-tier .plan-title { 1880 | font-size: 2rem; 1881 | font-weight: bold; 1882 | } 1883 | .pricing-tier .plan-price span { 1884 | line-height: 1; 1885 | font-size: 1.5rem; 1886 | font-weight: bold; 1887 | } 1888 | .pricing-tier .plan-price .plan-period { 1889 | font-size: 14px; 1890 | color: #637282; 1891 | } 1892 | 1893 | .pricing-tier.active { 1894 | background: #0099ff; 1895 | color: white; 1896 | } 1897 | .pricing-tier.active .plan-detail .plan-period { 1898 | color: rgba(255, 255, 255, 0.5); 1899 | } 1900 | .pricing-tier.active .plan-item { 1901 | color: white; 1902 | } 1903 | .pricing-tier.active .plan-item:before { 1904 | color: white; 1905 | } 1906 | .pricing-tier.active .plan-item .helper-tooltip .fa { 1907 | border-color: rgba(255, 255, 255, 0.2); 1908 | } 1909 | .pricing-tier.active .btn { 1910 | background: #ffffff; 1911 | color: #33475c; 1912 | border-color: transparent !important; 1913 | } 1914 | .pricing-tier.active .btn:hover { 1915 | background: #d8d8d8; 1916 | } 1917 | 1918 | .plan-features { 1919 | margin-top: 20px; 1920 | margin-bottom: 20px; 1921 | text-align: left; 1922 | } 1923 | 1924 | .plan-item { 1925 | margin: 10px 0; 1926 | color: rgba(99, 114, 130, 0.75); 1927 | position: relative; 1928 | display: -webkit-box; 1929 | display: -webkit-flex; 1930 | display: -ms-flexbox; 1931 | display: flex; 1932 | -webkit-box-align: center; 1933 | -webkit-align-items: center; 1934 | -ms-flex-align: center; 1935 | align-items: center; 1936 | font-size: 15px; 1937 | } 1938 | .plan-item:before { 1939 | content: "\f00c"; 1940 | font-family: "Font Awesome 5 Free"; 1941 | display: inline; 1942 | margin-right: 10px; 1943 | font-weight: 900; 1944 | color: rgba(47, 91, 231, 0.7); 1945 | } 1946 | .pricing-tier.active .btn:hover { 1947 | background: #d8d8d8; 1948 | color: #222 !important; 1949 | } 1950 | .helper-tooltip { 1951 | margin-left: 10px; 1952 | display: -webkit-inline-box; 1953 | display: -webkit-inline-flex; 1954 | display: -ms-inline-flexbox; 1955 | display: inline-flex; 1956 | -webkit-box-align: center; 1957 | -webkit-align-items: center; 1958 | -ms-flex-align: center; 1959 | align-items: center; 1960 | -webkit-box-pack: center; 1961 | -webkit-justify-content: center; 1962 | -ms-flex-pack: center; 1963 | justify-content: center; 1964 | } 1965 | .helper-tooltip i { 1966 | width: 15px; 1967 | height: 15px; 1968 | border: 2px solid rgba(51, 71, 92, 0.1); 1969 | font-size: 8px; 1970 | line-height: 11px; 1971 | text-align: center; 1972 | border-radius: 50%; 1973 | } 1974 | 1975 | .tab-content { 1976 | padding-top: 40px; 1977 | padding-bottom: 20px; 1978 | } 1979 | .carousel-light .carousel-indicators { 1980 | position: static; 1981 | margin-left: auto; 1982 | margin-right: auto; 1983 | width: 100%; 1984 | margin-top: 50px; 1985 | } 1986 | .carousel-light .carousel-indicators li { 1987 | width: 40px; 1988 | height: 40px; 1989 | display: -webkit-inline-box; 1990 | display: -webkit-inline-flex; 1991 | display: -ms-inline-flexbox; 1992 | display: inline-flex; 1993 | z-index: 1; 1994 | margin: 0 20px; 1995 | position: relative; 1996 | overflow: hidden; 1997 | border-radius: 50px; 1998 | cursor: pointer !important; 1999 | -webkit-transition: all .3s ease-in-out; 2000 | transition: all .3s ease-in-out; 2001 | } 2002 | .carousel-light .carousel-indicators li:before, .carousel-light .carousel-indicators li:after { 2003 | content: ''; 2004 | all: initial; 2005 | -webkit-transition: all .3s ease-in-out; 2006 | transition: all .3s ease-in-out; 2007 | } 2008 | .carousel-light .carousel-indicators li:before { 2009 | content: ''; 2010 | background: rgba(51, 71, 92, 0.5); 2011 | position: absolute; 2012 | right: 0; 2013 | top: 0; 2014 | left: 0; 2015 | bottom: 0; 2016 | } 2017 | .carousel-light .carousel-indicators li:hover:before { 2018 | background: transparent; 2019 | } 2020 | .carousel-light .carousel-indicators li img { 2021 | max-width: 100%; 2022 | height: auto !important; 2023 | } 2024 | .carousel-light .carousel-indicators li .avatar { 2025 | cursor: pointer; 2026 | } 2027 | .carousel-light .carousel-indicators li.active { 2028 | min-width: 50px; 2029 | min-height: 50px; 2030 | opacity: 1; 2031 | -webkit-transform: scale(1.2); 2032 | -ms-transform: scale(1.2); 2033 | transform: scale(1.2); 2034 | z-index: 100; 2035 | } 2036 | .carousel-light .carousel-indicators li.active img { 2037 | width: 100%; 2038 | } 2039 | .carousel-light .carousel-indicators li.active .avatar { 2040 | -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.1); 2041 | box-shadow: 0 0 3px rgba(0, 0, 0, 0.1); 2042 | } 2043 | .carousel-light .carousel-indicators li.active:before { 2044 | background: transparent; 2045 | } 2046 | 2047 | .tabs-slider-thumbs { 2048 | list-style-type: none; 2049 | padding: 0; 2050 | } 2051 | .tabs-slider-thumbs .owl-dot { 2052 | padding: 10px 20px; 2053 | border-radius: 10px; 2054 | opacity: .6; 2055 | -webkit-transition: all .3s ease-in; 2056 | transition: all .3s ease-in; 2057 | cursor: pointer; 2058 | display: block; 2059 | min-width: 150px; 2060 | } 2061 | .tabs-slider-thumbs .icon { 2062 | font-size: 32px; 2063 | } 2064 | .tabs-slider-thumbs .owl-dot.active { 2065 | background: rgba(255, 255, 255, 0.1); 2066 | opacity: 1; 2067 | } 2068 | 2069 | .onboarding-slides .slide-item { 2070 | height: 100%; 2071 | display: -webkit-box; 2072 | display: -webkit-flex; 2073 | display: -ms-flexbox; 2074 | display: flex; 2075 | -webkit-box-orient: vertical; 2076 | -webkit-box-direction: normal; 2077 | -webkit-flex-direction: column; 2078 | -ms-flex-direction: column; 2079 | flex-direction: column; 2080 | } 2081 | 2082 | .bg-half:after { 2083 | content: ''; 2084 | position: absolute; 2085 | width: 100%; 2086 | height: 70%; 2087 | top: 0; 2088 | z-index: -1; 2089 | } 2090 | 2091 | .bg-half--cyan:after { 2092 | background: #f5f7fa; 2093 | } 2094 | 2095 | .bg-pattern-dots--light { 2096 | 2097 | } 2098 | 2099 | .bg-pattern-dots--dark { 2100 | 2101 | } 2102 | 2103 | .bg-center-cover { 2104 | -webkit-background-size: cover !important; 2105 | background-size: cover !important; 2106 | background-position: center center !important; 2107 | background-repeat: no-repeat !important; 2108 | } 2109 | 2110 | .bg-bottom-contain { 2111 | -webkit-background-size: auto !important; 2112 | background-size: auto !important; 2113 | background-position: bottom center !important; 2114 | background-repeat: no-repeat !important; 2115 | } 2116 | 2117 | .feature-box { 2118 | margin-bottom: 15px; 2119 | display: block; 2120 | } 2121 | .feature-box--title { 2122 | font-size: 32px; 2123 | font-weight: 300; 2124 | } 2125 | .feature-box--text { 2126 | text-transform: uppercase; 2127 | letter-spacing: 3px; 2128 | font-weight: bold; 2129 | } 2130 | .feature-list { 2131 | margin-bottom: 2rem; 2132 | } 2133 | .feature-list .u-icon { 2134 | margin-bottom: 1rem; 2135 | } 2136 | 2137 | .feature-list-md { 2138 | padding: 1.2rem; 2139 | } 2140 | .integration-card { 2141 | display: block; 2142 | color: #33475c; 2143 | border-color: transparent; 2144 | border-width: 2px; 2145 | min-height: 280px; 2146 | border-radius: 5px; 2147 | margin-bottom: 20px; 2148 | -webkit-box-shadow: 0 10px 20px rgba(47, 91, 231, 0.1); 2149 | box-shadow: 0 10px 20px rgba(47, 91, 231, 0.1); 2150 | } 2151 | .integration-card:hover { 2152 | border-color: #0099ff; 2153 | -webkit-box-shadow: 0 10px 30px rgba(47, 91, 231, 0.2); 2154 | box-shadow: 0 10px 30px rgba(47, 91, 231, 0.2); 2155 | } 2156 | .integration-card .card-header { 2157 | background: #fff; 2158 | border: 0; 2159 | padding-top: 2rem; 2160 | } 2161 | .integration-card .card-header img { 2162 | max-height: 40px; 2163 | max-width: 80px; 2164 | width: auto; 2165 | height: 100%; 2166 | margin-bottom: 20px; 2167 | display: inline-block; 2168 | } 2169 | .integration-card .integration-type { 2170 | color: #637282; 2171 | font-weight: bold; 2172 | } 2173 | .integration-card .card-body { 2174 | padding-bottom: 0; 2175 | font-size: 1rem; 2176 | color: #637282; 2177 | padding-top: 0; 2178 | } 2179 | .integration-card .card-footer { 2180 | background: none !important; 2181 | border: 0; 2182 | text-align: center; 2183 | padding-bottom: 20px; 2184 | padding-top: 0; 2185 | } 2186 | .faq-list li { 2187 | border-top: 2px solid #637282; 2188 | padding: 20px 0; 2189 | } 2190 | 2191 | /* 2192 | FAQ CARDS 2193 | */ 2194 | .faq-card { 2195 | margin-bottom: 2rem; 2196 | background: white; 2197 | -webkit-box-shadow: 0 0 10px rgba(47, 91, 231, 0.1); 2198 | box-shadow: 0 0 10px rgba(47, 91, 231, 0.1); 2199 | padding: 1rem; 2200 | border-radius: 4px; 2201 | } 2202 | .faq-card p { 2203 | margin-bottom: 0; 2204 | } 2205 | 2206 | /* OVERVIEW */ 2207 | #overview .owl-item img { 2208 | border-radius: 10px; 2209 | } 2210 | 2211 | /* Client Logos */ 2212 | .client-logos img { 2213 | width: 100px; 2214 | } 2215 | 2216 | /* Contact Section */ 2217 | .contact-form { 2218 | background: #fff; 2219 | padding: 40px 25px; 2220 | border-radius: 4px; 2221 | -webkit-box-shadow: 0 10px 10px rgba(99, 114, 130, 0.1); 2222 | box-shadow: 0 10px 10px rgba(99, 114, 130, 0.1); 2223 | } 2224 | 2225 | .split-view-container { 2226 | position: relative; 2227 | } 2228 | .split-view-container .logo { 2229 | position: absolute; 2230 | top: 20px; 2231 | left: 20px; 2232 | } 2233 | 2234 | .split-view-content { 2235 | display: -webkit-box; 2236 | display: -webkit-flex; 2237 | display: -ms-flexbox; 2238 | display: flex; 2239 | -webkit-box-orient: vertical; 2240 | -webkit-box-direction: normal; 2241 | -webkit-flex-direction: column; 2242 | -ms-flex-direction: column; 2243 | flex-direction: column; 2244 | -webkit-box-pack: center; 2245 | -webkit-justify-content: center; 2246 | -ms-flex-pack: center; 2247 | justify-content: center; 2248 | } 2249 | 2250 | .split-view-container .split-view-context { 2251 | display: -webkit-box; 2252 | display: -webkit-flex; 2253 | display: -ms-flexbox; 2254 | display: flex; 2255 | position: relative; 2256 | -webkit-box-orient: vertical; 2257 | -webkit-box-direction: normal; 2258 | -webkit-flex-direction: column; 2259 | -ms-flex-direction: column; 2260 | flex-direction: column; 2261 | -webkit-box-pack: center; 2262 | -webkit-justify-content: center; 2263 | -ms-flex-pack: center; 2264 | justify-content: center; 2265 | } 2266 | .split-view-container .onboarding-slides .slide-item { 2267 | text-align: center; 2268 | width: 100%; 2269 | padding: 30px; 2270 | max-width: 500px !important; 2271 | margin-left: auto; 2272 | margin-right: auto; 2273 | display: block; 2274 | } 2275 | .split-view-container .onboarding-slides .slide-item img { 2276 | max-width: 480px; 2277 | width: 100%; 2278 | margin-bottom: 20px; 2279 | display: block; 2280 | margin-left: auto; 2281 | margin-right: auto; 2282 | border-radius: 15px; 2283 | -webkit-box-shadow: 0 20px 35px rgba(47, 91, 231, 0.1); 2284 | box-shadow: 0 20px 35px rgba(47, 91, 231, 0.1); 2285 | } 2286 | .split-view-container .onboarding-slides .slide-item .slide-title { 2287 | color: white; 2288 | } 2289 | .split-view-container .onboarding-slides .slide-item p { 2290 | color: white; 2291 | } 2292 | .split-view-container .dots { 2293 | display: -webkit-box; 2294 | display: -webkit-flex; 2295 | display: -ms-flexbox; 2296 | display: flex; 2297 | width: 100%; 2298 | -webkit-box-pack: center; 2299 | -webkit-justify-content: center; 2300 | -ms-flex-pack: center; 2301 | justify-content: center; 2302 | } 2303 | .split-view-container .dots .owl-dot { 2304 | width: 15px; 2305 | height: 15px; 2306 | border-radius: 50%; 2307 | padding: 0; 2308 | background: rgba(255, 255, 255, 0.4); 2309 | margin-right: 10px; 2310 | } 2311 | .split-view-container .dots .owl-dot.active { 2312 | background: white; 2313 | } 2314 | 2315 | .lang-options { 2316 | bottom: 1rem; 2317 | right: 1rem; 2318 | } 2319 | .btn + .btn { 2320 | margin-left: 10px; 2321 | } 2322 | .btn-xl { 2323 | padding: 15px 40px; 2324 | } 2325 | .btn-primary { 2326 | background: #0099ff; 2327 | border-color: #0099ff; 2328 | color: #fff; 2329 | } 2330 | .intro-cta-group .video-trigger { 2331 | color: #ffffff; 2332 | background: #737373; 2333 | padding-top: 5px; 2334 | padding-bottom: 5px; 2335 | padding-right: 0; 2336 | padding-left: 1rem; 2337 | } 2338 | .btn-has-icon { 2339 | font-weight: normal; 2340 | display: -webkit-inline-box; 2341 | display: -webkit-inline-flex; 2342 | display: -ms-inline-flexbox; 2343 | display: inline-flex; 2344 | -webkit-box-align: center; 2345 | -webkit-align-items: center; 2346 | -ms-flex-align: center; 2347 | align-items: center; 2348 | } 2349 | .intro-cta-group .video-trigger .btn-icon { 2350 | border-color: rgba(255, 255, 255, 0.2); 2351 | color: #ffffff; 2352 | } 2353 | .btn-has-icon .btn-icon { 2354 | margin: 0 10px; 2355 | display: -webkit-inline-box; 2356 | display: -webkit-inline-flex; 2357 | display: -ms-inline-flexbox; 2358 | display: inline-flex; 2359 | -webkit-box-pack: center; 2360 | -webkit-justify-content: center; 2361 | -ms-flex-pack: center; 2362 | justify-content: center; 2363 | -webkit-box-align: center; 2364 | -webkit-align-items: center; 2365 | -ms-flex-align: center; 2366 | align-items: center; 2367 | width: 32px; 2368 | height: 32px; 2369 | border: 2px solid rgba(51, 71, 92, 0.2); 2370 | border-radius: 50%; 2371 | font-size: 10px; 2372 | } 2373 | .intro { 2374 | position: relative; 2375 | background: #f5f7fa; 2376 | width: 100%; 2377 | padding: 100px 0; 2378 | overflow: hidden; 2379 | } 2380 | .btn-primary:hover, .btn-primary:focus, .btn-primary:active { 2381 | border-color: #1a4ae2; 2382 | background: #1a4ae2; 2383 | } 2384 | .btn-primary:hover { 2385 | color: #fff !important; 2386 | } 2387 | .screen-v-100{ 2388 | height: 441px; 2389 | } 2390 | .u-icon--circle { 2391 | border-radius: 50%; 2392 | } 2393 | 2394 | .u-icon--rounded { 2395 | border-radius: 20px; 2396 | } 2397 | 2398 | .u-icon--text { 2399 | padding: .4rem 1rem; 2400 | display: inline-block; 2401 | font-size: 14px; 2402 | text-transform: uppercase; 2403 | letter-spacing: 1px; 2404 | } 2405 | 2406 | .u-icon { 2407 | display: -webkit-box; 2408 | display: -webkit-flex; 2409 | display: -ms-flexbox; 2410 | display: flex; 2411 | vertical-align: middle; 2412 | -webkit-box-align: center; 2413 | -webkit-align-items: center; 2414 | -ms-flex-align: center; 2415 | align-items: center; 2416 | -webkit-box-pack: center; 2417 | -webkit-justify-content: center; 2418 | -ms-flex-pack: center; 2419 | justify-content: center; 2420 | text-align: center; 2421 | width: 48px; 2422 | height: 48px; 2423 | } 2424 | .u-icon i, .u-icon .icon { 2425 | font-size: 1.2rem; 2426 | display: inline-block; 2427 | } 2428 | .u-icon--primary { 2429 | color: #0099ff; 2430 | background: rgba(47, 91, 231, 0.1); 2431 | } 2432 | .u-icon--secondary { 2433 | color: #6eecec; 2434 | background: rgba(110, 236, 236, 0.2); 2435 | } 2436 | .u-icon--danger { 2437 | color: #de4437; 2438 | background: rgba(222, 68, 55, 0.1); 2439 | } 2440 | .u-icon--success { 2441 | color: #00818a; 2442 | background: rgba(0, 129, 138, 0.1); 2443 | } 2444 | .u-icon--light { 2445 | color: #fff; 2446 | background: rgba(255, 255, 255, 0.1); 2447 | } 2448 | .u-icon--green { 2449 | color: #25c16f; 2450 | background: rgba(37, 193, 111, 0.1); 2451 | } 2452 | .u-icon--xl { 2453 | width: 60px; 2454 | height: 60px; 2455 | line-height: 1; 2456 | } 2457 | .u-icon--xl i, .u-icon--xl .icon { 2458 | font-size: 2rem !important; 2459 | } 2460 | .list_fe_icons{} 2461 | .list_fe_icons i { 2462 | position: absolute; 2463 | left: 0; 2464 | width: 32px; 2465 | height: 32px; 2466 | display: -webkit-box; 2467 | display: -webkit-flex; 2468 | display: -ms-flexbox; 2469 | display: flex; 2470 | -webkit-box-align: center; 2471 | -webkit-align-items: center; 2472 | -ms-flex-align: center; 2473 | align-items: center; 2474 | -webkit-box-pack: center; 2475 | -webkit-justify-content: center; 2476 | -ms-flex-pack: center; 2477 | justify-content: center; 2478 | border-radius: 50%; 2479 | background: white; 2480 | color: #0099ff; 2481 | -webkit-box-shadow: 0 10px 15px rgba(47, 91, 231, 0.1); 2482 | box-shadow: 0 10px 15px rgba(47, 91, 231, 0.1); 2483 | padding-top: 1px; 2484 | } 2485 | .google-button { 2486 | background: #286efa; 2487 | color: white; 2488 | padding: 1px; 2489 | overflow: hidden; 2490 | border-radius: 4px; 2491 | display: -webkit-box; 2492 | display: -webkit-flex; 2493 | display: -ms-flexbox; 2494 | display: flex; 2495 | -webkit-box-align: center; 2496 | -webkit-align-items: center; 2497 | -ms-flex-align: center; 2498 | align-items: center; 2499 | -webkit-box-shadow: 1px 1px 0px 1px rgba(0, 0, 0, 0.05); 2500 | box-shadow: 1px 1px 0px 1px rgba(0, 0, 0, 0.05); 2501 | -webkit-transition-property: background-color, -webkit-box-shadow; 2502 | transition-property: background-color, box-shadow; 2503 | -webkit-transition-duration: 150ms; 2504 | transition-duration: 150ms; 2505 | -webkit-transition-timing-function: ease-in-out; 2506 | transition-timing-function: ease-in-out; 2507 | } 2508 | .google-button__icon { 2509 | background: white; 2510 | display: -webkit-inline-box; 2511 | display: -webkit-inline-flex; 2512 | display: -ms-inline-flexbox; 2513 | display: inline-flex; 2514 | -webkit-box-align: center; 2515 | -webkit-align-items: center; 2516 | -ms-flex-align: center; 2517 | align-items: center; 2518 | -webkit-box-pack: center; 2519 | -webkit-justify-content: center; 2520 | -ms-flex-pack: center; 2521 | justify-content: center; 2522 | vertical-align: middle; 2523 | width: 48px; 2524 | height: 48px; 2525 | border-top-left-radius: 4px; 2526 | border-bottom-left-radius: 4px; 2527 | justify-self: flex-start; 2528 | } 2529 | .google-button__text { 2530 | font-weight: bold; 2531 | -webkit-box-flex: 1; 2532 | -webkit-flex: 1; 2533 | -ms-flex: 1; 2534 | flex: 1; 2535 | font-size: 15px; 2536 | } 2537 | .google-button__icon img { 2538 | width: 18px; 2539 | height: 18px; 2540 | } 2541 | .google-button:focus, .google-button:hover { 2542 | background-color: #0f5df9; 2543 | -webkit-box-shadow: 1px 4px 5px 1px rgba(0, 0, 0, 0.1); 2544 | box-shadow: 1px 4px 5px 1px rgba(0, 0, 0, 0.1); 2545 | } 2546 | ._input_title{ 2547 | font-weight: 600; 2548 | font-size: 15px; 2549 | } 2550 | ._font_15{ 2551 | font-size: 15px; 2552 | } 2553 | .new_main { 2554 | margin-bottom: 50px; 2555 | } 2556 | .terms{ 2557 | margin-top: 30px; 2558 | } 2559 | .terms .h2 { 2560 | margin: 0 0 13px; 2561 | } 2562 | .terms_text{ 2563 | margin-bottom: 10px; 2564 | } 2565 | .terms_ul { 2566 | padding: 0px 0px 0px 20px; 2567 | margin: 3px 0 11px; 2568 | } 2569 | .terms_ul li { 2570 | font-size: 16px; 2571 | padding: 0 0 13px; 2572 | } 2573 | 2574 | /* =============News Post Page================ */ 2575 | .n_post_title { 2576 | font-size: 17px; 2577 | text-transform: capitalize; 2578 | color: #333; 2579 | display: block; 2580 | margin-top: 6px; 2581 | } 2582 | .n_single_post { 2583 | margin-bottom: 2px; 2584 | padding: 11px 0px; 2585 | } 2586 | .n_post_input input { 2587 | padding: 6px 23px; 2588 | border: 1px solid #ddd; 2589 | color: #777; 2590 | border-radius: 4px; 2591 | font-size: 12px; 2592 | height: 38px; 2593 | } 2594 | .n_post_input textarea { 2595 | min-width: 401px; 2596 | max-height: 202px; 2597 | border: 1px solid #ddd; 2598 | padding: 10px 18px; 2599 | font-size: 14px; 2600 | color: #ddd; 2601 | border-radius: 4px; 2602 | } 2603 | .n_post_cat { 2604 | font-size: 16px; 2605 | margin-right: 11px; 2606 | color: #666; 2607 | text-transform: capitalize; 2608 | } 2609 | 2610 | .n_post_cat input { 2611 | margin-right: 5px; 2612 | } 2613 | .n_post_tag input { 2614 | border: 1px solid #ddd; 2615 | border-radius: 4px; 2616 | margin-bottom: 12px; 2617 | height: 36px; 2618 | } 2619 | .n_single_post p { 2620 | color: #000; 2621 | font-size: 15px; 2622 | padding: 5px 0px; 2623 | text-transform: capitalize; 2624 | } 2625 | span.title_btn { 2626 | padding: 8px 22px; 2627 | font-size: 12px; 2628 | background-color: #fff; 2629 | border: 1px solid #e7e7e7; 2630 | position: relative; 2631 | cursor: pointer; 2632 | display: inline-block; 2633 | } 2634 | 2635 | .news_post_category_list{ 2636 | list-style: none; 2637 | } 2638 | .n_post_tag p { 2639 | padding: 2px 12px; 2640 | background-color: #0099ff; 2641 | color: #fff; 2642 | font-size: 14px; 2643 | display: inline-block; 2644 | border-radius: 4px; 2645 | } 2646 | .form-group.n_post_img { 2647 | margin-bottom: 3px; 2648 | margin-top: 9px; 2649 | } 2650 | .n_post_tag i { 2651 | color: #FF1D2D; 2652 | font-size: 12px; 2653 | margin-left: 8px; 2654 | cursor: pointer; 2655 | } 2656 | .n_card_post { 2657 | margin-top: 10px; 2658 | display: block; 2659 | } 2660 | .n_card_post input { 2661 | margin-right: 6px; 2662 | } 2663 | .n_post_area { 2664 | background-color: #F3F3F3; 2665 | padding-bottom: 114px; 2666 | } 2667 | .title_btn i { 2668 | padding-left: 5px; 2669 | } 2670 | button.submit { 2671 | margin-right: 20px; 2672 | } 2673 | button.submit, button.cancel{ 2674 | padding: 10px 50px; 2675 | background-color: #0099ff; 2676 | color: #fff; 2677 | border-radius: 4px; 2678 | border: 1px solid #0099ff; 2679 | font-weight: 500; 2680 | cursor: pointer; 2681 | font-size: 13px; 2682 | } 2683 | button.submit, button.cancel{ 2684 | padding: 10px 50px; 2685 | border-radius: 4px; 2686 | border: 1px solid #0099ff; 2687 | font-weight: 500; 2688 | cursor: pointer; 2689 | font-size: 13px; 2690 | } 2691 | button.cancel { 2692 | background-color: #FAFAFA; 2693 | color: #000; 2694 | border-color: #C7C7C7; 2695 | } 2696 | 2697 | .view_btn1{ 2698 | background-color:#34495E; 2699 | } 2700 | .edit_btn1 { 2701 | background-color: #3498DB; 2702 | } 2703 | .make_btn1{ 2704 | background-color:#ff5733;; 2705 | } 2706 | .make_btn2{ 2707 | background-color:#28B463;; 2708 | } 2709 | .make_btn3{ 2710 | background-color:#2471A3;; 2711 | } 2712 | 2713 | .catagory_main_bottom { 2714 | padding: 29px 0 0; 2715 | text-align: left; 2716 | } 2717 | .catagory_main_title { 2718 | font-weight: bold; 2719 | color: #000; 2720 | margin: 0 0 4px; 2721 | } 2722 | .catagory_main_inputs { 2723 | width: 319px; 2724 | } 2725 | .catagory_main_bottom { 2726 | padding: 29px 0 0; 2727 | text-align: left; 2728 | } 2729 | 2730 | /* ===========Post page start========= */ 2731 | .post_right{} 2732 | .post_category_title { 2733 | margin-bottom: 15px; 2734 | } 2735 | .post_category_text{ 2736 | padding:20px 0px; 2737 | border-bottom: 1px solid #e7e7e7; 2738 | } 2739 | .post_category_list{} 2740 | .post_category_list p { 2741 | display: inline-block; 2742 | padding-left: 26px; 2743 | font-size: 13px; 2744 | color: #000; 2745 | } 2746 | .post_tag_list { 2747 | color: #fff!important; 2748 | } 2749 | .post_category_list p sup{} 2750 | .full-mailbox { 2751 | position: relative; 2752 | } 2753 | 2754 | .input-box-control{ 2755 | margin-top:10px; 2756 | } 2757 | .input-box-control textarea:focus { 2758 | border: 1px solid #e7e7e7; 2759 | } 2760 | .input-box-control { 2761 | position: relative; 2762 | margin-bottom: 20px; 2763 | } 2764 | .input-box-control label { 2765 | position: absolute; 2766 | top: 0; 2767 | left: 0; 2768 | color: rgba(0, 0, 0, 0.5); 2769 | } 2770 | 2771 | .input-full { 2772 | width: 100%; 2773 | border-bottom: 1px solid rgba(0, 0, 0, 0.07); 2774 | transition-duration: 400ms; } 2775 | .input-full:focus, .input-full:active { 2776 | border-bottom-color: #03A9F5; } 2777 | 2778 | textarea, .todo-input { 2779 | resize: none; 2780 | 2781 | } 2782 | textarea::placeholder, .todo-input::placeholder { 2783 | color: rgba(0, 0, 0, 0.3); } 2784 | textarea::-ms-input-placeholder, .todo-input::-ms-input-placeholder { 2785 | color: rgba(0, 0, 0, 0.3); } 2786 | 2787 | .submit { 2788 | text-transform: uppercase; 2789 | background: #03A9F5; 2790 | color: #fff; 2791 | border: 0; 2792 | padding: 6px 15px; 2793 | } 2794 | 2795 | .submit-content { 2796 | position: relative; 2797 | display: flex; 2798 | justify-content: center; 2799 | } 2800 | .submit-content button.submit { 2801 | margin-right: 20px; 2802 | } 2803 | .submit-attach { 2804 | bottom: -37px; 2805 | padding: 10px 0px; 2806 | width: 100%; 2807 | display: table; 2808 | text-align: center; 2809 | background-color: #DDF; 2810 | position: absolute; 2811 | left: 0; 2812 | } 2813 | .submit-attach li { 2814 | display: inline-block; 2815 | margin-right: 30px; 2816 | cursor: pointer; 2817 | color: rgba(0, 0, 0, 0.4); 2818 | } 2819 | 2820 | .none { 2821 | display: none !important; 2822 | } 2823 | .full-mailbox .submit-content { 2824 | margin-top: 71px; 2825 | } 2826 | 2827 | .full-mailbox input[type="text"], .full-mailbox textarea{ 2828 | outline:none; 2829 | border:1px solid #e7e7e7; 2830 | padding: 10px; 2831 | font-size: 14px; 2832 | position: relative; 2833 | } 2834 | .full-mailbox input[type="text"]:focus, .full-mailbox textarea:focus{ 2835 | border:1px solid #e7e7e7; 2836 | } 2837 | button.submit, button.cancel,.search_category input[type="submit"] { 2838 | padding: 10px 50px; 2839 | background-color: #0099ff; 2840 | color: #fff; 2841 | border-radius: 4px; 2842 | border:1px solid #0099ff; 2843 | font-weight:500; 2844 | cursor: pointer; 2845 | font-size: 13px; 2846 | } 2847 | button.cancel { 2848 | background-color:#FAFAFA; 2849 | color: #000; 2850 | border-color:#C7C7C7; 2851 | } 2852 | 2853 | 2854 | .community_category, .community_subcategory, .community_sub2category{ 2855 | list-style: none; 2856 | } 2857 | .community_category{ 2858 | width:250px; 2859 | } 2860 | .community_category li { 2861 | padding: 13px 15px; 2862 | background: #fff; 2863 | box-shadow: 0 10px 20px rgba(47, 91, 231, 0.1); 2864 | margin-bottom: 10px; 2865 | color: #000; 2866 | font-size: 15px; 2867 | cursor: pointer; 2868 | } 2869 | .community_category li i{ 2870 | color:#000; 2871 | } 2872 | .community_category li a { 2873 | color: #000; 2874 | } 2875 | .community_category li a:hover{ 2876 | color: #000; 2877 | } 2878 | .community_category .ivu-dropdown { 2879 | display: block!important; 2880 | } 2881 | .community_category .ivu-dropdown-menu { 2882 | width: 200px; 2883 | } 2884 | .community_category .ivu-select-dropdown { 2885 | width:250px!important; 2886 | border-radius: 1px!important; 2887 | margin: -14px 27px!important; 2888 | } 2889 | i.cross_icon{ 2890 | border-radius: 50%; 2891 | font-size: 16px; 2892 | color: #E74C3C!important; 2893 | margin-right:3px; 2894 | } 2895 | .right_icon { 2896 | float: right; 2897 | font-size: 19px; 2898 | } 2899 | .add_more { 2900 | padding: 6px 40px; 2901 | margin-top: 15px; 2902 | } 2903 | .category_button_top{ 2904 | margin-bottom:20px; 2905 | } 2906 | .category_button { 2907 | background-color: #0099ff; 2908 | padding: 5px 22px; 2909 | font-size: 14px; 2910 | } 2911 | 2912 | 2913 | /*========= common CSS ===========*/ 2914 | 2915 | /*========= RESPONSIVE ===========*/ 2916 | @media (max-width: 575.98px) { 2917 | .section-spacer { 2918 | padding-top: 50px; 2919 | padding-bottom: 50px; 2920 | } 2921 | 2922 | /* Intro sections */ 2923 | .intro { 2924 | padding: 50px 0; 2925 | } 2926 | .intro .screen-v-100 { 2927 | height: 100% !important; 2928 | } 2929 | .intro .l-v-center { 2930 | position: unset; 2931 | -webkit-transform: unset; 2932 | -ms-transform: unset; 2933 | transform: unset; 2934 | } 2935 | 2936 | .callout-form .input-group { 2937 | -webkit-box-orient: vertical; 2938 | -webkit-box-direction: normal; 2939 | -webkit-flex-direction: column; 2940 | -ms-flex-direction: column; 2941 | flex-direction: column; 2942 | } 2943 | .callout-form .input-group .form-control { 2944 | width: 100%; 2945 | margin-bottom: 10px; 2946 | } 2947 | 2948 | .carousel-light .carousel-indicators li { 2949 | margin: 0 10px; 2950 | } 2951 | .carousel-light .carousel-indicators li .avatar { 2952 | width: 40px; 2953 | height: 40px; 2954 | } 2955 | } 2956 | @media (max-width: 767.98px) { 2957 | body.has-sticky-navbar { 2958 | padding-top: 60px; 2959 | } 2960 | body.has-sticky-navbar .navbar { 2961 | height: 60px; 2962 | } 2963 | 2964 | .navbar .navbar-nav { 2965 | padding-top: 1rem; 2966 | padding-bottom: 1rem; 2967 | } 2968 | .navbar .navbar-nav .nav-item .nav-link, .navbar .navbar-nav .nav-item .dropdown-item { 2969 | margin-left: 20px; 2970 | padding-top: 10px; 2971 | padding-bottom: 10px; 2972 | display: block; 2973 | color: #33475c; 2974 | font-size: 1.5rem; 2975 | font-weight: bold; 2976 | } 2977 | .navbar .navbar-nav .nav-item .nav-link:after, .navbar .navbar-nav .nav-item .dropdown-item:after { 2978 | right: 15px; 2979 | position: absolute; 2980 | top: 50%; 2981 | -webkit-transform: translateY(-50%); 2982 | -ms-transform: translateY(-50%); 2983 | transform: translateY(-50%); 2984 | } 2985 | .navbar .navbar-nav .nav-item .dropdown-menu { 2986 | padding-top: 10px; 2987 | padding-bottom: 10px; 2988 | position: unset; 2989 | } 2990 | .navbar .navbar-nav .nav-item .dropdown-item { 2991 | color: #637282; 2992 | font-size: 1.2rem; 2993 | } 2994 | 2995 | .navbar-collapse { 2996 | background: white; 2997 | position: absolute; 2998 | top: 60px; 2999 | left: 0; 3000 | min-height: 100vh; 3001 | overflow: scroll; 3002 | width: 100%; 3003 | height: 100%; 3004 | z-index: 100; 3005 | } 3006 | 3007 | .navbar-is-sticky .navbar-collapse { 3008 | top: 50px; 3009 | } 3010 | 3011 | .tabs-slider-indicators { 3012 | overflow-x: scroll; 3013 | } 3014 | 3015 | .tabs-slider-thumbs { 3016 | display: -webkit-inline-box; 3017 | display: -webkit-inline-flex; 3018 | display: -ms-inline-flexbox; 3019 | display: inline-flex; 3020 | min-width: 800px; 3021 | } 3022 | .tabs-slider-thumbs .owl-dot { 3023 | text-align: center; 3024 | padding: 5px 10px; 3025 | margin-right: 2rem; 3026 | } 3027 | .tabs-slider-thumbs .owl-dot:first-of-type { 3028 | margin-left: 2rem; 3029 | } 3030 | .tabs-slider-thumbs .owl-dot h3 { 3031 | font-size: 18px; 3032 | } 3033 | .tabs-slider-thumbs .owl-dot p { 3034 | display: none; 3035 | } 3036 | } 3037 | @media (max-width: 991.98px) { 3038 | body { 3039 | font-size: 0.875rem !important; 3040 | } 3041 | } 3042 | /*========= RESPONSIVE ===========*/ 3043 | .catagory_main{ 3044 | 3045 | } 3046 | .catagory_main_top{} 3047 | .catagory_main_list{} 3048 | .catagory_main_list li { 3049 | display: inline-block; 3050 | margin: 0 11px 10px 0; 3051 | } 3052 | .catagory_main_bottom li{ 3053 | text-align: left; 3054 | } 3055 | .catagory_main_bottom { 3056 | padding: 29px 0 0; 3057 | text-align: left; 3058 | } 3059 | .catagory_main_title { 3060 | font-weight: bold; 3061 | color: #000; 3062 | margin: 0 0 4px; 3063 | } 3064 | .catagory_main_inputs { 3065 | width: 319px; 3066 | } 3067 | 3068 | .router-link-exact-active{ 3069 | color: #0099ff!important; 3070 | border-right: 2px solid #0099ff !important; 3071 | background-color: #eaeeea; 3072 | } 3073 | 3074 | -------------------------------------------------------------------------------- /view/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reactmaster223/discord-bot/f36758bb9e6c8aef9ce937a67b0baa7aa16e117e/view/public/favicon.ico -------------------------------------------------------------------------------- /view/public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 11 | 12 | 13 | <%= htmlWebpackPlugin.options.title %> 14 | 15 | 16 | 17 | 18 | 22 |
23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /view/src/App.vue: -------------------------------------------------------------------------------- 1 | 7 | 8 | 18 | 19 | 29 | 30 | 35 | -------------------------------------------------------------------------------- /view/src/assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reactmaster223/discord-bot/f36758bb9e6c8aef9ce937a67b0baa7aa16e117e/view/src/assets/logo.png -------------------------------------------------------------------------------- /view/src/bootstrap.js: -------------------------------------------------------------------------------- 1 | window._ = require('lodash'); 2 | 3 | window.axios = require('axios'); 4 | 5 | window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; 6 | 7 | -------------------------------------------------------------------------------- /view/src/common.js: -------------------------------------------------------------------------------- 1 | import Axios from "axios" 2 | 3 | export default { 4 | data() { 5 | return { 6 | 7 | } 8 | }, 9 | methods: { 10 | async callApi(method, url, dataObj) { 11 | try { 12 | return await Axios({ 13 | method: method, 14 | url: url, 15 | data: dataObj 16 | }); 17 | } catch (e) { 18 | return e.response 19 | } 20 | }, 21 | s(desc, title = "Perfect!") { 22 | this.$Notice.success({ 23 | title: title, 24 | desc: desc 25 | }); 26 | }, 27 | w(desc, title = "Oups!") { 28 | this.$Notice.warning({ 29 | title: title, 30 | desc: desc 31 | }); 32 | }, 33 | }, 34 | 35 | 36 | } -------------------------------------------------------------------------------- /view/src/components/DiscordBot.vue: -------------------------------------------------------------------------------- 1 | 294 | 295 | 672 | 673 | 738 | 743 | -------------------------------------------------------------------------------- /view/src/components/VerifySingleAsset.vue: -------------------------------------------------------------------------------- 1 | 166 | 167 | 242 | 243 | 301 | 306 | -------------------------------------------------------------------------------- /view/src/main.js: -------------------------------------------------------------------------------- 1 | require('./bootstrap'); 2 | import Vue from 'vue'; 3 | import ViewUI from 'view-design'; 4 | import App from './App.vue'; 5 | import 'view-design/dist/styles/iview.css'; 6 | 7 | Vue.config.productionTip = false 8 | 9 | // framework front-end 10 | Vue.use(ViewUI); 11 | 12 | import common from './common' 13 | Vue.mixin(common) 14 | 15 | new Vue({ 16 | render: h => h(App), 17 | }).$mount('#app') 18 | -------------------------------------------------------------------------------- /view/web3.js: -------------------------------------------------------------------------------- 1 | const Web3 = require("web3"); 2 | const web3 = new Web3(window.ethereum) 3 | // If privacy is turned off in Metamask 4 | window.addEventListener('load', () => { 5 | if (typeof web3 !== 'undefined') { 6 | web3 = new Web3(web3.currentProvider); 7 | console.log("Success") 8 | } else { 9 | console.log('No web3? You should consider trying MetaMask!'); 10 | web3 = new Web3(new Web3.providers.HttpProvider('http://localhost:7545')); 11 | } 12 | }); 13 | 14 | // If privacy is turned on in Metamask 15 | window.addEventListener('load', async () => { 16 | // Modern dapp browsers... 17 | if (window.ethereum) { 18 | window.web3 = new Web3(ethereum); 19 | try { 20 | // Request account access if needed 21 | await ethereum.enable(); 22 | // Acccounts now exposed 23 | console.log("Success") 24 | } catch (error) { 25 | // User denied account access... 26 | console.log(error) 27 | } 28 | } 29 | // Legacy dapp browsers... 30 | else if (window.web3) { 31 | window.web3 = new Web3(web3.currentProvider); 32 | } 33 | // Non-dapp browsers... 34 | else { 35 | console.log('Non-Ethereum browser detected. You should consider trying MetaMask!'); 36 | web3 = new Web3(new Web3.providers.HttpProvider('http://localhost:7545')); 37 | } 38 | }); 39 | 40 | // Set a default account 41 | web3.eth.defaultAccount = web3.eth.accounts[0]; --------------------------------------------------------------------------------