├── .eslintignore
├── .eslintrc.cjs
├── .gitignore
├── .prettierignore
├── .prettierrc
├── README.md
├── package.json
├── pnpm-lock.yaml
├── postcss.config.cjs
├── src
├── app.css
├── app.d.ts
├── app.html
├── assets
│ ├── LICENSE.txt
│ ├── css
│ │ ├── all.css
│ │ ├── all.min.css
│ │ ├── brands.css
│ │ ├── brands.min.css
│ │ ├── fontawesome.css
│ │ ├── fontawesome.min.css
│ │ ├── regular.css
│ │ ├── regular.min.css
│ │ ├── solid.css
│ │ ├── solid.min.css
│ │ ├── svg-with-js.css
│ │ ├── svg-with-js.min.css
│ │ ├── v4-font-face.css
│ │ ├── v4-font-face.min.css
│ │ ├── v4-shims.css
│ │ ├── v4-shims.min.css
│ │ ├── v5-font-face.css
│ │ └── v5-font-face.min.css
│ └── webfonts
│ │ ├── fa-brands-400.ttf
│ │ ├── fa-brands-400.woff2
│ │ ├── fa-regular-400.ttf
│ │ ├── fa-regular-400.woff2
│ │ ├── fa-solid-900.ttf
│ │ ├── fa-solid-900.woff2
│ │ ├── fa-v4compatibility.ttf
│ │ └── fa-v4compatibility.woff2
├── canvas-sketch-util.d.ts
├── hooks.server.ts
├── index.test.ts
├── lib
│ ├── components
│ │ ├── Countdown.svelte
│ │ ├── FileLoader.svelte
│ │ ├── Legacy
│ │ │ └── accordions.svelte
│ │ ├── NoMobileTabPage.svelte
│ │ ├── RightSideControls
│ │ │ ├── ColorRandomizer.svelte
│ │ │ └── OpacitySlider.svelte
│ │ ├── ScatterPoint.svelte
│ │ ├── Scrolly.svelte
│ │ └── Title.svelte
│ ├── db.ts
│ ├── global.css
│ ├── toast.ts
│ ├── utils.ts
│ └── utils
│ │ └── time.ts
└── routes
│ ├── +layout.server.ts
│ ├── +layout.svelte
│ ├── +page.server.ts
│ ├── +page.svelte
│ ├── DataPoint.svelte
│ └── debug
│ └── +page.svelte
├── static
├── datasets
│ ├── colors.json
│ └── outf.json
└── favicon.png
├── svelte.config.js
├── tailwind.config.cjs
├── tsconfig.json
└── vite.config.ts
/.eslintignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules
3 | /build
4 | /.svelte-kit
5 | /package
6 | .env
7 | .env.*
8 | !.env.example
9 |
10 | # Ignore files for PNPM, NPM and YARN
11 | pnpm-lock.yaml
12 | package-lock.json
13 | yarn.lock
14 |
--------------------------------------------------------------------------------
/.eslintrc.cjs:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | root: true,
3 | parser: '@typescript-eslint/parser',
4 | extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended', 'prettier'],
5 | plugins: ['svelte3', '@typescript-eslint'],
6 | ignorePatterns: ['*.cjs'],
7 | overrides: [{ files: ['*.svelte'], processor: 'svelte3/svelte3' }],
8 | settings: {
9 | 'svelte3/typescript': () => require('typescript')
10 | },
11 | parserOptions: {
12 | sourceType: 'module',
13 | ecmaVersion: 2020
14 | },
15 | env: {
16 | browser: true,
17 | es2017: true,
18 | node: true
19 | }
20 | };
21 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules
3 | /build
4 | /.svelte-kit
5 | /package
6 | .env
7 | .env.*
8 | !.env.example
9 | vite.config.js.timestamp-*
10 | vite.config.ts.timestamp-*
11 | .history
--------------------------------------------------------------------------------
/.prettierignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules
3 | /build
4 | /.svelte-kit
5 | /package
6 | .env
7 | .env.*
8 | !.env.example
9 |
10 | # Ignore files for PNPM, NPM and YARN
11 | pnpm-lock.yaml
12 | package-lock.json
13 | yarn.lock
14 |
--------------------------------------------------------------------------------
/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "useTabs": true,
3 | "singleQuote": true,
4 | "trailingComma": "none",
5 | "printWidth": 100,
6 | "plugins": ["prettier-plugin-svelte"],
7 | "pluginSearchDirs": ["."],
8 | "overrides": [{ "files": "*.svelte", "options": { "parser": "svelte" } }]
9 | }
10 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | ### Todo
2 |
3 | - Clustering X datapoints to one if close enough
4 | - loading indicator
5 | - Snakey lines instead of all straight
6 | - Customize sidebar location
7 | - fullscreen chart option
8 | - Chunked rendering , update n points at a time
9 | - Ghosted count
10 | - Who started the chat and with what message
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "wttm",
3 | "version": "1.0.0-ui",
4 | "private": true,
5 | "scripts": {
6 | "dev": "vite dev ",
7 | "build": "vite build",
8 | "preview": "vite preview",
9 | "start": "vite preview",
10 | "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
11 | "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
12 | "test:unit": "vitest",
13 | "lint": "prettier --plugin-search-dir . --check . && eslint .",
14 | "format": "prettier --plugin-search-dir . --write ."
15 | },
16 | "devDependencies": {
17 | "@sveltejs/adapter-auto": "^3.1.0",
18 | "@sveltejs/adapter-node": "^2.0.2",
19 | "@sveltejs/kit": "^2.0.6",
20 | "@types/d3": "^7.4.3",
21 | "@types/lodash-es": "^4.17.12",
22 | "@types/nprogress": "^0.2.3",
23 | "@typescript-eslint/eslint-plugin": "^6.17.0",
24 | "@typescript-eslint/parser": "^6.17.0",
25 | "daisyui": "^4.5.0",
26 | "eslint": "^8.56.0",
27 | "eslint-config-prettier": "^9.1.0",
28 | "prettier": "^3.1.1",
29 | "prettier-plugin-svelte": "^3.1.2",
30 | "svelte": "^4.2.8",
31 | "tailwindcss": "^3.4.1",
32 | "tslib": "^2.6.2",
33 | "typescript": "^5.5.3",
34 | "vite": "^5.0.12"
35 | },
36 | "type": "module",
37 | "dependencies": {
38 | "@sveltejs/adapter-vercel": "^4.0.4",
39 | "@sveltejs/vite-plugin-svelte": "^3.0.1",
40 | "autoprefixer": "^10.4.16",
41 | "bcrypt": "^5.1.1",
42 | "bits-ui": "^0.21.12",
43 | "canvas-sketch-util": "^1.10.0",
44 | "d3": "^7.8.5",
45 | "dotenv": "^16.3.1",
46 | "lodash-es": "^4.17.21",
47 | "phosphor-svelte": "^1.4.2",
48 | "pretty-ms": "^9.0.0",
49 | "svelte-sequential-preprocessor": "^2.0.1"
50 | },
51 | "repository": {
52 | "type": "git",
53 | "url": "https://github.com/RobiMez/wttm.git"
54 | }
55 | }
--------------------------------------------------------------------------------
/postcss.config.cjs:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | plugins: {
3 | tailwindcss: {},
4 | autoprefixer: {}
5 | }
6 | };
7 |
--------------------------------------------------------------------------------
/src/app.css:
--------------------------------------------------------------------------------
1 | @import url('https://fonts.googleapis.com/css2?family=Lexend:wght@100;200;300;400;500;600;700;800;900&display=swap');
2 | @tailwind base;
3 | @tailwind components;
4 | @tailwind utilities;
5 |
--------------------------------------------------------------------------------
/src/app.d.ts:
--------------------------------------------------------------------------------
1 | // See https://kit.svelte.dev/docs/types#app
2 | // for information about these interfaces
3 | declare global {
4 | namespace App {
5 | // interface Error {}
6 | interface Locals {
7 | user: {
8 | _id: string;
9 | // Human identifiers
10 | first_name: string;
11 | last_name: string;
12 | // Action timestamp logging
13 | last_login_date: Date;
14 | last_action_time: Date;
15 | // State flags
16 | admin: boolean;
17 | reviewer: boolean;
18 | publisher: boolean;
19 | locked: boolean;
20 | // Uniques
21 | email: string;
22 | userAuthToken: string | null;
23 | };
24 | }
25 | // interface PageData {}
26 | // interface Platform {}
27 | }
28 | }
29 |
30 | export {};
31 |
--------------------------------------------------------------------------------
/src/app.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | Wttm
9 | %sveltekit.head%
10 |
11 |
12 |
13 |
14 | %sveltekit.body%
15 |
16 |
17 |
--------------------------------------------------------------------------------
/src/assets/LICENSE.txt:
--------------------------------------------------------------------------------
1 | Fonticons, Inc. (https://fontawesome.com)
2 |
3 | --------------------------------------------------------------------------------
4 |
5 | Font Awesome Free License
6 |
7 | Font Awesome Free is free, open source, and GPL friendly. You can use it for
8 | commercial projects, open source projects, or really almost whatever you want.
9 | Full Font Awesome Free license: https://fontawesome.com/license/free.
10 |
11 | --------------------------------------------------------------------------------
12 |
13 | # Icons: CC BY 4.0 License (https://creativecommons.org/licenses/by/4.0/)
14 |
15 | The Font Awesome Free download is licensed under a Creative Commons
16 | Attribution 4.0 International License and applies to all icons packaged
17 | as SVG and JS file types.
18 |
19 | --------------------------------------------------------------------------------
20 |
21 | # Fonts: SIL OFL 1.1 License
22 |
23 | In the Font Awesome Free download, the SIL OFL license applies to all icons
24 | packaged as web and desktop font files.
25 |
26 | Copyright (c) 2022 Fonticons, Inc. (https://fontawesome.com)
27 | with Reserved Font Name: "Font Awesome".
28 |
29 | This Font Software is licensed under the SIL Open Font License, Version 1.1.
30 | This license is copied below, and is also available with a FAQ at:
31 | http://scripts.sil.org/OFL
32 |
33 | SIL OPEN FONT LICENSE
34 | Version 1.1 - 26 February 2007
35 |
36 | PREAMBLE
37 | The goals of the Open Font License (OFL) are to stimulate worldwide
38 | development of collaborative font projects, to support the font creation
39 | efforts of academic and linguistic communities, and to provide a free and
40 | open framework in which fonts may be shared and improved in partnership
41 | with others.
42 |
43 | The OFL allows the licensed fonts to be used, studied, modified and
44 | redistributed freely as long as they are not sold by themselves. The
45 | fonts, including any derivative works, can be bundled, embedded,
46 | redistributed and/or sold with any software provided that any reserved
47 | names are not used by derivative works. The fonts and derivatives,
48 | however, cannot be released under any other type of license. The
49 | requirement for fonts to remain under this license does not apply
50 | to any document created using the fonts or their derivatives.
51 |
52 | DEFINITIONS
53 | "Font Software" refers to the set of files released by the Copyright
54 | Holder(s) under this license and clearly marked as such. This may
55 | include source files, build scripts and documentation.
56 |
57 | "Reserved Font Name" refers to any names specified as such after the
58 | copyright statement(s).
59 |
60 | "Original Version" refers to the collection of Font Software components as
61 | distributed by the Copyright Holder(s).
62 |
63 | "Modified Version" refers to any derivative made by adding to, deleting,
64 | or substituting — in part or in whole — any of the components of the
65 | Original Version, by changing formats or by porting the Font Software to a
66 | new environment.
67 |
68 | "Author" refers to any designer, engineer, programmer, technical
69 | writer or other person who contributed to the Font Software.
70 |
71 | PERMISSION & CONDITIONS
72 | Permission is hereby granted, free of charge, to any person obtaining
73 | a copy of the Font Software, to use, study, copy, merge, embed, modify,
74 | redistribute, and sell modified and unmodified copies of the Font
75 | Software, subject to the following conditions:
76 |
77 | 1) Neither the Font Software nor any of its individual components,
78 | in Original or Modified Versions, may be sold by itself.
79 |
80 | 2) Original or Modified Versions of the Font Software may be bundled,
81 | redistributed and/or sold with any software, provided that each copy
82 | contains the above copyright notice and this license. These can be
83 | included either as stand-alone text files, human-readable headers or
84 | in the appropriate machine-readable metadata fields within text or
85 | binary files as long as those fields can be easily viewed by the user.
86 |
87 | 3) No Modified Version of the Font Software may use the Reserved Font
88 | Name(s) unless explicit written permission is granted by the corresponding
89 | Copyright Holder. This restriction only applies to the primary font name as
90 | presented to the users.
91 |
92 | 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
93 | Software shall not be used to promote, endorse or advertise any
94 | Modified Version, except to acknowledge the contribution(s) of the
95 | Copyright Holder(s) and the Author(s) or with their explicit written
96 | permission.
97 |
98 | 5) The Font Software, modified or unmodified, in part or in whole,
99 | must be distributed entirely under this license, and must not be
100 | distributed under any other license. The requirement for fonts to
101 | remain under this license does not apply to any document created
102 | using the Font Software.
103 |
104 | TERMINATION
105 | This license becomes null and void if any of the above conditions are
106 | not met.
107 |
108 | DISCLAIMER
109 | THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
110 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
111 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
112 | OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
113 | COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
114 | INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
115 | DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
116 | FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
117 | OTHER DEALINGS IN THE FONT SOFTWARE.
118 |
119 | --------------------------------------------------------------------------------
120 |
121 | # Code: MIT License (https://opensource.org/licenses/MIT)
122 |
123 | In the Font Awesome Free download, the MIT license applies to all non-font and
124 | non-icon files.
125 |
126 | Copyright 2022 Fonticons, Inc.
127 |
128 | Permission is hereby granted, free of charge, to any person obtaining a copy of
129 | this software and associated documentation files (the "Software"), to deal in the
130 | Software without restriction, including without limitation the rights to use, copy,
131 | modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,
132 | and to permit persons to whom the Software is furnished to do so, subject to the
133 | following conditions:
134 |
135 | The above copyright notice and this permission notice shall be included in all
136 | copies or substantial portions of the Software.
137 |
138 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
139 | INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
140 | PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
141 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
142 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
143 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
144 |
145 | --------------------------------------------------------------------------------
146 |
147 | # Attribution
148 |
149 | Attribution is required by MIT, SIL OFL, and CC BY licenses. Downloaded Font
150 | Awesome Free files already contain embedded comments with sufficient
151 | attribution, so you shouldn't need to do anything additional when using these
152 | files normally.
153 |
154 | We've kept attribution comments terse, so we ask that you do not actively work
155 | to remove them from files, especially code. They're a great way for folks to
156 | learn about Font Awesome.
157 |
158 | --------------------------------------------------------------------------------
159 |
160 | # Brand Icons
161 |
162 | All brand icons are trademarks of their respective owners. The use of these
163 | trademarks does not indicate endorsement of the trademark holder by Font
164 | Awesome, nor vice versa. **Please do not use brand logos for any purpose except
165 | to represent the company, product, or service to which they refer.**
166 |
--------------------------------------------------------------------------------
/src/assets/css/brands.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com
3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
4 | * Copyright 2022 Fonticons, Inc.
5 | */
6 | :root,
7 | :host {
8 | --fa-style-family-brands: 'Font Awesome 6 Brands';
9 | --fa-font-brands: normal 400 1em/1 'Font Awesome 6 Brands';
10 | }
11 |
12 | @font-face {
13 | font-family: 'Font Awesome 6 Brands';
14 | font-style: normal;
15 | font-weight: 400;
16 | font-display: block;
17 | src: url('../webfonts/fa-brands-400.woff2') format('woff2'),
18 | url('../webfonts/fa-brands-400.ttf') format('truetype');
19 | }
20 |
21 | .fab,
22 | .fa-brands {
23 | font-weight: 400;
24 | }
25 |
26 | .fa-monero:before {
27 | content: '\f3d0';
28 | }
29 |
30 | .fa-hooli:before {
31 | content: '\f427';
32 | }
33 |
34 | .fa-yelp:before {
35 | content: '\f1e9';
36 | }
37 |
38 | .fa-cc-visa:before {
39 | content: '\f1f0';
40 | }
41 |
42 | .fa-lastfm:before {
43 | content: '\f202';
44 | }
45 |
46 | .fa-shopware:before {
47 | content: '\f5b5';
48 | }
49 |
50 | .fa-creative-commons-nc:before {
51 | content: '\f4e8';
52 | }
53 |
54 | .fa-aws:before {
55 | content: '\f375';
56 | }
57 |
58 | .fa-redhat:before {
59 | content: '\f7bc';
60 | }
61 |
62 | .fa-yoast:before {
63 | content: '\f2b1';
64 | }
65 |
66 | .fa-cloudflare:before {
67 | content: '\e07d';
68 | }
69 |
70 | .fa-ups:before {
71 | content: '\f7e0';
72 | }
73 |
74 | .fa-wpexplorer:before {
75 | content: '\f2de';
76 | }
77 |
78 | .fa-dyalog:before {
79 | content: '\f399';
80 | }
81 |
82 | .fa-bity:before {
83 | content: '\f37a';
84 | }
85 |
86 | .fa-stackpath:before {
87 | content: '\f842';
88 | }
89 |
90 | .fa-buysellads:before {
91 | content: '\f20d';
92 | }
93 |
94 | .fa-first-order:before {
95 | content: '\f2b0';
96 | }
97 |
98 | .fa-modx:before {
99 | content: '\f285';
100 | }
101 |
102 | .fa-guilded:before {
103 | content: '\e07e';
104 | }
105 |
106 | .fa-vnv:before {
107 | content: '\f40b';
108 | }
109 |
110 | .fa-square-js:before {
111 | content: '\f3b9';
112 | }
113 |
114 | .fa-js-square:before {
115 | content: '\f3b9';
116 | }
117 |
118 | .fa-microsoft:before {
119 | content: '\f3ca';
120 | }
121 |
122 | .fa-qq:before {
123 | content: '\f1d6';
124 | }
125 |
126 | .fa-orcid:before {
127 | content: '\f8d2';
128 | }
129 |
130 | .fa-java:before {
131 | content: '\f4e4';
132 | }
133 |
134 | .fa-invision:before {
135 | content: '\f7b0';
136 | }
137 |
138 | .fa-creative-commons-pd-alt:before {
139 | content: '\f4ed';
140 | }
141 |
142 | .fa-centercode:before {
143 | content: '\f380';
144 | }
145 |
146 | .fa-glide-g:before {
147 | content: '\f2a6';
148 | }
149 |
150 | .fa-drupal:before {
151 | content: '\f1a9';
152 | }
153 |
154 | .fa-hire-a-helper:before {
155 | content: '\f3b0';
156 | }
157 |
158 | .fa-creative-commons-by:before {
159 | content: '\f4e7';
160 | }
161 |
162 | .fa-unity:before {
163 | content: '\e049';
164 | }
165 |
166 | .fa-whmcs:before {
167 | content: '\f40d';
168 | }
169 |
170 | .fa-rocketchat:before {
171 | content: '\f3e8';
172 | }
173 |
174 | .fa-vk:before {
175 | content: '\f189';
176 | }
177 |
178 | .fa-untappd:before {
179 | content: '\f405';
180 | }
181 |
182 | .fa-mailchimp:before {
183 | content: '\f59e';
184 | }
185 |
186 | .fa-css3-alt:before {
187 | content: '\f38b';
188 | }
189 |
190 | .fa-square-reddit:before {
191 | content: '\f1a2';
192 | }
193 |
194 | .fa-reddit-square:before {
195 | content: '\f1a2';
196 | }
197 |
198 | .fa-vimeo-v:before {
199 | content: '\f27d';
200 | }
201 |
202 | .fa-contao:before {
203 | content: '\f26d';
204 | }
205 |
206 | .fa-square-font-awesome:before {
207 | content: '\e5ad';
208 | }
209 |
210 | .fa-deskpro:before {
211 | content: '\f38f';
212 | }
213 |
214 | .fa-sistrix:before {
215 | content: '\f3ee';
216 | }
217 |
218 | .fa-square-instagram:before {
219 | content: '\e055';
220 | }
221 |
222 | .fa-instagram-square:before {
223 | content: '\e055';
224 | }
225 |
226 | .fa-battle-net:before {
227 | content: '\f835';
228 | }
229 |
230 | .fa-the-red-yeti:before {
231 | content: '\f69d';
232 | }
233 |
234 | .fa-square-hacker-news:before {
235 | content: '\f3af';
236 | }
237 |
238 | .fa-hacker-news-square:before {
239 | content: '\f3af';
240 | }
241 |
242 | .fa-edge:before {
243 | content: '\f282';
244 | }
245 |
246 | .fa-napster:before {
247 | content: '\f3d2';
248 | }
249 |
250 | .fa-square-snapchat:before {
251 | content: '\f2ad';
252 | }
253 |
254 | .fa-snapchat-square:before {
255 | content: '\f2ad';
256 | }
257 |
258 | .fa-google-plus-g:before {
259 | content: '\f0d5';
260 | }
261 |
262 | .fa-artstation:before {
263 | content: '\f77a';
264 | }
265 |
266 | .fa-markdown:before {
267 | content: '\f60f';
268 | }
269 |
270 | .fa-sourcetree:before {
271 | content: '\f7d3';
272 | }
273 |
274 | .fa-google-plus:before {
275 | content: '\f2b3';
276 | }
277 |
278 | .fa-diaspora:before {
279 | content: '\f791';
280 | }
281 |
282 | .fa-foursquare:before {
283 | content: '\f180';
284 | }
285 |
286 | .fa-stack-overflow:before {
287 | content: '\f16c';
288 | }
289 |
290 | .fa-github-alt:before {
291 | content: '\f113';
292 | }
293 |
294 | .fa-phoenix-squadron:before {
295 | content: '\f511';
296 | }
297 |
298 | .fa-pagelines:before {
299 | content: '\f18c';
300 | }
301 |
302 | .fa-algolia:before {
303 | content: '\f36c';
304 | }
305 |
306 | .fa-red-river:before {
307 | content: '\f3e3';
308 | }
309 |
310 | .fa-creative-commons-sa:before {
311 | content: '\f4ef';
312 | }
313 |
314 | .fa-safari:before {
315 | content: '\f267';
316 | }
317 |
318 | .fa-google:before {
319 | content: '\f1a0';
320 | }
321 |
322 | .fa-square-font-awesome-stroke:before {
323 | content: '\f35c';
324 | }
325 |
326 | .fa-font-awesome-alt:before {
327 | content: '\f35c';
328 | }
329 |
330 | .fa-atlassian:before {
331 | content: '\f77b';
332 | }
333 |
334 | .fa-linkedin-in:before {
335 | content: '\f0e1';
336 | }
337 |
338 | .fa-digital-ocean:before {
339 | content: '\f391';
340 | }
341 |
342 | .fa-nimblr:before {
343 | content: '\f5a8';
344 | }
345 |
346 | .fa-chromecast:before {
347 | content: '\f838';
348 | }
349 |
350 | .fa-evernote:before {
351 | content: '\f839';
352 | }
353 |
354 | .fa-hacker-news:before {
355 | content: '\f1d4';
356 | }
357 |
358 | .fa-creative-commons-sampling:before {
359 | content: '\f4f0';
360 | }
361 |
362 | .fa-adversal:before {
363 | content: '\f36a';
364 | }
365 |
366 | .fa-creative-commons:before {
367 | content: '\f25e';
368 | }
369 |
370 | .fa-watchman-monitoring:before {
371 | content: '\e087';
372 | }
373 |
374 | .fa-fonticons:before {
375 | content: '\f280';
376 | }
377 |
378 | .fa-weixin:before {
379 | content: '\f1d7';
380 | }
381 |
382 | .fa-shirtsinbulk:before {
383 | content: '\f214';
384 | }
385 |
386 | .fa-codepen:before {
387 | content: '\f1cb';
388 | }
389 |
390 | .fa-git-alt:before {
391 | content: '\f841';
392 | }
393 |
394 | .fa-lyft:before {
395 | content: '\f3c3';
396 | }
397 |
398 | .fa-rev:before {
399 | content: '\f5b2';
400 | }
401 |
402 | .fa-windows:before {
403 | content: '\f17a';
404 | }
405 |
406 | .fa-wizards-of-the-coast:before {
407 | content: '\f730';
408 | }
409 |
410 | .fa-square-viadeo:before {
411 | content: '\f2aa';
412 | }
413 |
414 | .fa-viadeo-square:before {
415 | content: '\f2aa';
416 | }
417 |
418 | .fa-meetup:before {
419 | content: '\f2e0';
420 | }
421 |
422 | .fa-centos:before {
423 | content: '\f789';
424 | }
425 |
426 | .fa-adn:before {
427 | content: '\f170';
428 | }
429 |
430 | .fa-cloudsmith:before {
431 | content: '\f384';
432 | }
433 |
434 | .fa-pied-piper-alt:before {
435 | content: '\f1a8';
436 | }
437 |
438 | .fa-square-dribbble:before {
439 | content: '\f397';
440 | }
441 |
442 | .fa-dribbble-square:before {
443 | content: '\f397';
444 | }
445 |
446 | .fa-codiepie:before {
447 | content: '\f284';
448 | }
449 |
450 | .fa-node:before {
451 | content: '\f419';
452 | }
453 |
454 | .fa-mix:before {
455 | content: '\f3cb';
456 | }
457 |
458 | .fa-steam:before {
459 | content: '\f1b6';
460 | }
461 |
462 | .fa-cc-apple-pay:before {
463 | content: '\f416';
464 | }
465 |
466 | .fa-scribd:before {
467 | content: '\f28a';
468 | }
469 |
470 | .fa-openid:before {
471 | content: '\f19b';
472 | }
473 |
474 | .fa-instalod:before {
475 | content: '\e081';
476 | }
477 |
478 | .fa-expeditedssl:before {
479 | content: '\f23e';
480 | }
481 |
482 | .fa-sellcast:before {
483 | content: '\f2da';
484 | }
485 |
486 | .fa-square-twitter:before {
487 | content: '\f081';
488 | }
489 |
490 | .fa-twitter-square:before {
491 | content: '\f081';
492 | }
493 |
494 | .fa-r-project:before {
495 | content: '\f4f7';
496 | }
497 |
498 | .fa-delicious:before {
499 | content: '\f1a5';
500 | }
501 |
502 | .fa-freebsd:before {
503 | content: '\f3a4';
504 | }
505 |
506 | .fa-vuejs:before {
507 | content: '\f41f';
508 | }
509 |
510 | .fa-accusoft:before {
511 | content: '\f369';
512 | }
513 |
514 | .fa-ioxhost:before {
515 | content: '\f208';
516 | }
517 |
518 | .fa-fonticons-fi:before {
519 | content: '\f3a2';
520 | }
521 |
522 | .fa-app-store:before {
523 | content: '\f36f';
524 | }
525 |
526 | .fa-cc-mastercard:before {
527 | content: '\f1f1';
528 | }
529 |
530 | .fa-itunes-note:before {
531 | content: '\f3b5';
532 | }
533 |
534 | .fa-golang:before {
535 | content: '\e40f';
536 | }
537 |
538 | .fa-kickstarter:before {
539 | content: '\f3bb';
540 | }
541 |
542 | .fa-grav:before {
543 | content: '\f2d6';
544 | }
545 |
546 | .fa-weibo:before {
547 | content: '\f18a';
548 | }
549 |
550 | .fa-uncharted:before {
551 | content: '\e084';
552 | }
553 |
554 | .fa-firstdraft:before {
555 | content: '\f3a1';
556 | }
557 |
558 | .fa-square-youtube:before {
559 | content: '\f431';
560 | }
561 |
562 | .fa-youtube-square:before {
563 | content: '\f431';
564 | }
565 |
566 | .fa-wikipedia-w:before {
567 | content: '\f266';
568 | }
569 |
570 | .fa-wpressr:before {
571 | content: '\f3e4';
572 | }
573 |
574 | .fa-rendact:before {
575 | content: '\f3e4';
576 | }
577 |
578 | .fa-angellist:before {
579 | content: '\f209';
580 | }
581 |
582 | .fa-galactic-republic:before {
583 | content: '\f50c';
584 | }
585 |
586 | .fa-nfc-directional:before {
587 | content: '\e530';
588 | }
589 |
590 | .fa-skype:before {
591 | content: '\f17e';
592 | }
593 |
594 | .fa-joget:before {
595 | content: '\f3b7';
596 | }
597 |
598 | .fa-fedora:before {
599 | content: '\f798';
600 | }
601 |
602 | .fa-stripe-s:before {
603 | content: '\f42a';
604 | }
605 |
606 | .fa-meta:before {
607 | content: '\e49b';
608 | }
609 |
610 | .fa-laravel:before {
611 | content: '\f3bd';
612 | }
613 |
614 | .fa-hotjar:before {
615 | content: '\f3b1';
616 | }
617 |
618 | .fa-bluetooth-b:before {
619 | content: '\f294';
620 | }
621 |
622 | .fa-sticker-mule:before {
623 | content: '\f3f7';
624 | }
625 |
626 | .fa-creative-commons-zero:before {
627 | content: '\f4f3';
628 | }
629 |
630 | .fa-hips:before {
631 | content: '\f452';
632 | }
633 |
634 | .fa-behance:before {
635 | content: '\f1b4';
636 | }
637 |
638 | .fa-reddit:before {
639 | content: '\f1a1';
640 | }
641 |
642 | .fa-discord:before {
643 | content: '\f392';
644 | }
645 |
646 | .fa-chrome:before {
647 | content: '\f268';
648 | }
649 |
650 | .fa-app-store-ios:before {
651 | content: '\f370';
652 | }
653 |
654 | .fa-cc-discover:before {
655 | content: '\f1f2';
656 | }
657 |
658 | .fa-wpbeginner:before {
659 | content: '\f297';
660 | }
661 |
662 | .fa-confluence:before {
663 | content: '\f78d';
664 | }
665 |
666 | .fa-mdb:before {
667 | content: '\f8ca';
668 | }
669 |
670 | .fa-dochub:before {
671 | content: '\f394';
672 | }
673 |
674 | .fa-accessible-icon:before {
675 | content: '\f368';
676 | }
677 |
678 | .fa-ebay:before {
679 | content: '\f4f4';
680 | }
681 |
682 | .fa-amazon:before {
683 | content: '\f270';
684 | }
685 |
686 | .fa-unsplash:before {
687 | content: '\e07c';
688 | }
689 |
690 | .fa-yarn:before {
691 | content: '\f7e3';
692 | }
693 |
694 | .fa-square-steam:before {
695 | content: '\f1b7';
696 | }
697 |
698 | .fa-steam-square:before {
699 | content: '\f1b7';
700 | }
701 |
702 | .fa-500px:before {
703 | content: '\f26e';
704 | }
705 |
706 | .fa-square-vimeo:before {
707 | content: '\f194';
708 | }
709 |
710 | .fa-vimeo-square:before {
711 | content: '\f194';
712 | }
713 |
714 | .fa-asymmetrik:before {
715 | content: '\f372';
716 | }
717 |
718 | .fa-font-awesome:before {
719 | content: '\f2b4';
720 | }
721 |
722 | .fa-font-awesome-flag:before {
723 | content: '\f2b4';
724 | }
725 |
726 | .fa-font-awesome-logo-full:before {
727 | content: '\f2b4';
728 | }
729 |
730 | .fa-gratipay:before {
731 | content: '\f184';
732 | }
733 |
734 | .fa-apple:before {
735 | content: '\f179';
736 | }
737 |
738 | .fa-hive:before {
739 | content: '\e07f';
740 | }
741 |
742 | .fa-gitkraken:before {
743 | content: '\f3a6';
744 | }
745 |
746 | .fa-keybase:before {
747 | content: '\f4f5';
748 | }
749 |
750 | .fa-apple-pay:before {
751 | content: '\f415';
752 | }
753 |
754 | .fa-padlet:before {
755 | content: '\e4a0';
756 | }
757 |
758 | .fa-amazon-pay:before {
759 | content: '\f42c';
760 | }
761 |
762 | .fa-square-github:before {
763 | content: '\f092';
764 | }
765 |
766 | .fa-github-square:before {
767 | content: '\f092';
768 | }
769 |
770 | .fa-stumbleupon:before {
771 | content: '\f1a4';
772 | }
773 |
774 | .fa-fedex:before {
775 | content: '\f797';
776 | }
777 |
778 | .fa-phoenix-framework:before {
779 | content: '\f3dc';
780 | }
781 |
782 | .fa-shopify:before {
783 | content: '\e057';
784 | }
785 |
786 | .fa-neos:before {
787 | content: '\f612';
788 | }
789 |
790 | .fa-hackerrank:before {
791 | content: '\f5f7';
792 | }
793 |
794 | .fa-researchgate:before {
795 | content: '\f4f8';
796 | }
797 |
798 | .fa-swift:before {
799 | content: '\f8e1';
800 | }
801 |
802 | .fa-angular:before {
803 | content: '\f420';
804 | }
805 |
806 | .fa-speakap:before {
807 | content: '\f3f3';
808 | }
809 |
810 | .fa-angrycreative:before {
811 | content: '\f36e';
812 | }
813 |
814 | .fa-y-combinator:before {
815 | content: '\f23b';
816 | }
817 |
818 | .fa-empire:before {
819 | content: '\f1d1';
820 | }
821 |
822 | .fa-envira:before {
823 | content: '\f299';
824 | }
825 |
826 | .fa-square-gitlab:before {
827 | content: '\e5ae';
828 | }
829 |
830 | .fa-gitlab-square:before {
831 | content: '\e5ae';
832 | }
833 |
834 | .fa-studiovinari:before {
835 | content: '\f3f8';
836 | }
837 |
838 | .fa-pied-piper:before {
839 | content: '\f2ae';
840 | }
841 |
842 | .fa-wordpress:before {
843 | content: '\f19a';
844 | }
845 |
846 | .fa-product-hunt:before {
847 | content: '\f288';
848 | }
849 |
850 | .fa-firefox:before {
851 | content: '\f269';
852 | }
853 |
854 | .fa-linode:before {
855 | content: '\f2b8';
856 | }
857 |
858 | .fa-goodreads:before {
859 | content: '\f3a8';
860 | }
861 |
862 | .fa-square-odnoklassniki:before {
863 | content: '\f264';
864 | }
865 |
866 | .fa-odnoklassniki-square:before {
867 | content: '\f264';
868 | }
869 |
870 | .fa-jsfiddle:before {
871 | content: '\f1cc';
872 | }
873 |
874 | .fa-sith:before {
875 | content: '\f512';
876 | }
877 |
878 | .fa-themeisle:before {
879 | content: '\f2b2';
880 | }
881 |
882 | .fa-page4:before {
883 | content: '\f3d7';
884 | }
885 |
886 | .fa-hashnode:before {
887 | content: '\e499';
888 | }
889 |
890 | .fa-react:before {
891 | content: '\f41b';
892 | }
893 |
894 | .fa-cc-paypal:before {
895 | content: '\f1f4';
896 | }
897 |
898 | .fa-squarespace:before {
899 | content: '\f5be';
900 | }
901 |
902 | .fa-cc-stripe:before {
903 | content: '\f1f5';
904 | }
905 |
906 | .fa-creative-commons-share:before {
907 | content: '\f4f2';
908 | }
909 |
910 | .fa-bitcoin:before {
911 | content: '\f379';
912 | }
913 |
914 | .fa-keycdn:before {
915 | content: '\f3ba';
916 | }
917 |
918 | .fa-opera:before {
919 | content: '\f26a';
920 | }
921 |
922 | .fa-itch-io:before {
923 | content: '\f83a';
924 | }
925 |
926 | .fa-umbraco:before {
927 | content: '\f8e8';
928 | }
929 |
930 | .fa-galactic-senate:before {
931 | content: '\f50d';
932 | }
933 |
934 | .fa-ubuntu:before {
935 | content: '\f7df';
936 | }
937 |
938 | .fa-draft2digital:before {
939 | content: '\f396';
940 | }
941 |
942 | .fa-stripe:before {
943 | content: '\f429';
944 | }
945 |
946 | .fa-houzz:before {
947 | content: '\f27c';
948 | }
949 |
950 | .fa-gg:before {
951 | content: '\f260';
952 | }
953 |
954 | .fa-dhl:before {
955 | content: '\f790';
956 | }
957 |
958 | .fa-square-pinterest:before {
959 | content: '\f0d3';
960 | }
961 |
962 | .fa-pinterest-square:before {
963 | content: '\f0d3';
964 | }
965 |
966 | .fa-xing:before {
967 | content: '\f168';
968 | }
969 |
970 | .fa-blackberry:before {
971 | content: '\f37b';
972 | }
973 |
974 | .fa-creative-commons-pd:before {
975 | content: '\f4ec';
976 | }
977 |
978 | .fa-playstation:before {
979 | content: '\f3df';
980 | }
981 |
982 | .fa-quinscape:before {
983 | content: '\f459';
984 | }
985 |
986 | .fa-less:before {
987 | content: '\f41d';
988 | }
989 |
990 | .fa-blogger-b:before {
991 | content: '\f37d';
992 | }
993 |
994 | .fa-opencart:before {
995 | content: '\f23d';
996 | }
997 |
998 | .fa-vine:before {
999 | content: '\f1ca';
1000 | }
1001 |
1002 | .fa-paypal:before {
1003 | content: '\f1ed';
1004 | }
1005 |
1006 | .fa-gitlab:before {
1007 | content: '\f296';
1008 | }
1009 |
1010 | .fa-typo3:before {
1011 | content: '\f42b';
1012 | }
1013 |
1014 | .fa-reddit-alien:before {
1015 | content: '\f281';
1016 | }
1017 |
1018 | .fa-yahoo:before {
1019 | content: '\f19e';
1020 | }
1021 |
1022 | .fa-dailymotion:before {
1023 | content: '\e052';
1024 | }
1025 |
1026 | .fa-affiliatetheme:before {
1027 | content: '\f36b';
1028 | }
1029 |
1030 | .fa-pied-piper-pp:before {
1031 | content: '\f1a7';
1032 | }
1033 |
1034 | .fa-bootstrap:before {
1035 | content: '\f836';
1036 | }
1037 |
1038 | .fa-odnoklassniki:before {
1039 | content: '\f263';
1040 | }
1041 |
1042 | .fa-nfc-symbol:before {
1043 | content: '\e531';
1044 | }
1045 |
1046 | .fa-ethereum:before {
1047 | content: '\f42e';
1048 | }
1049 |
1050 | .fa-speaker-deck:before {
1051 | content: '\f83c';
1052 | }
1053 |
1054 | .fa-creative-commons-nc-eu:before {
1055 | content: '\f4e9';
1056 | }
1057 |
1058 | .fa-patreon:before {
1059 | content: '\f3d9';
1060 | }
1061 |
1062 | .fa-avianex:before {
1063 | content: '\f374';
1064 | }
1065 |
1066 | .fa-ello:before {
1067 | content: '\f5f1';
1068 | }
1069 |
1070 | .fa-gofore:before {
1071 | content: '\f3a7';
1072 | }
1073 |
1074 | .fa-bimobject:before {
1075 | content: '\f378';
1076 | }
1077 |
1078 | .fa-facebook-f:before {
1079 | content: '\f39e';
1080 | }
1081 |
1082 | .fa-square-google-plus:before {
1083 | content: '\f0d4';
1084 | }
1085 |
1086 | .fa-google-plus-square:before {
1087 | content: '\f0d4';
1088 | }
1089 |
1090 | .fa-mandalorian:before {
1091 | content: '\f50f';
1092 | }
1093 |
1094 | .fa-first-order-alt:before {
1095 | content: '\f50a';
1096 | }
1097 |
1098 | .fa-osi:before {
1099 | content: '\f41a';
1100 | }
1101 |
1102 | .fa-google-wallet:before {
1103 | content: '\f1ee';
1104 | }
1105 |
1106 | .fa-d-and-d-beyond:before {
1107 | content: '\f6ca';
1108 | }
1109 |
1110 | .fa-periscope:before {
1111 | content: '\f3da';
1112 | }
1113 |
1114 | .fa-fulcrum:before {
1115 | content: '\f50b';
1116 | }
1117 |
1118 | .fa-cloudscale:before {
1119 | content: '\f383';
1120 | }
1121 |
1122 | .fa-forumbee:before {
1123 | content: '\f211';
1124 | }
1125 |
1126 | .fa-mizuni:before {
1127 | content: '\f3cc';
1128 | }
1129 |
1130 | .fa-schlix:before {
1131 | content: '\f3ea';
1132 | }
1133 |
1134 | .fa-square-xing:before {
1135 | content: '\f169';
1136 | }
1137 |
1138 | .fa-xing-square:before {
1139 | content: '\f169';
1140 | }
1141 |
1142 | .fa-bandcamp:before {
1143 | content: '\f2d5';
1144 | }
1145 |
1146 | .fa-wpforms:before {
1147 | content: '\f298';
1148 | }
1149 |
1150 | .fa-cloudversify:before {
1151 | content: '\f385';
1152 | }
1153 |
1154 | .fa-usps:before {
1155 | content: '\f7e1';
1156 | }
1157 |
1158 | .fa-megaport:before {
1159 | content: '\f5a3';
1160 | }
1161 |
1162 | .fa-magento:before {
1163 | content: '\f3c4';
1164 | }
1165 |
1166 | .fa-spotify:before {
1167 | content: '\f1bc';
1168 | }
1169 |
1170 | .fa-optin-monster:before {
1171 | content: '\f23c';
1172 | }
1173 |
1174 | .fa-fly:before {
1175 | content: '\f417';
1176 | }
1177 |
1178 | .fa-aviato:before {
1179 | content: '\f421';
1180 | }
1181 |
1182 | .fa-itunes:before {
1183 | content: '\f3b4';
1184 | }
1185 |
1186 | .fa-cuttlefish:before {
1187 | content: '\f38c';
1188 | }
1189 |
1190 | .fa-blogger:before {
1191 | content: '\f37c';
1192 | }
1193 |
1194 | .fa-flickr:before {
1195 | content: '\f16e';
1196 | }
1197 |
1198 | .fa-viber:before {
1199 | content: '\f409';
1200 | }
1201 |
1202 | .fa-soundcloud:before {
1203 | content: '\f1be';
1204 | }
1205 |
1206 | .fa-digg:before {
1207 | content: '\f1a6';
1208 | }
1209 |
1210 | .fa-tencent-weibo:before {
1211 | content: '\f1d5';
1212 | }
1213 |
1214 | .fa-symfony:before {
1215 | content: '\f83d';
1216 | }
1217 |
1218 | .fa-maxcdn:before {
1219 | content: '\f136';
1220 | }
1221 |
1222 | .fa-etsy:before {
1223 | content: '\f2d7';
1224 | }
1225 |
1226 | .fa-facebook-messenger:before {
1227 | content: '\f39f';
1228 | }
1229 |
1230 | .fa-audible:before {
1231 | content: '\f373';
1232 | }
1233 |
1234 | .fa-think-peaks:before {
1235 | content: '\f731';
1236 | }
1237 |
1238 | .fa-bilibili:before {
1239 | content: '\e3d9';
1240 | }
1241 |
1242 | .fa-erlang:before {
1243 | content: '\f39d';
1244 | }
1245 |
1246 | .fa-cotton-bureau:before {
1247 | content: '\f89e';
1248 | }
1249 |
1250 | .fa-dashcube:before {
1251 | content: '\f210';
1252 | }
1253 |
1254 | .fa-42-group:before {
1255 | content: '\e080';
1256 | }
1257 |
1258 | .fa-innosoft:before {
1259 | content: '\e080';
1260 | }
1261 |
1262 | .fa-stack-exchange:before {
1263 | content: '\f18d';
1264 | }
1265 |
1266 | .fa-elementor:before {
1267 | content: '\f430';
1268 | }
1269 |
1270 | .fa-square-pied-piper:before {
1271 | content: '\e01e';
1272 | }
1273 |
1274 | .fa-pied-piper-square:before {
1275 | content: '\e01e';
1276 | }
1277 |
1278 | .fa-creative-commons-nd:before {
1279 | content: '\f4eb';
1280 | }
1281 |
1282 | .fa-palfed:before {
1283 | content: '\f3d8';
1284 | }
1285 |
1286 | .fa-superpowers:before {
1287 | content: '\f2dd';
1288 | }
1289 |
1290 | .fa-resolving:before {
1291 | content: '\f3e7';
1292 | }
1293 |
1294 | .fa-xbox:before {
1295 | content: '\f412';
1296 | }
1297 |
1298 | .fa-searchengin:before {
1299 | content: '\f3eb';
1300 | }
1301 |
1302 | .fa-tiktok:before {
1303 | content: '\e07b';
1304 | }
1305 |
1306 | .fa-square-facebook:before {
1307 | content: '\f082';
1308 | }
1309 |
1310 | .fa-facebook-square:before {
1311 | content: '\f082';
1312 | }
1313 |
1314 | .fa-renren:before {
1315 | content: '\f18b';
1316 | }
1317 |
1318 | .fa-linux:before {
1319 | content: '\f17c';
1320 | }
1321 |
1322 | .fa-glide:before {
1323 | content: '\f2a5';
1324 | }
1325 |
1326 | .fa-linkedin:before {
1327 | content: '\f08c';
1328 | }
1329 |
1330 | .fa-hubspot:before {
1331 | content: '\f3b2';
1332 | }
1333 |
1334 | .fa-deploydog:before {
1335 | content: '\f38e';
1336 | }
1337 |
1338 | .fa-twitch:before {
1339 | content: '\f1e8';
1340 | }
1341 |
1342 | .fa-ravelry:before {
1343 | content: '\f2d9';
1344 | }
1345 |
1346 | .fa-mixer:before {
1347 | content: '\e056';
1348 | }
1349 |
1350 | .fa-square-lastfm:before {
1351 | content: '\f203';
1352 | }
1353 |
1354 | .fa-lastfm-square:before {
1355 | content: '\f203';
1356 | }
1357 |
1358 | .fa-vimeo:before {
1359 | content: '\f40a';
1360 | }
1361 |
1362 | .fa-mendeley:before {
1363 | content: '\f7b3';
1364 | }
1365 |
1366 | .fa-uniregistry:before {
1367 | content: '\f404';
1368 | }
1369 |
1370 | .fa-figma:before {
1371 | content: '\f799';
1372 | }
1373 |
1374 | .fa-creative-commons-remix:before {
1375 | content: '\f4ee';
1376 | }
1377 |
1378 | .fa-cc-amazon-pay:before {
1379 | content: '\f42d';
1380 | }
1381 |
1382 | .fa-dropbox:before {
1383 | content: '\f16b';
1384 | }
1385 |
1386 | .fa-instagram:before {
1387 | content: '\f16d';
1388 | }
1389 |
1390 | .fa-cmplid:before {
1391 | content: '\e360';
1392 | }
1393 |
1394 | .fa-facebook:before {
1395 | content: '\f09a';
1396 | }
1397 |
1398 | .fa-gripfire:before {
1399 | content: '\f3ac';
1400 | }
1401 |
1402 | .fa-jedi-order:before {
1403 | content: '\f50e';
1404 | }
1405 |
1406 | .fa-uikit:before {
1407 | content: '\f403';
1408 | }
1409 |
1410 | .fa-fort-awesome-alt:before {
1411 | content: '\f3a3';
1412 | }
1413 |
1414 | .fa-phabricator:before {
1415 | content: '\f3db';
1416 | }
1417 |
1418 | .fa-ussunnah:before {
1419 | content: '\f407';
1420 | }
1421 |
1422 | .fa-earlybirds:before {
1423 | content: '\f39a';
1424 | }
1425 |
1426 | .fa-trade-federation:before {
1427 | content: '\f513';
1428 | }
1429 |
1430 | .fa-autoprefixer:before {
1431 | content: '\f41c';
1432 | }
1433 |
1434 | .fa-whatsapp:before {
1435 | content: '\f232';
1436 | }
1437 |
1438 | .fa-slideshare:before {
1439 | content: '\f1e7';
1440 | }
1441 |
1442 | .fa-google-play:before {
1443 | content: '\f3ab';
1444 | }
1445 |
1446 | .fa-viadeo:before {
1447 | content: '\f2a9';
1448 | }
1449 |
1450 | .fa-line:before {
1451 | content: '\f3c0';
1452 | }
1453 |
1454 | .fa-google-drive:before {
1455 | content: '\f3aa';
1456 | }
1457 |
1458 | .fa-servicestack:before {
1459 | content: '\f3ec';
1460 | }
1461 |
1462 | .fa-simplybuilt:before {
1463 | content: '\f215';
1464 | }
1465 |
1466 | .fa-bitbucket:before {
1467 | content: '\f171';
1468 | }
1469 |
1470 | .fa-imdb:before {
1471 | content: '\f2d8';
1472 | }
1473 |
1474 | .fa-deezer:before {
1475 | content: '\e077';
1476 | }
1477 |
1478 | .fa-raspberry-pi:before {
1479 | content: '\f7bb';
1480 | }
1481 |
1482 | .fa-jira:before {
1483 | content: '\f7b1';
1484 | }
1485 |
1486 | .fa-docker:before {
1487 | content: '\f395';
1488 | }
1489 |
1490 | .fa-screenpal:before {
1491 | content: '\e570';
1492 | }
1493 |
1494 | .fa-bluetooth:before {
1495 | content: '\f293';
1496 | }
1497 |
1498 | .fa-gitter:before {
1499 | content: '\f426';
1500 | }
1501 |
1502 | .fa-d-and-d:before {
1503 | content: '\f38d';
1504 | }
1505 |
1506 | .fa-microblog:before {
1507 | content: '\e01a';
1508 | }
1509 |
1510 | .fa-cc-diners-club:before {
1511 | content: '\f24c';
1512 | }
1513 |
1514 | .fa-gg-circle:before {
1515 | content: '\f261';
1516 | }
1517 |
1518 | .fa-pied-piper-hat:before {
1519 | content: '\f4e5';
1520 | }
1521 |
1522 | .fa-kickstarter-k:before {
1523 | content: '\f3bc';
1524 | }
1525 |
1526 | .fa-yandex:before {
1527 | content: '\f413';
1528 | }
1529 |
1530 | .fa-readme:before {
1531 | content: '\f4d5';
1532 | }
1533 |
1534 | .fa-html5:before {
1535 | content: '\f13b';
1536 | }
1537 |
1538 | .fa-sellsy:before {
1539 | content: '\f213';
1540 | }
1541 |
1542 | .fa-sass:before {
1543 | content: '\f41e';
1544 | }
1545 |
1546 | .fa-wirsindhandwerk:before {
1547 | content: '\e2d0';
1548 | }
1549 |
1550 | .fa-wsh:before {
1551 | content: '\e2d0';
1552 | }
1553 |
1554 | .fa-buromobelexperte:before {
1555 | content: '\f37f';
1556 | }
1557 |
1558 | .fa-salesforce:before {
1559 | content: '\f83b';
1560 | }
1561 |
1562 | .fa-octopus-deploy:before {
1563 | content: '\e082';
1564 | }
1565 |
1566 | .fa-medapps:before {
1567 | content: '\f3c6';
1568 | }
1569 |
1570 | .fa-ns8:before {
1571 | content: '\f3d5';
1572 | }
1573 |
1574 | .fa-pinterest-p:before {
1575 | content: '\f231';
1576 | }
1577 |
1578 | .fa-apper:before {
1579 | content: '\f371';
1580 | }
1581 |
1582 | .fa-fort-awesome:before {
1583 | content: '\f286';
1584 | }
1585 |
1586 | .fa-waze:before {
1587 | content: '\f83f';
1588 | }
1589 |
1590 | .fa-cc-jcb:before {
1591 | content: '\f24b';
1592 | }
1593 |
1594 | .fa-snapchat:before {
1595 | content: '\f2ab';
1596 | }
1597 |
1598 | .fa-snapchat-ghost:before {
1599 | content: '\f2ab';
1600 | }
1601 |
1602 | .fa-fantasy-flight-games:before {
1603 | content: '\f6dc';
1604 | }
1605 |
1606 | .fa-rust:before {
1607 | content: '\e07a';
1608 | }
1609 |
1610 | .fa-wix:before {
1611 | content: '\f5cf';
1612 | }
1613 |
1614 | .fa-square-behance:before {
1615 | content: '\f1b5';
1616 | }
1617 |
1618 | .fa-behance-square:before {
1619 | content: '\f1b5';
1620 | }
1621 |
1622 | .fa-supple:before {
1623 | content: '\f3f9';
1624 | }
1625 |
1626 | .fa-rebel:before {
1627 | content: '\f1d0';
1628 | }
1629 |
1630 | .fa-css3:before {
1631 | content: '\f13c';
1632 | }
1633 |
1634 | .fa-staylinked:before {
1635 | content: '\f3f5';
1636 | }
1637 |
1638 | .fa-kaggle:before {
1639 | content: '\f5fa';
1640 | }
1641 |
1642 | .fa-space-awesome:before {
1643 | content: '\e5ac';
1644 | }
1645 |
1646 | .fa-deviantart:before {
1647 | content: '\f1bd';
1648 | }
1649 |
1650 | .fa-cpanel:before {
1651 | content: '\f388';
1652 | }
1653 |
1654 | .fa-goodreads-g:before {
1655 | content: '\f3a9';
1656 | }
1657 |
1658 | .fa-square-git:before {
1659 | content: '\f1d2';
1660 | }
1661 |
1662 | .fa-git-square:before {
1663 | content: '\f1d2';
1664 | }
1665 |
1666 | .fa-square-tumblr:before {
1667 | content: '\f174';
1668 | }
1669 |
1670 | .fa-tumblr-square:before {
1671 | content: '\f174';
1672 | }
1673 |
1674 | .fa-trello:before {
1675 | content: '\f181';
1676 | }
1677 |
1678 | .fa-creative-commons-nc-jp:before {
1679 | content: '\f4ea';
1680 | }
1681 |
1682 | .fa-get-pocket:before {
1683 | content: '\f265';
1684 | }
1685 |
1686 | .fa-perbyte:before {
1687 | content: '\e083';
1688 | }
1689 |
1690 | .fa-grunt:before {
1691 | content: '\f3ad';
1692 | }
1693 |
1694 | .fa-weebly:before {
1695 | content: '\f5cc';
1696 | }
1697 |
1698 | .fa-connectdevelop:before {
1699 | content: '\f20e';
1700 | }
1701 |
1702 | .fa-leanpub:before {
1703 | content: '\f212';
1704 | }
1705 |
1706 | .fa-black-tie:before {
1707 | content: '\f27e';
1708 | }
1709 |
1710 | .fa-themeco:before {
1711 | content: '\f5c6';
1712 | }
1713 |
1714 | .fa-python:before {
1715 | content: '\f3e2';
1716 | }
1717 |
1718 | .fa-android:before {
1719 | content: '\f17b';
1720 | }
1721 |
1722 | .fa-bots:before {
1723 | content: '\e340';
1724 | }
1725 |
1726 | .fa-free-code-camp:before {
1727 | content: '\f2c5';
1728 | }
1729 |
1730 | .fa-hornbill:before {
1731 | content: '\f592';
1732 | }
1733 |
1734 | .fa-js:before {
1735 | content: '\f3b8';
1736 | }
1737 |
1738 | .fa-ideal:before {
1739 | content: '\e013';
1740 | }
1741 |
1742 | .fa-git:before {
1743 | content: '\f1d3';
1744 | }
1745 |
1746 | .fa-dev:before {
1747 | content: '\f6cc';
1748 | }
1749 |
1750 | .fa-sketch:before {
1751 | content: '\f7c6';
1752 | }
1753 |
1754 | .fa-yandex-international:before {
1755 | content: '\f414';
1756 | }
1757 |
1758 | .fa-cc-amex:before {
1759 | content: '\f1f3';
1760 | }
1761 |
1762 | .fa-uber:before {
1763 | content: '\f402';
1764 | }
1765 |
1766 | .fa-github:before {
1767 | content: '\f09b';
1768 | }
1769 |
1770 | .fa-php:before {
1771 | content: '\f457';
1772 | }
1773 |
1774 | .fa-alipay:before {
1775 | content: '\f642';
1776 | }
1777 |
1778 | .fa-youtube:before {
1779 | content: '\f167';
1780 | }
1781 |
1782 | .fa-skyatlas:before {
1783 | content: '\f216';
1784 | }
1785 |
1786 | .fa-firefox-browser:before {
1787 | content: '\e007';
1788 | }
1789 |
1790 | .fa-replyd:before {
1791 | content: '\f3e6';
1792 | }
1793 |
1794 | .fa-suse:before {
1795 | content: '\f7d6';
1796 | }
1797 |
1798 | .fa-jenkins:before {
1799 | content: '\f3b6';
1800 | }
1801 |
1802 | .fa-twitter:before {
1803 | content: '\f099';
1804 | }
1805 |
1806 | .fa-rockrms:before {
1807 | content: '\f3e9';
1808 | }
1809 |
1810 | .fa-pinterest:before {
1811 | content: '\f0d2';
1812 | }
1813 |
1814 | .fa-buffer:before {
1815 | content: '\f837';
1816 | }
1817 |
1818 | .fa-npm:before {
1819 | content: '\f3d4';
1820 | }
1821 |
1822 | .fa-yammer:before {
1823 | content: '\f840';
1824 | }
1825 |
1826 | .fa-btc:before {
1827 | content: '\f15a';
1828 | }
1829 |
1830 | .fa-dribbble:before {
1831 | content: '\f17d';
1832 | }
1833 |
1834 | .fa-stumbleupon-circle:before {
1835 | content: '\f1a3';
1836 | }
1837 |
1838 | .fa-internet-explorer:before {
1839 | content: '\f26b';
1840 | }
1841 |
1842 | .fa-telegram:before {
1843 | content: '\f2c6';
1844 | }
1845 |
1846 | .fa-telegram-plane:before {
1847 | content: '\f2c6';
1848 | }
1849 |
1850 | .fa-old-republic:before {
1851 | content: '\f510';
1852 | }
1853 |
1854 | .fa-square-whatsapp:before {
1855 | content: '\f40c';
1856 | }
1857 |
1858 | .fa-whatsapp-square:before {
1859 | content: '\f40c';
1860 | }
1861 |
1862 | .fa-node-js:before {
1863 | content: '\f3d3';
1864 | }
1865 |
1866 | .fa-edge-legacy:before {
1867 | content: '\e078';
1868 | }
1869 |
1870 | .fa-slack:before {
1871 | content: '\f198';
1872 | }
1873 |
1874 | .fa-slack-hash:before {
1875 | content: '\f198';
1876 | }
1877 |
1878 | .fa-medrt:before {
1879 | content: '\f3c8';
1880 | }
1881 |
1882 | .fa-usb:before {
1883 | content: '\f287';
1884 | }
1885 |
1886 | .fa-tumblr:before {
1887 | content: '\f173';
1888 | }
1889 |
1890 | .fa-vaadin:before {
1891 | content: '\f408';
1892 | }
1893 |
1894 | .fa-quora:before {
1895 | content: '\f2c4';
1896 | }
1897 |
1898 | .fa-reacteurope:before {
1899 | content: '\f75d';
1900 | }
1901 |
1902 | .fa-medium:before {
1903 | content: '\f23a';
1904 | }
1905 |
1906 | .fa-medium-m:before {
1907 | content: '\f23a';
1908 | }
1909 |
1910 | .fa-amilia:before {
1911 | content: '\f36d';
1912 | }
1913 |
1914 | .fa-mixcloud:before {
1915 | content: '\f289';
1916 | }
1917 |
1918 | .fa-flipboard:before {
1919 | content: '\f44d';
1920 | }
1921 |
1922 | .fa-viacoin:before {
1923 | content: '\f237';
1924 | }
1925 |
1926 | .fa-critical-role:before {
1927 | content: '\f6c9';
1928 | }
1929 |
1930 | .fa-sitrox:before {
1931 | content: '\e44a';
1932 | }
1933 |
1934 | .fa-discourse:before {
1935 | content: '\f393';
1936 | }
1937 |
1938 | .fa-joomla:before {
1939 | content: '\f1aa';
1940 | }
1941 |
1942 | .fa-mastodon:before {
1943 | content: '\f4f6';
1944 | }
1945 |
1946 | .fa-airbnb:before {
1947 | content: '\f834';
1948 | }
1949 |
1950 | .fa-wolf-pack-battalion:before {
1951 | content: '\f514';
1952 | }
1953 |
1954 | .fa-buy-n-large:before {
1955 | content: '\f8a6';
1956 | }
1957 |
1958 | .fa-gulp:before {
1959 | content: '\f3ae';
1960 | }
1961 |
1962 | .fa-creative-commons-sampling-plus:before {
1963 | content: '\f4f1';
1964 | }
1965 |
1966 | .fa-strava:before {
1967 | content: '\f428';
1968 | }
1969 |
1970 | .fa-ember:before {
1971 | content: '\f423';
1972 | }
1973 |
1974 | .fa-canadian-maple-leaf:before {
1975 | content: '\f785';
1976 | }
1977 |
1978 | .fa-teamspeak:before {
1979 | content: '\f4f9';
1980 | }
1981 |
1982 | .fa-pushed:before {
1983 | content: '\f3e1';
1984 | }
1985 |
1986 | .fa-wordpress-simple:before {
1987 | content: '\f411';
1988 | }
1989 |
1990 | .fa-nutritionix:before {
1991 | content: '\f3d6';
1992 | }
1993 |
1994 | .fa-wodu:before {
1995 | content: '\e088';
1996 | }
1997 |
1998 | .fa-google-pay:before {
1999 | content: '\e079';
2000 | }
2001 |
2002 | .fa-intercom:before {
2003 | content: '\f7af';
2004 | }
2005 |
2006 | .fa-zhihu:before {
2007 | content: '\f63f';
2008 | }
2009 |
2010 | .fa-korvue:before {
2011 | content: '\f42f';
2012 | }
2013 |
2014 | .fa-pix:before {
2015 | content: '\e43a';
2016 | }
2017 |
2018 | .fa-steam-symbol:before {
2019 | content: '\f3f6';
2020 | }
2021 |
--------------------------------------------------------------------------------
/src/assets/css/brands.min.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com
3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
4 | * Copyright 2022 Fonticons, Inc.
5 | */
6 | :host,
7 | :root {
8 | --fa-style-family-brands: 'Font Awesome 6 Brands';
9 | --fa-font-brands: normal 400 1em/1 'Font Awesome 6 Brands';
10 | }
11 | @font-face {
12 | font-family: 'Font Awesome 6 Brands';
13 | font-style: normal;
14 | font-weight: 400;
15 | font-display: block;
16 | src: url(../webfonts/fa-brands-400.woff2) format('woff2'),
17 | url(../webfonts/fa-brands-400.ttf) format('truetype');
18 | }
19 | .fa-brands,
20 | .fab {
21 | font-weight: 400;
22 | }
23 | .fa-monero:before {
24 | content: '\f3d0';
25 | }
26 | .fa-hooli:before {
27 | content: '\f427';
28 | }
29 | .fa-yelp:before {
30 | content: '\f1e9';
31 | }
32 | .fa-cc-visa:before {
33 | content: '\f1f0';
34 | }
35 | .fa-lastfm:before {
36 | content: '\f202';
37 | }
38 | .fa-shopware:before {
39 | content: '\f5b5';
40 | }
41 | .fa-creative-commons-nc:before {
42 | content: '\f4e8';
43 | }
44 | .fa-aws:before {
45 | content: '\f375';
46 | }
47 | .fa-redhat:before {
48 | content: '\f7bc';
49 | }
50 | .fa-yoast:before {
51 | content: '\f2b1';
52 | }
53 | .fa-cloudflare:before {
54 | content: '\e07d';
55 | }
56 | .fa-ups:before {
57 | content: '\f7e0';
58 | }
59 | .fa-wpexplorer:before {
60 | content: '\f2de';
61 | }
62 | .fa-dyalog:before {
63 | content: '\f399';
64 | }
65 | .fa-bity:before {
66 | content: '\f37a';
67 | }
68 | .fa-stackpath:before {
69 | content: '\f842';
70 | }
71 | .fa-buysellads:before {
72 | content: '\f20d';
73 | }
74 | .fa-first-order:before {
75 | content: '\f2b0';
76 | }
77 | .fa-modx:before {
78 | content: '\f285';
79 | }
80 | .fa-guilded:before {
81 | content: '\e07e';
82 | }
83 | .fa-vnv:before {
84 | content: '\f40b';
85 | }
86 | .fa-js-square:before,
87 | .fa-square-js:before {
88 | content: '\f3b9';
89 | }
90 | .fa-microsoft:before {
91 | content: '\f3ca';
92 | }
93 | .fa-qq:before {
94 | content: '\f1d6';
95 | }
96 | .fa-orcid:before {
97 | content: '\f8d2';
98 | }
99 | .fa-java:before {
100 | content: '\f4e4';
101 | }
102 | .fa-invision:before {
103 | content: '\f7b0';
104 | }
105 | .fa-creative-commons-pd-alt:before {
106 | content: '\f4ed';
107 | }
108 | .fa-centercode:before {
109 | content: '\f380';
110 | }
111 | .fa-glide-g:before {
112 | content: '\f2a6';
113 | }
114 | .fa-drupal:before {
115 | content: '\f1a9';
116 | }
117 | .fa-hire-a-helper:before {
118 | content: '\f3b0';
119 | }
120 | .fa-creative-commons-by:before {
121 | content: '\f4e7';
122 | }
123 | .fa-unity:before {
124 | content: '\e049';
125 | }
126 | .fa-whmcs:before {
127 | content: '\f40d';
128 | }
129 | .fa-rocketchat:before {
130 | content: '\f3e8';
131 | }
132 | .fa-vk:before {
133 | content: '\f189';
134 | }
135 | .fa-untappd:before {
136 | content: '\f405';
137 | }
138 | .fa-mailchimp:before {
139 | content: '\f59e';
140 | }
141 | .fa-css3-alt:before {
142 | content: '\f38b';
143 | }
144 | .fa-reddit-square:before,
145 | .fa-square-reddit:before {
146 | content: '\f1a2';
147 | }
148 | .fa-vimeo-v:before {
149 | content: '\f27d';
150 | }
151 | .fa-contao:before {
152 | content: '\f26d';
153 | }
154 | .fa-square-font-awesome:before {
155 | content: '\e5ad';
156 | }
157 | .fa-deskpro:before {
158 | content: '\f38f';
159 | }
160 | .fa-sistrix:before {
161 | content: '\f3ee';
162 | }
163 | .fa-instagram-square:before,
164 | .fa-square-instagram:before {
165 | content: '\e055';
166 | }
167 | .fa-battle-net:before {
168 | content: '\f835';
169 | }
170 | .fa-the-red-yeti:before {
171 | content: '\f69d';
172 | }
173 | .fa-hacker-news-square:before,
174 | .fa-square-hacker-news:before {
175 | content: '\f3af';
176 | }
177 | .fa-edge:before {
178 | content: '\f282';
179 | }
180 | .fa-napster:before {
181 | content: '\f3d2';
182 | }
183 | .fa-snapchat-square:before,
184 | .fa-square-snapchat:before {
185 | content: '\f2ad';
186 | }
187 | .fa-google-plus-g:before {
188 | content: '\f0d5';
189 | }
190 | .fa-artstation:before {
191 | content: '\f77a';
192 | }
193 | .fa-markdown:before {
194 | content: '\f60f';
195 | }
196 | .fa-sourcetree:before {
197 | content: '\f7d3';
198 | }
199 | .fa-google-plus:before {
200 | content: '\f2b3';
201 | }
202 | .fa-diaspora:before {
203 | content: '\f791';
204 | }
205 | .fa-foursquare:before {
206 | content: '\f180';
207 | }
208 | .fa-stack-overflow:before {
209 | content: '\f16c';
210 | }
211 | .fa-github-alt:before {
212 | content: '\f113';
213 | }
214 | .fa-phoenix-squadron:before {
215 | content: '\f511';
216 | }
217 | .fa-pagelines:before {
218 | content: '\f18c';
219 | }
220 | .fa-algolia:before {
221 | content: '\f36c';
222 | }
223 | .fa-red-river:before {
224 | content: '\f3e3';
225 | }
226 | .fa-creative-commons-sa:before {
227 | content: '\f4ef';
228 | }
229 | .fa-safari:before {
230 | content: '\f267';
231 | }
232 | .fa-google:before {
233 | content: '\f1a0';
234 | }
235 | .fa-font-awesome-alt:before,
236 | .fa-square-font-awesome-stroke:before {
237 | content: '\f35c';
238 | }
239 | .fa-atlassian:before {
240 | content: '\f77b';
241 | }
242 | .fa-linkedin-in:before {
243 | content: '\f0e1';
244 | }
245 | .fa-digital-ocean:before {
246 | content: '\f391';
247 | }
248 | .fa-nimblr:before {
249 | content: '\f5a8';
250 | }
251 | .fa-chromecast:before {
252 | content: '\f838';
253 | }
254 | .fa-evernote:before {
255 | content: '\f839';
256 | }
257 | .fa-hacker-news:before {
258 | content: '\f1d4';
259 | }
260 | .fa-creative-commons-sampling:before {
261 | content: '\f4f0';
262 | }
263 | .fa-adversal:before {
264 | content: '\f36a';
265 | }
266 | .fa-creative-commons:before {
267 | content: '\f25e';
268 | }
269 | .fa-watchman-monitoring:before {
270 | content: '\e087';
271 | }
272 | .fa-fonticons:before {
273 | content: '\f280';
274 | }
275 | .fa-weixin:before {
276 | content: '\f1d7';
277 | }
278 | .fa-shirtsinbulk:before {
279 | content: '\f214';
280 | }
281 | .fa-codepen:before {
282 | content: '\f1cb';
283 | }
284 | .fa-git-alt:before {
285 | content: '\f841';
286 | }
287 | .fa-lyft:before {
288 | content: '\f3c3';
289 | }
290 | .fa-rev:before {
291 | content: '\f5b2';
292 | }
293 | .fa-windows:before {
294 | content: '\f17a';
295 | }
296 | .fa-wizards-of-the-coast:before {
297 | content: '\f730';
298 | }
299 | .fa-square-viadeo:before,
300 | .fa-viadeo-square:before {
301 | content: '\f2aa';
302 | }
303 | .fa-meetup:before {
304 | content: '\f2e0';
305 | }
306 | .fa-centos:before {
307 | content: '\f789';
308 | }
309 | .fa-adn:before {
310 | content: '\f170';
311 | }
312 | .fa-cloudsmith:before {
313 | content: '\f384';
314 | }
315 | .fa-pied-piper-alt:before {
316 | content: '\f1a8';
317 | }
318 | .fa-dribbble-square:before,
319 | .fa-square-dribbble:before {
320 | content: '\f397';
321 | }
322 | .fa-codiepie:before {
323 | content: '\f284';
324 | }
325 | .fa-node:before {
326 | content: '\f419';
327 | }
328 | .fa-mix:before {
329 | content: '\f3cb';
330 | }
331 | .fa-steam:before {
332 | content: '\f1b6';
333 | }
334 | .fa-cc-apple-pay:before {
335 | content: '\f416';
336 | }
337 | .fa-scribd:before {
338 | content: '\f28a';
339 | }
340 | .fa-openid:before {
341 | content: '\f19b';
342 | }
343 | .fa-instalod:before {
344 | content: '\e081';
345 | }
346 | .fa-expeditedssl:before {
347 | content: '\f23e';
348 | }
349 | .fa-sellcast:before {
350 | content: '\f2da';
351 | }
352 | .fa-square-twitter:before,
353 | .fa-twitter-square:before {
354 | content: '\f081';
355 | }
356 | .fa-r-project:before {
357 | content: '\f4f7';
358 | }
359 | .fa-delicious:before {
360 | content: '\f1a5';
361 | }
362 | .fa-freebsd:before {
363 | content: '\f3a4';
364 | }
365 | .fa-vuejs:before {
366 | content: '\f41f';
367 | }
368 | .fa-accusoft:before {
369 | content: '\f369';
370 | }
371 | .fa-ioxhost:before {
372 | content: '\f208';
373 | }
374 | .fa-fonticons-fi:before {
375 | content: '\f3a2';
376 | }
377 | .fa-app-store:before {
378 | content: '\f36f';
379 | }
380 | .fa-cc-mastercard:before {
381 | content: '\f1f1';
382 | }
383 | .fa-itunes-note:before {
384 | content: '\f3b5';
385 | }
386 | .fa-golang:before {
387 | content: '\e40f';
388 | }
389 | .fa-kickstarter:before {
390 | content: '\f3bb';
391 | }
392 | .fa-grav:before {
393 | content: '\f2d6';
394 | }
395 | .fa-weibo:before {
396 | content: '\f18a';
397 | }
398 | .fa-uncharted:before {
399 | content: '\e084';
400 | }
401 | .fa-firstdraft:before {
402 | content: '\f3a1';
403 | }
404 | .fa-square-youtube:before,
405 | .fa-youtube-square:before {
406 | content: '\f431';
407 | }
408 | .fa-wikipedia-w:before {
409 | content: '\f266';
410 | }
411 | .fa-rendact:before,
412 | .fa-wpressr:before {
413 | content: '\f3e4';
414 | }
415 | .fa-angellist:before {
416 | content: '\f209';
417 | }
418 | .fa-galactic-republic:before {
419 | content: '\f50c';
420 | }
421 | .fa-nfc-directional:before {
422 | content: '\e530';
423 | }
424 | .fa-skype:before {
425 | content: '\f17e';
426 | }
427 | .fa-joget:before {
428 | content: '\f3b7';
429 | }
430 | .fa-fedora:before {
431 | content: '\f798';
432 | }
433 | .fa-stripe-s:before {
434 | content: '\f42a';
435 | }
436 | .fa-meta:before {
437 | content: '\e49b';
438 | }
439 | .fa-laravel:before {
440 | content: '\f3bd';
441 | }
442 | .fa-hotjar:before {
443 | content: '\f3b1';
444 | }
445 | .fa-bluetooth-b:before {
446 | content: '\f294';
447 | }
448 | .fa-sticker-mule:before {
449 | content: '\f3f7';
450 | }
451 | .fa-creative-commons-zero:before {
452 | content: '\f4f3';
453 | }
454 | .fa-hips:before {
455 | content: '\f452';
456 | }
457 | .fa-behance:before {
458 | content: '\f1b4';
459 | }
460 | .fa-reddit:before {
461 | content: '\f1a1';
462 | }
463 | .fa-discord:before {
464 | content: '\f392';
465 | }
466 | .fa-chrome:before {
467 | content: '\f268';
468 | }
469 | .fa-app-store-ios:before {
470 | content: '\f370';
471 | }
472 | .fa-cc-discover:before {
473 | content: '\f1f2';
474 | }
475 | .fa-wpbeginner:before {
476 | content: '\f297';
477 | }
478 | .fa-confluence:before {
479 | content: '\f78d';
480 | }
481 | .fa-mdb:before {
482 | content: '\f8ca';
483 | }
484 | .fa-dochub:before {
485 | content: '\f394';
486 | }
487 | .fa-accessible-icon:before {
488 | content: '\f368';
489 | }
490 | .fa-ebay:before {
491 | content: '\f4f4';
492 | }
493 | .fa-amazon:before {
494 | content: '\f270';
495 | }
496 | .fa-unsplash:before {
497 | content: '\e07c';
498 | }
499 | .fa-yarn:before {
500 | content: '\f7e3';
501 | }
502 | .fa-square-steam:before,
503 | .fa-steam-square:before {
504 | content: '\f1b7';
505 | }
506 | .fa-500px:before {
507 | content: '\f26e';
508 | }
509 | .fa-square-vimeo:before,
510 | .fa-vimeo-square:before {
511 | content: '\f194';
512 | }
513 | .fa-asymmetrik:before {
514 | content: '\f372';
515 | }
516 | .fa-font-awesome-flag:before,
517 | .fa-font-awesome-logo-full:before,
518 | .fa-font-awesome:before {
519 | content: '\f2b4';
520 | }
521 | .fa-gratipay:before {
522 | content: '\f184';
523 | }
524 | .fa-apple:before {
525 | content: '\f179';
526 | }
527 | .fa-hive:before {
528 | content: '\e07f';
529 | }
530 | .fa-gitkraken:before {
531 | content: '\f3a6';
532 | }
533 | .fa-keybase:before {
534 | content: '\f4f5';
535 | }
536 | .fa-apple-pay:before {
537 | content: '\f415';
538 | }
539 | .fa-padlet:before {
540 | content: '\e4a0';
541 | }
542 | .fa-amazon-pay:before {
543 | content: '\f42c';
544 | }
545 | .fa-github-square:before,
546 | .fa-square-github:before {
547 | content: '\f092';
548 | }
549 | .fa-stumbleupon:before {
550 | content: '\f1a4';
551 | }
552 | .fa-fedex:before {
553 | content: '\f797';
554 | }
555 | .fa-phoenix-framework:before {
556 | content: '\f3dc';
557 | }
558 | .fa-shopify:before {
559 | content: '\e057';
560 | }
561 | .fa-neos:before {
562 | content: '\f612';
563 | }
564 | .fa-hackerrank:before {
565 | content: '\f5f7';
566 | }
567 | .fa-researchgate:before {
568 | content: '\f4f8';
569 | }
570 | .fa-swift:before {
571 | content: '\f8e1';
572 | }
573 | .fa-angular:before {
574 | content: '\f420';
575 | }
576 | .fa-speakap:before {
577 | content: '\f3f3';
578 | }
579 | .fa-angrycreative:before {
580 | content: '\f36e';
581 | }
582 | .fa-y-combinator:before {
583 | content: '\f23b';
584 | }
585 | .fa-empire:before {
586 | content: '\f1d1';
587 | }
588 | .fa-envira:before {
589 | content: '\f299';
590 | }
591 | .fa-gitlab-square:before,
592 | .fa-square-gitlab:before {
593 | content: '\e5ae';
594 | }
595 | .fa-studiovinari:before {
596 | content: '\f3f8';
597 | }
598 | .fa-pied-piper:before {
599 | content: '\f2ae';
600 | }
601 | .fa-wordpress:before {
602 | content: '\f19a';
603 | }
604 | .fa-product-hunt:before {
605 | content: '\f288';
606 | }
607 | .fa-firefox:before {
608 | content: '\f269';
609 | }
610 | .fa-linode:before {
611 | content: '\f2b8';
612 | }
613 | .fa-goodreads:before {
614 | content: '\f3a8';
615 | }
616 | .fa-odnoklassniki-square:before,
617 | .fa-square-odnoklassniki:before {
618 | content: '\f264';
619 | }
620 | .fa-jsfiddle:before {
621 | content: '\f1cc';
622 | }
623 | .fa-sith:before {
624 | content: '\f512';
625 | }
626 | .fa-themeisle:before {
627 | content: '\f2b2';
628 | }
629 | .fa-page4:before {
630 | content: '\f3d7';
631 | }
632 | .fa-hashnode:before {
633 | content: '\e499';
634 | }
635 | .fa-react:before {
636 | content: '\f41b';
637 | }
638 | .fa-cc-paypal:before {
639 | content: '\f1f4';
640 | }
641 | .fa-squarespace:before {
642 | content: '\f5be';
643 | }
644 | .fa-cc-stripe:before {
645 | content: '\f1f5';
646 | }
647 | .fa-creative-commons-share:before {
648 | content: '\f4f2';
649 | }
650 | .fa-bitcoin:before {
651 | content: '\f379';
652 | }
653 | .fa-keycdn:before {
654 | content: '\f3ba';
655 | }
656 | .fa-opera:before {
657 | content: '\f26a';
658 | }
659 | .fa-itch-io:before {
660 | content: '\f83a';
661 | }
662 | .fa-umbraco:before {
663 | content: '\f8e8';
664 | }
665 | .fa-galactic-senate:before {
666 | content: '\f50d';
667 | }
668 | .fa-ubuntu:before {
669 | content: '\f7df';
670 | }
671 | .fa-draft2digital:before {
672 | content: '\f396';
673 | }
674 | .fa-stripe:before {
675 | content: '\f429';
676 | }
677 | .fa-houzz:before {
678 | content: '\f27c';
679 | }
680 | .fa-gg:before {
681 | content: '\f260';
682 | }
683 | .fa-dhl:before {
684 | content: '\f790';
685 | }
686 | .fa-pinterest-square:before,
687 | .fa-square-pinterest:before {
688 | content: '\f0d3';
689 | }
690 | .fa-xing:before {
691 | content: '\f168';
692 | }
693 | .fa-blackberry:before {
694 | content: '\f37b';
695 | }
696 | .fa-creative-commons-pd:before {
697 | content: '\f4ec';
698 | }
699 | .fa-playstation:before {
700 | content: '\f3df';
701 | }
702 | .fa-quinscape:before {
703 | content: '\f459';
704 | }
705 | .fa-less:before {
706 | content: '\f41d';
707 | }
708 | .fa-blogger-b:before {
709 | content: '\f37d';
710 | }
711 | .fa-opencart:before {
712 | content: '\f23d';
713 | }
714 | .fa-vine:before {
715 | content: '\f1ca';
716 | }
717 | .fa-paypal:before {
718 | content: '\f1ed';
719 | }
720 | .fa-gitlab:before {
721 | content: '\f296';
722 | }
723 | .fa-typo3:before {
724 | content: '\f42b';
725 | }
726 | .fa-reddit-alien:before {
727 | content: '\f281';
728 | }
729 | .fa-yahoo:before {
730 | content: '\f19e';
731 | }
732 | .fa-dailymotion:before {
733 | content: '\e052';
734 | }
735 | .fa-affiliatetheme:before {
736 | content: '\f36b';
737 | }
738 | .fa-pied-piper-pp:before {
739 | content: '\f1a7';
740 | }
741 | .fa-bootstrap:before {
742 | content: '\f836';
743 | }
744 | .fa-odnoklassniki:before {
745 | content: '\f263';
746 | }
747 | .fa-nfc-symbol:before {
748 | content: '\e531';
749 | }
750 | .fa-ethereum:before {
751 | content: '\f42e';
752 | }
753 | .fa-speaker-deck:before {
754 | content: '\f83c';
755 | }
756 | .fa-creative-commons-nc-eu:before {
757 | content: '\f4e9';
758 | }
759 | .fa-patreon:before {
760 | content: '\f3d9';
761 | }
762 | .fa-avianex:before {
763 | content: '\f374';
764 | }
765 | .fa-ello:before {
766 | content: '\f5f1';
767 | }
768 | .fa-gofore:before {
769 | content: '\f3a7';
770 | }
771 | .fa-bimobject:before {
772 | content: '\f378';
773 | }
774 | .fa-facebook-f:before {
775 | content: '\f39e';
776 | }
777 | .fa-google-plus-square:before,
778 | .fa-square-google-plus:before {
779 | content: '\f0d4';
780 | }
781 | .fa-mandalorian:before {
782 | content: '\f50f';
783 | }
784 | .fa-first-order-alt:before {
785 | content: '\f50a';
786 | }
787 | .fa-osi:before {
788 | content: '\f41a';
789 | }
790 | .fa-google-wallet:before {
791 | content: '\f1ee';
792 | }
793 | .fa-d-and-d-beyond:before {
794 | content: '\f6ca';
795 | }
796 | .fa-periscope:before {
797 | content: '\f3da';
798 | }
799 | .fa-fulcrum:before {
800 | content: '\f50b';
801 | }
802 | .fa-cloudscale:before {
803 | content: '\f383';
804 | }
805 | .fa-forumbee:before {
806 | content: '\f211';
807 | }
808 | .fa-mizuni:before {
809 | content: '\f3cc';
810 | }
811 | .fa-schlix:before {
812 | content: '\f3ea';
813 | }
814 | .fa-square-xing:before,
815 | .fa-xing-square:before {
816 | content: '\f169';
817 | }
818 | .fa-bandcamp:before {
819 | content: '\f2d5';
820 | }
821 | .fa-wpforms:before {
822 | content: '\f298';
823 | }
824 | .fa-cloudversify:before {
825 | content: '\f385';
826 | }
827 | .fa-usps:before {
828 | content: '\f7e1';
829 | }
830 | .fa-megaport:before {
831 | content: '\f5a3';
832 | }
833 | .fa-magento:before {
834 | content: '\f3c4';
835 | }
836 | .fa-spotify:before {
837 | content: '\f1bc';
838 | }
839 | .fa-optin-monster:before {
840 | content: '\f23c';
841 | }
842 | .fa-fly:before {
843 | content: '\f417';
844 | }
845 | .fa-aviato:before {
846 | content: '\f421';
847 | }
848 | .fa-itunes:before {
849 | content: '\f3b4';
850 | }
851 | .fa-cuttlefish:before {
852 | content: '\f38c';
853 | }
854 | .fa-blogger:before {
855 | content: '\f37c';
856 | }
857 | .fa-flickr:before {
858 | content: '\f16e';
859 | }
860 | .fa-viber:before {
861 | content: '\f409';
862 | }
863 | .fa-soundcloud:before {
864 | content: '\f1be';
865 | }
866 | .fa-digg:before {
867 | content: '\f1a6';
868 | }
869 | .fa-tencent-weibo:before {
870 | content: '\f1d5';
871 | }
872 | .fa-symfony:before {
873 | content: '\f83d';
874 | }
875 | .fa-maxcdn:before {
876 | content: '\f136';
877 | }
878 | .fa-etsy:before {
879 | content: '\f2d7';
880 | }
881 | .fa-facebook-messenger:before {
882 | content: '\f39f';
883 | }
884 | .fa-audible:before {
885 | content: '\f373';
886 | }
887 | .fa-think-peaks:before {
888 | content: '\f731';
889 | }
890 | .fa-bilibili:before {
891 | content: '\e3d9';
892 | }
893 | .fa-erlang:before {
894 | content: '\f39d';
895 | }
896 | .fa-cotton-bureau:before {
897 | content: '\f89e';
898 | }
899 | .fa-dashcube:before {
900 | content: '\f210';
901 | }
902 | .fa-42-group:before,
903 | .fa-innosoft:before {
904 | content: '\e080';
905 | }
906 | .fa-stack-exchange:before {
907 | content: '\f18d';
908 | }
909 | .fa-elementor:before {
910 | content: '\f430';
911 | }
912 | .fa-pied-piper-square:before,
913 | .fa-square-pied-piper:before {
914 | content: '\e01e';
915 | }
916 | .fa-creative-commons-nd:before {
917 | content: '\f4eb';
918 | }
919 | .fa-palfed:before {
920 | content: '\f3d8';
921 | }
922 | .fa-superpowers:before {
923 | content: '\f2dd';
924 | }
925 | .fa-resolving:before {
926 | content: '\f3e7';
927 | }
928 | .fa-xbox:before {
929 | content: '\f412';
930 | }
931 | .fa-searchengin:before {
932 | content: '\f3eb';
933 | }
934 | .fa-tiktok:before {
935 | content: '\e07b';
936 | }
937 | .fa-facebook-square:before,
938 | .fa-square-facebook:before {
939 | content: '\f082';
940 | }
941 | .fa-renren:before {
942 | content: '\f18b';
943 | }
944 | .fa-linux:before {
945 | content: '\f17c';
946 | }
947 | .fa-glide:before {
948 | content: '\f2a5';
949 | }
950 | .fa-linkedin:before {
951 | content: '\f08c';
952 | }
953 | .fa-hubspot:before {
954 | content: '\f3b2';
955 | }
956 | .fa-deploydog:before {
957 | content: '\f38e';
958 | }
959 | .fa-twitch:before {
960 | content: '\f1e8';
961 | }
962 | .fa-ravelry:before {
963 | content: '\f2d9';
964 | }
965 | .fa-mixer:before {
966 | content: '\e056';
967 | }
968 | .fa-lastfm-square:before,
969 | .fa-square-lastfm:before {
970 | content: '\f203';
971 | }
972 | .fa-vimeo:before {
973 | content: '\f40a';
974 | }
975 | .fa-mendeley:before {
976 | content: '\f7b3';
977 | }
978 | .fa-uniregistry:before {
979 | content: '\f404';
980 | }
981 | .fa-figma:before {
982 | content: '\f799';
983 | }
984 | .fa-creative-commons-remix:before {
985 | content: '\f4ee';
986 | }
987 | .fa-cc-amazon-pay:before {
988 | content: '\f42d';
989 | }
990 | .fa-dropbox:before {
991 | content: '\f16b';
992 | }
993 | .fa-instagram:before {
994 | content: '\f16d';
995 | }
996 | .fa-cmplid:before {
997 | content: '\e360';
998 | }
999 | .fa-facebook:before {
1000 | content: '\f09a';
1001 | }
1002 | .fa-gripfire:before {
1003 | content: '\f3ac';
1004 | }
1005 | .fa-jedi-order:before {
1006 | content: '\f50e';
1007 | }
1008 | .fa-uikit:before {
1009 | content: '\f403';
1010 | }
1011 | .fa-fort-awesome-alt:before {
1012 | content: '\f3a3';
1013 | }
1014 | .fa-phabricator:before {
1015 | content: '\f3db';
1016 | }
1017 | .fa-ussunnah:before {
1018 | content: '\f407';
1019 | }
1020 | .fa-earlybirds:before {
1021 | content: '\f39a';
1022 | }
1023 | .fa-trade-federation:before {
1024 | content: '\f513';
1025 | }
1026 | .fa-autoprefixer:before {
1027 | content: '\f41c';
1028 | }
1029 | .fa-whatsapp:before {
1030 | content: '\f232';
1031 | }
1032 | .fa-slideshare:before {
1033 | content: '\f1e7';
1034 | }
1035 | .fa-google-play:before {
1036 | content: '\f3ab';
1037 | }
1038 | .fa-viadeo:before {
1039 | content: '\f2a9';
1040 | }
1041 | .fa-line:before {
1042 | content: '\f3c0';
1043 | }
1044 | .fa-google-drive:before {
1045 | content: '\f3aa';
1046 | }
1047 | .fa-servicestack:before {
1048 | content: '\f3ec';
1049 | }
1050 | .fa-simplybuilt:before {
1051 | content: '\f215';
1052 | }
1053 | .fa-bitbucket:before {
1054 | content: '\f171';
1055 | }
1056 | .fa-imdb:before {
1057 | content: '\f2d8';
1058 | }
1059 | .fa-deezer:before {
1060 | content: '\e077';
1061 | }
1062 | .fa-raspberry-pi:before {
1063 | content: '\f7bb';
1064 | }
1065 | .fa-jira:before {
1066 | content: '\f7b1';
1067 | }
1068 | .fa-docker:before {
1069 | content: '\f395';
1070 | }
1071 | .fa-screenpal:before {
1072 | content: '\e570';
1073 | }
1074 | .fa-bluetooth:before {
1075 | content: '\f293';
1076 | }
1077 | .fa-gitter:before {
1078 | content: '\f426';
1079 | }
1080 | .fa-d-and-d:before {
1081 | content: '\f38d';
1082 | }
1083 | .fa-microblog:before {
1084 | content: '\e01a';
1085 | }
1086 | .fa-cc-diners-club:before {
1087 | content: '\f24c';
1088 | }
1089 | .fa-gg-circle:before {
1090 | content: '\f261';
1091 | }
1092 | .fa-pied-piper-hat:before {
1093 | content: '\f4e5';
1094 | }
1095 | .fa-kickstarter-k:before {
1096 | content: '\f3bc';
1097 | }
1098 | .fa-yandex:before {
1099 | content: '\f413';
1100 | }
1101 | .fa-readme:before {
1102 | content: '\f4d5';
1103 | }
1104 | .fa-html5:before {
1105 | content: '\f13b';
1106 | }
1107 | .fa-sellsy:before {
1108 | content: '\f213';
1109 | }
1110 | .fa-sass:before {
1111 | content: '\f41e';
1112 | }
1113 | .fa-wirsindhandwerk:before,
1114 | .fa-wsh:before {
1115 | content: '\e2d0';
1116 | }
1117 | .fa-buromobelexperte:before {
1118 | content: '\f37f';
1119 | }
1120 | .fa-salesforce:before {
1121 | content: '\f83b';
1122 | }
1123 | .fa-octopus-deploy:before {
1124 | content: '\e082';
1125 | }
1126 | .fa-medapps:before {
1127 | content: '\f3c6';
1128 | }
1129 | .fa-ns8:before {
1130 | content: '\f3d5';
1131 | }
1132 | .fa-pinterest-p:before {
1133 | content: '\f231';
1134 | }
1135 | .fa-apper:before {
1136 | content: '\f371';
1137 | }
1138 | .fa-fort-awesome:before {
1139 | content: '\f286';
1140 | }
1141 | .fa-waze:before {
1142 | content: '\f83f';
1143 | }
1144 | .fa-cc-jcb:before {
1145 | content: '\f24b';
1146 | }
1147 | .fa-snapchat-ghost:before,
1148 | .fa-snapchat:before {
1149 | content: '\f2ab';
1150 | }
1151 | .fa-fantasy-flight-games:before {
1152 | content: '\f6dc';
1153 | }
1154 | .fa-rust:before {
1155 | content: '\e07a';
1156 | }
1157 | .fa-wix:before {
1158 | content: '\f5cf';
1159 | }
1160 | .fa-behance-square:before,
1161 | .fa-square-behance:before {
1162 | content: '\f1b5';
1163 | }
1164 | .fa-supple:before {
1165 | content: '\f3f9';
1166 | }
1167 | .fa-rebel:before {
1168 | content: '\f1d0';
1169 | }
1170 | .fa-css3:before {
1171 | content: '\f13c';
1172 | }
1173 | .fa-staylinked:before {
1174 | content: '\f3f5';
1175 | }
1176 | .fa-kaggle:before {
1177 | content: '\f5fa';
1178 | }
1179 | .fa-space-awesome:before {
1180 | content: '\e5ac';
1181 | }
1182 | .fa-deviantart:before {
1183 | content: '\f1bd';
1184 | }
1185 | .fa-cpanel:before {
1186 | content: '\f388';
1187 | }
1188 | .fa-goodreads-g:before {
1189 | content: '\f3a9';
1190 | }
1191 | .fa-git-square:before,
1192 | .fa-square-git:before {
1193 | content: '\f1d2';
1194 | }
1195 | .fa-square-tumblr:before,
1196 | .fa-tumblr-square:before {
1197 | content: '\f174';
1198 | }
1199 | .fa-trello:before {
1200 | content: '\f181';
1201 | }
1202 | .fa-creative-commons-nc-jp:before {
1203 | content: '\f4ea';
1204 | }
1205 | .fa-get-pocket:before {
1206 | content: '\f265';
1207 | }
1208 | .fa-perbyte:before {
1209 | content: '\e083';
1210 | }
1211 | .fa-grunt:before {
1212 | content: '\f3ad';
1213 | }
1214 | .fa-weebly:before {
1215 | content: '\f5cc';
1216 | }
1217 | .fa-connectdevelop:before {
1218 | content: '\f20e';
1219 | }
1220 | .fa-leanpub:before {
1221 | content: '\f212';
1222 | }
1223 | .fa-black-tie:before {
1224 | content: '\f27e';
1225 | }
1226 | .fa-themeco:before {
1227 | content: '\f5c6';
1228 | }
1229 | .fa-python:before {
1230 | content: '\f3e2';
1231 | }
1232 | .fa-android:before {
1233 | content: '\f17b';
1234 | }
1235 | .fa-bots:before {
1236 | content: '\e340';
1237 | }
1238 | .fa-free-code-camp:before {
1239 | content: '\f2c5';
1240 | }
1241 | .fa-hornbill:before {
1242 | content: '\f592';
1243 | }
1244 | .fa-js:before {
1245 | content: '\f3b8';
1246 | }
1247 | .fa-ideal:before {
1248 | content: '\e013';
1249 | }
1250 | .fa-git:before {
1251 | content: '\f1d3';
1252 | }
1253 | .fa-dev:before {
1254 | content: '\f6cc';
1255 | }
1256 | .fa-sketch:before {
1257 | content: '\f7c6';
1258 | }
1259 | .fa-yandex-international:before {
1260 | content: '\f414';
1261 | }
1262 | .fa-cc-amex:before {
1263 | content: '\f1f3';
1264 | }
1265 | .fa-uber:before {
1266 | content: '\f402';
1267 | }
1268 | .fa-github:before {
1269 | content: '\f09b';
1270 | }
1271 | .fa-php:before {
1272 | content: '\f457';
1273 | }
1274 | .fa-alipay:before {
1275 | content: '\f642';
1276 | }
1277 | .fa-youtube:before {
1278 | content: '\f167';
1279 | }
1280 | .fa-skyatlas:before {
1281 | content: '\f216';
1282 | }
1283 | .fa-firefox-browser:before {
1284 | content: '\e007';
1285 | }
1286 | .fa-replyd:before {
1287 | content: '\f3e6';
1288 | }
1289 | .fa-suse:before {
1290 | content: '\f7d6';
1291 | }
1292 | .fa-jenkins:before {
1293 | content: '\f3b6';
1294 | }
1295 | .fa-twitter:before {
1296 | content: '\f099';
1297 | }
1298 | .fa-rockrms:before {
1299 | content: '\f3e9';
1300 | }
1301 | .fa-pinterest:before {
1302 | content: '\f0d2';
1303 | }
1304 | .fa-buffer:before {
1305 | content: '\f837';
1306 | }
1307 | .fa-npm:before {
1308 | content: '\f3d4';
1309 | }
1310 | .fa-yammer:before {
1311 | content: '\f840';
1312 | }
1313 | .fa-btc:before {
1314 | content: '\f15a';
1315 | }
1316 | .fa-dribbble:before {
1317 | content: '\f17d';
1318 | }
1319 | .fa-stumbleupon-circle:before {
1320 | content: '\f1a3';
1321 | }
1322 | .fa-internet-explorer:before {
1323 | content: '\f26b';
1324 | }
1325 | .fa-telegram-plane:before,
1326 | .fa-telegram:before {
1327 | content: '\f2c6';
1328 | }
1329 | .fa-old-republic:before {
1330 | content: '\f510';
1331 | }
1332 | .fa-square-whatsapp:before,
1333 | .fa-whatsapp-square:before {
1334 | content: '\f40c';
1335 | }
1336 | .fa-node-js:before {
1337 | content: '\f3d3';
1338 | }
1339 | .fa-edge-legacy:before {
1340 | content: '\e078';
1341 | }
1342 | .fa-slack-hash:before,
1343 | .fa-slack:before {
1344 | content: '\f198';
1345 | }
1346 | .fa-medrt:before {
1347 | content: '\f3c8';
1348 | }
1349 | .fa-usb:before {
1350 | content: '\f287';
1351 | }
1352 | .fa-tumblr:before {
1353 | content: '\f173';
1354 | }
1355 | .fa-vaadin:before {
1356 | content: '\f408';
1357 | }
1358 | .fa-quora:before {
1359 | content: '\f2c4';
1360 | }
1361 | .fa-reacteurope:before {
1362 | content: '\f75d';
1363 | }
1364 | .fa-medium-m:before,
1365 | .fa-medium:before {
1366 | content: '\f23a';
1367 | }
1368 | .fa-amilia:before {
1369 | content: '\f36d';
1370 | }
1371 | .fa-mixcloud:before {
1372 | content: '\f289';
1373 | }
1374 | .fa-flipboard:before {
1375 | content: '\f44d';
1376 | }
1377 | .fa-viacoin:before {
1378 | content: '\f237';
1379 | }
1380 | .fa-critical-role:before {
1381 | content: '\f6c9';
1382 | }
1383 | .fa-sitrox:before {
1384 | content: '\e44a';
1385 | }
1386 | .fa-discourse:before {
1387 | content: '\f393';
1388 | }
1389 | .fa-joomla:before {
1390 | content: '\f1aa';
1391 | }
1392 | .fa-mastodon:before {
1393 | content: '\f4f6';
1394 | }
1395 | .fa-airbnb:before {
1396 | content: '\f834';
1397 | }
1398 | .fa-wolf-pack-battalion:before {
1399 | content: '\f514';
1400 | }
1401 | .fa-buy-n-large:before {
1402 | content: '\f8a6';
1403 | }
1404 | .fa-gulp:before {
1405 | content: '\f3ae';
1406 | }
1407 | .fa-creative-commons-sampling-plus:before {
1408 | content: '\f4f1';
1409 | }
1410 | .fa-strava:before {
1411 | content: '\f428';
1412 | }
1413 | .fa-ember:before {
1414 | content: '\f423';
1415 | }
1416 | .fa-canadian-maple-leaf:before {
1417 | content: '\f785';
1418 | }
1419 | .fa-teamspeak:before {
1420 | content: '\f4f9';
1421 | }
1422 | .fa-pushed:before {
1423 | content: '\f3e1';
1424 | }
1425 | .fa-wordpress-simple:before {
1426 | content: '\f411';
1427 | }
1428 | .fa-nutritionix:before {
1429 | content: '\f3d6';
1430 | }
1431 | .fa-wodu:before {
1432 | content: '\e088';
1433 | }
1434 | .fa-google-pay:before {
1435 | content: '\e079';
1436 | }
1437 | .fa-intercom:before {
1438 | content: '\f7af';
1439 | }
1440 | .fa-zhihu:before {
1441 | content: '\f63f';
1442 | }
1443 | .fa-korvue:before {
1444 | content: '\f42f';
1445 | }
1446 | .fa-pix:before {
1447 | content: '\e43a';
1448 | }
1449 | .fa-steam-symbol:before {
1450 | content: '\f3f6';
1451 | }
1452 |
--------------------------------------------------------------------------------
/src/assets/css/regular.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com
3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
4 | * Copyright 2022 Fonticons, Inc.
5 | */
6 | :root,
7 | :host {
8 | --fa-style-family-classic: 'Font Awesome 6 Free';
9 | --fa-font-regular: normal 400 1em/1 'Font Awesome 6 Free';
10 | }
11 |
12 | @font-face {
13 | font-family: 'Font Awesome 6 Free';
14 | font-style: normal;
15 | font-weight: 400;
16 | font-display: block;
17 | src: url('../webfonts/fa-regular-400.woff2') format('woff2'),
18 | url('../webfonts/fa-regular-400.ttf') format('truetype');
19 | }
20 |
21 | .far,
22 | .fa-regular {
23 | font-weight: 400;
24 | }
25 |
--------------------------------------------------------------------------------
/src/assets/css/regular.min.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com
3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
4 | * Copyright 2022 Fonticons, Inc.
5 | */
6 | :host,
7 | :root {
8 | --fa-style-family-classic: 'Font Awesome 6 Free';
9 | --fa-font-regular: normal 400 1em/1 'Font Awesome 6 Free';
10 | }
11 | @font-face {
12 | font-family: 'Font Awesome 6 Free';
13 | font-style: normal;
14 | font-weight: 400;
15 | font-display: block;
16 | src: url(../webfonts/fa-regular-400.woff2) format('woff2'),
17 | url(../webfonts/fa-regular-400.ttf) format('truetype');
18 | }
19 | .fa-regular,
20 | .far {
21 | font-weight: 400;
22 | }
23 |
--------------------------------------------------------------------------------
/src/assets/css/solid.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com
3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
4 | * Copyright 2022 Fonticons, Inc.
5 | */
6 | :root,
7 | :host {
8 | --fa-style-family-classic: 'Font Awesome 6 Free';
9 | --fa-font-solid: normal 900 1em/1 'Font Awesome 6 Free';
10 | }
11 |
12 | @font-face {
13 | font-family: 'Font Awesome 6 Free';
14 | font-style: normal;
15 | font-weight: 900;
16 | font-display: block;
17 | src: url('../webfonts/fa-solid-900.woff2') format('woff2'),
18 | url('../webfonts/fa-solid-900.ttf') format('truetype');
19 | }
20 |
21 | .fas,
22 | .fa-solid {
23 | font-weight: 900;
24 | }
25 |
--------------------------------------------------------------------------------
/src/assets/css/solid.min.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com
3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
4 | * Copyright 2022 Fonticons, Inc.
5 | */
6 | :host,
7 | :root {
8 | --fa-style-family-classic: 'Font Awesome 6 Free';
9 | --fa-font-solid: normal 900 1em/1 'Font Awesome 6 Free';
10 | }
11 | @font-face {
12 | font-family: 'Font Awesome 6 Free';
13 | font-style: normal;
14 | font-weight: 900;
15 | font-display: block;
16 | src: url(../webfonts/fa-solid-900.woff2) format('woff2'),
17 | url(../webfonts/fa-solid-900.ttf) format('truetype');
18 | }
19 | .fa-solid,
20 | .fas {
21 | font-weight: 900;
22 | }
23 |
--------------------------------------------------------------------------------
/src/assets/css/svg-with-js.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com
3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
4 | * Copyright 2022 Fonticons, Inc.
5 | */
6 | :root,
7 | :host {
8 | --fa-font-solid: normal 900 1em/1 'Font Awesome 6 Solid';
9 | --fa-font-regular: normal 400 1em/1 'Font Awesome 6 Regular';
10 | --fa-font-light: normal 300 1em/1 'Font Awesome 6 Light';
11 | --fa-font-thin: normal 100 1em/1 'Font Awesome 6 Thin';
12 | --fa-font-duotone: normal 900 1em/1 'Font Awesome 6 Duotone';
13 | --fa-font-sharp-solid: normal 900 1em/1 'Font Awesome 6 Sharp';
14 | --fa-font-brands: normal 400 1em/1 'Font Awesome 6 Brands';
15 | }
16 |
17 | svg:not(:root).svg-inline--fa,
18 | svg:not(:host).svg-inline--fa {
19 | overflow: visible;
20 | box-sizing: content-box;
21 | }
22 |
23 | .svg-inline--fa {
24 | display: var(--fa-display, inline-block);
25 | height: 1em;
26 | overflow: visible;
27 | vertical-align: -0.125em;
28 | }
29 | .svg-inline--fa.fa-2xs {
30 | vertical-align: 0.1em;
31 | }
32 | .svg-inline--fa.fa-xs {
33 | vertical-align: 0em;
34 | }
35 | .svg-inline--fa.fa-sm {
36 | vertical-align: -0.07143em;
37 | }
38 | .svg-inline--fa.fa-lg {
39 | vertical-align: -0.2em;
40 | }
41 | .svg-inline--fa.fa-xl {
42 | vertical-align: -0.25em;
43 | }
44 | .svg-inline--fa.fa-2xl {
45 | vertical-align: -0.3125em;
46 | }
47 | .svg-inline--fa.fa-pull-left {
48 | margin-right: var(--fa-pull-margin, 0.3em);
49 | width: auto;
50 | }
51 | .svg-inline--fa.fa-pull-right {
52 | margin-left: var(--fa-pull-margin, 0.3em);
53 | width: auto;
54 | }
55 | .svg-inline--fa.fa-li {
56 | width: var(--fa-li-width, 2em);
57 | top: 0.25em;
58 | }
59 | .svg-inline--fa.fa-fw {
60 | width: var(--fa-fw-width, 1.25em);
61 | }
62 |
63 | .fa-layers svg.svg-inline--fa {
64 | bottom: 0;
65 | left: 0;
66 | margin: auto;
67 | position: absolute;
68 | right: 0;
69 | top: 0;
70 | }
71 |
72 | .fa-layers-text,
73 | .fa-layers-counter {
74 | display: inline-block;
75 | position: absolute;
76 | text-align: center;
77 | }
78 |
79 | .fa-layers {
80 | display: inline-block;
81 | height: 1em;
82 | position: relative;
83 | text-align: center;
84 | vertical-align: -0.125em;
85 | width: 1em;
86 | }
87 | .fa-layers svg.svg-inline--fa {
88 | -webkit-transform-origin: center center;
89 | transform-origin: center center;
90 | }
91 |
92 | .fa-layers-text {
93 | left: 50%;
94 | top: 50%;
95 | -webkit-transform: translate(-50%, -50%);
96 | transform: translate(-50%, -50%);
97 | -webkit-transform-origin: center center;
98 | transform-origin: center center;
99 | }
100 |
101 | .fa-layers-counter {
102 | background-color: var(--fa-counter-background-color, #ff253a);
103 | border-radius: var(--fa-counter-border-radius, 1em);
104 | box-sizing: border-box;
105 | color: var(--fa-inverse, #fff);
106 | line-height: var(--fa-counter-line-height, 1);
107 | max-width: var(--fa-counter-max-width, 5em);
108 | min-width: var(--fa-counter-min-width, 1.5em);
109 | overflow: hidden;
110 | padding: var(--fa-counter-padding, 0.25em 0.5em);
111 | right: var(--fa-right, 0);
112 | text-overflow: ellipsis;
113 | top: var(--fa-top, 0);
114 | -webkit-transform: scale(var(--fa-counter-scale, 0.25));
115 | transform: scale(var(--fa-counter-scale, 0.25));
116 | -webkit-transform-origin: top right;
117 | transform-origin: top right;
118 | }
119 |
120 | .fa-layers-bottom-right {
121 | bottom: var(--fa-bottom, 0);
122 | right: var(--fa-right, 0);
123 | top: auto;
124 | -webkit-transform: scale(var(--fa-layers-scale, 0.25));
125 | transform: scale(var(--fa-layers-scale, 0.25));
126 | -webkit-transform-origin: bottom right;
127 | transform-origin: bottom right;
128 | }
129 |
130 | .fa-layers-bottom-left {
131 | bottom: var(--fa-bottom, 0);
132 | left: var(--fa-left, 0);
133 | right: auto;
134 | top: auto;
135 | -webkit-transform: scale(var(--fa-layers-scale, 0.25));
136 | transform: scale(var(--fa-layers-scale, 0.25));
137 | -webkit-transform-origin: bottom left;
138 | transform-origin: bottom left;
139 | }
140 |
141 | .fa-layers-top-right {
142 | top: var(--fa-top, 0);
143 | right: var(--fa-right, 0);
144 | -webkit-transform: scale(var(--fa-layers-scale, 0.25));
145 | transform: scale(var(--fa-layers-scale, 0.25));
146 | -webkit-transform-origin: top right;
147 | transform-origin: top right;
148 | }
149 |
150 | .fa-layers-top-left {
151 | left: var(--fa-left, 0);
152 | right: auto;
153 | top: var(--fa-top, 0);
154 | -webkit-transform: scale(var(--fa-layers-scale, 0.25));
155 | transform: scale(var(--fa-layers-scale, 0.25));
156 | -webkit-transform-origin: top left;
157 | transform-origin: top left;
158 | }
159 |
160 | .fa-1x {
161 | font-size: 1em;
162 | }
163 |
164 | .fa-2x {
165 | font-size: 2em;
166 | }
167 |
168 | .fa-3x {
169 | font-size: 3em;
170 | }
171 |
172 | .fa-4x {
173 | font-size: 4em;
174 | }
175 |
176 | .fa-5x {
177 | font-size: 5em;
178 | }
179 |
180 | .fa-6x {
181 | font-size: 6em;
182 | }
183 |
184 | .fa-7x {
185 | font-size: 7em;
186 | }
187 |
188 | .fa-8x {
189 | font-size: 8em;
190 | }
191 |
192 | .fa-9x {
193 | font-size: 9em;
194 | }
195 |
196 | .fa-10x {
197 | font-size: 10em;
198 | }
199 |
200 | .fa-2xs {
201 | font-size: 0.625em;
202 | line-height: 0.1em;
203 | vertical-align: 0.225em;
204 | }
205 |
206 | .fa-xs {
207 | font-size: 0.75em;
208 | line-height: 0.08333em;
209 | vertical-align: 0.125em;
210 | }
211 |
212 | .fa-sm {
213 | font-size: 0.875em;
214 | line-height: 0.07143em;
215 | vertical-align: 0.05357em;
216 | }
217 |
218 | .fa-lg {
219 | font-size: 1.25em;
220 | line-height: 0.05em;
221 | vertical-align: -0.075em;
222 | }
223 |
224 | .fa-xl {
225 | font-size: 1.5em;
226 | line-height: 0.04167em;
227 | vertical-align: -0.125em;
228 | }
229 |
230 | .fa-2xl {
231 | font-size: 2em;
232 | line-height: 0.03125em;
233 | vertical-align: -0.1875em;
234 | }
235 |
236 | .fa-fw {
237 | text-align: center;
238 | width: 1.25em;
239 | }
240 |
241 | .fa-ul {
242 | list-style-type: none;
243 | margin-left: var(--fa-li-margin, 2.5em);
244 | padding-left: 0;
245 | }
246 | .fa-ul > li {
247 | position: relative;
248 | }
249 |
250 | .fa-li {
251 | left: calc(var(--fa-li-width, 2em) * -1);
252 | position: absolute;
253 | text-align: center;
254 | width: var(--fa-li-width, 2em);
255 | line-height: inherit;
256 | }
257 |
258 | .fa-border {
259 | border-color: var(--fa-border-color, #eee);
260 | border-radius: var(--fa-border-radius, 0.1em);
261 | border-style: var(--fa-border-style, solid);
262 | border-width: var(--fa-border-width, 0.08em);
263 | padding: var(--fa-border-padding, 0.2em 0.25em 0.15em);
264 | }
265 |
266 | .fa-pull-left {
267 | float: left;
268 | margin-right: var(--fa-pull-margin, 0.3em);
269 | }
270 |
271 | .fa-pull-right {
272 | float: right;
273 | margin-left: var(--fa-pull-margin, 0.3em);
274 | }
275 |
276 | .fa-beat {
277 | -webkit-animation-name: fa-beat;
278 | animation-name: fa-beat;
279 | -webkit-animation-delay: var(--fa-animation-delay, 0s);
280 | animation-delay: var(--fa-animation-delay, 0s);
281 | -webkit-animation-direction: var(--fa-animation-direction, normal);
282 | animation-direction: var(--fa-animation-direction, normal);
283 | -webkit-animation-duration: var(--fa-animation-duration, 1s);
284 | animation-duration: var(--fa-animation-duration, 1s);
285 | -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
286 | animation-iteration-count: var(--fa-animation-iteration-count, infinite);
287 | -webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out);
288 | animation-timing-function: var(--fa-animation-timing, ease-in-out);
289 | }
290 |
291 | .fa-bounce {
292 | -webkit-animation-name: fa-bounce;
293 | animation-name: fa-bounce;
294 | -webkit-animation-delay: var(--fa-animation-delay, 0s);
295 | animation-delay: var(--fa-animation-delay, 0s);
296 | -webkit-animation-direction: var(--fa-animation-direction, normal);
297 | animation-direction: var(--fa-animation-direction, normal);
298 | -webkit-animation-duration: var(--fa-animation-duration, 1s);
299 | animation-duration: var(--fa-animation-duration, 1s);
300 | -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
301 | animation-iteration-count: var(--fa-animation-iteration-count, infinite);
302 | -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));
303 | animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));
304 | }
305 |
306 | .fa-fade {
307 | -webkit-animation-name: fa-fade;
308 | animation-name: fa-fade;
309 | -webkit-animation-delay: var(--fa-animation-delay, 0s);
310 | animation-delay: var(--fa-animation-delay, 0s);
311 | -webkit-animation-direction: var(--fa-animation-direction, normal);
312 | animation-direction: var(--fa-animation-direction, normal);
313 | -webkit-animation-duration: var(--fa-animation-duration, 1s);
314 | animation-duration: var(--fa-animation-duration, 1s);
315 | -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
316 | animation-iteration-count: var(--fa-animation-iteration-count, infinite);
317 | -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
318 | animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
319 | }
320 |
321 | .fa-beat-fade {
322 | -webkit-animation-name: fa-beat-fade;
323 | animation-name: fa-beat-fade;
324 | -webkit-animation-delay: var(--fa-animation-delay, 0s);
325 | animation-delay: var(--fa-animation-delay, 0s);
326 | -webkit-animation-direction: var(--fa-animation-direction, normal);
327 | animation-direction: var(--fa-animation-direction, normal);
328 | -webkit-animation-duration: var(--fa-animation-duration, 1s);
329 | animation-duration: var(--fa-animation-duration, 1s);
330 | -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
331 | animation-iteration-count: var(--fa-animation-iteration-count, infinite);
332 | -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
333 | animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
334 | }
335 |
336 | .fa-flip {
337 | -webkit-animation-name: fa-flip;
338 | animation-name: fa-flip;
339 | -webkit-animation-delay: var(--fa-animation-delay, 0s);
340 | animation-delay: var(--fa-animation-delay, 0s);
341 | -webkit-animation-direction: var(--fa-animation-direction, normal);
342 | animation-direction: var(--fa-animation-direction, normal);
343 | -webkit-animation-duration: var(--fa-animation-duration, 1s);
344 | animation-duration: var(--fa-animation-duration, 1s);
345 | -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
346 | animation-iteration-count: var(--fa-animation-iteration-count, infinite);
347 | -webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out);
348 | animation-timing-function: var(--fa-animation-timing, ease-in-out);
349 | }
350 |
351 | .fa-shake {
352 | -webkit-animation-name: fa-shake;
353 | animation-name: fa-shake;
354 | -webkit-animation-delay: var(--fa-animation-delay, 0s);
355 | animation-delay: var(--fa-animation-delay, 0s);
356 | -webkit-animation-direction: var(--fa-animation-direction, normal);
357 | animation-direction: var(--fa-animation-direction, normal);
358 | -webkit-animation-duration: var(--fa-animation-duration, 1s);
359 | animation-duration: var(--fa-animation-duration, 1s);
360 | -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
361 | animation-iteration-count: var(--fa-animation-iteration-count, infinite);
362 | -webkit-animation-timing-function: var(--fa-animation-timing, linear);
363 | animation-timing-function: var(--fa-animation-timing, linear);
364 | }
365 |
366 | .fa-spin {
367 | -webkit-animation-name: fa-spin;
368 | animation-name: fa-spin;
369 | -webkit-animation-delay: var(--fa-animation-delay, 0s);
370 | animation-delay: var(--fa-animation-delay, 0s);
371 | -webkit-animation-direction: var(--fa-animation-direction, normal);
372 | animation-direction: var(--fa-animation-direction, normal);
373 | -webkit-animation-duration: var(--fa-animation-duration, 2s);
374 | animation-duration: var(--fa-animation-duration, 2s);
375 | -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
376 | animation-iteration-count: var(--fa-animation-iteration-count, infinite);
377 | -webkit-animation-timing-function: var(--fa-animation-timing, linear);
378 | animation-timing-function: var(--fa-animation-timing, linear);
379 | }
380 |
381 | .fa-spin-reverse {
382 | --fa-animation-direction: reverse;
383 | }
384 |
385 | .fa-pulse,
386 | .fa-spin-pulse {
387 | -webkit-animation-name: fa-spin;
388 | animation-name: fa-spin;
389 | -webkit-animation-direction: var(--fa-animation-direction, normal);
390 | animation-direction: var(--fa-animation-direction, normal);
391 | -webkit-animation-duration: var(--fa-animation-duration, 1s);
392 | animation-duration: var(--fa-animation-duration, 1s);
393 | -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
394 | animation-iteration-count: var(--fa-animation-iteration-count, infinite);
395 | -webkit-animation-timing-function: var(--fa-animation-timing, steps(8));
396 | animation-timing-function: var(--fa-animation-timing, steps(8));
397 | }
398 |
399 | @media (prefers-reduced-motion: reduce) {
400 | .fa-beat,
401 | .fa-bounce,
402 | .fa-fade,
403 | .fa-beat-fade,
404 | .fa-flip,
405 | .fa-pulse,
406 | .fa-shake,
407 | .fa-spin,
408 | .fa-spin-pulse {
409 | -webkit-animation-delay: -1ms;
410 | animation-delay: -1ms;
411 | -webkit-animation-duration: 1ms;
412 | animation-duration: 1ms;
413 | -webkit-animation-iteration-count: 1;
414 | animation-iteration-count: 1;
415 | transition-delay: 0s;
416 | transition-duration: 0s;
417 | }
418 | }
419 |
420 | @-webkit-keyframes fa-beat {
421 | 0%,
422 | 90% {
423 | -webkit-transform: scale(1);
424 | transform: scale(1);
425 | }
426 | 45% {
427 | -webkit-transform: scale(var(--fa-beat-scale, 1.25));
428 | transform: scale(var(--fa-beat-scale, 1.25));
429 | }
430 | }
431 |
432 | @keyframes fa-beat {
433 | 0%,
434 | 90% {
435 | -webkit-transform: scale(1);
436 | transform: scale(1);
437 | }
438 | 45% {
439 | -webkit-transform: scale(var(--fa-beat-scale, 1.25));
440 | transform: scale(var(--fa-beat-scale, 1.25));
441 | }
442 | }
443 |
444 | @-webkit-keyframes fa-bounce {
445 | 0% {
446 | -webkit-transform: scale(1, 1) translateY(0);
447 | transform: scale(1, 1) translateY(0);
448 | }
449 | 10% {
450 | -webkit-transform: scale(
451 | var(--fa-bounce-start-scale-x, 1.1),
452 | var(--fa-bounce-start-scale-y, 0.9)
453 | )
454 | translateY(0);
455 | transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9))
456 | translateY(0);
457 | }
458 | 30% {
459 | -webkit-transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1))
460 | translateY(var(--fa-bounce-height, -0.5em));
461 | transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1))
462 | translateY(var(--fa-bounce-height, -0.5em));
463 | }
464 | 50% {
465 | -webkit-transform: scale(
466 | var(--fa-bounce-land-scale-x, 1.05),
467 | var(--fa-bounce-land-scale-y, 0.95)
468 | )
469 | translateY(0);
470 | transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95))
471 | translateY(0);
472 | }
473 | 57% {
474 | -webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));
475 | transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));
476 | }
477 | 64% {
478 | -webkit-transform: scale(1, 1) translateY(0);
479 | transform: scale(1, 1) translateY(0);
480 | }
481 | 100% {
482 | -webkit-transform: scale(1, 1) translateY(0);
483 | transform: scale(1, 1) translateY(0);
484 | }
485 | }
486 |
487 | @keyframes fa-bounce {
488 | 0% {
489 | -webkit-transform: scale(1, 1) translateY(0);
490 | transform: scale(1, 1) translateY(0);
491 | }
492 | 10% {
493 | -webkit-transform: scale(
494 | var(--fa-bounce-start-scale-x, 1.1),
495 | var(--fa-bounce-start-scale-y, 0.9)
496 | )
497 | translateY(0);
498 | transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9))
499 | translateY(0);
500 | }
501 | 30% {
502 | -webkit-transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1))
503 | translateY(var(--fa-bounce-height, -0.5em));
504 | transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1))
505 | translateY(var(--fa-bounce-height, -0.5em));
506 | }
507 | 50% {
508 | -webkit-transform: scale(
509 | var(--fa-bounce-land-scale-x, 1.05),
510 | var(--fa-bounce-land-scale-y, 0.95)
511 | )
512 | translateY(0);
513 | transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95))
514 | translateY(0);
515 | }
516 | 57% {
517 | -webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));
518 | transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em));
519 | }
520 | 64% {
521 | -webkit-transform: scale(1, 1) translateY(0);
522 | transform: scale(1, 1) translateY(0);
523 | }
524 | 100% {
525 | -webkit-transform: scale(1, 1) translateY(0);
526 | transform: scale(1, 1) translateY(0);
527 | }
528 | }
529 |
530 | @-webkit-keyframes fa-fade {
531 | 50% {
532 | opacity: var(--fa-fade-opacity, 0.4);
533 | }
534 | }
535 |
536 | @keyframes fa-fade {
537 | 50% {
538 | opacity: var(--fa-fade-opacity, 0.4);
539 | }
540 | }
541 |
542 | @-webkit-keyframes fa-beat-fade {
543 | 0%,
544 | 100% {
545 | opacity: var(--fa-beat-fade-opacity, 0.4);
546 | -webkit-transform: scale(1);
547 | transform: scale(1);
548 | }
549 | 50% {
550 | opacity: 1;
551 | -webkit-transform: scale(var(--fa-beat-fade-scale, 1.125));
552 | transform: scale(var(--fa-beat-fade-scale, 1.125));
553 | }
554 | }
555 |
556 | @keyframes fa-beat-fade {
557 | 0%,
558 | 100% {
559 | opacity: var(--fa-beat-fade-opacity, 0.4);
560 | -webkit-transform: scale(1);
561 | transform: scale(1);
562 | }
563 | 50% {
564 | opacity: 1;
565 | -webkit-transform: scale(var(--fa-beat-fade-scale, 1.125));
566 | transform: scale(var(--fa-beat-fade-scale, 1.125));
567 | }
568 | }
569 |
570 | @-webkit-keyframes fa-flip {
571 | 50% {
572 | -webkit-transform: rotate3d(
573 | var(--fa-flip-x, 0),
574 | var(--fa-flip-y, 1),
575 | var(--fa-flip-z, 0),
576 | var(--fa-flip-angle, -180deg)
577 | );
578 | transform: rotate3d(
579 | var(--fa-flip-x, 0),
580 | var(--fa-flip-y, 1),
581 | var(--fa-flip-z, 0),
582 | var(--fa-flip-angle, -180deg)
583 | );
584 | }
585 | }
586 |
587 | @keyframes fa-flip {
588 | 50% {
589 | -webkit-transform: rotate3d(
590 | var(--fa-flip-x, 0),
591 | var(--fa-flip-y, 1),
592 | var(--fa-flip-z, 0),
593 | var(--fa-flip-angle, -180deg)
594 | );
595 | transform: rotate3d(
596 | var(--fa-flip-x, 0),
597 | var(--fa-flip-y, 1),
598 | var(--fa-flip-z, 0),
599 | var(--fa-flip-angle, -180deg)
600 | );
601 | }
602 | }
603 |
604 | @-webkit-keyframes fa-shake {
605 | 0% {
606 | -webkit-transform: rotate(-15deg);
607 | transform: rotate(-15deg);
608 | }
609 | 4% {
610 | -webkit-transform: rotate(15deg);
611 | transform: rotate(15deg);
612 | }
613 | 8%,
614 | 24% {
615 | -webkit-transform: rotate(-18deg);
616 | transform: rotate(-18deg);
617 | }
618 | 12%,
619 | 28% {
620 | -webkit-transform: rotate(18deg);
621 | transform: rotate(18deg);
622 | }
623 | 16% {
624 | -webkit-transform: rotate(-22deg);
625 | transform: rotate(-22deg);
626 | }
627 | 20% {
628 | -webkit-transform: rotate(22deg);
629 | transform: rotate(22deg);
630 | }
631 | 32% {
632 | -webkit-transform: rotate(-12deg);
633 | transform: rotate(-12deg);
634 | }
635 | 36% {
636 | -webkit-transform: rotate(12deg);
637 | transform: rotate(12deg);
638 | }
639 | 40%,
640 | 100% {
641 | -webkit-transform: rotate(0deg);
642 | transform: rotate(0deg);
643 | }
644 | }
645 |
646 | @keyframes fa-shake {
647 | 0% {
648 | -webkit-transform: rotate(-15deg);
649 | transform: rotate(-15deg);
650 | }
651 | 4% {
652 | -webkit-transform: rotate(15deg);
653 | transform: rotate(15deg);
654 | }
655 | 8%,
656 | 24% {
657 | -webkit-transform: rotate(-18deg);
658 | transform: rotate(-18deg);
659 | }
660 | 12%,
661 | 28% {
662 | -webkit-transform: rotate(18deg);
663 | transform: rotate(18deg);
664 | }
665 | 16% {
666 | -webkit-transform: rotate(-22deg);
667 | transform: rotate(-22deg);
668 | }
669 | 20% {
670 | -webkit-transform: rotate(22deg);
671 | transform: rotate(22deg);
672 | }
673 | 32% {
674 | -webkit-transform: rotate(-12deg);
675 | transform: rotate(-12deg);
676 | }
677 | 36% {
678 | -webkit-transform: rotate(12deg);
679 | transform: rotate(12deg);
680 | }
681 | 40%,
682 | 100% {
683 | -webkit-transform: rotate(0deg);
684 | transform: rotate(0deg);
685 | }
686 | }
687 |
688 | @-webkit-keyframes fa-spin {
689 | 0% {
690 | -webkit-transform: rotate(0deg);
691 | transform: rotate(0deg);
692 | }
693 | 100% {
694 | -webkit-transform: rotate(360deg);
695 | transform: rotate(360deg);
696 | }
697 | }
698 |
699 | @keyframes fa-spin {
700 | 0% {
701 | -webkit-transform: rotate(0deg);
702 | transform: rotate(0deg);
703 | }
704 | 100% {
705 | -webkit-transform: rotate(360deg);
706 | transform: rotate(360deg);
707 | }
708 | }
709 |
710 | .fa-rotate-90 {
711 | -webkit-transform: rotate(90deg);
712 | transform: rotate(90deg);
713 | }
714 |
715 | .fa-rotate-180 {
716 | -webkit-transform: rotate(180deg);
717 | transform: rotate(180deg);
718 | }
719 |
720 | .fa-rotate-270 {
721 | -webkit-transform: rotate(270deg);
722 | transform: rotate(270deg);
723 | }
724 |
725 | .fa-flip-horizontal {
726 | -webkit-transform: scale(-1, 1);
727 | transform: scale(-1, 1);
728 | }
729 |
730 | .fa-flip-vertical {
731 | -webkit-transform: scale(1, -1);
732 | transform: scale(1, -1);
733 | }
734 |
735 | .fa-flip-both,
736 | .fa-flip-horizontal.fa-flip-vertical {
737 | -webkit-transform: scale(-1, -1);
738 | transform: scale(-1, -1);
739 | }
740 |
741 | .fa-rotate-by {
742 | -webkit-transform: rotate(var(--fa-rotate-angle, none));
743 | transform: rotate(var(--fa-rotate-angle, none));
744 | }
745 |
746 | .fa-stack {
747 | display: inline-block;
748 | vertical-align: middle;
749 | height: 2em;
750 | position: relative;
751 | width: 2.5em;
752 | }
753 |
754 | .fa-stack-1x,
755 | .fa-stack-2x {
756 | bottom: 0;
757 | left: 0;
758 | margin: auto;
759 | position: absolute;
760 | right: 0;
761 | top: 0;
762 | z-index: var(--fa-stack-z-index, auto);
763 | }
764 |
765 | .svg-inline--fa.fa-stack-1x {
766 | height: 1em;
767 | width: 1.25em;
768 | }
769 |
770 | .svg-inline--fa.fa-stack-2x {
771 | height: 2em;
772 | width: 2.5em;
773 | }
774 |
775 | .fa-inverse {
776 | color: var(--fa-inverse, #fff);
777 | }
778 |
779 | .sr-only,
780 | .fa-sr-only {
781 | position: absolute;
782 | width: 1px;
783 | height: 1px;
784 | padding: 0;
785 | margin: -1px;
786 | overflow: hidden;
787 | clip: rect(0, 0, 0, 0);
788 | white-space: nowrap;
789 | border-width: 0;
790 | }
791 |
792 | .sr-only-focusable:not(:focus),
793 | .fa-sr-only-focusable:not(:focus) {
794 | position: absolute;
795 | width: 1px;
796 | height: 1px;
797 | padding: 0;
798 | margin: -1px;
799 | overflow: hidden;
800 | clip: rect(0, 0, 0, 0);
801 | white-space: nowrap;
802 | border-width: 0;
803 | }
804 |
805 | .svg-inline--fa .fa-primary {
806 | fill: var(--fa-primary-color, currentColor);
807 | opacity: var(--fa-primary-opacity, 1);
808 | }
809 |
810 | .svg-inline--fa .fa-secondary {
811 | fill: var(--fa-secondary-color, currentColor);
812 | opacity: var(--fa-secondary-opacity, 0.4);
813 | }
814 |
815 | .svg-inline--fa.fa-swap-opacity .fa-primary {
816 | opacity: var(--fa-secondary-opacity, 0.4);
817 | }
818 |
819 | .svg-inline--fa.fa-swap-opacity .fa-secondary {
820 | opacity: var(--fa-primary-opacity, 1);
821 | }
822 |
823 | .svg-inline--fa mask .fa-primary,
824 | .svg-inline--fa mask .fa-secondary {
825 | fill: black;
826 | }
827 |
828 | .fad.fa-inverse,
829 | .fa-duotone.fa-inverse {
830 | color: var(--fa-inverse, #fff);
831 | }
832 |
--------------------------------------------------------------------------------
/src/assets/css/svg-with-js.min.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com
3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
4 | * Copyright 2022 Fonticons, Inc.
5 | */
6 | :host,
7 | :root {
8 | --fa-font-solid: normal 900 1em/1 'Font Awesome 6 Solid';
9 | --fa-font-regular: normal 400 1em/1 'Font Awesome 6 Regular';
10 | --fa-font-light: normal 300 1em/1 'Font Awesome 6 Light';
11 | --fa-font-thin: normal 100 1em/1 'Font Awesome 6 Thin';
12 | --fa-font-duotone: normal 900 1em/1 'Font Awesome 6 Duotone';
13 | --fa-font-sharp-solid: normal 900 1em/1 'Font Awesome 6 Sharp';
14 | --fa-font-brands: normal 400 1em/1 'Font Awesome 6 Brands';
15 | }
16 | svg:not(:host).svg-inline--fa,
17 | svg:not(:root).svg-inline--fa {
18 | overflow: visible;
19 | box-sizing: content-box;
20 | }
21 | .svg-inline--fa {
22 | display: var(--fa-display, inline-block);
23 | height: 1em;
24 | overflow: visible;
25 | vertical-align: -0.125em;
26 | }
27 | .svg-inline--fa.fa-2xs {
28 | vertical-align: 0.1em;
29 | }
30 | .svg-inline--fa.fa-xs {
31 | vertical-align: 0;
32 | }
33 | .svg-inline--fa.fa-sm {
34 | vertical-align: -0.07143em;
35 | }
36 | .svg-inline--fa.fa-lg {
37 | vertical-align: -0.2em;
38 | }
39 | .svg-inline--fa.fa-xl {
40 | vertical-align: -0.25em;
41 | }
42 | .svg-inline--fa.fa-2xl {
43 | vertical-align: -0.3125em;
44 | }
45 | .svg-inline--fa.fa-pull-left {
46 | margin-right: var(--fa-pull-margin, 0.3em);
47 | width: auto;
48 | }
49 | .svg-inline--fa.fa-pull-right {
50 | margin-left: var(--fa-pull-margin, 0.3em);
51 | width: auto;
52 | }
53 | .svg-inline--fa.fa-li {
54 | width: var(--fa-li-width, 2em);
55 | top: 0.25em;
56 | }
57 | .svg-inline--fa.fa-fw {
58 | width: var(--fa-fw-width, 1.25em);
59 | }
60 | .fa-layers svg.svg-inline--fa {
61 | bottom: 0;
62 | left: 0;
63 | margin: auto;
64 | position: absolute;
65 | right: 0;
66 | top: 0;
67 | }
68 | .fa-layers-counter,
69 | .fa-layers-text {
70 | display: inline-block;
71 | position: absolute;
72 | text-align: center;
73 | }
74 | .fa-layers {
75 | display: inline-block;
76 | height: 1em;
77 | position: relative;
78 | text-align: center;
79 | vertical-align: -0.125em;
80 | width: 1em;
81 | }
82 | .fa-layers svg.svg-inline--fa {
83 | -webkit-transform-origin: center center;
84 | transform-origin: center center;
85 | }
86 | .fa-layers-text {
87 | left: 50%;
88 | top: 50%;
89 | -webkit-transform: translate(-50%, -50%);
90 | transform: translate(-50%, -50%);
91 | -webkit-transform-origin: center center;
92 | transform-origin: center center;
93 | }
94 | .fa-layers-counter {
95 | background-color: var(--fa-counter-background-color, #ff253a);
96 | border-radius: var(--fa-counter-border-radius, 1em);
97 | box-sizing: border-box;
98 | color: var(--fa-inverse, #fff);
99 | line-height: var(--fa-counter-line-height, 1);
100 | max-width: var(--fa-counter-max-width, 5em);
101 | min-width: var(--fa-counter-min-width, 1.5em);
102 | overflow: hidden;
103 | padding: var(--fa-counter-padding, 0.25em 0.5em);
104 | right: var(--fa-right, 0);
105 | text-overflow: ellipsis;
106 | top: var(--fa-top, 0);
107 | -webkit-transform: scale(var(--fa-counter-scale, 0.25));
108 | transform: scale(var(--fa-counter-scale, 0.25));
109 | -webkit-transform-origin: top right;
110 | transform-origin: top right;
111 | }
112 | .fa-layers-bottom-right {
113 | bottom: var(--fa-bottom, 0);
114 | right: var(--fa-right, 0);
115 | top: auto;
116 | -webkit-transform: scale(var(--fa-layers-scale, 0.25));
117 | transform: scale(var(--fa-layers-scale, 0.25));
118 | -webkit-transform-origin: bottom right;
119 | transform-origin: bottom right;
120 | }
121 | .fa-layers-bottom-left {
122 | bottom: var(--fa-bottom, 0);
123 | left: var(--fa-left, 0);
124 | right: auto;
125 | top: auto;
126 | -webkit-transform: scale(var(--fa-layers-scale, 0.25));
127 | transform: scale(var(--fa-layers-scale, 0.25));
128 | -webkit-transform-origin: bottom left;
129 | transform-origin: bottom left;
130 | }
131 | .fa-layers-top-right {
132 | top: var(--fa-top, 0);
133 | right: var(--fa-right, 0);
134 | -webkit-transform: scale(var(--fa-layers-scale, 0.25));
135 | transform: scale(var(--fa-layers-scale, 0.25));
136 | -webkit-transform-origin: top right;
137 | transform-origin: top right;
138 | }
139 | .fa-layers-top-left {
140 | left: var(--fa-left, 0);
141 | right: auto;
142 | top: var(--fa-top, 0);
143 | -webkit-transform: scale(var(--fa-layers-scale, 0.25));
144 | transform: scale(var(--fa-layers-scale, 0.25));
145 | -webkit-transform-origin: top left;
146 | transform-origin: top left;
147 | }
148 | .fa-1x {
149 | font-size: 1em;
150 | }
151 | .fa-2x {
152 | font-size: 2em;
153 | }
154 | .fa-3x {
155 | font-size: 3em;
156 | }
157 | .fa-4x {
158 | font-size: 4em;
159 | }
160 | .fa-5x {
161 | font-size: 5em;
162 | }
163 | .fa-6x {
164 | font-size: 6em;
165 | }
166 | .fa-7x {
167 | font-size: 7em;
168 | }
169 | .fa-8x {
170 | font-size: 8em;
171 | }
172 | .fa-9x {
173 | font-size: 9em;
174 | }
175 | .fa-10x {
176 | font-size: 10em;
177 | }
178 | .fa-2xs {
179 | font-size: 0.625em;
180 | line-height: 0.1em;
181 | vertical-align: 0.225em;
182 | }
183 | .fa-xs {
184 | font-size: 0.75em;
185 | line-height: 0.08333em;
186 | vertical-align: 0.125em;
187 | }
188 | .fa-sm {
189 | font-size: 0.875em;
190 | line-height: 0.07143em;
191 | vertical-align: 0.05357em;
192 | }
193 | .fa-lg {
194 | font-size: 1.25em;
195 | line-height: 0.05em;
196 | vertical-align: -0.075em;
197 | }
198 | .fa-xl {
199 | font-size: 1.5em;
200 | line-height: 0.04167em;
201 | vertical-align: -0.125em;
202 | }
203 | .fa-2xl {
204 | font-size: 2em;
205 | line-height: 0.03125em;
206 | vertical-align: -0.1875em;
207 | }
208 | .fa-fw {
209 | text-align: center;
210 | width: 1.25em;
211 | }
212 | .fa-ul {
213 | list-style-type: none;
214 | margin-left: var(--fa-li-margin, 2.5em);
215 | padding-left: 0;
216 | }
217 | .fa-ul > li {
218 | position: relative;
219 | }
220 | .fa-li {
221 | left: calc(var(--fa-li-width, 2em) * -1);
222 | position: absolute;
223 | text-align: center;
224 | width: var(--fa-li-width, 2em);
225 | line-height: inherit;
226 | }
227 | .fa-border {
228 | border-radius: var(--fa-border-radius, 0.1em);
229 | border: var(--fa-border-width, 0.08em) var(--fa-border-style, solid) var(--fa-border-color, #eee);
230 | padding: var(--fa-border-padding, 0.2em 0.25em 0.15em);
231 | }
232 | .fa-pull-left {
233 | float: left;
234 | margin-right: var(--fa-pull-margin, 0.3em);
235 | }
236 | .fa-pull-right {
237 | float: right;
238 | margin-left: var(--fa-pull-margin, 0.3em);
239 | }
240 | .fa-beat {
241 | -webkit-animation-name: fa-beat;
242 | animation-name: fa-beat;
243 | -webkit-animation-delay: var(--fa-animation-delay, 0s);
244 | animation-delay: var(--fa-animation-delay, 0s);
245 | -webkit-animation-direction: var(--fa-animation-direction, normal);
246 | animation-direction: var(--fa-animation-direction, normal);
247 | -webkit-animation-duration: var(--fa-animation-duration, 1s);
248 | animation-duration: var(--fa-animation-duration, 1s);
249 | -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
250 | animation-iteration-count: var(--fa-animation-iteration-count, infinite);
251 | -webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out);
252 | animation-timing-function: var(--fa-animation-timing, ease-in-out);
253 | }
254 | .fa-bounce {
255 | -webkit-animation-name: fa-bounce;
256 | animation-name: fa-bounce;
257 | -webkit-animation-delay: var(--fa-animation-delay, 0s);
258 | animation-delay: var(--fa-animation-delay, 0s);
259 | -webkit-animation-direction: var(--fa-animation-direction, normal);
260 | animation-direction: var(--fa-animation-direction, normal);
261 | -webkit-animation-duration: var(--fa-animation-duration, 1s);
262 | animation-duration: var(--fa-animation-duration, 1s);
263 | -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
264 | animation-iteration-count: var(--fa-animation-iteration-count, infinite);
265 | -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));
266 | animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1));
267 | }
268 | .fa-fade {
269 | -webkit-animation-name: fa-fade;
270 | animation-name: fa-fade;
271 | -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
272 | animation-iteration-count: var(--fa-animation-iteration-count, infinite);
273 | -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
274 | animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
275 | }
276 | .fa-beat-fade,
277 | .fa-fade {
278 | -webkit-animation-delay: var(--fa-animation-delay, 0s);
279 | animation-delay: var(--fa-animation-delay, 0s);
280 | -webkit-animation-direction: var(--fa-animation-direction, normal);
281 | animation-direction: var(--fa-animation-direction, normal);
282 | -webkit-animation-duration: var(--fa-animation-duration, 1s);
283 | animation-duration: var(--fa-animation-duration, 1s);
284 | }
285 | .fa-beat-fade {
286 | -webkit-animation-name: fa-beat-fade;
287 | animation-name: fa-beat-fade;
288 | -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
289 | animation-iteration-count: var(--fa-animation-iteration-count, infinite);
290 | -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
291 | animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1));
292 | }
293 | .fa-flip {
294 | -webkit-animation-name: fa-flip;
295 | animation-name: fa-flip;
296 | -webkit-animation-delay: var(--fa-animation-delay, 0s);
297 | animation-delay: var(--fa-animation-delay, 0s);
298 | -webkit-animation-direction: var(--fa-animation-direction, normal);
299 | animation-direction: var(--fa-animation-direction, normal);
300 | -webkit-animation-duration: var(--fa-animation-duration, 1s);
301 | animation-duration: var(--fa-animation-duration, 1s);
302 | -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
303 | animation-iteration-count: var(--fa-animation-iteration-count, infinite);
304 | -webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out);
305 | animation-timing-function: var(--fa-animation-timing, ease-in-out);
306 | }
307 | .fa-shake {
308 | -webkit-animation-name: fa-shake;
309 | animation-name: fa-shake;
310 | -webkit-animation-duration: var(--fa-animation-duration, 1s);
311 | animation-duration: var(--fa-animation-duration, 1s);
312 | -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
313 | animation-iteration-count: var(--fa-animation-iteration-count, infinite);
314 | -webkit-animation-timing-function: var(--fa-animation-timing, linear);
315 | animation-timing-function: var(--fa-animation-timing, linear);
316 | }
317 | .fa-shake,
318 | .fa-spin {
319 | -webkit-animation-delay: var(--fa-animation-delay, 0s);
320 | animation-delay: var(--fa-animation-delay, 0s);
321 | -webkit-animation-direction: var(--fa-animation-direction, normal);
322 | animation-direction: var(--fa-animation-direction, normal);
323 | }
324 | .fa-spin {
325 | -webkit-animation-name: fa-spin;
326 | animation-name: fa-spin;
327 | -webkit-animation-duration: var(--fa-animation-duration, 2s);
328 | animation-duration: var(--fa-animation-duration, 2s);
329 | -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
330 | animation-iteration-count: var(--fa-animation-iteration-count, infinite);
331 | -webkit-animation-timing-function: var(--fa-animation-timing, linear);
332 | animation-timing-function: var(--fa-animation-timing, linear);
333 | }
334 | .fa-spin-reverse {
335 | --fa-animation-direction: reverse;
336 | }
337 | .fa-pulse,
338 | .fa-spin-pulse {
339 | -webkit-animation-name: fa-spin;
340 | animation-name: fa-spin;
341 | -webkit-animation-direction: var(--fa-animation-direction, normal);
342 | animation-direction: var(--fa-animation-direction, normal);
343 | -webkit-animation-duration: var(--fa-animation-duration, 1s);
344 | animation-duration: var(--fa-animation-duration, 1s);
345 | -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite);
346 | animation-iteration-count: var(--fa-animation-iteration-count, infinite);
347 | -webkit-animation-timing-function: var(--fa-animation-timing, steps(8));
348 | animation-timing-function: var(--fa-animation-timing, steps(8));
349 | }
350 | @media (prefers-reduced-motion: reduce) {
351 | .fa-beat,
352 | .fa-beat-fade,
353 | .fa-bounce,
354 | .fa-fade,
355 | .fa-flip,
356 | .fa-pulse,
357 | .fa-shake,
358 | .fa-spin,
359 | .fa-spin-pulse {
360 | -webkit-animation-delay: -1ms;
361 | animation-delay: -1ms;
362 | -webkit-animation-duration: 1ms;
363 | animation-duration: 1ms;
364 | -webkit-animation-iteration-count: 1;
365 | animation-iteration-count: 1;
366 | transition-delay: 0s;
367 | transition-duration: 0s;
368 | }
369 | }
370 | @-webkit-keyframes fa-beat {
371 | 0%,
372 | 90% {
373 | -webkit-transform: scale(1);
374 | transform: scale(1);
375 | }
376 | 45% {
377 | -webkit-transform: scale(var(--fa-beat-scale, 1.25));
378 | transform: scale(var(--fa-beat-scale, 1.25));
379 | }
380 | }
381 | @keyframes fa-beat {
382 | 0%,
383 | 90% {
384 | -webkit-transform: scale(1);
385 | transform: scale(1);
386 | }
387 | 45% {
388 | -webkit-transform: scale(var(--fa-beat-scale, 1.25));
389 | transform: scale(var(--fa-beat-scale, 1.25));
390 | }
391 | }
392 | @-webkit-keyframes fa-bounce {
393 | 0% {
394 | -webkit-transform: scale(1) translateY(0);
395 | transform: scale(1) translateY(0);
396 | }
397 | 10% {
398 | -webkit-transform: scale(
399 | var(--fa-bounce-start-scale-x, 1.1),
400 | var(--fa-bounce-start-scale-y, 0.9)
401 | )
402 | translateY(0);
403 | transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9))
404 | translateY(0);
405 | }
406 | 30% {
407 | -webkit-transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1))
408 | translateY(var(--fa-bounce-height, -0.5em));
409 | transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1))
410 | translateY(var(--fa-bounce-height, -0.5em));
411 | }
412 | 50% {
413 | -webkit-transform: scale(
414 | var(--fa-bounce-land-scale-x, 1.05),
415 | var(--fa-bounce-land-scale-y, 0.95)
416 | )
417 | translateY(0);
418 | transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95))
419 | translateY(0);
420 | }
421 | 57% {
422 | -webkit-transform: scale(1) translateY(var(--fa-bounce-rebound, -0.125em));
423 | transform: scale(1) translateY(var(--fa-bounce-rebound, -0.125em));
424 | }
425 | 64% {
426 | -webkit-transform: scale(1) translateY(0);
427 | transform: scale(1) translateY(0);
428 | }
429 | to {
430 | -webkit-transform: scale(1) translateY(0);
431 | transform: scale(1) translateY(0);
432 | }
433 | }
434 | @keyframes fa-bounce {
435 | 0% {
436 | -webkit-transform: scale(1) translateY(0);
437 | transform: scale(1) translateY(0);
438 | }
439 | 10% {
440 | -webkit-transform: scale(
441 | var(--fa-bounce-start-scale-x, 1.1),
442 | var(--fa-bounce-start-scale-y, 0.9)
443 | )
444 | translateY(0);
445 | transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9))
446 | translateY(0);
447 | }
448 | 30% {
449 | -webkit-transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1))
450 | translateY(var(--fa-bounce-height, -0.5em));
451 | transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1))
452 | translateY(var(--fa-bounce-height, -0.5em));
453 | }
454 | 50% {
455 | -webkit-transform: scale(
456 | var(--fa-bounce-land-scale-x, 1.05),
457 | var(--fa-bounce-land-scale-y, 0.95)
458 | )
459 | translateY(0);
460 | transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95))
461 | translateY(0);
462 | }
463 | 57% {
464 | -webkit-transform: scale(1) translateY(var(--fa-bounce-rebound, -0.125em));
465 | transform: scale(1) translateY(var(--fa-bounce-rebound, -0.125em));
466 | }
467 | 64% {
468 | -webkit-transform: scale(1) translateY(0);
469 | transform: scale(1) translateY(0);
470 | }
471 | to {
472 | -webkit-transform: scale(1) translateY(0);
473 | transform: scale(1) translateY(0);
474 | }
475 | }
476 | @-webkit-keyframes fa-fade {
477 | 50% {
478 | opacity: var(--fa-fade-opacity, 0.4);
479 | }
480 | }
481 | @keyframes fa-fade {
482 | 50% {
483 | opacity: var(--fa-fade-opacity, 0.4);
484 | }
485 | }
486 | @-webkit-keyframes fa-beat-fade {
487 | 0%,
488 | to {
489 | opacity: var(--fa-beat-fade-opacity, 0.4);
490 | -webkit-transform: scale(1);
491 | transform: scale(1);
492 | }
493 | 50% {
494 | opacity: 1;
495 | -webkit-transform: scale(var(--fa-beat-fade-scale, 1.125));
496 | transform: scale(var(--fa-beat-fade-scale, 1.125));
497 | }
498 | }
499 | @keyframes fa-beat-fade {
500 | 0%,
501 | to {
502 | opacity: var(--fa-beat-fade-opacity, 0.4);
503 | -webkit-transform: scale(1);
504 | transform: scale(1);
505 | }
506 | 50% {
507 | opacity: 1;
508 | -webkit-transform: scale(var(--fa-beat-fade-scale, 1.125));
509 | transform: scale(var(--fa-beat-fade-scale, 1.125));
510 | }
511 | }
512 | @-webkit-keyframes fa-flip {
513 | 50% {
514 | -webkit-transform: rotate3d(
515 | var(--fa-flip-x, 0),
516 | var(--fa-flip-y, 1),
517 | var(--fa-flip-z, 0),
518 | var(--fa-flip-angle, -180deg)
519 | );
520 | transform: rotate3d(
521 | var(--fa-flip-x, 0),
522 | var(--fa-flip-y, 1),
523 | var(--fa-flip-z, 0),
524 | var(--fa-flip-angle, -180deg)
525 | );
526 | }
527 | }
528 | @keyframes fa-flip {
529 | 50% {
530 | -webkit-transform: rotate3d(
531 | var(--fa-flip-x, 0),
532 | var(--fa-flip-y, 1),
533 | var(--fa-flip-z, 0),
534 | var(--fa-flip-angle, -180deg)
535 | );
536 | transform: rotate3d(
537 | var(--fa-flip-x, 0),
538 | var(--fa-flip-y, 1),
539 | var(--fa-flip-z, 0),
540 | var(--fa-flip-angle, -180deg)
541 | );
542 | }
543 | }
544 | @-webkit-keyframes fa-shake {
545 | 0% {
546 | -webkit-transform: rotate(-15deg);
547 | transform: rotate(-15deg);
548 | }
549 | 4% {
550 | -webkit-transform: rotate(15deg);
551 | transform: rotate(15deg);
552 | }
553 | 8%,
554 | 24% {
555 | -webkit-transform: rotate(-18deg);
556 | transform: rotate(-18deg);
557 | }
558 | 12%,
559 | 28% {
560 | -webkit-transform: rotate(18deg);
561 | transform: rotate(18deg);
562 | }
563 | 16% {
564 | -webkit-transform: rotate(-22deg);
565 | transform: rotate(-22deg);
566 | }
567 | 20% {
568 | -webkit-transform: rotate(22deg);
569 | transform: rotate(22deg);
570 | }
571 | 32% {
572 | -webkit-transform: rotate(-12deg);
573 | transform: rotate(-12deg);
574 | }
575 | 36% {
576 | -webkit-transform: rotate(12deg);
577 | transform: rotate(12deg);
578 | }
579 | 40%,
580 | to {
581 | -webkit-transform: rotate(0deg);
582 | transform: rotate(0deg);
583 | }
584 | }
585 | @keyframes fa-shake {
586 | 0% {
587 | -webkit-transform: rotate(-15deg);
588 | transform: rotate(-15deg);
589 | }
590 | 4% {
591 | -webkit-transform: rotate(15deg);
592 | transform: rotate(15deg);
593 | }
594 | 8%,
595 | 24% {
596 | -webkit-transform: rotate(-18deg);
597 | transform: rotate(-18deg);
598 | }
599 | 12%,
600 | 28% {
601 | -webkit-transform: rotate(18deg);
602 | transform: rotate(18deg);
603 | }
604 | 16% {
605 | -webkit-transform: rotate(-22deg);
606 | transform: rotate(-22deg);
607 | }
608 | 20% {
609 | -webkit-transform: rotate(22deg);
610 | transform: rotate(22deg);
611 | }
612 | 32% {
613 | -webkit-transform: rotate(-12deg);
614 | transform: rotate(-12deg);
615 | }
616 | 36% {
617 | -webkit-transform: rotate(12deg);
618 | transform: rotate(12deg);
619 | }
620 | 40%,
621 | to {
622 | -webkit-transform: rotate(0deg);
623 | transform: rotate(0deg);
624 | }
625 | }
626 | @-webkit-keyframes fa-spin {
627 | 0% {
628 | -webkit-transform: rotate(0deg);
629 | transform: rotate(0deg);
630 | }
631 | to {
632 | -webkit-transform: rotate(1turn);
633 | transform: rotate(1turn);
634 | }
635 | }
636 | @keyframes fa-spin {
637 | 0% {
638 | -webkit-transform: rotate(0deg);
639 | transform: rotate(0deg);
640 | }
641 | to {
642 | -webkit-transform: rotate(1turn);
643 | transform: rotate(1turn);
644 | }
645 | }
646 | .fa-rotate-90 {
647 | -webkit-transform: rotate(90deg);
648 | transform: rotate(90deg);
649 | }
650 | .fa-rotate-180 {
651 | -webkit-transform: rotate(180deg);
652 | transform: rotate(180deg);
653 | }
654 | .fa-rotate-270 {
655 | -webkit-transform: rotate(270deg);
656 | transform: rotate(270deg);
657 | }
658 | .fa-flip-horizontal {
659 | -webkit-transform: scaleX(-1);
660 | transform: scaleX(-1);
661 | }
662 | .fa-flip-vertical {
663 | -webkit-transform: scaleY(-1);
664 | transform: scaleY(-1);
665 | }
666 | .fa-flip-both,
667 | .fa-flip-horizontal.fa-flip-vertical {
668 | -webkit-transform: scale(-1);
669 | transform: scale(-1);
670 | }
671 | .fa-rotate-by {
672 | -webkit-transform: rotate(var(--fa-rotate-angle, none));
673 | transform: rotate(var(--fa-rotate-angle, none));
674 | }
675 | .fa-stack {
676 | display: inline-block;
677 | vertical-align: middle;
678 | height: 2em;
679 | position: relative;
680 | width: 2.5em;
681 | }
682 | .fa-stack-1x,
683 | .fa-stack-2x {
684 | bottom: 0;
685 | left: 0;
686 | margin: auto;
687 | position: absolute;
688 | right: 0;
689 | top: 0;
690 | z-index: var(--fa-stack-z-index, auto);
691 | }
692 | .svg-inline--fa.fa-stack-1x {
693 | height: 1em;
694 | width: 1.25em;
695 | }
696 | .svg-inline--fa.fa-stack-2x {
697 | height: 2em;
698 | width: 2.5em;
699 | }
700 | .fa-inverse {
701 | color: var(--fa-inverse, #fff);
702 | }
703 | .fa-sr-only,
704 | .fa-sr-only-focusable:not(:focus),
705 | .sr-only,
706 | .sr-only-focusable:not(:focus) {
707 | position: absolute;
708 | width: 1px;
709 | height: 1px;
710 | padding: 0;
711 | margin: -1px;
712 | overflow: hidden;
713 | clip: rect(0, 0, 0, 0);
714 | white-space: nowrap;
715 | border-width: 0;
716 | }
717 | .svg-inline--fa .fa-primary {
718 | fill: var(--fa-primary-color, currentColor);
719 | opacity: var(--fa-primary-opacity, 1);
720 | }
721 | .svg-inline--fa .fa-secondary {
722 | fill: var(--fa-secondary-color, currentColor);
723 | }
724 | .svg-inline--fa .fa-secondary,
725 | .svg-inline--fa.fa-swap-opacity .fa-primary {
726 | opacity: var(--fa-secondary-opacity, 0.4);
727 | }
728 | .svg-inline--fa.fa-swap-opacity .fa-secondary {
729 | opacity: var(--fa-primary-opacity, 1);
730 | }
731 | .svg-inline--fa mask .fa-primary,
732 | .svg-inline--fa mask .fa-secondary {
733 | fill: #000;
734 | }
735 | .fa-duotone.fa-inverse,
736 | .fad.fa-inverse {
737 | color: var(--fa-inverse, #fff);
738 | }
739 |
--------------------------------------------------------------------------------
/src/assets/css/v4-font-face.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com
3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
4 | * Copyright 2022 Fonticons, Inc.
5 | */
6 | @font-face {
7 | font-family: 'FontAwesome';
8 | font-display: block;
9 | src: url('../webfonts/fa-solid-900.woff2') format('woff2'),
10 | url('../webfonts/fa-solid-900.ttf') format('truetype');
11 | }
12 |
13 | @font-face {
14 | font-family: 'FontAwesome';
15 | font-display: block;
16 | src: url('../webfonts/fa-brands-400.woff2') format('woff2'),
17 | url('../webfonts/fa-brands-400.ttf') format('truetype');
18 | }
19 |
20 | @font-face {
21 | font-family: 'FontAwesome';
22 | font-display: block;
23 | src: url('../webfonts/fa-regular-400.woff2') format('woff2'),
24 | url('../webfonts/fa-regular-400.ttf') format('truetype');
25 | unicode-range: U+F003, U+F006, U+F014, U+F016-F017, U+F01A-F01B, U+F01D, U+F022, U+F03E, U+F044,
26 | U+F046, U+F05C-F05D, U+F06E, U+F070, U+F087-F088, U+F08A, U+F094, U+F096-F097, U+F09D, U+F0A0,
27 | U+F0A2, U+F0A4-F0A7, U+F0C5, U+F0C7, U+F0E5-F0E6, U+F0EB, U+F0F6-F0F8, U+F10C, U+F114-F115,
28 | U+F118-F11A, U+F11C-F11D, U+F133, U+F147, U+F14E, U+F150-F152, U+F185-F186, U+F18E, U+F190-F192,
29 | U+F196, U+F1C1-F1C9, U+F1D9, U+F1DB, U+F1E3, U+F1EA, U+F1F7, U+F1F9, U+F20A, U+F247-F248, U+F24A,
30 | U+F24D, U+F255-F25B, U+F25D, U+F271-F274, U+F278, U+F27B, U+F28C, U+F28E, U+F29C, U+F2B5, U+F2B7,
31 | U+F2BA, U+F2BC, U+F2BE, U+F2C0-F2C1, U+F2C3, U+F2D0, U+F2D2, U+F2D4, U+F2DC;
32 | }
33 |
34 | @font-face {
35 | font-family: 'FontAwesome';
36 | font-display: block;
37 | src: url('../webfonts/fa-v4compatibility.woff2') format('woff2'),
38 | url('../webfonts/fa-v4compatibility.ttf') format('truetype');
39 | unicode-range: U+F041, U+F047, U+F065-F066, U+F07D-F07E, U+F080, U+F08B, U+F08E, U+F090, U+F09A,
40 | U+F0AC, U+F0AE, U+F0B2, U+F0D0, U+F0D6, U+F0E4, U+F0EC, U+F10A-F10B, U+F123, U+F13E, U+F148-F149,
41 | U+F14C, U+F156, U+F15E, U+F160-F161, U+F163, U+F175-F178, U+F195, U+F1F8, U+F219, U+F27A;
42 | }
43 |
--------------------------------------------------------------------------------
/src/assets/css/v4-font-face.min.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com
3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
4 | * Copyright 2022 Fonticons, Inc.
5 | */
6 | @font-face {
7 | font-family: 'FontAwesome';
8 | font-display: block;
9 | src: url(../webfonts/fa-solid-900.woff2) format('woff2'),
10 | url(../webfonts/fa-solid-900.ttf) format('truetype');
11 | }
12 | @font-face {
13 | font-family: 'FontAwesome';
14 | font-display: block;
15 | src: url(../webfonts/fa-brands-400.woff2) format('woff2'),
16 | url(../webfonts/fa-brands-400.ttf) format('truetype');
17 | }
18 | @font-face {
19 | font-family: 'FontAwesome';
20 | font-display: block;
21 | src: url(../webfonts/fa-regular-400.woff2) format('woff2'),
22 | url(../webfonts/fa-regular-400.ttf) format('truetype');
23 | unicode-range: u+f003, u+f006, u+f014, u+f016-f017, u+f01a-f01b, u+f01d, u+f022, u+f03e, u+f044,
24 | u+f046, u+f05c-f05d, u+f06e, u+f070, u+f087-f088, u+f08a, u+f094, u+f096-f097, u+f09d, u+f0a0,
25 | u+f0a2, u+f0a4-f0a7, u+f0c5, u+f0c7, u+f0e5-f0e6, u+f0eb, u+f0f6-f0f8, u+f10c, u+f114-f115,
26 | u+f118-f11a, u+f11c-f11d, u+f133, u+f147, u+f14e, u+f150-f152, u+f185-f186, u+f18e, u+f190-f192,
27 | u+f196, u+f1c1-f1c9, u+f1d9, u+f1db, u+f1e3, u+f1ea, u+f1f7, u+f1f9, u+f20a, u+f247-f248, u+f24a,
28 | u+f24d, u+f255-f25b, u+f25d, u+f271-f274, u+f278, u+f27b, u+f28c, u+f28e, u+f29c, u+f2b5, u+f2b7,
29 | u+f2ba, u+f2bc, u+f2be, u+f2c0-f2c1, u+f2c3, u+f2d0, u+f2d2, u+f2d4, u+f2dc;
30 | }
31 | @font-face {
32 | font-family: 'FontAwesome';
33 | font-display: block;
34 | src: url(../webfonts/fa-v4compatibility.woff2) format('woff2'),
35 | url(../webfonts/fa-v4compatibility.ttf) format('truetype');
36 | unicode-range: u+f041, u+f047, u+f065-f066, u+f07d-f07e, u+f080, u+f08b, u+f08e, u+f090, u+f09a,
37 | u+f0ac, u+f0ae, u+f0b2, u+f0d0, u+f0d6, u+f0e4, u+f0ec, u+f10a-f10b, u+f123, u+f13e, u+f148-f149,
38 | u+f14c, u+f156, u+f15e, u+f160-f161, u+f163, u+f175-f178, u+f195, u+f1f8, u+f219, u+f27a;
39 | }
40 |
--------------------------------------------------------------------------------
/src/assets/css/v5-font-face.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com
3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
4 | * Copyright 2022 Fonticons, Inc.
5 | */
6 | @font-face {
7 | font-family: 'Font Awesome 5 Brands';
8 | font-display: block;
9 | font-weight: 400;
10 | src: url('../webfonts/fa-brands-400.woff2') format('woff2'),
11 | url('../webfonts/fa-brands-400.ttf') format('truetype');
12 | }
13 |
14 | @font-face {
15 | font-family: 'Font Awesome 5 Free';
16 | font-display: block;
17 | font-weight: 900;
18 | src: url('../webfonts/fa-solid-900.woff2') format('woff2'),
19 | url('../webfonts/fa-solid-900.ttf') format('truetype');
20 | }
21 |
22 | @font-face {
23 | font-family: 'Font Awesome 5 Free';
24 | font-display: block;
25 | font-weight: 400;
26 | src: url('../webfonts/fa-regular-400.woff2') format('woff2'),
27 | url('../webfonts/fa-regular-400.ttf') format('truetype');
28 | }
29 |
--------------------------------------------------------------------------------
/src/assets/css/v5-font-face.min.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * Font Awesome Free 6.2.1 by @fontawesome - https://fontawesome.com
3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
4 | * Copyright 2022 Fonticons, Inc.
5 | */
6 | @font-face {
7 | font-family: 'Font Awesome 5 Brands';
8 | font-display: block;
9 | font-weight: 400;
10 | src: url(../webfonts/fa-brands-400.woff2) format('woff2'),
11 | url(../webfonts/fa-brands-400.ttf) format('truetype');
12 | }
13 | @font-face {
14 | font-family: 'Font Awesome 5 Free';
15 | font-display: block;
16 | font-weight: 900;
17 | src: url(../webfonts/fa-solid-900.woff2) format('woff2'),
18 | url(../webfonts/fa-solid-900.ttf) format('truetype');
19 | }
20 | @font-face {
21 | font-family: 'Font Awesome 5 Free';
22 | font-display: block;
23 | font-weight: 400;
24 | src: url(../webfonts/fa-regular-400.woff2) format('woff2'),
25 | url(../webfonts/fa-regular-400.ttf) format('truetype');
26 | }
27 |
--------------------------------------------------------------------------------
/src/assets/webfonts/fa-brands-400.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RobiMez/wttm/8b57fa454a1f81abbd36a70da29097fadb11d332/src/assets/webfonts/fa-brands-400.ttf
--------------------------------------------------------------------------------
/src/assets/webfonts/fa-brands-400.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RobiMez/wttm/8b57fa454a1f81abbd36a70da29097fadb11d332/src/assets/webfonts/fa-brands-400.woff2
--------------------------------------------------------------------------------
/src/assets/webfonts/fa-regular-400.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RobiMez/wttm/8b57fa454a1f81abbd36a70da29097fadb11d332/src/assets/webfonts/fa-regular-400.ttf
--------------------------------------------------------------------------------
/src/assets/webfonts/fa-regular-400.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RobiMez/wttm/8b57fa454a1f81abbd36a70da29097fadb11d332/src/assets/webfonts/fa-regular-400.woff2
--------------------------------------------------------------------------------
/src/assets/webfonts/fa-solid-900.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RobiMez/wttm/8b57fa454a1f81abbd36a70da29097fadb11d332/src/assets/webfonts/fa-solid-900.ttf
--------------------------------------------------------------------------------
/src/assets/webfonts/fa-solid-900.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RobiMez/wttm/8b57fa454a1f81abbd36a70da29097fadb11d332/src/assets/webfonts/fa-solid-900.woff2
--------------------------------------------------------------------------------
/src/assets/webfonts/fa-v4compatibility.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RobiMez/wttm/8b57fa454a1f81abbd36a70da29097fadb11d332/src/assets/webfonts/fa-v4compatibility.ttf
--------------------------------------------------------------------------------
/src/assets/webfonts/fa-v4compatibility.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RobiMez/wttm/8b57fa454a1f81abbd36a70da29097fadb11d332/src/assets/webfonts/fa-v4compatibility.woff2
--------------------------------------------------------------------------------
/src/canvas-sketch-util.d.ts:
--------------------------------------------------------------------------------
1 | declare module 'canvas-sketch-util/color'
2 | declare module 'canvas-sketch-util/random'
--------------------------------------------------------------------------------
/src/hooks.server.ts:
--------------------------------------------------------------------------------
1 | import type { Handle } from '@sveltejs/kit';
2 |
3 | export const handle: Handle = async ({ resolve, event }) => {
4 | // Required for CORS to work
5 | if (event.request.method === 'OPTIONS') {
6 | console.log("tesst");
7 |
8 | return new Response(null, {
9 | headers: {
10 | 'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, PATCH, OPTIONS',
11 | 'Access-Control-Allow-Origin': '*',
12 | 'Access-Control-Allow-Headers': '*',
13 | }
14 | });
15 | }
16 |
17 | const response = await resolve(event);
18 | response.headers.append('Access-Control-Allow-Origin', `*`);
19 |
20 | return response;
21 | };
22 |
--------------------------------------------------------------------------------
/src/index.test.ts:
--------------------------------------------------------------------------------
1 | import { describe, it, expect } from 'vitest';
2 |
3 | describe('sum test', () => {
4 | it('adds 1 + 2 to equal 3', () => {
5 | expect(1 + 2).toBe(3);
6 | });
7 | });
8 |
--------------------------------------------------------------------------------
/src/lib/components/Countdown.svelte:
--------------------------------------------------------------------------------
1 |
35 |
36 |
37 | {#each chunkedData as chunk}
38 |
39 | {/each}
40 |
41 |
--------------------------------------------------------------------------------
/src/lib/components/FileLoader.svelte:
--------------------------------------------------------------------------------
1 |
133 |
134 | {
150 | if (e.key === 'Enter') {
151 | const fileInput = document.getElementById('recipients_file');
152 | if (fileInput) {
153 | fileInput.click();
154 | }
155 | }
156 | }}
157 | on:click={() => {
158 | const fileInput = document.getElementById('recipients_file');
159 | if (fileInput) {
160 | fileInput.click();
161 | }
162 | }}
163 | >
164 | handleFileChange(e)}
169 | multiple={false}
170 | class=" hidden"
171 | />
172 | {#key userA}
173 | {#if dataCount > 0 && stagedData}
174 |
183 |
187 |
188 |
192 |
193 | Load {Math.round($dataCountTween)} Items ?
194 | {#if ptaivAsTelegramExport}
195 | Valid Convo
196 | {userText}
197 |
198 | {
201 | const fileInput = document.getElementById('recipients_file');
202 | if (fileInput) {
203 | fileInput.click();
204 | }
205 | }}
206 | >
207 | Change File ?
208 |
209 | {/if}
210 |
211 | {:else}
212 |
213 | Drop your results.json here
214 | Or click to browse
215 | {#if parsedTextAreaInput == 'invalid'}
216 | Invalid File
217 | {:else if parsedTextAreaInput == 'invalidExport'}
218 | Export Invalid
219 | {/if}
220 |
221 | {/if}
222 | {/key}
223 |
224 |
225 |
230 |
--------------------------------------------------------------------------------
/src/lib/components/Legacy/accordions.svelte:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/lib/components/NoMobileTabPage.svelte:
--------------------------------------------------------------------------------
1 |
60 |
61 |
62 |
63 | {#each circles as circle}
64 |
72 | {/each}
73 |
74 |
75 |
76 |
77 |
78 | This site is not designed for mobile and tablet.
79 |
80 |
81 | Generating Telegram exports and loading them is done from the PC client.
82 | So this site is,
83 | by design, not usable for sizes below 1225 px wide.
84 |
85 |
86 |
Back to Portfolio
87 |
{
89 | debouncedGenerateCircles();
90 | clicks += 1;
91 | }}
92 | class="btn btn-sm btn-accent mt-3 w-fit flex flex-row align-baseline"
93 | >
94 | Randomize
95 |
96 | {clicks}
97 |
98 |
99 |
100 |
101 |
102 | {#if clicks > 0}
103 | {#key clicks}
104 |
110 | {#if quirkyMessageLookup[clicks]}
111 | {quirkyMessageLookup[clicks]}
112 | {:else}
113 | You have clicked the button {clicks} times.
114 | {/if}
115 |
116 | {/key}
117 | {/if}
118 |
119 |
120 |
121 |
122 |
123 |
131 |
--------------------------------------------------------------------------------
/src/lib/components/RightSideControls/ColorRandomizer.svelte:
--------------------------------------------------------------------------------
1 |
7 |
8 |
9 |
10 | {p1c}
11 |
12 |
13 | Randomize Colors
14 |
15 |
16 |
17 | {p2c}
18 |
19 |
20 |
--------------------------------------------------------------------------------
/src/lib/components/RightSideControls/OpacitySlider.svelte:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 | Opacity {opa}%
7 |
8 |
9 | Fully transparent
10 | Opaque
11 |
12 |
13 |
--------------------------------------------------------------------------------
/src/lib/components/ScatterPoint.svelte:
--------------------------------------------------------------------------------
1 |
17 |
18 | {#each data as d, i (keyAccessor(d) || i)}
19 |
26 | {#if d.reply_to_message_id}
27 | {#each [findReplyDataPoint(d.reply_to_message_id)] as replyData}
28 |
38 | {/each}
39 | {/if}
40 | {/each}
41 |
42 |
47 |
--------------------------------------------------------------------------------
/src/lib/components/Scrolly.svelte:
--------------------------------------------------------------------------------
1 |
81 |
82 |
83 |
84 |
85 |
--------------------------------------------------------------------------------
/src/lib/components/Title.svelte:
--------------------------------------------------------------------------------
1 |
4 |
5 |
18 |
--------------------------------------------------------------------------------
/src/lib/db.ts:
--------------------------------------------------------------------------------
1 | import mongoose from 'mongoose';
2 | import { config } from 'dotenv';
3 |
4 | config();
5 |
6 | export let database: mongoose.mongo.Db ;
7 |
8 | export const connect = async () => {
9 | if (mongoose.connection.readyState === 0) {
10 | const LOCAL_URI = 'mongodb://127.0.0.1:27017/ss';
11 | const remoteUri = process.env.CONN_URL;
12 | // Connect with env as priority then local if no env
13 | const uri = remoteUri ?? LOCAL_URI;
14 |
15 | if (remoteUri && !uri.includes('127.0.0.1')) {
16 | console.log('Attempting to connect to remote MongoDB URL specified in .env');
17 | } else {
18 | console.log('No remote MongoDB URL found in .env, attempting to connect to local database');
19 | }
20 |
21 | try {
22 | await mongoose.connect(uri);
23 | console.log(`Mongoose has connected to MongoDB database at ${uri}`);
24 | database = mongoose.connection.db;
25 | // eslint-disable-next-line @typescript-eslint/no-explicit-any
26 | } catch (err: any) {
27 | if (err.code === 'ECONNREFUSED') {
28 | console.error('Connection to remote MongoDB URL refused, attempting local database');
29 | await mongoose.connect(LOCAL_URI);
30 | console.log(
31 | `Mongoose has connected to MongoDB database at ${LOCAL_URI} after remote refuse`
32 | );
33 | } else {
34 | console.error(err);
35 | }
36 | }
37 |
38 | mongoose.connection.on('error', (err) => {
39 | console.error('Mongoose connection error:', err);
40 | });
41 |
42 | return mongoose.connection;
43 | } else {
44 | return mongoose.connection;
45 | }
46 | };
47 |
48 | await connect();
49 |
50 | // TODO: This can be refactored by using the toJSON: { virtuals: true }, option
51 | // eslint-disable-next-line @typescript-eslint/no-explicit-any
52 | export const pojoify = (nonpojo: any) => {
53 | return JSON.parse(JSON.stringify(nonpojo));
54 | };
55 |
--------------------------------------------------------------------------------
/src/lib/global.css:
--------------------------------------------------------------------------------
1 | @import url('https://fonts.googleapis.com/css2?family=Lexend:wght@100;200;300;400;500;600;700;800;900&display=swap');
2 | @tailwind base;
3 | @tailwind components;
4 | @tailwind utilities;
5 |
6 | #nprogress .bar {
7 | background-color: #202936;
8 | height: 4px;
9 | }
10 | #nprogress .peg {
11 | display: block;
12 | position: absolute;
13 | right: 0px;
14 | width: 100px;
15 | height: 100%;
16 | box-shadow: 0 0 10px #667994, 0 0 5px #667994;
17 | opacity: 1;
18 |
19 | -webkit-transform: rotate(3deg) translate(0px, -4px);
20 | -ms-transform: rotate(3deg) translate(0px, -4px);
21 | transform: rotate(3deg) translate(0px, -4px);
22 | }
23 |
--------------------------------------------------------------------------------
/src/lib/toast.ts:
--------------------------------------------------------------------------------
1 | import { toast } from '@zerodevx/svelte-toast';
2 |
3 | export const success = (m: string) =>
4 | toast.push(m, {
5 | theme: {
6 | '--toastBackground': '#48BB78',
7 | '--toastBarBackground': '#2F855A'
8 | },
9 | duration: 1000
10 | });
11 |
12 | export const warning = (m: string) =>
13 | toast.push(m, {
14 | theme: {
15 | '--toastBackground': '#FFC107',
16 | '--toastBarBackground': '#FFA000'
17 | }
18 | });
19 |
20 | export const error = (m: string) =>
21 | toast.push(m, {
22 | theme: {
23 | '--toastBackground': '#F56565',
24 | '--toastBarBackground': '#C53030'
25 | }
26 | });
27 |
--------------------------------------------------------------------------------
/src/lib/utils.ts:
--------------------------------------------------------------------------------
1 | /* eslint-disable @typescript-eslint/ban-ts-comment */
2 | //@ts-nocheck
3 |
4 | export const doAPIPost = async (route, body, logResp = false) => {
5 | const response = await fetch(route, {
6 | method: 'POST',
7 | headers: {
8 | 'Content-Type': 'application/json'
9 | },
10 | body: JSON.stringify(body)
11 | });
12 | const responseJson = await response.json();
13 |
14 | if (logResp) {
15 | console.log('POST RESP -> ', responseJson);
16 | }
17 | return responseJson;
18 | };
19 |
20 |
21 | export const chunkArray = (array: Array, size: number) => {
22 | if (!array) return [];
23 | return Array.from({ length: Math.ceil(array.length / size) }, (v, i) =>
24 | array.slice(i * size, i * size + size)
25 | );
26 | };
--------------------------------------------------------------------------------
/src/lib/utils/time.ts:
--------------------------------------------------------------------------------
1 | export const formatTimedelta = (td: number) => {
2 | td = Math.floor(td / 1000); // Convert milliseconds to seconds
3 | const hours = Math.floor(td / 3600);
4 | const minutes = Math.floor((td % 3600) / 60);
5 | const seconds = Math.floor(td % 60);
6 |
7 | return `${hours} hr, ${minutes} m, ${seconds} s`;
8 | };
9 |
--------------------------------------------------------------------------------
/src/routes/+layout.server.ts:
--------------------------------------------------------------------------------
1 | import { redirect } from '@sveltejs/kit';
2 | import type { LayoutServerLoad } from './$types';
3 |
4 | export const load: LayoutServerLoad = async ({ locals, url }) => {
5 |
6 | return {
7 | };
8 |
9 | };
10 |
--------------------------------------------------------------------------------
/src/routes/+layout.svelte:
--------------------------------------------------------------------------------
1 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/src/routes/+page.svelte:
--------------------------------------------------------------------------------
1 |
402 |
403 |
404 |
405 | {#if isTabletSizeOrSmaller}
406 |
409 | {:else}
410 |
415 |
416 |
421 | {#key hoveredDatapoint}
422 | {#if hoveredDatapoint}
423 |
424 | {hoveredDatapoint.type} , #{hoveredDatapointIndex}
425 |
426 |
427 | {hoveredDatapoint.from}
428 |
429 | {hoveredDatapoint.text}
430 |
431 |
432 |
433 |
434 | {new Date(hoveredDatapoint.date).toLocaleString('default', {
435 | day: '2-digit',
436 | month: 'short',
437 | year: '2-digit'
438 | })}
439 |
440 |
441 | Replied in
442 | {prettyMilliseconds(hoveredDatapoint.timeDelta)}
443 |
444 |
445 | {/if}
446 | {/key}
447 |
448 |
449 |
450 |
456 |
457 | {#if xScale}
458 |
459 | {#each xScale.ticks() as tick}
460 |
467 |
474 | {new Date(tick).toLocaleString('default', {
475 | day: '2-digit',
476 | month: 'short',
477 | year: '2-digit'
478 | })}
479 |
480 | {/each}
481 |
482 | {/if}
483 |
484 | {#if xScale && yScale && xTicks && yTicks}
485 |
486 |
487 | {#each displayedData as d, i (d.id)}
488 | {
491 | hoveredDatapoint = d;
492 | hoveredDatapointIndex = i;
493 | }}
494 | />
495 | {/each}
496 | {/if}
497 |
498 |
499 |
500 |
501 |
502 | Current Story Step : {currentStep ?? 'loading'}
503 | Dataset size : {datas ? datas.length : 'loading'}
504 | Staged Data : {stagedData ? stagedData.length : 'empty'}
505 |
506 |
507 |
508 |
509 |
510 |
511 | {#if yScale}
512 |
513 |
514 | Between
515 |
516 | {#if !wttm}
517 |
521 |
522 |
523 | {/if}
524 | {yScale.domain()[1]}
525 |
526 | &
527 |
528 | {#if wttm}
529 |
533 |
534 |
535 | {/if}
536 | {yScale.domain()[0]}
537 |
538 |
539 |
540 |
541 | We have
542 |
543 | total messages of which
544 |
545 |
546 | were sent by {yScale.domain()[0]}
547 |
548 | and
549 |
550 |
551 | were sent by {yScale.domain()[1]}
552 |
553 |
554 |
555 |
556 |
557 | Average response time
558 |
559 |
560 | {yScale.domain()[0]}: {tally[yScale.domain()[0]]['meanText']}
561 |
562 |
563 | {yScale.domain()[1]}: {tally[yScale.domain()[1]]['meanText']}
564 |
565 |
566 |
567 |
568 | Voice messages , Pictures , etc :
569 |
570 |
571 | {yScale.domain()[0]} :
572 |
573 | {tally[yScale.domain()[0]]['memecount']}
574 |
575 |
576 |
577 | {yScale.domain()[1]}:
578 |
579 | {tally[yScale.domain()[1]]['memecount']}
580 |
581 |
582 |
583 |
584 |
585 | Stickers
586 |
587 |
588 | {yScale.domain()[0]} :
589 |
590 | {tally[yScale.domain()[0]]['stickercount']}
591 |
592 |
593 |
594 | {yScale.domain()[1]}:
595 |
596 | {tally[yScale.domain()[1]]['stickercount']}
597 |
598 |
599 |
600 |
601 |
602 | Text messages:
603 |
604 |
605 | {yScale.domain()[0]} :
606 |
607 | {tally[yScale.domain()[0]]['count'] - tally[yScale.domain()[0]]['memecount']}
608 |
609 |
610 |
611 | {yScale.domain()[1]}:
612 |
613 | {tally[yScale.domain()[1]]['count'] - tally[yScale.domain()[1]]['memecount']}
614 |
615 |
616 |
617 |
618 |
619 | {/if}
620 |
621 |
How to read the graph
622 |
623 |
624 | The Graph on the left is a Scatter Plot of your messages ( Dots ) , going from
625 | leftmost (Past) to rightmost (Present)
626 |
627 |
628 | Each of your messages are separated by color, with lines in between each dot
629 | representing replies to that message ( The bolder the line , The more back and forth
630 | happening )
632 |
633 | and non text messages are modelled as small purple dots.
634 |
635 | The Size of the circle corresponds to speed of reply. ( with delays larger than
637 | 3 days considered in the same light )
638 |
639 |
640 |
641 | {
644 | if (stagedData) {
645 | renderCanvas([...stagedData]);
646 | }
647 | }}
648 | />
649 |
650 |
651 |
652 | Customize the chart
653 |
654 |
655 |
656 |
657 |
658 |
659 |
660 |
661 |
662 |
663 |
664 | {/if}
665 |
--------------------------------------------------------------------------------
/src/routes/DataPoint.svelte:
--------------------------------------------------------------------------------
1 |
5 |
6 |
20 |
21 | {#if d.reply_to_message_id}
22 |
23 | {/if}
24 |
25 |
33 |
--------------------------------------------------------------------------------
/src/routes/debug/+page.svelte:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
9 |
10 |
stagedData
11 |
12 | {JSON.stringify(stagedData, null, 2)}
13 |
14 |
15 |
16 |
29 |
--------------------------------------------------------------------------------
/static/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RobiMez/wttm/8b57fa454a1f81abbd36a70da29097fadb11d332/static/favicon.png
--------------------------------------------------------------------------------
/svelte.config.js:
--------------------------------------------------------------------------------
1 | import adapter from '@sveltejs/adapter-vercel';
2 | import seqPreprocessor from 'svelte-sequential-preprocessor';
3 |
4 | import { vitePreprocess } from '@sveltejs/vite-plugin-svelte';
5 |
6 | /** @type {import('@sveltejs/kit').Config} */
7 | const config = {
8 | // Consult https://kit.svelte.dev/docs/integrations#preprocessors
9 | // for more information about preprocessors
10 | preprocess: seqPreprocessor([vitePreprocess()]),
11 |
12 | kit: {
13 | adapter: adapter(),
14 | csrf: {
15 | checkOrigin: false
16 | }
17 |
18 | },
19 |
20 | vite: {
21 | optimizeDeps: {
22 | include: ['lodash.get', 'lodash.isequal', 'lodash.clonedeep']
23 | }
24 | },
25 |
26 | };
27 |
28 | export default config;
29 |
--------------------------------------------------------------------------------
/tailwind.config.cjs:
--------------------------------------------------------------------------------
1 | /** @type {import('tailwindcss').Config} */
2 | module.exports = {
3 | content: ['./src/**/*.{html,js,svelte,ts}'],
4 |
5 | daisyui: {
6 | logs: false,
7 | themes: [
8 | {
9 | mytheme: {
10 | primary: '#101828',
11 | secondary: '#667085',
12 | accent: '#44403c',
13 | neutral: '#1C2630',
14 | info: '#354f52',
15 | success: '#344e41',
16 | warning: '#f6bd60',
17 | error: '#bc4749',
18 | 'base-100': '#ffffff',
19 | 'base-200': '#f6f6f6',
20 | '--rounded-box': '1.6rem',
21 | '--rounded-btn': '0.6rem',
22 | '--rounded-badge': '1.9rem',
23 | '--animation-btn': '0.25s',
24 | '--animation-input': '0.2s',
25 | '--btn-text-case': 'uppercase',
26 | '--btn-focus-scale': '1',
27 | '--border-btn': '1px'
28 | }
29 | }
30 | ]
31 | },
32 | theme: {
33 | fontFamily: {
34 | sans: ['Lexend', 'sans-serif']
35 | },
36 | },
37 | plugins: [require('daisyui')]
38 | };
39 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "./.svelte-kit/tsconfig.json",
3 | "compilerOptions": {
4 | "allowJs": true,
5 | "checkJs": true,
6 | "esModuleInterop": true,
7 | "forceConsistentCasingInFileNames": true,
8 | "resolveJsonModule": true,
9 | "skipLibCheck": true,
10 | "sourceMap": true,
11 | "strict": true
12 | }
13 | // Path aliases are handled by https://kit.svelte.dev/docs/configuration#alias
14 | //
15 | // If you want to overwrite includes/excludes, make sure to copy over the relevant includes/excludes
16 | // from the referenced tsconfig.json - TypeScript does not merge them in
17 | }
18 |
--------------------------------------------------------------------------------
/vite.config.ts:
--------------------------------------------------------------------------------
1 | /* eslint-disable @typescript-eslint/ban-ts-comment */
2 | //@ts-nocheck
3 |
4 | import { sveltekit } from '@sveltejs/kit/vite';
5 |
6 | export default {
7 | plugins: [sveltekit()],
8 | ssr: {
9 | noExternal: ['three', 'troika-three-text']
10 | }
11 | };
12 |
--------------------------------------------------------------------------------