├── .gitignore
├── src
├── favicon.ico
├── utils
│ ├── getLocalStorage.js
│ ├── setToLocalStorage.js
│ └── getCountdownDate.js
├── assets
│ └── fonts
│ │ └── NotoSans-VariableFont_wdth,wght.ttf
├── stylesheets
│ ├── variables.scss
│ ├── main.scss
│ ├── style.scss
│ └── form.scss
├── components
│ ├── LoadingSpinner.js
│ ├── Footer.js
│ ├── InfoMessage.js
│ ├── ErrorMessage.js
│ ├── Header.js
│ ├── Countdown.js
│ └── SettingsModal.js
├── index.js
├── index.html
└── App.js
├── docs
├── favicon.ico
├── assets
│ ├── 0e023bdf2fa0b6117356.ttf
│ ├── 1815e00441357e01619e.ttf
│ ├── 2582b0e4bcf85eceead0.ttf
│ ├── 914997e1bdfc990d0897.ttf
│ ├── da94ef451f4969af06e6.ttf
│ ├── 2463b90d9a316e4e5294.woff2
│ ├── 89999bdf5d835c012025.woff2
│ └── c210719e60948b211a12.woff2
├── 404.html
├── index.html
└── style.css
├── .babelrc
├── webpack.config.js
├── README.md
└── package.json
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 |
3 | .DS_Store
4 |
5 | package-lock.json
--------------------------------------------------------------------------------
/src/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/autumnchris/countdown-timer/HEAD/src/favicon.ico
--------------------------------------------------------------------------------
/docs/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/autumnchris/countdown-timer/HEAD/docs/favicon.ico
--------------------------------------------------------------------------------
/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "presets": [
3 | "@babel/preset-env",
4 | "@babel/preset-react"
5 | ]
6 | }
7 |
--------------------------------------------------------------------------------
/src/utils/getLocalStorage.js:
--------------------------------------------------------------------------------
1 | export default function getLocalStorage(key) {
2 | return JSON.parse(localStorage.getItem(key));
3 | }
--------------------------------------------------------------------------------
/docs/assets/0e023bdf2fa0b6117356.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/autumnchris/countdown-timer/HEAD/docs/assets/0e023bdf2fa0b6117356.ttf
--------------------------------------------------------------------------------
/docs/assets/1815e00441357e01619e.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/autumnchris/countdown-timer/HEAD/docs/assets/1815e00441357e01619e.ttf
--------------------------------------------------------------------------------
/docs/assets/2582b0e4bcf85eceead0.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/autumnchris/countdown-timer/HEAD/docs/assets/2582b0e4bcf85eceead0.ttf
--------------------------------------------------------------------------------
/docs/assets/914997e1bdfc990d0897.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/autumnchris/countdown-timer/HEAD/docs/assets/914997e1bdfc990d0897.ttf
--------------------------------------------------------------------------------
/docs/assets/da94ef451f4969af06e6.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/autumnchris/countdown-timer/HEAD/docs/assets/da94ef451f4969af06e6.ttf
--------------------------------------------------------------------------------
/docs/assets/2463b90d9a316e4e5294.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/autumnchris/countdown-timer/HEAD/docs/assets/2463b90d9a316e4e5294.woff2
--------------------------------------------------------------------------------
/docs/assets/89999bdf5d835c012025.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/autumnchris/countdown-timer/HEAD/docs/assets/89999bdf5d835c012025.woff2
--------------------------------------------------------------------------------
/docs/assets/c210719e60948b211a12.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/autumnchris/countdown-timer/HEAD/docs/assets/c210719e60948b211a12.woff2
--------------------------------------------------------------------------------
/src/utils/setToLocalStorage.js:
--------------------------------------------------------------------------------
1 | export default function setToLocalStorage(key, value) {
2 | localStorage.setItem(key, JSON.stringify(value));
3 | }
--------------------------------------------------------------------------------
/src/assets/fonts/NotoSans-VariableFont_wdth,wght.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/autumnchris/countdown-timer/HEAD/src/assets/fonts/NotoSans-VariableFont_wdth,wght.ttf
--------------------------------------------------------------------------------
/src/stylesheets/variables.scss:
--------------------------------------------------------------------------------
1 | $black: hsl(0, 0%, 0%);
2 | $mint: #00ffcc;
3 | $error-red: hsl(349, 96%, 26%);
4 | $info-blue: hsl(204, 100%, 26%);
5 | $main-font: "Noto Sans", sans-serif;
6 |
--------------------------------------------------------------------------------
/src/components/LoadingSpinner.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 |
3 | const LoadingSpinner = () => {
4 | return
;
5 | }
6 |
7 | export default LoadingSpinner;
--------------------------------------------------------------------------------
/src/components/Footer.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 |
3 | const Footer = () => {
4 | return ;
5 | }
6 |
7 | export default Footer;
--------------------------------------------------------------------------------
/src/components/InfoMessage.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 |
3 | const InfoMessage = ({ messageText }) => {
4 | return {messageText}
;
5 | }
6 |
7 | export default InfoMessage;
--------------------------------------------------------------------------------
/src/components/ErrorMessage.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 |
3 | const ErrorMessage = ({ messageText }) => {
4 | return {messageText}
;
5 | }
6 |
7 | export default ErrorMessage;
--------------------------------------------------------------------------------
/src/index.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import ReactDOM from 'react-dom';
3 | import App from './App';
4 | import 'file-loader?name=[name].[ext]!./index.html';
5 | import 'file-loader?name=[name].[ext]!./favicon.ico';
6 | import 'normalize.css';
7 | import '@fortawesome/fontawesome-free/css/all.min.css';
8 | import './stylesheets/style.scss';
9 |
10 | ReactDOM.render(, document.getElementById('app'));
11 |
--------------------------------------------------------------------------------
/src/utils/getCountdownDate.js:
--------------------------------------------------------------------------------
1 | import getLocalStorage from './getLocalStorage';
2 | import setToLocalStorage from './setToLocalStorage';
3 |
4 | export default function getCountdownDate(value) {
5 | if (value) setToLocalStorage('countdownDate', value);
6 | return getLocalStorage('countdownDate') || {
7 | eventNameValue: '',
8 | dateValue: '',
9 | timeValue: '',
10 | ampmValue: 'am'
11 | };
12 | }
--------------------------------------------------------------------------------
/docs/404.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Page not found | Countdown Timer
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 | 404: Page not found
14 | Back to Home
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/docs/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Countdown Timer
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/src/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Countdown Timer
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/src/components/Header.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 |
3 | const Header = ({ clearCountdown, setModalVisibility }) => {
4 | return (
5 |
14 | );
15 | }
16 |
17 | export default Header;
--------------------------------------------------------------------------------
/webpack.config.js:
--------------------------------------------------------------------------------
1 | const path = require('path');
2 | const MiniCssExtractPlugin = require('mini-css-extract-plugin');
3 |
4 | module.exports = {
5 | output: {
6 | path: path.join(__dirname, 'docs'),
7 | filename: 'index.bundle.js',
8 | assetModuleFilename: 'assets/[hash][ext][query]'
9 | },
10 | devtool: 'eval-cheap-source-map',
11 | devServer: {
12 | port: 8080,
13 | static: [{
14 | watch: true
15 | }]
16 | },
17 | module: {
18 | rules: [
19 | {
20 | test: /\.(js|jsx)$/,
21 | exclude: /node_modules/,
22 | use: {
23 | loader: 'babel-loader'
24 | }
25 | },
26 | {
27 | test: /\.(sc|c)ss$/,
28 | use: [
29 | MiniCssExtractPlugin.loader,
30 | 'css-loader',
31 | 'sass-loader'
32 | ]
33 | },
34 | {
35 | test: /\.(woff|woff2|eot|ttf|otf)$/,
36 | type: 'asset'
37 | }
38 | ]
39 | },
40 | plugins: [
41 | new MiniCssExtractPlugin({
42 | filename: 'style.css'
43 | })
44 | ]
45 | };
46 |
--------------------------------------------------------------------------------
/src/components/Countdown.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import moment from 'moment';
3 |
4 | const Countdown = ({ countdownTimer, unixEndDate, eventName }) => {
5 |
6 | return (
7 |
8 |
9 |
{countdownTimer.days}
10 |
Days
11 |
12 |
13 |
{countdownTimer.hours}
14 |
Hours
15 |
16 |
17 |
{countdownTimer.mins}
18 |
Mins
19 |
20 |
21 |
{countdownTimer.secs}
22 |
Secs
23 |
24 |
Counting down to {eventName} on {moment.unix(unixEndDate).format('dddd, MMMM Do, YYYY | h:mm A')}
25 |
26 | );
27 | }
28 |
29 | export default Countdown;
30 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Countdown Timer
2 |
3 | A React.js app that takes a submitted future date and displays a timer counting down to that date.
4 |
5 | ---
6 |
7 | ## Built With
8 | * [React.js](https://reactjs.org)
9 | * [Sass](http://sass-lang.com)
10 | * JavaScript
11 | * CSS3
12 | * HTML5
13 | * [Node.js](https://nodejs.org/en)
14 | * [Webpack](https://webpack.js.org)
15 | * [Moment.js](https://momentjs.com)
16 | * LocalStorage
17 | * [Babel](https://babeljs.io)
18 | * [Normalize.css](https://necolas.github.io/normalize.css)
19 | * [Font Awesome](https://fontawesome.com)
20 | * [Google Fonts](https://fonts.google.com)
21 |
22 | ## Demo
23 |
24 | View project demo at [https://autumnchris.github.io/countdown-timer](https://autumnchris.github.io/countdown-timer).
25 |
26 | ## Instructions
27 |
28 | After forking and cloning, navigate to the repository in your command line and install the NPM packages:
29 | ```
30 | npm install
31 | ```
32 |
33 | Run the following script in your command line to run the application:
34 | ```
35 | npm start
36 | ```
37 |
38 | Once the server is running, go to `http://localhost:8080` in your browser.
39 |
40 | Before committing any changes, run the following script to update your static files for production:
41 | ```
42 | npm run build
43 | ```
44 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "countdown-timer",
3 | "version": "1.0.0",
4 | "description": "A React.js app that takes a submitted future date and displays a timer counting down to that date.",
5 | "main": "index.js",
6 | "scripts": {
7 | "build": "webpack --mode production",
8 | "start": "webpack serve --mode development"
9 | },
10 | "repository": {
11 | "type": "git",
12 | "url": "git+https://github.com/autumnchris/countdown-timer.git"
13 | },
14 | "author": "autumnchris",
15 | "license": "ISC",
16 | "bugs": {
17 | "url": "https://github.com/autumnchris/countdown-timer/issues"
18 | },
19 | "homepage": "https://autumnchris.github.io/countdown-timer",
20 | "dependencies": {
21 | "@fortawesome/fontawesome-free": "^6.7.2",
22 | "moment": "^2.27.0",
23 | "normalize.css": "^5.0.0",
24 | "react": "^17.0.2",
25 | "react-dom": "^17.0.2"
26 | },
27 | "devDependencies": {
28 | "@babel/core": "^7.14.6",
29 | "@babel/preset-env": "^7.14.7",
30 | "@babel/preset-react": "^7.14.5",
31 | "babel-loader": "^8.2.2",
32 | "css-loader": "^5.2.6",
33 | "file-loader": "^6.2.0",
34 | "mini-css-extract-plugin": "^2.0.0",
35 | "sass": "^1.35.1",
36 | "sass-loader": "^12.1.0",
37 | "webpack": "^5.41.1",
38 | "webpack-cli": "^4.7.2",
39 | "webpack-dev-server": "^4.3.1"
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/src/stylesheets/main.scss:
--------------------------------------------------------------------------------
1 | // STYLES FOR PAGE'S MAIN CONTENT
2 |
3 | // Button styles
4 | .button-group {
5 | display: -webkit-box;
6 | display: -ms-flexbox;
7 | display: flex;
8 | }
9 |
10 | .button,
11 | .button:visited,
12 | .button:hover,
13 | .button:active,
14 | .button:focus {
15 | background: $mint;
16 | border: 2px solid $mint;
17 | border-radius: 4px;
18 | color: change-color($black, $lightness: 20%);
19 | cursor: pointer;
20 | line-height: normal;
21 | padding: 5px 8px;
22 | text-decoration: none;
23 | width: auto;
24 | &:hover {
25 | background: transparent;
26 | color: $mint;
27 | }
28 | }
29 |
30 | // Header styles
31 | .header-item {
32 | font-size: 0.9rem;
33 | line-height: normal;
34 | margin: 0;
35 | }
36 |
37 | .header-button,
38 | .header-button:hover,
39 | .header-button:active,
40 | .header-button:focus {
41 | margin: 0 4px;
42 | }
43 |
44 | // Countdown styles
45 | .countdown .card {
46 | background: change-color($black, $lightness: 20%);
47 | display: inline-block;
48 | margin: 10px;
49 | min-width: 100px;
50 | padding: 20px 0;
51 | .countdown-value {
52 | color: $mint;
53 | font-size: 2rem;
54 | margin-bottom: 10px;
55 | }
56 | .countdown-unit {
57 | text-transform: capitalize;
58 | }
59 | }
60 |
61 | // Loading spinner styles
62 | .loading-spinner {
63 | -webkit-animation: spin 0.75s linear infinite;
64 | animation: spin 0.75s linear infinite;
65 | border: 4px solid change-color($black, $lightness: 100%);
66 | border-top: 4px solid transparent;
67 | border-radius: 50%;
68 | height: 30px;
69 | margin: 50px auto;
70 | width: 30px;
71 | }
72 |
73 | @-webkit-keyframes spin {
74 | 0% {
75 | -webkit-transform: rotate(0deg);
76 | transform: rotate(0deg);
77 | }
78 | 100% {
79 | -webkit-transform: rotate(360deg);
80 | transform: rotate(360deg);
81 | }
82 | }
83 |
84 | @keyframes spin {
85 | 0% {
86 | -webkit-transform: rotate(0deg);
87 | transform: rotate(0deg);
88 | }
89 | 100% {
90 | -webkit-transform: rotate(360deg);
91 | transform: rotate(360deg);
92 | }
93 | }
--------------------------------------------------------------------------------
/src/stylesheets/style.scss:
--------------------------------------------------------------------------------
1 | @font-face {
2 | font-family: "Noto Sans";
3 | src: url(../assets/fonts/NotoSans-VariableFont_wdth\,wght.ttf);
4 | }
5 |
6 | @import "variables";
7 |
8 | // BASE PAGE STYLES
9 |
10 | * {
11 | -webkit-box-sizing: border-box;
12 | box-sizing: border-box;
13 | }
14 |
15 | html {
16 | background: transparent;
17 | font-family: $main-font;
18 | height: 100%;
19 | letter-spacing: 1px;
20 | text-align: center;
21 | body {
22 | background: $black;
23 | background: -o-linear-gradient(330deg, $black, change-color($black, $lightness: 18%)) fixed;
24 | background: linear-gradient(120deg, $black, change-color($black, $lightness: 18%)) fixed;
25 | color: change-color($black, $lightness: 100%);
26 | min-height: 100%;
27 | -ms-scroll-chaining: none;
28 | overscroll-behavior: none;
29 | padding: 0 20px;
30 | position: relative;
31 | header {
32 | display: -webkit-box;
33 | display: -ms-flexbox;
34 | display: flex;
35 | -webkit-box-align: center;
36 | -ms-flex-align: center;
37 | align-items: center;
38 | background: change-color($black, $lightness: 20%);
39 | -webkit-box-pack: justify;
40 | -ms-flex-pack: justify;
41 | justify-content: space-between;
42 | left: 0;
43 | position: fixed;
44 | padding: 10px;
45 | right: 0;
46 | top: 0;
47 | width: 100%;
48 | z-index: 1;
49 | }
50 | main {
51 | padding: 100px 0 6rem;
52 | }
53 | footer {
54 | background: change-color($black, $lightness: 20%);
55 | bottom: 0;
56 | font-size: 0.8rem;
57 | left: 0;
58 | letter-spacing: 2px;
59 | padding: 14px 0;
60 | position: absolute;
61 | right: 0;
62 | width: 100%;
63 | }
64 | h1,
65 | h2,
66 | h3,
67 | h4,
68 | h5,
69 | h6 {
70 | font-weight: 400;
71 | margin-top: 0;
72 | }
73 | }
74 | }
75 |
76 | a,
77 | a:visited,
78 | a:hover,
79 | a:active,
80 | a:focus {
81 | color: $mint;
82 | &:hover {
83 | text-decoration: none;
84 | }
85 | }
86 |
87 | a:focus,
88 | button:focus,
89 | details:focus,
90 | input:focus,
91 | select:focus,
92 | textarea:focus,
93 | [tabindex]:focus {
94 | -webkit-box-shadow: 0 0 3px 3px hsla(203, 95%, 62%, 0.8);
95 | box-shadow: 0 0 3px 3px hsla(203, 95%, 62%, 0.8);
96 | outline: none;
97 | }
98 |
99 | button,
100 | button:hover,
101 | button:active,
102 | button:focus,
103 | input,
104 | optgroup,
105 | select,
106 | textarea {
107 | font-family: inherit;
108 | }
109 |
110 | p {
111 | line-height: 1.4;
112 | }
113 |
114 | // Message styles
115 | .message {
116 | border-radius: 5px;
117 | line-height: 1.55;
118 | margin: 20px auto;
119 | max-width: 800px;
120 | padding: 15px 10px;
121 | }
122 |
123 | .error-message {
124 | background: change-color($error-red, $lightness: 95%);
125 | border: 1px solid change-color($error-red, $lightness: 90%);
126 | color: $error-red;
127 | }
128 |
129 | .info-message {
130 | background: change-color($info-blue, $lightness: 95%);
131 | border: 1px solid change-color($info-blue, $lightness: 90%);
132 | color: $info-blue;
133 | }
134 |
135 | noscript .info-message {
136 | left: 50%;
137 | margin: 0 auto;
138 | min-width: 280px;
139 | position: absolute;
140 | text-align: center;
141 | top: 50%;
142 | -webkit-transform: translate(-50%, -50%);
143 | -ms-transform: translate(-50%, -50%);
144 | transform: translate(-50%, -50%);
145 | }
146 |
147 | @import "main";
148 | @import "form";
--------------------------------------------------------------------------------
/src/stylesheets/form.scss:
--------------------------------------------------------------------------------
1 | // STYLES FOR SETTINGS FORM
2 |
3 | input,
4 | select {
5 | border: 1px solid change-color($black, $lightness: 80%);
6 | border-radius: 0;
7 | color: change-color($black, $lightness: 20%);
8 | letter-spacing: 1px;
9 | line-height: 1.3;
10 | padding: 8px;
11 | width: 100%;
12 | &::-webkit-input-placeholder {
13 | color: change-color($black, $lightness: 60%);
14 | }
15 | &::-moz-placeholder {
16 | color: change-color($black, $lightness: 60%);
17 | }
18 | &:-ms-input-placeholder {
19 | color: change-color($black, $lightness: 60%);
20 | }
21 | &::-ms-input-placeholder {
22 | color: change-color($black, $lightness: 60%);
23 | }
24 | &::placeholder {
25 | color: change-color($black, $lightness: 60%);
26 | }
27 | }
28 |
29 | // Select element styles
30 | .select-wrapper {
31 | background: change-color($black, $lightness: 20%);
32 | border-radius: 4px;
33 | color: change-color($black, $lightness: 90%);
34 | position: relative;
35 | &:after {
36 | content: "\f0d7";
37 | cursor: pointer;
38 | font-family: "Font Awesome 6 Free";
39 | font-weight: 900;
40 | pointer-events: none;
41 | position: absolute;
42 | right: 10px;
43 | top: 10px;
44 | }
45 | select {
46 | -webkit-appearance: none;
47 | -moz-appearance: none;
48 | -ms-appearance: none;
49 | appearance: none;
50 | background: transparent;
51 | border: 0;
52 | border-radius: inherit;
53 | color: inherit;
54 | cursor: pointer;
55 | &::-ms-expand {
56 | display: none;
57 | }
58 | }
59 | }
60 |
61 | // Required input styles
62 | .required-field {
63 | color: #d40000;
64 | cursor: help;
65 | }
66 |
67 | .required-field[title] {
68 | text-decoration: none;
69 | }
70 |
71 | // Modal styles
72 | .modal {
73 | background: rgba($black, 0.75);
74 | bottom: 0;
75 | height: 100%;
76 | left: 0;
77 | overflow: auto;
78 | position: fixed;
79 | right: 0;
80 | top: 0;
81 | width: 100%;
82 | z-index: 1;
83 | .modal-content {
84 | -webkit-animation: slideIn 0.3s ease-out;
85 | animation: slideIn 0.3s ease-out;
86 | background: change-color($black, $lightness: 100%);
87 | border-radius: 5px;
88 | color: change-color($black, $lightness: 20%);
89 | margin: 10% auto;
90 | max-width: 300px;
91 | width: 80%;
92 | .modal-header {
93 | border-bottom: 1px solid change-color($black, $lightness: 80%);
94 | padding: 10px;
95 | text-align: left;
96 | }
97 | .modal-body {
98 | padding: 15px;
99 | .form-group {
100 | margin-bottom: 20px;
101 | max-width: 200px;
102 | label {
103 | display: block;
104 | font-size: 0.8rem;
105 | letter-spacing: 2px;
106 | margin-bottom: 3px;
107 | text-align: left;
108 | }
109 | }
110 | .button-group {
111 | -webkit-box-pack: end;
112 | -ms-flex-pack: end;
113 | justify-content: flex-end;
114 | .modal-button,
115 | .modal-button:hover,
116 | .modal-button:active,
117 | .modal-button:focus {
118 | background: change-color($black, $lightness: 20%);
119 | border: 0;
120 | color: $mint;
121 | margin-left: 8px;
122 | &:hover {
123 | background: change-color($black, $lightness: 15%);
124 | }
125 | }
126 | .modal-button[type=submit],
127 | .modal-button[type=submit]:hover,
128 | .modal-button[type=submit]:active,
129 | .modal-button[type=submit]:focus {
130 | font-weight: 400;
131 | }
132 | }
133 | }
134 | }
135 | }
136 |
137 | body.modal-open {
138 | overflow: hidden;
139 | }
140 |
141 | @-webkit-keyframes slideIn {
142 | from {
143 | margin-top: 0;
144 | }
145 | to {
146 | margin-top: 10%;
147 | }
148 | }
149 |
150 | @keyframes slideIn {
151 | from {
152 | margin-top: 0;
153 | }
154 | to {
155 | margin-top: 10%;
156 | }
157 | }
--------------------------------------------------------------------------------
/src/App.js:
--------------------------------------------------------------------------------
1 | import React, { useState, useEffect } from 'react';
2 | import moment from 'moment';
3 | import Header from './components/Header';
4 | import Footer from './components/Footer';
5 | import SettingsModal from './components/SettingsModal';
6 | import Countdown from './components/Countdown';
7 | import InfoMessage from './components/InfoMessage';
8 | import LoadingSpinner from './components/LoadingSpinner';
9 | import getCountdownDate from './utils/getCountdownDate';
10 |
11 | const App = () => {
12 | const initialCountdownSettings = {
13 | eventNameValue: '',
14 | dateValue: '',
15 | timeValue: '',
16 | ampmValue: 'am'
17 | };
18 |
19 | const [countdownSettings, setCountdownSettings] = useState({ ...getCountdownDate() });
20 | const [countdownTimer, setCountdownTimer] = useState(null);
21 | const [countdownInfoMessage, setCountdownInfoMessage] = useState('');
22 | const [modalVisibility, setModalVisibility] = useState(false);
23 |
24 | useEffect(() => {
25 | if(!countdownSettings.unixEndDate) setCountdownInfoMessage('Click the Settings button to start a new countdown.');
26 |
27 | window.addEventListener('click', event => {
28 | if(event.target.id === 'modal') setModalVisibility(false);
29 | });
30 |
31 | window.addEventListener('keydown', event => {
32 | if(modalVisibility && event.key === 'Escape') setModalVisibility(false);
33 | });
34 |
35 | modalVisibility ? document.querySelector('body').classList.add('modal-open') : document.querySelector('body').classList.remove('modal-open');
36 | }, [modalVisibility]);
37 |
38 | useEffect(() => {
39 | let timer = null;
40 |
41 | if (countdownSettings.unixEndDate) {
42 | timer = setInterval(() => playTimer(countdownSettings.unixEndDate), 1000);
43 | }
44 | getCountdownDate(countdownSettings);
45 |
46 | return () => {
47 | clearInterval(timer);
48 | timer = null;
49 | }
50 | }, [countdownSettings.unixEndDate, countdownSettings.eventName]);
51 |
52 | useEffect(() => {
53 | setCountdownSettings(getCountdownDate());
54 | }, [modalVisibility]);
55 |
56 | function playTimer(currentUnixEndDate) {
57 | const distance = currentUnixEndDate - moment().format('X');
58 |
59 | if (distance > 0) {
60 | setCountdownTimer({
61 | days: parseInt(distance / (60 * 60 * 24), 10),
62 | hours: parseInt(distance % (60 * 60 * 24) / (60 * 60), 10),
63 | mins: parseInt(distance % (60 * 60) / (60), 10),
64 | secs: parseInt(distance % 60, 10)
65 | });
66 | setCountdownInfoMessage('');
67 | }
68 | else {
69 | setCountdownInfoMessage('Countdown ended. Click the Settings button to start a new countdown.');
70 | setCountdownSettings({ ...initialCountdownSettings });
71 | setCountdownTimer(null);
72 | }
73 | }
74 |
75 | function clearCountdown() {
76 |
77 | if (!countdownSettings.unixEndDate) {
78 | alert('No countdown has been set. Please click the Settings button to start a new countdown.');
79 | }
80 | else {
81 |
82 | if (confirm('Are you sure you want to clear your currently running countdown?')) {
83 | setCountdownInfoMessage('Countdown cleared. Click the Settings button to start a new countdown.');
84 | setCountdownSettings({ ...initialCountdownSettings });
85 | setCountdownTimer(null);
86 | }
87 | }
88 | }
89 |
90 | return (
91 |
92 |
93 |
94 | {modalVisibility && }
95 | {countdownSettings.unixEndDate && !countdownTimer ? : countdownTimer ? : }
96 |
97 |
98 |
99 | );
100 | }
101 |
102 | export default App;
103 |
--------------------------------------------------------------------------------
/src/components/SettingsModal.js:
--------------------------------------------------------------------------------
1 | import React, { useState } from 'react';
2 | import moment from 'moment';
3 | import ErrorMessage from './ErrorMessage';
4 |
5 | const SettingsModal = ({ setModalVisibility, countdownSettings, setCountdownSettings }) => {
6 | const [settingsFormErrorMessage, setSettingsFormErrorMessage] = useState('');
7 |
8 | function handleChange(event) {
9 | setCountdownSettings(prevCountdownSettings => {
10 | return {
11 | ...prevCountdownSettings,
12 | [event.target.name]: event.target.value
13 | };
14 | });
15 | }
16 |
17 | function handleSubmit(event) {
18 | event.preventDefault();
19 | const eventNameValue = countdownSettings.eventNameValue.trim();
20 | const dateValue = countdownSettings.dateValue.trim();
21 | let timeValue = countdownSettings.timeValue.trim();
22 | let ampmValue = countdownSettings.ampmValue;
23 | let unixEndDate;
24 | let eventName = eventNameValue;
25 |
26 | if (!eventNameValue) {
27 | setSettingsFormErrorMessage('The event name is required');
28 | }
29 | else if (!moment(dateValue, 'MM-DD-YYYY', true).isValid()) {
30 | setSettingsFormErrorMessage('Date input must be a valid date set in MM-DD-YYYY format.');
31 | }
32 | else if (timeValue && !moment(timeValue, 'hh:mm', true).isValid()) {
33 | setSettingsFormErrorMessage('Time input must be valid according to the 12-hour clock set in hh:mm format.');
34 | }
35 | else {
36 |
37 | if (!timeValue) {
38 | timeValue = '12:00';
39 | ampmValue = 'am';
40 | }
41 |
42 | unixEndDate = Number(moment(`${dateValue} ${timeValue} ${ampmValue}`, 'MM-DD-YYYY hh:mm A').format('X'));
43 |
44 | if ((unixEndDate - moment().format('X')) < 1) {
45 | setSettingsFormErrorMessage('The countdown date must be set to a future date.');
46 | }
47 | else {
48 | setCountdownSettings(prevCountdownSettings => {
49 | return {
50 | ...prevCountdownSettings,
51 | eventNameValue,
52 | dateValue,
53 | timeValue,
54 | ampmValue,
55 | unixEndDate,
56 | eventName
57 | };
58 | });
59 | setModalVisibility(false);
60 | }
61 | }
62 | }
63 |
64 | return (
65 |
66 |
67 |
Set New Countdown
68 |
69 |
96 | {settingsFormErrorMessage &&
}
97 |
98 |
99 |
100 | );
101 | }
102 |
103 | export default SettingsModal;
--------------------------------------------------------------------------------
/docs/style.css:
--------------------------------------------------------------------------------
1 | /*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,footer,header,nav,section{display:block}h1{font-size:2em;margin:.67em 0}figcaption,figure,main{display:block}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}dfn{font-style:italic}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}img{border-style:none}svg:not(:root){overflow:hidden}button,input,optgroup,select,textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{display:inline-block;vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details,menu{display:block}summary{display:list-item}canvas{display:inline-block}template{display:none}[hidden]{display:none}
2 | /*!
3 | * Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com
4 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
5 | * Copyright 2024 Fonticons, Inc.
6 | */.fa{font-family:var(--fa-style-family, "Font Awesome 6 Free");font-weight:var(--fa-style, 900)}.fa,.fa-brands,.fa-regular,.fa-solid,.fab,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:var(--fa-display, inline-block);font-style:normal;font-variant:normal;line-height:1;text-rendering:auto}.fa-brands:before,.fa-regular:before,.fa-solid:before,.fa:before,.fab:before,.far:before,.fas:before{content:var(--fa)}.fa-classic,.fa-regular,.fa-solid,.far,.fas{font-family:"Font Awesome 6 Free"}.fa-brands,.fab{font-family:"Font Awesome 6 Brands"}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-0.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-0.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-0.1875em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin, 2.5em);padding-left:0}.fa-ul>li{position:relative}.fa-li{left:calc(var(--fa-li-width, 2em)*-1);position:absolute;text-align:center;width:var(--fa-li-width, 2em);line-height:inherit}.fa-border{border-radius:var(--fa-border-radius, 0.1em);border:var(--fa-border-width, 0.08em) var(--fa-border-style, solid) var(--fa-border-color, #eee);padding:var(--fa-border-padding, 0.2em 0.25em 0.15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin, 0.3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin, 0.3em)}.fa-beat{animation-name:fa-beat;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, ease-in-out)}.fa-bounce{animation-name:fa-bounce;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1))}.fa-fade{animation-name:fa-fade;animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1))}.fa-beat-fade,.fa-fade{animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s)}.fa-beat-fade{animation-name:fa-beat-fade;animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1))}.fa-flip{animation-name:fa-flip;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, ease-in-out)}.fa-shake{animation-name:fa-shake;animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, linear)}.fa-shake,.fa-spin{animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal)}.fa-spin{animation-name:fa-spin;animation-duration:var(--fa-animation-duration, 2s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, linear)}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{animation-name:fa-spin;animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, steps(8))}@media(prefers-reduced-motion: reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{animation-delay:-1ms;animation-duration:1ms;animation-iteration-count:1;transition-delay:0s;transition-duration:0s}}@keyframes fa-beat{0%,90%{transform:scale(1)}45%{transform:scale(var(--fa-beat-scale, 1.25))}}@keyframes fa-bounce{0%{transform:scale(1) translateY(0)}10%{transform:scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0)}30%{transform:scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em))}50%{transform:scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0)}57%{transform:scale(1) translateY(var(--fa-bounce-rebound, -0.125em))}64%{transform:scale(1) translateY(0)}to{transform:scale(1) translateY(0)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity, 0.4)}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity, 0.4);transform:scale(1)}50%{opacity:1;transform:scale(var(--fa-beat-fade-scale, 1.125))}}@keyframes fa-flip{50%{transform:rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg))}}@keyframes fa-shake{0%{transform:rotate(-15deg)}4%{transform:rotate(15deg)}8%,24%{transform:rotate(-18deg)}12%,28%{transform:rotate(18deg)}16%{transform:rotate(-22deg)}20%{transform:rotate(22deg)}32%{transform:rotate(-12deg)}36%{transform:rotate(12deg)}40%,to{transform:rotate(0deg)}}@keyframes fa-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.fa-rotate-90{transform:rotate(90deg)}.fa-rotate-180{transform:rotate(180deg)}.fa-rotate-270{transform:rotate(270deg)}.fa-flip-horizontal{transform:scaleX(-1)}.fa-flip-vertical{transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1)}.fa-rotate-by{transform:rotate(var(--fa-rotate-angle, 0))}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%;z-index:var(--fa-stack-z-index, auto)}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:var(--fa-inverse, #fff)}.fa-0{--fa:"0"}.fa-1{--fa:"1"}.fa-2{--fa:"2"}.fa-3{--fa:"3"}.fa-4{--fa:"4"}.fa-5{--fa:"5"}.fa-6{--fa:"6"}.fa-7{--fa:"7"}.fa-8{--fa:"8"}.fa-9{--fa:"9"}.fa-fill-drip{--fa:""}.fa-arrows-to-circle{--fa:""}.fa-chevron-circle-right,.fa-circle-chevron-right{--fa:""}.fa-at{--fa:"@"}.fa-trash-alt,.fa-trash-can{--fa:""}.fa-text-height{--fa:""}.fa-user-times,.fa-user-xmark{--fa:""}.fa-stethoscope{--fa:""}.fa-comment-alt,.fa-message{--fa:""}.fa-info{--fa:""}.fa-compress-alt,.fa-down-left-and-up-right-to-center{--fa:""}.fa-explosion{--fa:""}.fa-file-alt,.fa-file-lines,.fa-file-text{--fa:""}.fa-wave-square{--fa:""}.fa-ring{--fa:""}.fa-building-un{--fa:""}.fa-dice-three{--fa:""}.fa-calendar-alt,.fa-calendar-days{--fa:""}.fa-anchor-circle-check{--fa:""}.fa-building-circle-arrow-right{--fa:""}.fa-volleyball,.fa-volleyball-ball{--fa:""}.fa-arrows-up-to-line{--fa:""}.fa-sort-desc,.fa-sort-down{--fa:""}.fa-circle-minus,.fa-minus-circle{--fa:""}.fa-door-open{--fa:""}.fa-right-from-bracket,.fa-sign-out-alt{--fa:""}.fa-atom{--fa:""}.fa-soap{--fa:""}.fa-heart-music-camera-bolt,.fa-icons{--fa:""}.fa-microphone-alt-slash,.fa-microphone-lines-slash{--fa:""}.fa-bridge-circle-check{--fa:""}.fa-pump-medical{--fa:""}.fa-fingerprint{--fa:""}.fa-hand-point-right{--fa:""}.fa-magnifying-glass-location,.fa-search-location{--fa:""}.fa-forward-step,.fa-step-forward{--fa:""}.fa-face-smile-beam,.fa-smile-beam{--fa:""}.fa-flag-checkered{--fa:""}.fa-football,.fa-football-ball{--fa:""}.fa-school-circle-exclamation{--fa:""}.fa-crop{--fa:""}.fa-angle-double-down,.fa-angles-down{--fa:""}.fa-users-rectangle{--fa:""}.fa-people-roof{--fa:""}.fa-people-line{--fa:""}.fa-beer,.fa-beer-mug-empty{--fa:""}.fa-diagram-predecessor{--fa:""}.fa-arrow-up-long,.fa-long-arrow-up{--fa:""}.fa-burn,.fa-fire-flame-simple{--fa:""}.fa-male,.fa-person{--fa:""}.fa-laptop{--fa:""}.fa-file-csv{--fa:""}.fa-menorah{--fa:""}.fa-truck-plane{--fa:""}.fa-record-vinyl{--fa:""}.fa-face-grin-stars,.fa-grin-stars{--fa:""}.fa-bong{--fa:""}.fa-pastafarianism,.fa-spaghetti-monster-flying{--fa:""}.fa-arrow-down-up-across-line{--fa:""}.fa-spoon,.fa-utensil-spoon{--fa:""}.fa-jar-wheat{--fa:""}.fa-envelopes-bulk,.fa-mail-bulk{--fa:""}.fa-file-circle-exclamation{--fa:""}.fa-circle-h,.fa-hospital-symbol{--fa:""}.fa-pager{--fa:""}.fa-address-book,.fa-contact-book{--fa:""}.fa-strikethrough{--fa:""}.fa-k{--fa:"K"}.fa-landmark-flag{--fa:""}.fa-pencil,.fa-pencil-alt{--fa:""}.fa-backward{--fa:""}.fa-caret-right{--fa:""}.fa-comments{--fa:""}.fa-file-clipboard,.fa-paste{--fa:""}.fa-code-pull-request{--fa:""}.fa-clipboard-list{--fa:""}.fa-truck-loading,.fa-truck-ramp-box{--fa:""}.fa-user-check{--fa:""}.fa-vial-virus{--fa:""}.fa-sheet-plastic{--fa:""}.fa-blog{--fa:""}.fa-user-ninja{--fa:""}.fa-person-arrow-up-from-line{--fa:""}.fa-scroll-torah,.fa-torah{--fa:""}.fa-broom-ball,.fa-quidditch,.fa-quidditch-broom-ball{--fa:""}.fa-toggle-off{--fa:""}.fa-archive,.fa-box-archive{--fa:""}.fa-person-drowning{--fa:""}.fa-arrow-down-9-1,.fa-sort-numeric-desc,.fa-sort-numeric-down-alt{--fa:""}.fa-face-grin-tongue-squint,.fa-grin-tongue-squint{--fa:""}.fa-spray-can{--fa:""}.fa-truck-monster{--fa:""}.fa-w{--fa:"W"}.fa-earth-africa,.fa-globe-africa{--fa:""}.fa-rainbow{--fa:""}.fa-circle-notch{--fa:""}.fa-tablet-alt,.fa-tablet-screen-button{--fa:""}.fa-paw{--fa:""}.fa-cloud{--fa:""}.fa-trowel-bricks{--fa:""}.fa-face-flushed,.fa-flushed{--fa:""}.fa-hospital-user{--fa:""}.fa-tent-arrow-left-right{--fa:""}.fa-gavel,.fa-legal{--fa:""}.fa-binoculars{--fa:""}.fa-microphone-slash{--fa:""}.fa-box-tissue{--fa:""}.fa-motorcycle{--fa:""}.fa-bell-concierge,.fa-concierge-bell{--fa:""}.fa-pen-ruler,.fa-pencil-ruler{--fa:""}.fa-people-arrows,.fa-people-arrows-left-right{--fa:""}.fa-mars-and-venus-burst{--fa:""}.fa-caret-square-right,.fa-square-caret-right{--fa:""}.fa-cut,.fa-scissors{--fa:""}.fa-sun-plant-wilt{--fa:""}.fa-toilets-portable{--fa:""}.fa-hockey-puck{--fa:""}.fa-table{--fa:""}.fa-magnifying-glass-arrow-right{--fa:""}.fa-digital-tachograph,.fa-tachograph-digital{--fa:""}.fa-users-slash{--fa:""}.fa-clover{--fa:""}.fa-mail-reply,.fa-reply{--fa:""}.fa-star-and-crescent{--fa:""}.fa-house-fire{--fa:""}.fa-minus-square,.fa-square-minus{--fa:""}.fa-helicopter{--fa:""}.fa-compass{--fa:""}.fa-caret-square-down,.fa-square-caret-down{--fa:""}.fa-file-circle-question{--fa:""}.fa-laptop-code{--fa:""}.fa-swatchbook{--fa:""}.fa-prescription-bottle{--fa:""}.fa-bars,.fa-navicon{--fa:""}.fa-people-group{--fa:""}.fa-hourglass-3,.fa-hourglass-end{--fa:""}.fa-heart-broken,.fa-heart-crack{--fa:""}.fa-external-link-square-alt,.fa-square-up-right{--fa:""}.fa-face-kiss-beam,.fa-kiss-beam{--fa:""}.fa-film{--fa:""}.fa-ruler-horizontal{--fa:""}.fa-people-robbery{--fa:""}.fa-lightbulb{--fa:""}.fa-caret-left{--fa:""}.fa-circle-exclamation,.fa-exclamation-circle{--fa:""}.fa-school-circle-xmark{--fa:""}.fa-arrow-right-from-bracket,.fa-sign-out{--fa:""}.fa-chevron-circle-down,.fa-circle-chevron-down{--fa:""}.fa-unlock-alt,.fa-unlock-keyhole{--fa:""}.fa-cloud-showers-heavy{--fa:""}.fa-headphones-alt,.fa-headphones-simple{--fa:""}.fa-sitemap{--fa:""}.fa-circle-dollar-to-slot,.fa-donate{--fa:""}.fa-memory{--fa:""}.fa-road-spikes{--fa:""}.fa-fire-burner{--fa:""}.fa-flag{--fa:""}.fa-hanukiah{--fa:""}.fa-feather{--fa:""}.fa-volume-down,.fa-volume-low{--fa:""}.fa-comment-slash{--fa:""}.fa-cloud-sun-rain{--fa:""}.fa-compress{--fa:""}.fa-wheat-alt,.fa-wheat-awn{--fa:""}.fa-ankh{--fa:""}.fa-hands-holding-child{--fa:""}.fa-asterisk{--fa:"*"}.fa-check-square,.fa-square-check{--fa:""}.fa-peseta-sign{--fa:""}.fa-header,.fa-heading{--fa:""}.fa-ghost{--fa:""}.fa-list,.fa-list-squares{--fa:""}.fa-phone-square-alt,.fa-square-phone-flip{--fa:""}.fa-cart-plus{--fa:""}.fa-gamepad{--fa:""}.fa-circle-dot,.fa-dot-circle{--fa:""}.fa-dizzy,.fa-face-dizzy{--fa:""}.fa-egg{--fa:""}.fa-house-medical-circle-xmark{--fa:""}.fa-campground{--fa:""}.fa-folder-plus{--fa:""}.fa-futbol,.fa-futbol-ball,.fa-soccer-ball{--fa:""}.fa-paint-brush,.fa-paintbrush{--fa:""}.fa-lock{--fa:""}.fa-gas-pump{--fa:""}.fa-hot-tub,.fa-hot-tub-person{--fa:""}.fa-map-location,.fa-map-marked{--fa:""}.fa-house-flood-water{--fa:""}.fa-tree{--fa:""}.fa-bridge-lock{--fa:""}.fa-sack-dollar{--fa:""}.fa-edit,.fa-pen-to-square{--fa:""}.fa-car-side{--fa:""}.fa-share-alt,.fa-share-nodes{--fa:""}.fa-heart-circle-minus{--fa:""}.fa-hourglass-2,.fa-hourglass-half{--fa:""}.fa-microscope{--fa:""}.fa-sink{--fa:""}.fa-bag-shopping,.fa-shopping-bag{--fa:""}.fa-arrow-down-z-a,.fa-sort-alpha-desc,.fa-sort-alpha-down-alt{--fa:""}.fa-mitten{--fa:""}.fa-person-rays{--fa:""}.fa-users{--fa:""}.fa-eye-slash{--fa:""}.fa-flask-vial{--fa:""}.fa-hand,.fa-hand-paper{--fa:""}.fa-om{--fa:""}.fa-worm{--fa:""}.fa-house-circle-xmark{--fa:""}.fa-plug{--fa:""}.fa-chevron-up{--fa:""}.fa-hand-spock{--fa:""}.fa-stopwatch{--fa:""}.fa-face-kiss,.fa-kiss{--fa:""}.fa-bridge-circle-xmark{--fa:""}.fa-face-grin-tongue,.fa-grin-tongue{--fa:""}.fa-chess-bishop{--fa:""}.fa-face-grin-wink,.fa-grin-wink{--fa:""}.fa-deaf,.fa-deafness,.fa-ear-deaf,.fa-hard-of-hearing{--fa:""}.fa-road-circle-check{--fa:""}.fa-dice-five{--fa:""}.fa-rss-square,.fa-square-rss{--fa:""}.fa-land-mine-on{--fa:""}.fa-i-cursor{--fa:""}.fa-stamp{--fa:""}.fa-stairs{--fa:""}.fa-i{--fa:"I"}.fa-hryvnia,.fa-hryvnia-sign{--fa:""}.fa-pills{--fa:""}.fa-face-grin-wide,.fa-grin-alt{--fa:""}.fa-tooth{--fa:""}.fa-v{--fa:"V"}.fa-bangladeshi-taka-sign{--fa:""}.fa-bicycle{--fa:""}.fa-rod-asclepius,.fa-rod-snake,.fa-staff-aesculapius,.fa-staff-snake{--fa:""}.fa-head-side-cough-slash{--fa:""}.fa-ambulance,.fa-truck-medical{--fa:""}.fa-wheat-awn-circle-exclamation{--fa:""}.fa-snowman{--fa:""}.fa-mortar-pestle{--fa:""}.fa-road-barrier{--fa:""}.fa-school{--fa:""}.fa-igloo{--fa:""}.fa-joint{--fa:""}.fa-angle-right{--fa:""}.fa-horse{--fa:""}.fa-q{--fa:"Q"}.fa-g{--fa:"G"}.fa-notes-medical{--fa:""}.fa-temperature-2,.fa-temperature-half,.fa-thermometer-2,.fa-thermometer-half{--fa:""}.fa-dong-sign{--fa:""}.fa-capsules{--fa:""}.fa-poo-bolt,.fa-poo-storm{--fa:""}.fa-face-frown-open,.fa-frown-open{--fa:""}.fa-hand-point-up{--fa:""}.fa-money-bill{--fa:""}.fa-bookmark{--fa:""}.fa-align-justify{--fa:""}.fa-umbrella-beach{--fa:""}.fa-helmet-un{--fa:""}.fa-bullseye{--fa:""}.fa-bacon{--fa:""}.fa-hand-point-down{--fa:""}.fa-arrow-up-from-bracket{--fa:""}.fa-folder,.fa-folder-blank{--fa:""}.fa-file-medical-alt,.fa-file-waveform{--fa:""}.fa-radiation{--fa:""}.fa-chart-simple{--fa:""}.fa-mars-stroke{--fa:""}.fa-vial{--fa:""}.fa-dashboard,.fa-gauge,.fa-gauge-med,.fa-tachometer-alt-average{--fa:""}.fa-magic-wand-sparkles,.fa-wand-magic-sparkles{--fa:""}.fa-e{--fa:"E"}.fa-pen-alt,.fa-pen-clip{--fa:""}.fa-bridge-circle-exclamation{--fa:""}.fa-user{--fa:""}.fa-school-circle-check{--fa:""}.fa-dumpster{--fa:""}.fa-shuttle-van,.fa-van-shuttle{--fa:""}.fa-building-user{--fa:""}.fa-caret-square-left,.fa-square-caret-left{--fa:""}.fa-highlighter{--fa:""}.fa-key{--fa:""}.fa-bullhorn{--fa:""}.fa-globe{--fa:""}.fa-synagogue{--fa:""}.fa-person-half-dress{--fa:""}.fa-road-bridge{--fa:""}.fa-location-arrow{--fa:""}.fa-c{--fa:"C"}.fa-tablet-button{--fa:""}.fa-building-lock{--fa:""}.fa-pizza-slice{--fa:""}.fa-money-bill-wave{--fa:""}.fa-area-chart,.fa-chart-area{--fa:""}.fa-house-flag{--fa:""}.fa-person-circle-minus{--fa:""}.fa-ban,.fa-cancel{--fa:""}.fa-camera-rotate{--fa:""}.fa-air-freshener,.fa-spray-can-sparkles{--fa:""}.fa-star{--fa:""}.fa-repeat{--fa:""}.fa-cross{--fa:""}.fa-box{--fa:""}.fa-venus-mars{--fa:""}.fa-arrow-pointer,.fa-mouse-pointer{--fa:""}.fa-expand-arrows-alt,.fa-maximize{--fa:""}.fa-charging-station{--fa:""}.fa-shapes,.fa-triangle-circle-square{--fa:""}.fa-random,.fa-shuffle{--fa:""}.fa-person-running,.fa-running{--fa:""}.fa-mobile-retro{--fa:""}.fa-grip-lines-vertical{--fa:""}.fa-spider{--fa:""}.fa-hands-bound{--fa:""}.fa-file-invoice-dollar{--fa:""}.fa-plane-circle-exclamation{--fa:""}.fa-x-ray{--fa:""}.fa-spell-check{--fa:""}.fa-slash{--fa:""}.fa-computer-mouse,.fa-mouse{--fa:""}.fa-arrow-right-to-bracket,.fa-sign-in{--fa:""}.fa-shop-slash,.fa-store-alt-slash{--fa:""}.fa-server{--fa:""}.fa-virus-covid-slash{--fa:""}.fa-shop-lock{--fa:""}.fa-hourglass-1,.fa-hourglass-start{--fa:""}.fa-blender-phone{--fa:""}.fa-building-wheat{--fa:""}.fa-person-breastfeeding{--fa:""}.fa-right-to-bracket,.fa-sign-in-alt{--fa:""}.fa-venus{--fa:""}.fa-passport{--fa:""}.fa-thumb-tack-slash,.fa-thumbtack-slash{--fa:""}.fa-heart-pulse,.fa-heartbeat{--fa:""}.fa-people-carry,.fa-people-carry-box{--fa:""}.fa-temperature-high{--fa:""}.fa-microchip{--fa:""}.fa-crown{--fa:""}.fa-weight-hanging{--fa:""}.fa-xmarks-lines{--fa:""}.fa-file-prescription{--fa:""}.fa-weight,.fa-weight-scale{--fa:""}.fa-user-friends,.fa-user-group{--fa:""}.fa-arrow-up-a-z,.fa-sort-alpha-up{--fa:""}.fa-chess-knight{--fa:""}.fa-face-laugh-squint,.fa-laugh-squint{--fa:""}.fa-wheelchair{--fa:""}.fa-arrow-circle-up,.fa-circle-arrow-up{--fa:""}.fa-toggle-on{--fa:""}.fa-person-walking,.fa-walking{--fa:""}.fa-l{--fa:"L"}.fa-fire{--fa:""}.fa-bed-pulse,.fa-procedures{--fa:""}.fa-shuttle-space,.fa-space-shuttle{--fa:""}.fa-face-laugh,.fa-laugh{--fa:""}.fa-folder-open{--fa:""}.fa-heart-circle-plus{--fa:""}.fa-code-fork{--fa:""}.fa-city{--fa:""}.fa-microphone-alt,.fa-microphone-lines{--fa:""}.fa-pepper-hot{--fa:""}.fa-unlock{--fa:""}.fa-colon-sign{--fa:""}.fa-headset{--fa:""}.fa-store-slash{--fa:""}.fa-road-circle-xmark{--fa:""}.fa-user-minus{--fa:""}.fa-mars-stroke-up,.fa-mars-stroke-v{--fa:""}.fa-champagne-glasses,.fa-glass-cheers{--fa:""}.fa-clipboard{--fa:""}.fa-house-circle-exclamation{--fa:""}.fa-file-arrow-up,.fa-file-upload{--fa:""}.fa-wifi,.fa-wifi-3,.fa-wifi-strong{--fa:""}.fa-bath,.fa-bathtub{--fa:""}.fa-underline{--fa:""}.fa-user-edit,.fa-user-pen{--fa:""}.fa-signature{--fa:""}.fa-stroopwafel{--fa:""}.fa-bold{--fa:""}.fa-anchor-lock{--fa:""}.fa-building-ngo{--fa:""}.fa-manat-sign{--fa:""}.fa-not-equal{--fa:""}.fa-border-style,.fa-border-top-left{--fa:""}.fa-map-location-dot,.fa-map-marked-alt{--fa:""}.fa-jedi{--fa:""}.fa-poll,.fa-square-poll-vertical{--fa:""}.fa-mug-hot{--fa:""}.fa-battery-car,.fa-car-battery{--fa:""}.fa-gift{--fa:""}.fa-dice-two{--fa:""}.fa-chess-queen{--fa:""}.fa-glasses{--fa:""}.fa-chess-board{--fa:""}.fa-building-circle-check{--fa:""}.fa-person-chalkboard{--fa:""}.fa-mars-stroke-h,.fa-mars-stroke-right{--fa:""}.fa-hand-back-fist,.fa-hand-rock{--fa:""}.fa-caret-square-up,.fa-square-caret-up{--fa:""}.fa-cloud-showers-water{--fa:""}.fa-bar-chart,.fa-chart-bar{--fa:""}.fa-hands-bubbles,.fa-hands-wash{--fa:""}.fa-less-than-equal{--fa:""}.fa-train{--fa:""}.fa-eye-low-vision,.fa-low-vision{--fa:""}.fa-crow{--fa:""}.fa-sailboat{--fa:""}.fa-window-restore{--fa:""}.fa-plus-square,.fa-square-plus{--fa:""}.fa-torii-gate{--fa:""}.fa-frog{--fa:""}.fa-bucket{--fa:""}.fa-image{--fa:""}.fa-microphone{--fa:""}.fa-cow{--fa:""}.fa-caret-up{--fa:""}.fa-screwdriver{--fa:""}.fa-folder-closed{--fa:""}.fa-house-tsunami{--fa:""}.fa-square-nfi{--fa:""}.fa-arrow-up-from-ground-water{--fa:""}.fa-glass-martini-alt,.fa-martini-glass{--fa:""}.fa-square-binary{--fa:""}.fa-rotate-back,.fa-rotate-backward,.fa-rotate-left,.fa-undo-alt{--fa:""}.fa-columns,.fa-table-columns{--fa:""}.fa-lemon{--fa:""}.fa-head-side-mask{--fa:""}.fa-handshake{--fa:""}.fa-gem{--fa:""}.fa-dolly,.fa-dolly-box{--fa:""}.fa-smoking{--fa:""}.fa-compress-arrows-alt,.fa-minimize{--fa:""}.fa-monument{--fa:""}.fa-snowplow{--fa:""}.fa-angle-double-right,.fa-angles-right{--fa:""}.fa-cannabis{--fa:""}.fa-circle-play,.fa-play-circle{--fa:""}.fa-tablets{--fa:""}.fa-ethernet{--fa:""}.fa-eur,.fa-euro,.fa-euro-sign{--fa:""}.fa-chair{--fa:""}.fa-check-circle,.fa-circle-check{--fa:""}.fa-circle-stop,.fa-stop-circle{--fa:""}.fa-compass-drafting,.fa-drafting-compass{--fa:""}.fa-plate-wheat{--fa:""}.fa-icicles{--fa:""}.fa-person-shelter{--fa:""}.fa-neuter{--fa:""}.fa-id-badge{--fa:""}.fa-marker{--fa:""}.fa-face-laugh-beam,.fa-laugh-beam{--fa:""}.fa-helicopter-symbol{--fa:""}.fa-universal-access{--fa:""}.fa-chevron-circle-up,.fa-circle-chevron-up{--fa:""}.fa-lari-sign{--fa:""}.fa-volcano{--fa:""}.fa-person-walking-dashed-line-arrow-right{--fa:""}.fa-gbp,.fa-pound-sign,.fa-sterling-sign{--fa:""}.fa-viruses{--fa:""}.fa-square-person-confined{--fa:""}.fa-user-tie{--fa:""}.fa-arrow-down-long,.fa-long-arrow-down{--fa:""}.fa-tent-arrow-down-to-line{--fa:""}.fa-certificate{--fa:""}.fa-mail-reply-all,.fa-reply-all{--fa:""}.fa-suitcase{--fa:""}.fa-person-skating,.fa-skating{--fa:""}.fa-filter-circle-dollar,.fa-funnel-dollar{--fa:""}.fa-camera-retro{--fa:""}.fa-arrow-circle-down,.fa-circle-arrow-down{--fa:""}.fa-arrow-right-to-file,.fa-file-import{--fa:""}.fa-external-link-square,.fa-square-arrow-up-right{--fa:""}.fa-box-open{--fa:""}.fa-scroll{--fa:""}.fa-spa{--fa:""}.fa-location-pin-lock{--fa:""}.fa-pause{--fa:""}.fa-hill-avalanche{--fa:""}.fa-temperature-0,.fa-temperature-empty,.fa-thermometer-0,.fa-thermometer-empty{--fa:""}.fa-bomb{--fa:""}.fa-registered{--fa:""}.fa-address-card,.fa-contact-card,.fa-vcard{--fa:""}.fa-balance-scale-right,.fa-scale-unbalanced-flip{--fa:""}.fa-subscript{--fa:""}.fa-diamond-turn-right,.fa-directions{--fa:""}.fa-burst{--fa:""}.fa-house-laptop,.fa-laptop-house{--fa:""}.fa-face-tired,.fa-tired{--fa:""}.fa-money-bills{--fa:""}.fa-smog{--fa:""}.fa-crutch{--fa:""}.fa-cloud-arrow-up,.fa-cloud-upload,.fa-cloud-upload-alt{--fa:""}.fa-palette{--fa:""}.fa-arrows-turn-right{--fa:""}.fa-vest{--fa:""}.fa-ferry{--fa:""}.fa-arrows-down-to-people{--fa:""}.fa-seedling,.fa-sprout{--fa:""}.fa-arrows-alt-h,.fa-left-right{--fa:""}.fa-boxes-packing{--fa:""}.fa-arrow-circle-left,.fa-circle-arrow-left{--fa:""}.fa-group-arrows-rotate{--fa:""}.fa-bowl-food{--fa:""}.fa-candy-cane{--fa:""}.fa-arrow-down-wide-short,.fa-sort-amount-asc,.fa-sort-amount-down{--fa:""}.fa-cloud-bolt,.fa-thunderstorm{--fa:""}.fa-remove-format,.fa-text-slash{--fa:""}.fa-face-smile-wink,.fa-smile-wink{--fa:""}.fa-file-word{--fa:""}.fa-file-powerpoint{--fa:""}.fa-arrows-h,.fa-arrows-left-right{--fa:""}.fa-house-lock{--fa:""}.fa-cloud-arrow-down,.fa-cloud-download,.fa-cloud-download-alt{--fa:""}.fa-children{--fa:""}.fa-blackboard,.fa-chalkboard{--fa:""}.fa-user-alt-slash,.fa-user-large-slash{--fa:""}.fa-envelope-open{--fa:""}.fa-handshake-alt-slash,.fa-handshake-simple-slash{--fa:""}.fa-mattress-pillow{--fa:""}.fa-guarani-sign{--fa:""}.fa-arrows-rotate,.fa-refresh,.fa-sync{--fa:""}.fa-fire-extinguisher{--fa:""}.fa-cruzeiro-sign{--fa:""}.fa-greater-than-equal{--fa:""}.fa-shield-alt,.fa-shield-halved{--fa:""}.fa-atlas,.fa-book-atlas{--fa:""}.fa-virus{--fa:""}.fa-envelope-circle-check{--fa:""}.fa-layer-group{--fa:""}.fa-arrows-to-dot{--fa:""}.fa-archway{--fa:""}.fa-heart-circle-check{--fa:""}.fa-house-chimney-crack,.fa-house-damage{--fa:""}.fa-file-archive,.fa-file-zipper{--fa:""}.fa-square{--fa:""}.fa-glass-martini,.fa-martini-glass-empty{--fa:""}.fa-couch{--fa:""}.fa-cedi-sign{--fa:""}.fa-italic{--fa:""}.fa-table-cells-column-lock{--fa:""}.fa-church{--fa:""}.fa-comments-dollar{--fa:""}.fa-democrat{--fa:""}.fa-z{--fa:"Z"}.fa-person-skiing,.fa-skiing{--fa:""}.fa-road-lock{--fa:""}.fa-a{--fa:"A"}.fa-temperature-arrow-down,.fa-temperature-down{--fa:""}.fa-feather-alt,.fa-feather-pointed{--fa:""}.fa-p{--fa:"P"}.fa-snowflake{--fa:""}.fa-newspaper{--fa:""}.fa-ad,.fa-rectangle-ad{--fa:""}.fa-arrow-circle-right,.fa-circle-arrow-right{--fa:""}.fa-filter-circle-xmark{--fa:""}.fa-locust{--fa:""}.fa-sort,.fa-unsorted{--fa:""}.fa-list-1-2,.fa-list-numeric,.fa-list-ol{--fa:""}.fa-person-dress-burst{--fa:""}.fa-money-check-alt,.fa-money-check-dollar{--fa:""}.fa-vector-square{--fa:""}.fa-bread-slice{--fa:""}.fa-language{--fa:""}.fa-face-kiss-wink-heart,.fa-kiss-wink-heart{--fa:""}.fa-filter{--fa:""}.fa-question{--fa:"?"}.fa-file-signature{--fa:""}.fa-arrows-alt,.fa-up-down-left-right{--fa:""}.fa-house-chimney-user{--fa:""}.fa-hand-holding-heart{--fa:""}.fa-puzzle-piece{--fa:""}.fa-money-check{--fa:""}.fa-star-half-alt,.fa-star-half-stroke{--fa:""}.fa-code{--fa:""}.fa-glass-whiskey,.fa-whiskey-glass{--fa:""}.fa-building-circle-exclamation{--fa:""}.fa-magnifying-glass-chart{--fa:""}.fa-arrow-up-right-from-square,.fa-external-link{--fa:""}.fa-cubes-stacked{--fa:""}.fa-krw,.fa-won,.fa-won-sign{--fa:""}.fa-virus-covid{--fa:""}.fa-austral-sign{--fa:""}.fa-f{--fa:"F"}.fa-leaf{--fa:""}.fa-road{--fa:""}.fa-cab,.fa-taxi{--fa:""}.fa-person-circle-plus{--fa:""}.fa-chart-pie,.fa-pie-chart{--fa:""}.fa-bolt-lightning{--fa:""}.fa-sack-xmark{--fa:""}.fa-file-excel{--fa:""}.fa-file-contract{--fa:""}.fa-fish-fins{--fa:""}.fa-building-flag{--fa:""}.fa-face-grin-beam,.fa-grin-beam{--fa:""}.fa-object-ungroup{--fa:""}.fa-poop{--fa:""}.fa-location-pin,.fa-map-marker{--fa:""}.fa-kaaba{--fa:""}.fa-toilet-paper{--fa:""}.fa-hard-hat,.fa-hat-hard,.fa-helmet-safety{--fa:""}.fa-eject{--fa:""}.fa-arrow-alt-circle-right,.fa-circle-right{--fa:""}.fa-plane-circle-check{--fa:""}.fa-face-rolling-eyes,.fa-meh-rolling-eyes{--fa:""}.fa-object-group{--fa:""}.fa-chart-line,.fa-line-chart{--fa:""}.fa-mask-ventilator{--fa:""}.fa-arrow-right{--fa:""}.fa-map-signs,.fa-signs-post{--fa:""}.fa-cash-register{--fa:""}.fa-person-circle-question{--fa:""}.fa-h{--fa:"H"}.fa-tarp{--fa:""}.fa-screwdriver-wrench,.fa-tools{--fa:""}.fa-arrows-to-eye{--fa:""}.fa-plug-circle-bolt{--fa:""}.fa-heart{--fa:""}.fa-mars-and-venus{--fa:""}.fa-home-user,.fa-house-user{--fa:""}.fa-dumpster-fire{--fa:""}.fa-house-crack{--fa:""}.fa-cocktail,.fa-martini-glass-citrus{--fa:""}.fa-face-surprise,.fa-surprise{--fa:""}.fa-bottle-water{--fa:""}.fa-circle-pause,.fa-pause-circle{--fa:""}.fa-toilet-paper-slash{--fa:""}.fa-apple-alt,.fa-apple-whole{--fa:""}.fa-kitchen-set{--fa:""}.fa-r{--fa:"R"}.fa-temperature-1,.fa-temperature-quarter,.fa-thermometer-1,.fa-thermometer-quarter{--fa:""}.fa-cube{--fa:""}.fa-bitcoin-sign{--fa:""}.fa-shield-dog{--fa:""}.fa-solar-panel{--fa:""}.fa-lock-open{--fa:""}.fa-elevator{--fa:""}.fa-money-bill-transfer{--fa:""}.fa-money-bill-trend-up{--fa:""}.fa-house-flood-water-circle-arrow-right{--fa:""}.fa-poll-h,.fa-square-poll-horizontal{--fa:""}.fa-circle{--fa:""}.fa-backward-fast,.fa-fast-backward{--fa:""}.fa-recycle{--fa:""}.fa-user-astronaut{--fa:""}.fa-plane-slash{--fa:""}.fa-trademark{--fa:""}.fa-basketball,.fa-basketball-ball{--fa:""}.fa-satellite-dish{--fa:""}.fa-arrow-alt-circle-up,.fa-circle-up{--fa:""}.fa-mobile-alt,.fa-mobile-screen-button{--fa:""}.fa-volume-high,.fa-volume-up{--fa:""}.fa-users-rays{--fa:""}.fa-wallet{--fa:""}.fa-clipboard-check{--fa:""}.fa-file-audio{--fa:""}.fa-burger,.fa-hamburger{--fa:""}.fa-wrench{--fa:""}.fa-bugs{--fa:""}.fa-rupee,.fa-rupee-sign{--fa:""}.fa-file-image{--fa:""}.fa-circle-question,.fa-question-circle{--fa:""}.fa-plane-departure{--fa:""}.fa-handshake-slash{--fa:""}.fa-book-bookmark{--fa:""}.fa-code-branch{--fa:""}.fa-hat-cowboy{--fa:""}.fa-bridge{--fa:""}.fa-phone-alt,.fa-phone-flip{--fa:""}.fa-truck-front{--fa:""}.fa-cat{--fa:""}.fa-anchor-circle-exclamation{--fa:""}.fa-truck-field{--fa:""}.fa-route{--fa:""}.fa-clipboard-question{--fa:""}.fa-panorama{--fa:""}.fa-comment-medical{--fa:""}.fa-teeth-open{--fa:""}.fa-file-circle-minus{--fa:""}.fa-tags{--fa:""}.fa-wine-glass{--fa:""}.fa-fast-forward,.fa-forward-fast{--fa:""}.fa-face-meh-blank,.fa-meh-blank{--fa:""}.fa-parking,.fa-square-parking{--fa:""}.fa-house-signal{--fa:""}.fa-bars-progress,.fa-tasks-alt{--fa:""}.fa-faucet-drip{--fa:""}.fa-cart-flatbed,.fa-dolly-flatbed{--fa:""}.fa-ban-smoking,.fa-smoking-ban{--fa:""}.fa-terminal{--fa:""}.fa-mobile-button{--fa:""}.fa-house-medical-flag{--fa:""}.fa-basket-shopping,.fa-shopping-basket{--fa:""}.fa-tape{--fa:""}.fa-bus-alt,.fa-bus-simple{--fa:""}.fa-eye{--fa:""}.fa-face-sad-cry,.fa-sad-cry{--fa:""}.fa-audio-description{--fa:""}.fa-person-military-to-person{--fa:""}.fa-file-shield{--fa:""}.fa-user-slash{--fa:""}.fa-pen{--fa:""}.fa-tower-observation{--fa:""}.fa-file-code{--fa:""}.fa-signal,.fa-signal-5,.fa-signal-perfect{--fa:""}.fa-bus{--fa:""}.fa-heart-circle-xmark{--fa:""}.fa-home-lg,.fa-house-chimney{--fa:""}.fa-window-maximize{--fa:""}.fa-face-frown,.fa-frown{--fa:""}.fa-prescription{--fa:""}.fa-shop,.fa-store-alt{--fa:""}.fa-floppy-disk,.fa-save{--fa:""}.fa-vihara{--fa:""}.fa-balance-scale-left,.fa-scale-unbalanced{--fa:""}.fa-sort-asc,.fa-sort-up{--fa:""}.fa-comment-dots,.fa-commenting{--fa:""}.fa-plant-wilt{--fa:""}.fa-diamond{--fa:""}.fa-face-grin-squint,.fa-grin-squint{--fa:""}.fa-hand-holding-dollar,.fa-hand-holding-usd{--fa:""}.fa-chart-diagram{--fa:""}.fa-bacterium{--fa:""}.fa-hand-pointer{--fa:""}.fa-drum-steelpan{--fa:""}.fa-hand-scissors{--fa:""}.fa-hands-praying,.fa-praying-hands{--fa:""}.fa-arrow-right-rotate,.fa-arrow-rotate-forward,.fa-arrow-rotate-right,.fa-redo{--fa:""}.fa-biohazard{--fa:""}.fa-location,.fa-location-crosshairs{--fa:""}.fa-mars-double{--fa:""}.fa-child-dress{--fa:""}.fa-users-between-lines{--fa:""}.fa-lungs-virus{--fa:""}.fa-face-grin-tears,.fa-grin-tears{--fa:""}.fa-phone{--fa:""}.fa-calendar-times,.fa-calendar-xmark{--fa:""}.fa-child-reaching{--fa:""}.fa-head-side-virus{--fa:""}.fa-user-cog,.fa-user-gear{--fa:""}.fa-arrow-up-1-9,.fa-sort-numeric-up{--fa:""}.fa-door-closed{--fa:""}.fa-shield-virus{--fa:""}.fa-dice-six{--fa:""}.fa-mosquito-net{--fa:""}.fa-file-fragment{--fa:""}.fa-bridge-water{--fa:""}.fa-person-booth{--fa:""}.fa-text-width{--fa:""}.fa-hat-wizard{--fa:""}.fa-pen-fancy{--fa:""}.fa-digging,.fa-person-digging{--fa:""}.fa-trash{--fa:""}.fa-gauge-simple,.fa-gauge-simple-med,.fa-tachometer-average{--fa:""}.fa-book-medical{--fa:""}.fa-poo{--fa:""}.fa-quote-right,.fa-quote-right-alt{--fa:""}.fa-shirt,.fa-t-shirt,.fa-tshirt{--fa:""}.fa-cubes{--fa:""}.fa-divide{--fa:""}.fa-tenge,.fa-tenge-sign{--fa:""}.fa-headphones{--fa:""}.fa-hands-holding{--fa:""}.fa-hands-clapping{--fa:""}.fa-republican{--fa:""}.fa-arrow-left{--fa:""}.fa-person-circle-xmark{--fa:""}.fa-ruler{--fa:""}.fa-align-left{--fa:""}.fa-dice-d6{--fa:""}.fa-restroom{--fa:""}.fa-j{--fa:"J"}.fa-users-viewfinder{--fa:""}.fa-file-video{--fa:""}.fa-external-link-alt,.fa-up-right-from-square{--fa:""}.fa-table-cells,.fa-th{--fa:""}.fa-file-pdf{--fa:""}.fa-bible,.fa-book-bible{--fa:""}.fa-o{--fa:"O"}.fa-medkit,.fa-suitcase-medical{--fa:""}.fa-user-secret{--fa:""}.fa-otter{--fa:""}.fa-female,.fa-person-dress{--fa:""}.fa-comment-dollar{--fa:""}.fa-briefcase-clock,.fa-business-time{--fa:""}.fa-table-cells-large,.fa-th-large{--fa:""}.fa-book-tanakh,.fa-tanakh{--fa:""}.fa-phone-volume,.fa-volume-control-phone{--fa:""}.fa-hat-cowboy-side{--fa:""}.fa-clipboard-user{--fa:""}.fa-child{--fa:""}.fa-lira-sign{--fa:""}.fa-satellite{--fa:""}.fa-plane-lock{--fa:""}.fa-tag{--fa:""}.fa-comment{--fa:""}.fa-birthday-cake,.fa-cake,.fa-cake-candles{--fa:""}.fa-envelope{--fa:""}.fa-angle-double-up,.fa-angles-up{--fa:""}.fa-paperclip{--fa:""}.fa-arrow-right-to-city{--fa:""}.fa-ribbon{--fa:""}.fa-lungs{--fa:""}.fa-arrow-up-9-1,.fa-sort-numeric-up-alt{--fa:""}.fa-litecoin-sign{--fa:""}.fa-border-none{--fa:""}.fa-circle-nodes{--fa:""}.fa-parachute-box{--fa:""}.fa-indent{--fa:""}.fa-truck-field-un{--fa:""}.fa-hourglass,.fa-hourglass-empty{--fa:""}.fa-mountain{--fa:""}.fa-user-doctor,.fa-user-md{--fa:""}.fa-circle-info,.fa-info-circle{--fa:""}.fa-cloud-meatball{--fa:""}.fa-camera,.fa-camera-alt{--fa:""}.fa-square-virus{--fa:""}.fa-meteor{--fa:""}.fa-car-on{--fa:""}.fa-sleigh{--fa:""}.fa-arrow-down-1-9,.fa-sort-numeric-asc,.fa-sort-numeric-down{--fa:""}.fa-hand-holding-droplet,.fa-hand-holding-water{--fa:""}.fa-water{--fa:""}.fa-calendar-check{--fa:""}.fa-braille{--fa:""}.fa-prescription-bottle-alt,.fa-prescription-bottle-medical{--fa:""}.fa-landmark{--fa:""}.fa-truck{--fa:""}.fa-crosshairs{--fa:""}.fa-person-cane{--fa:""}.fa-tent{--fa:""}.fa-vest-patches{--fa:""}.fa-check-double{--fa:""}.fa-arrow-down-a-z,.fa-sort-alpha-asc,.fa-sort-alpha-down{--fa:""}.fa-money-bill-wheat{--fa:""}.fa-cookie{--fa:""}.fa-arrow-left-rotate,.fa-arrow-rotate-back,.fa-arrow-rotate-backward,.fa-arrow-rotate-left,.fa-undo{--fa:""}.fa-hard-drive,.fa-hdd{--fa:""}.fa-face-grin-squint-tears,.fa-grin-squint-tears{--fa:""}.fa-dumbbell{--fa:""}.fa-list-alt,.fa-rectangle-list{--fa:""}.fa-tarp-droplet{--fa:""}.fa-house-medical-circle-check{--fa:""}.fa-person-skiing-nordic,.fa-skiing-nordic{--fa:""}.fa-calendar-plus{--fa:""}.fa-plane-arrival{--fa:""}.fa-arrow-alt-circle-left,.fa-circle-left{--fa:""}.fa-subway,.fa-train-subway{--fa:""}.fa-chart-gantt{--fa:""}.fa-indian-rupee,.fa-indian-rupee-sign,.fa-inr{--fa:""}.fa-crop-alt,.fa-crop-simple{--fa:""}.fa-money-bill-1,.fa-money-bill-alt{--fa:""}.fa-left-long,.fa-long-arrow-alt-left{--fa:""}.fa-dna{--fa:""}.fa-virus-slash{--fa:""}.fa-minus,.fa-subtract{--fa:""}.fa-chess{--fa:""}.fa-arrow-left-long,.fa-long-arrow-left{--fa:""}.fa-plug-circle-check{--fa:""}.fa-street-view{--fa:""}.fa-franc-sign{--fa:""}.fa-volume-off{--fa:""}.fa-american-sign-language-interpreting,.fa-asl-interpreting,.fa-hands-american-sign-language-interpreting,.fa-hands-asl-interpreting{--fa:""}.fa-cog,.fa-gear{--fa:""}.fa-droplet-slash,.fa-tint-slash{--fa:""}.fa-mosque{--fa:""}.fa-mosquito{--fa:""}.fa-star-of-david{--fa:""}.fa-person-military-rifle{--fa:""}.fa-cart-shopping,.fa-shopping-cart{--fa:""}.fa-vials{--fa:""}.fa-plug-circle-plus{--fa:""}.fa-place-of-worship{--fa:""}.fa-grip-vertical{--fa:""}.fa-hexagon-nodes{--fa:""}.fa-arrow-turn-up,.fa-level-up{--fa:""}.fa-u{--fa:"U"}.fa-square-root-alt,.fa-square-root-variable{--fa:""}.fa-clock,.fa-clock-four{--fa:""}.fa-backward-step,.fa-step-backward{--fa:""}.fa-pallet{--fa:""}.fa-faucet{--fa:""}.fa-baseball-bat-ball{--fa:""}.fa-s{--fa:"S"}.fa-timeline{--fa:""}.fa-keyboard{--fa:""}.fa-caret-down{--fa:""}.fa-clinic-medical,.fa-house-chimney-medical{--fa:""}.fa-temperature-3,.fa-temperature-three-quarters,.fa-thermometer-3,.fa-thermometer-three-quarters{--fa:""}.fa-mobile-android-alt,.fa-mobile-screen{--fa:""}.fa-plane-up{--fa:""}.fa-piggy-bank{--fa:""}.fa-battery-3,.fa-battery-half{--fa:""}.fa-mountain-city{--fa:""}.fa-coins{--fa:""}.fa-khanda{--fa:""}.fa-sliders,.fa-sliders-h{--fa:""}.fa-folder-tree{--fa:""}.fa-network-wired{--fa:""}.fa-map-pin{--fa:""}.fa-hamsa{--fa:""}.fa-cent-sign{--fa:""}.fa-flask{--fa:""}.fa-person-pregnant{--fa:""}.fa-wand-sparkles{--fa:""}.fa-ellipsis-v,.fa-ellipsis-vertical{--fa:""}.fa-ticket{--fa:""}.fa-power-off{--fa:""}.fa-long-arrow-alt-right,.fa-right-long{--fa:""}.fa-flag-usa{--fa:""}.fa-laptop-file{--fa:""}.fa-teletype,.fa-tty{--fa:""}.fa-diagram-next{--fa:""}.fa-person-rifle{--fa:""}.fa-house-medical-circle-exclamation{--fa:""}.fa-closed-captioning{--fa:""}.fa-hiking,.fa-person-hiking{--fa:""}.fa-venus-double{--fa:""}.fa-images{--fa:""}.fa-calculator{--fa:""}.fa-people-pulling{--fa:""}.fa-n{--fa:"N"}.fa-cable-car,.fa-tram{--fa:""}.fa-cloud-rain{--fa:""}.fa-building-circle-xmark{--fa:""}.fa-ship{--fa:""}.fa-arrows-down-to-line{--fa:""}.fa-download{--fa:""}.fa-face-grin,.fa-grin{--fa:""}.fa-backspace,.fa-delete-left{--fa:""}.fa-eye-dropper,.fa-eye-dropper-empty,.fa-eyedropper{--fa:""}.fa-file-circle-check{--fa:""}.fa-forward{--fa:""}.fa-mobile,.fa-mobile-android,.fa-mobile-phone{--fa:""}.fa-face-meh,.fa-meh{--fa:""}.fa-align-center{--fa:""}.fa-book-dead,.fa-book-skull{--fa:""}.fa-drivers-license,.fa-id-card{--fa:""}.fa-dedent,.fa-outdent{--fa:""}.fa-heart-circle-exclamation{--fa:""}.fa-home,.fa-home-alt,.fa-home-lg-alt,.fa-house{--fa:""}.fa-calendar-week{--fa:""}.fa-laptop-medical{--fa:""}.fa-b{--fa:"B"}.fa-file-medical{--fa:""}.fa-dice-one{--fa:""}.fa-kiwi-bird{--fa:""}.fa-arrow-right-arrow-left,.fa-exchange{--fa:""}.fa-redo-alt,.fa-rotate-forward,.fa-rotate-right{--fa:""}.fa-cutlery,.fa-utensils{--fa:""}.fa-arrow-up-wide-short,.fa-sort-amount-up{--fa:""}.fa-mill-sign{--fa:""}.fa-bowl-rice{--fa:""}.fa-skull{--fa:""}.fa-broadcast-tower,.fa-tower-broadcast{--fa:""}.fa-truck-pickup{--fa:""}.fa-long-arrow-alt-up,.fa-up-long{--fa:""}.fa-stop{--fa:""}.fa-code-merge{--fa:""}.fa-upload{--fa:""}.fa-hurricane{--fa:""}.fa-mound{--fa:""}.fa-toilet-portable{--fa:""}.fa-compact-disc{--fa:""}.fa-file-arrow-down,.fa-file-download{--fa:""}.fa-caravan{--fa:""}.fa-shield-cat{--fa:""}.fa-bolt,.fa-zap{--fa:""}.fa-glass-water{--fa:""}.fa-oil-well{--fa:""}.fa-vault{--fa:""}.fa-mars{--fa:""}.fa-toilet{--fa:""}.fa-plane-circle-xmark{--fa:""}.fa-cny,.fa-jpy,.fa-rmb,.fa-yen,.fa-yen-sign{--fa:""}.fa-rouble,.fa-rub,.fa-ruble,.fa-ruble-sign{--fa:""}.fa-sun{--fa:""}.fa-guitar{--fa:""}.fa-face-laugh-wink,.fa-laugh-wink{--fa:""}.fa-horse-head{--fa:""}.fa-bore-hole{--fa:""}.fa-industry{--fa:""}.fa-arrow-alt-circle-down,.fa-circle-down{--fa:""}.fa-arrows-turn-to-dots{--fa:""}.fa-florin-sign{--fa:""}.fa-arrow-down-short-wide,.fa-sort-amount-desc,.fa-sort-amount-down-alt{--fa:""}.fa-less-than{--fa:"<"}.fa-angle-down{--fa:""}.fa-car-tunnel{--fa:""}.fa-head-side-cough{--fa:""}.fa-grip-lines{--fa:""}.fa-thumbs-down{--fa:""}.fa-user-lock{--fa:""}.fa-arrow-right-long,.fa-long-arrow-right{--fa:""}.fa-anchor-circle-xmark{--fa:""}.fa-ellipsis,.fa-ellipsis-h{--fa:""}.fa-chess-pawn{--fa:""}.fa-first-aid,.fa-kit-medical{--fa:""}.fa-person-through-window{--fa:""}.fa-toolbox{--fa:""}.fa-hands-holding-circle{--fa:""}.fa-bug{--fa:""}.fa-credit-card,.fa-credit-card-alt{--fa:""}.fa-automobile,.fa-car{--fa:""}.fa-hand-holding-hand{--fa:""}.fa-book-open-reader,.fa-book-reader{--fa:""}.fa-mountain-sun{--fa:""}.fa-arrows-left-right-to-line{--fa:""}.fa-dice-d20{--fa:""}.fa-truck-droplet{--fa:""}.fa-file-circle-xmark{--fa:""}.fa-temperature-arrow-up,.fa-temperature-up{--fa:""}.fa-medal{--fa:""}.fa-bed{--fa:""}.fa-h-square,.fa-square-h{--fa:""}.fa-podcast{--fa:""}.fa-temperature-4,.fa-temperature-full,.fa-thermometer-4,.fa-thermometer-full{--fa:""}.fa-bell{--fa:""}.fa-superscript{--fa:""}.fa-plug-circle-xmark{--fa:""}.fa-star-of-life{--fa:""}.fa-phone-slash{--fa:""}.fa-paint-roller{--fa:""}.fa-hands-helping,.fa-handshake-angle{--fa:""}.fa-location-dot,.fa-map-marker-alt{--fa:""}.fa-file{--fa:""}.fa-greater-than{--fa:">"}.fa-person-swimming,.fa-swimmer{--fa:""}.fa-arrow-down{--fa:""}.fa-droplet,.fa-tint{--fa:""}.fa-eraser{--fa:""}.fa-earth,.fa-earth-america,.fa-earth-americas,.fa-globe-americas{--fa:""}.fa-person-burst{--fa:""}.fa-dove{--fa:""}.fa-battery-0,.fa-battery-empty{--fa:""}.fa-socks{--fa:""}.fa-inbox{--fa:""}.fa-section{--fa:""}.fa-gauge-high,.fa-tachometer-alt,.fa-tachometer-alt-fast{--fa:""}.fa-envelope-open-text{--fa:""}.fa-hospital,.fa-hospital-alt,.fa-hospital-wide{--fa:""}.fa-wine-bottle{--fa:""}.fa-chess-rook{--fa:""}.fa-bars-staggered,.fa-reorder,.fa-stream{--fa:""}.fa-dharmachakra{--fa:""}.fa-hotdog{--fa:""}.fa-blind,.fa-person-walking-with-cane{--fa:""}.fa-drum{--fa:""}.fa-ice-cream{--fa:""}.fa-heart-circle-bolt{--fa:""}.fa-fax{--fa:""}.fa-paragraph{--fa:""}.fa-check-to-slot,.fa-vote-yea{--fa:""}.fa-star-half{--fa:""}.fa-boxes,.fa-boxes-alt,.fa-boxes-stacked{--fa:""}.fa-chain,.fa-link{--fa:""}.fa-assistive-listening-systems,.fa-ear-listen{--fa:""}.fa-tree-city{--fa:""}.fa-play{--fa:""}.fa-font{--fa:""}.fa-table-cells-row-lock{--fa:""}.fa-rupiah-sign{--fa:""}.fa-magnifying-glass,.fa-search{--fa:""}.fa-ping-pong-paddle-ball,.fa-table-tennis,.fa-table-tennis-paddle-ball{--fa:""}.fa-diagnoses,.fa-person-dots-from-line{--fa:""}.fa-trash-can-arrow-up,.fa-trash-restore-alt{--fa:""}.fa-naira-sign{--fa:""}.fa-cart-arrow-down{--fa:""}.fa-walkie-talkie{--fa:""}.fa-file-edit,.fa-file-pen{--fa:""}.fa-receipt{--fa:""}.fa-pen-square,.fa-pencil-square,.fa-square-pen{--fa:""}.fa-suitcase-rolling{--fa:""}.fa-person-circle-exclamation{--fa:""}.fa-chevron-down{--fa:""}.fa-battery,.fa-battery-5,.fa-battery-full{--fa:""}.fa-skull-crossbones{--fa:""}.fa-code-compare{--fa:""}.fa-list-dots,.fa-list-ul{--fa:""}.fa-school-lock{--fa:""}.fa-tower-cell{--fa:""}.fa-down-long,.fa-long-arrow-alt-down{--fa:""}.fa-ranking-star{--fa:""}.fa-chess-king{--fa:""}.fa-person-harassing{--fa:""}.fa-brazilian-real-sign{--fa:""}.fa-landmark-alt,.fa-landmark-dome{--fa:""}.fa-arrow-up{--fa:""}.fa-television,.fa-tv,.fa-tv-alt{--fa:""}.fa-shrimp{--fa:""}.fa-list-check,.fa-tasks{--fa:""}.fa-jug-detergent{--fa:""}.fa-circle-user,.fa-user-circle{--fa:""}.fa-user-shield{--fa:""}.fa-wind{--fa:""}.fa-car-burst,.fa-car-crash{--fa:""}.fa-y{--fa:"Y"}.fa-person-snowboarding,.fa-snowboarding{--fa:""}.fa-shipping-fast,.fa-truck-fast{--fa:""}.fa-fish{--fa:""}.fa-user-graduate{--fa:""}.fa-adjust,.fa-circle-half-stroke{--fa:""}.fa-clapperboard{--fa:""}.fa-circle-radiation,.fa-radiation-alt{--fa:""}.fa-baseball,.fa-baseball-ball{--fa:""}.fa-jet-fighter-up{--fa:""}.fa-diagram-project,.fa-project-diagram{--fa:""}.fa-copy{--fa:""}.fa-volume-mute,.fa-volume-times,.fa-volume-xmark{--fa:""}.fa-hand-sparkles{--fa:""}.fa-grip,.fa-grip-horizontal{--fa:""}.fa-share-from-square,.fa-share-square{--fa:""}.fa-child-combatant,.fa-child-rifle{--fa:""}.fa-gun{--fa:""}.fa-phone-square,.fa-square-phone{--fa:""}.fa-add,.fa-plus{--fa:"+"}.fa-expand{--fa:""}.fa-computer{--fa:""}.fa-close,.fa-multiply,.fa-remove,.fa-times,.fa-xmark{--fa:""}.fa-arrows,.fa-arrows-up-down-left-right{--fa:""}.fa-chalkboard-teacher,.fa-chalkboard-user{--fa:""}.fa-peso-sign{--fa:""}.fa-building-shield{--fa:""}.fa-baby{--fa:""}.fa-users-line{--fa:""}.fa-quote-left,.fa-quote-left-alt{--fa:""}.fa-tractor{--fa:""}.fa-trash-arrow-up,.fa-trash-restore{--fa:""}.fa-arrow-down-up-lock{--fa:""}.fa-lines-leaning{--fa:""}.fa-ruler-combined{--fa:""}.fa-copyright{--fa:""}.fa-equals{--fa:"="}.fa-blender{--fa:""}.fa-teeth{--fa:""}.fa-ils,.fa-shekel,.fa-shekel-sign,.fa-sheqel,.fa-sheqel-sign{--fa:""}.fa-map{--fa:""}.fa-rocket{--fa:""}.fa-photo-film,.fa-photo-video{--fa:""}.fa-folder-minus{--fa:""}.fa-hexagon-nodes-bolt{--fa:""}.fa-store{--fa:""}.fa-arrow-trend-up{--fa:""}.fa-plug-circle-minus{--fa:""}.fa-sign,.fa-sign-hanging{--fa:""}.fa-bezier-curve{--fa:""}.fa-bell-slash{--fa:""}.fa-tablet,.fa-tablet-android{--fa:""}.fa-school-flag{--fa:""}.fa-fill{--fa:""}.fa-angle-up{--fa:""}.fa-drumstick-bite{--fa:""}.fa-holly-berry{--fa:""}.fa-chevron-left{--fa:""}.fa-bacteria{--fa:""}.fa-hand-lizard{--fa:""}.fa-notdef{--fa:""}.fa-disease{--fa:""}.fa-briefcase-medical{--fa:""}.fa-genderless{--fa:""}.fa-chevron-right{--fa:""}.fa-retweet{--fa:""}.fa-car-alt,.fa-car-rear{--fa:""}.fa-pump-soap{--fa:""}.fa-video-slash{--fa:""}.fa-battery-2,.fa-battery-quarter{--fa:""}.fa-radio{--fa:""}.fa-baby-carriage,.fa-carriage-baby{--fa:""}.fa-traffic-light{--fa:""}.fa-thermometer{--fa:""}.fa-vr-cardboard{--fa:""}.fa-hand-middle-finger{--fa:""}.fa-percent,.fa-percentage{--fa:"%"}.fa-truck-moving{--fa:""}.fa-glass-water-droplet{--fa:""}.fa-display{--fa:""}.fa-face-smile,.fa-smile{--fa:""}.fa-thumb-tack,.fa-thumbtack{--fa:""}.fa-trophy{--fa:""}.fa-person-praying,.fa-pray{--fa:""}.fa-hammer{--fa:""}.fa-hand-peace{--fa:""}.fa-rotate,.fa-sync-alt{--fa:""}.fa-spinner{--fa:""}.fa-robot{--fa:""}.fa-peace{--fa:""}.fa-cogs,.fa-gears{--fa:""}.fa-warehouse{--fa:""}.fa-arrow-up-right-dots{--fa:""}.fa-splotch{--fa:""}.fa-face-grin-hearts,.fa-grin-hearts{--fa:""}.fa-dice-four{--fa:""}.fa-sim-card{--fa:""}.fa-transgender,.fa-transgender-alt{--fa:""}.fa-mercury{--fa:""}.fa-arrow-turn-down,.fa-level-down{--fa:""}.fa-person-falling-burst{--fa:""}.fa-award{--fa:""}.fa-ticket-alt,.fa-ticket-simple{--fa:""}.fa-building{--fa:""}.fa-angle-double-left,.fa-angles-left{--fa:""}.fa-qrcode{--fa:""}.fa-clock-rotate-left,.fa-history{--fa:""}.fa-face-grin-beam-sweat,.fa-grin-beam-sweat{--fa:""}.fa-arrow-right-from-file,.fa-file-export{--fa:""}.fa-shield,.fa-shield-blank{--fa:""}.fa-arrow-up-short-wide,.fa-sort-amount-up-alt{--fa:""}.fa-comment-nodes{--fa:""}.fa-house-medical{--fa:""}.fa-golf-ball,.fa-golf-ball-tee{--fa:""}.fa-chevron-circle-left,.fa-circle-chevron-left{--fa:""}.fa-house-chimney-window{--fa:""}.fa-pen-nib{--fa:""}.fa-tent-arrow-turn-left{--fa:""}.fa-tents{--fa:""}.fa-magic,.fa-wand-magic{--fa:""}.fa-dog{--fa:""}.fa-carrot{--fa:""}.fa-moon{--fa:""}.fa-wine-glass-alt,.fa-wine-glass-empty{--fa:""}.fa-cheese{--fa:""}.fa-yin-yang{--fa:""}.fa-music{--fa:""}.fa-code-commit{--fa:""}.fa-temperature-low{--fa:""}.fa-biking,.fa-person-biking{--fa:""}.fa-broom{--fa:""}.fa-shield-heart{--fa:""}.fa-gopuram{--fa:""}.fa-earth-oceania,.fa-globe-oceania{--fa:""}.fa-square-xmark,.fa-times-square,.fa-xmark-square{--fa:""}.fa-hashtag{--fa:"#"}.fa-expand-alt,.fa-up-right-and-down-left-from-center{--fa:""}.fa-oil-can{--fa:""}.fa-t{--fa:"T"}.fa-hippo{--fa:""}.fa-chart-column{--fa:""}.fa-infinity{--fa:""}.fa-vial-circle-check{--fa:""}.fa-person-arrow-down-to-line{--fa:""}.fa-voicemail{--fa:""}.fa-fan{--fa:""}.fa-person-walking-luggage{--fa:""}.fa-arrows-alt-v,.fa-up-down{--fa:""}.fa-cloud-moon-rain{--fa:""}.fa-calendar{--fa:""}.fa-trailer{--fa:""}.fa-bahai,.fa-haykal{--fa:""}.fa-sd-card{--fa:""}.fa-dragon{--fa:""}.fa-shoe-prints{--fa:""}.fa-circle-plus,.fa-plus-circle{--fa:""}.fa-face-grin-tongue-wink,.fa-grin-tongue-wink{--fa:""}.fa-hand-holding{--fa:""}.fa-plug-circle-exclamation{--fa:""}.fa-chain-broken,.fa-chain-slash,.fa-link-slash,.fa-unlink{--fa:""}.fa-clone{--fa:""}.fa-person-walking-arrow-loop-left{--fa:""}.fa-arrow-up-z-a,.fa-sort-alpha-up-alt{--fa:""}.fa-fire-alt,.fa-fire-flame-curved{--fa:""}.fa-tornado{--fa:""}.fa-file-circle-plus{--fa:""}.fa-book-quran,.fa-quran{--fa:""}.fa-anchor{--fa:""}.fa-border-all{--fa:""}.fa-angry,.fa-face-angry{--fa:""}.fa-cookie-bite{--fa:""}.fa-arrow-trend-down{--fa:""}.fa-feed,.fa-rss{--fa:""}.fa-draw-polygon{--fa:""}.fa-balance-scale,.fa-scale-balanced{--fa:""}.fa-gauge-simple-high,.fa-tachometer,.fa-tachometer-fast{--fa:""}.fa-shower{--fa:""}.fa-desktop,.fa-desktop-alt{--fa:""}.fa-m{--fa:"M"}.fa-table-list,.fa-th-list{--fa:""}.fa-comment-sms,.fa-sms{--fa:""}.fa-book{--fa:""}.fa-user-plus{--fa:""}.fa-check{--fa:""}.fa-battery-4,.fa-battery-three-quarters{--fa:""}.fa-house-circle-check{--fa:""}.fa-angle-left{--fa:""}.fa-diagram-successor{--fa:""}.fa-truck-arrow-right{--fa:""}.fa-arrows-split-up-and-left{--fa:""}.fa-fist-raised,.fa-hand-fist{--fa:""}.fa-cloud-moon{--fa:""}.fa-briefcase{--fa:""}.fa-person-falling{--fa:""}.fa-image-portrait,.fa-portrait{--fa:""}.fa-user-tag{--fa:""}.fa-rug{--fa:""}.fa-earth-europe,.fa-globe-europe{--fa:""}.fa-cart-flatbed-suitcase,.fa-luggage-cart{--fa:""}.fa-rectangle-times,.fa-rectangle-xmark,.fa-times-rectangle,.fa-window-close{--fa:""}.fa-baht-sign{--fa:""}.fa-book-open{--fa:""}.fa-book-journal-whills,.fa-journal-whills{--fa:""}.fa-handcuffs{--fa:""}.fa-exclamation-triangle,.fa-triangle-exclamation,.fa-warning{--fa:""}.fa-database{--fa:""}.fa-mail-forward,.fa-share{--fa:""}.fa-bottle-droplet{--fa:""}.fa-mask-face{--fa:""}.fa-hill-rockslide{--fa:""}.fa-exchange-alt,.fa-right-left{--fa:""}.fa-paper-plane{--fa:""}.fa-road-circle-exclamation{--fa:""}.fa-dungeon{--fa:""}.fa-align-right{--fa:""}.fa-money-bill-1-wave,.fa-money-bill-wave-alt{--fa:""}.fa-life-ring{--fa:""}.fa-hands,.fa-sign-language,.fa-signing{--fa:""}.fa-calendar-day{--fa:""}.fa-ladder-water,.fa-swimming-pool,.fa-water-ladder{--fa:""}.fa-arrows-up-down,.fa-arrows-v{--fa:""}.fa-face-grimace,.fa-grimace{--fa:""}.fa-wheelchair-alt,.fa-wheelchair-move{--fa:""}.fa-level-down-alt,.fa-turn-down{--fa:""}.fa-person-walking-arrow-right{--fa:""}.fa-envelope-square,.fa-square-envelope{--fa:""}.fa-dice{--fa:""}.fa-bowling-ball{--fa:""}.fa-brain{--fa:""}.fa-band-aid,.fa-bandage{--fa:""}.fa-calendar-minus{--fa:""}.fa-circle-xmark,.fa-times-circle,.fa-xmark-circle{--fa:""}.fa-gifts{--fa:""}.fa-hotel{--fa:""}.fa-earth-asia,.fa-globe-asia{--fa:""}.fa-id-card-alt,.fa-id-card-clip{--fa:""}.fa-magnifying-glass-plus,.fa-search-plus{--fa:""}.fa-thumbs-up{--fa:""}.fa-user-clock{--fa:""}.fa-allergies,.fa-hand-dots{--fa:""}.fa-file-invoice{--fa:""}.fa-window-minimize{--fa:""}.fa-coffee,.fa-mug-saucer{--fa:""}.fa-brush{--fa:""}.fa-file-half-dashed{--fa:""}.fa-mask{--fa:""}.fa-magnifying-glass-minus,.fa-search-minus{--fa:""}.fa-ruler-vertical{--fa:""}.fa-user-alt,.fa-user-large{--fa:""}.fa-train-tram{--fa:""}.fa-user-nurse{--fa:""}.fa-syringe{--fa:""}.fa-cloud-sun{--fa:""}.fa-stopwatch-20{--fa:""}.fa-square-full{--fa:""}.fa-magnet{--fa:""}.fa-jar{--fa:""}.fa-note-sticky,.fa-sticky-note{--fa:""}.fa-bug-slash{--fa:""}.fa-arrow-up-from-water-pump{--fa:""}.fa-bone{--fa:""}.fa-table-cells-row-unlock{--fa:""}.fa-user-injured{--fa:""}.fa-face-sad-tear,.fa-sad-tear{--fa:""}.fa-plane{--fa:""}.fa-tent-arrows-down{--fa:""}.fa-exclamation{--fa:"!"}.fa-arrows-spin{--fa:""}.fa-print{--fa:""}.fa-try,.fa-turkish-lira,.fa-turkish-lira-sign{--fa:""}.fa-dollar,.fa-dollar-sign,.fa-usd{--fa:"$"}.fa-x{--fa:"X"}.fa-magnifying-glass-dollar,.fa-search-dollar{--fa:""}.fa-users-cog,.fa-users-gear{--fa:""}.fa-person-military-pointing{--fa:""}.fa-bank,.fa-building-columns,.fa-institution,.fa-museum,.fa-university{--fa:""}.fa-umbrella{--fa:""}.fa-trowel{--fa:""}.fa-d{--fa:"D"}.fa-stapler{--fa:""}.fa-masks-theater,.fa-theater-masks{--fa:""}.fa-kip-sign{--fa:""}.fa-hand-point-left{--fa:""}.fa-handshake-alt,.fa-handshake-simple{--fa:""}.fa-fighter-jet,.fa-jet-fighter{--fa:""}.fa-share-alt-square,.fa-square-share-nodes{--fa:""}.fa-barcode{--fa:""}.fa-plus-minus{--fa:""}.fa-video,.fa-video-camera{--fa:""}.fa-graduation-cap,.fa-mortar-board{--fa:""}.fa-hand-holding-medical{--fa:""}.fa-person-circle-check{--fa:""}.fa-level-up-alt,.fa-turn-up{--fa:""}.fa-sr-only,.fa-sr-only-focusable:not(:focus),.sr-only,.sr-only-focusable:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}:host,:root{--fa-style-family-brands:"Font Awesome 6 Brands";--fa-font-brands:normal 400 1em/1 "Font Awesome 6 Brands"}@font-face{font-family:"Font Awesome 6 Brands";font-style:normal;font-weight:400;font-display:block;src:url(assets/c210719e60948b211a12.woff2) format("woff2"),url(assets/1815e00441357e01619e.ttf) format("truetype")}.fa-brands,.fab{font-weight:400}.fa-monero{--fa:""}.fa-hooli{--fa:""}.fa-yelp{--fa:""}.fa-cc-visa{--fa:""}.fa-lastfm{--fa:""}.fa-shopware{--fa:""}.fa-creative-commons-nc{--fa:""}.fa-aws{--fa:""}.fa-redhat{--fa:""}.fa-yoast{--fa:""}.fa-cloudflare{--fa:""}.fa-ups{--fa:""}.fa-pixiv{--fa:""}.fa-wpexplorer{--fa:""}.fa-dyalog{--fa:""}.fa-bity{--fa:""}.fa-stackpath{--fa:""}.fa-buysellads{--fa:""}.fa-first-order{--fa:""}.fa-modx{--fa:""}.fa-guilded{--fa:""}.fa-vnv{--fa:""}.fa-js-square,.fa-square-js{--fa:""}.fa-microsoft{--fa:""}.fa-qq{--fa:""}.fa-orcid{--fa:""}.fa-java{--fa:""}.fa-invision{--fa:""}.fa-creative-commons-pd-alt{--fa:""}.fa-centercode{--fa:""}.fa-glide-g{--fa:""}.fa-drupal{--fa:""}.fa-jxl{--fa:""}.fa-dart-lang{--fa:""}.fa-hire-a-helper{--fa:""}.fa-creative-commons-by{--fa:""}.fa-unity{--fa:""}.fa-whmcs{--fa:""}.fa-rocketchat{--fa:""}.fa-vk{--fa:""}.fa-untappd{--fa:""}.fa-mailchimp{--fa:""}.fa-css3-alt{--fa:""}.fa-reddit-square,.fa-square-reddit{--fa:""}.fa-vimeo-v{--fa:""}.fa-contao{--fa:""}.fa-square-font-awesome{--fa:""}.fa-deskpro{--fa:""}.fa-brave{--fa:""}.fa-sistrix{--fa:""}.fa-instagram-square,.fa-square-instagram{--fa:""}.fa-battle-net{--fa:""}.fa-the-red-yeti{--fa:""}.fa-hacker-news-square,.fa-square-hacker-news{--fa:""}.fa-edge{--fa:""}.fa-threads{--fa:""}.fa-napster{--fa:""}.fa-snapchat-square,.fa-square-snapchat{--fa:""}.fa-google-plus-g{--fa:""}.fa-artstation{--fa:""}.fa-markdown{--fa:""}.fa-sourcetree{--fa:""}.fa-google-plus{--fa:""}.fa-diaspora{--fa:""}.fa-foursquare{--fa:""}.fa-stack-overflow{--fa:""}.fa-github-alt{--fa:""}.fa-phoenix-squadron{--fa:""}.fa-pagelines{--fa:""}.fa-algolia{--fa:""}.fa-red-river{--fa:""}.fa-creative-commons-sa{--fa:""}.fa-safari{--fa:""}.fa-google{--fa:""}.fa-font-awesome-alt,.fa-square-font-awesome-stroke{--fa:""}.fa-atlassian{--fa:""}.fa-linkedin-in{--fa:""}.fa-digital-ocean{--fa:""}.fa-nimblr{--fa:""}.fa-chromecast{--fa:""}.fa-evernote{--fa:""}.fa-hacker-news{--fa:""}.fa-creative-commons-sampling{--fa:""}.fa-adversal{--fa:""}.fa-creative-commons{--fa:""}.fa-watchman-monitoring{--fa:""}.fa-fonticons{--fa:""}.fa-weixin{--fa:""}.fa-shirtsinbulk{--fa:""}.fa-codepen{--fa:""}.fa-git-alt{--fa:""}.fa-lyft{--fa:""}.fa-rev{--fa:""}.fa-windows{--fa:""}.fa-wizards-of-the-coast{--fa:""}.fa-square-viadeo,.fa-viadeo-square{--fa:""}.fa-meetup{--fa:""}.fa-centos{--fa:""}.fa-adn{--fa:""}.fa-cloudsmith{--fa:""}.fa-opensuse{--fa:""}.fa-pied-piper-alt{--fa:""}.fa-dribbble-square,.fa-square-dribbble{--fa:""}.fa-codiepie{--fa:""}.fa-node{--fa:""}.fa-mix{--fa:""}.fa-steam{--fa:""}.fa-cc-apple-pay{--fa:""}.fa-scribd{--fa:""}.fa-debian{--fa:""}.fa-openid{--fa:""}.fa-instalod{--fa:""}.fa-files-pinwheel{--fa:""}.fa-expeditedssl{--fa:""}.fa-sellcast{--fa:""}.fa-square-twitter,.fa-twitter-square{--fa:""}.fa-r-project{--fa:""}.fa-delicious{--fa:""}.fa-freebsd{--fa:""}.fa-vuejs{--fa:""}.fa-accusoft{--fa:""}.fa-ioxhost{--fa:""}.fa-fonticons-fi{--fa:""}.fa-app-store{--fa:""}.fa-cc-mastercard{--fa:""}.fa-itunes-note{--fa:""}.fa-golang{--fa:""}.fa-kickstarter,.fa-square-kickstarter{--fa:""}.fa-grav{--fa:""}.fa-weibo{--fa:""}.fa-uncharted{--fa:""}.fa-firstdraft{--fa:""}.fa-square-youtube,.fa-youtube-square{--fa:""}.fa-wikipedia-w{--fa:""}.fa-rendact,.fa-wpressr{--fa:""}.fa-angellist{--fa:""}.fa-galactic-republic{--fa:""}.fa-nfc-directional{--fa:""}.fa-skype{--fa:""}.fa-joget{--fa:""}.fa-fedora{--fa:""}.fa-stripe-s{--fa:""}.fa-meta{--fa:""}.fa-laravel{--fa:""}.fa-hotjar{--fa:""}.fa-bluetooth-b{--fa:""}.fa-square-letterboxd{--fa:""}.fa-sticker-mule{--fa:""}.fa-creative-commons-zero{--fa:""}.fa-hips{--fa:""}.fa-css{--fa:""}.fa-behance{--fa:""}.fa-reddit{--fa:""}.fa-discord{--fa:""}.fa-chrome{--fa:""}.fa-app-store-ios{--fa:""}.fa-cc-discover{--fa:""}.fa-wpbeginner{--fa:""}.fa-confluence{--fa:""}.fa-shoelace{--fa:""}.fa-mdb{--fa:""}.fa-dochub{--fa:""}.fa-accessible-icon{--fa:""}.fa-ebay{--fa:""}.fa-amazon{--fa:""}.fa-unsplash{--fa:""}.fa-yarn{--fa:""}.fa-square-steam,.fa-steam-square{--fa:""}.fa-500px{--fa:""}.fa-square-vimeo,.fa-vimeo-square{--fa:""}.fa-asymmetrik{--fa:""}.fa-font-awesome,.fa-font-awesome-flag,.fa-font-awesome-logo-full{--fa:""}.fa-gratipay{--fa:""}.fa-apple{--fa:""}.fa-hive{--fa:""}.fa-gitkraken{--fa:""}.fa-keybase{--fa:""}.fa-apple-pay{--fa:""}.fa-padlet{--fa:""}.fa-amazon-pay{--fa:""}.fa-github-square,.fa-square-github{--fa:""}.fa-stumbleupon{--fa:""}.fa-fedex{--fa:""}.fa-phoenix-framework{--fa:""}.fa-shopify{--fa:""}.fa-neos{--fa:""}.fa-square-threads{--fa:""}.fa-hackerrank{--fa:""}.fa-researchgate{--fa:""}.fa-swift{--fa:""}.fa-angular{--fa:""}.fa-speakap{--fa:""}.fa-angrycreative{--fa:""}.fa-y-combinator{--fa:""}.fa-empire{--fa:""}.fa-envira{--fa:""}.fa-google-scholar{--fa:""}.fa-gitlab-square,.fa-square-gitlab{--fa:""}.fa-studiovinari{--fa:""}.fa-pied-piper{--fa:""}.fa-wordpress{--fa:""}.fa-product-hunt{--fa:""}.fa-firefox{--fa:""}.fa-linode{--fa:""}.fa-goodreads{--fa:""}.fa-odnoklassniki-square,.fa-square-odnoklassniki{--fa:""}.fa-jsfiddle{--fa:""}.fa-sith{--fa:""}.fa-themeisle{--fa:""}.fa-page4{--fa:""}.fa-hashnode{--fa:""}.fa-react{--fa:""}.fa-cc-paypal{--fa:""}.fa-squarespace{--fa:""}.fa-cc-stripe{--fa:""}.fa-creative-commons-share{--fa:""}.fa-bitcoin{--fa:""}.fa-keycdn{--fa:""}.fa-opera{--fa:""}.fa-itch-io{--fa:""}.fa-umbraco{--fa:""}.fa-galactic-senate{--fa:""}.fa-ubuntu{--fa:""}.fa-draft2digital{--fa:""}.fa-stripe{--fa:""}.fa-houzz{--fa:""}.fa-gg{--fa:""}.fa-dhl{--fa:""}.fa-pinterest-square,.fa-square-pinterest{--fa:""}.fa-xing{--fa:""}.fa-blackberry{--fa:""}.fa-creative-commons-pd{--fa:""}.fa-playstation{--fa:""}.fa-quinscape{--fa:""}.fa-less{--fa:""}.fa-blogger-b{--fa:""}.fa-opencart{--fa:""}.fa-vine{--fa:""}.fa-signal-messenger{--fa:""}.fa-paypal{--fa:""}.fa-gitlab{--fa:""}.fa-typo3{--fa:""}.fa-reddit-alien{--fa:""}.fa-yahoo{--fa:""}.fa-dailymotion{--fa:""}.fa-affiliatetheme{--fa:""}.fa-pied-piper-pp{--fa:""}.fa-bootstrap{--fa:""}.fa-odnoklassniki{--fa:""}.fa-nfc-symbol{--fa:""}.fa-mintbit{--fa:""}.fa-ethereum{--fa:""}.fa-speaker-deck{--fa:""}.fa-creative-commons-nc-eu{--fa:""}.fa-patreon{--fa:""}.fa-avianex{--fa:""}.fa-ello{--fa:""}.fa-gofore{--fa:""}.fa-bimobject{--fa:""}.fa-brave-reverse{--fa:""}.fa-facebook-f{--fa:""}.fa-google-plus-square,.fa-square-google-plus{--fa:""}.fa-web-awesome{--fa:""}.fa-mandalorian{--fa:""}.fa-first-order-alt{--fa:""}.fa-osi{--fa:""}.fa-google-wallet{--fa:""}.fa-d-and-d-beyond{--fa:""}.fa-periscope{--fa:""}.fa-fulcrum{--fa:""}.fa-cloudscale{--fa:""}.fa-forumbee{--fa:""}.fa-mizuni{--fa:""}.fa-schlix{--fa:""}.fa-square-xing,.fa-xing-square{--fa:""}.fa-bandcamp{--fa:""}.fa-wpforms{--fa:""}.fa-cloudversify{--fa:""}.fa-usps{--fa:""}.fa-megaport{--fa:""}.fa-magento{--fa:""}.fa-spotify{--fa:""}.fa-optin-monster{--fa:""}.fa-fly{--fa:""}.fa-square-bluesky{--fa:""}.fa-aviato{--fa:""}.fa-itunes{--fa:""}.fa-cuttlefish{--fa:""}.fa-blogger{--fa:""}.fa-flickr{--fa:""}.fa-viber{--fa:""}.fa-soundcloud{--fa:""}.fa-digg{--fa:""}.fa-tencent-weibo{--fa:""}.fa-letterboxd{--fa:""}.fa-symfony{--fa:""}.fa-maxcdn{--fa:""}.fa-etsy{--fa:""}.fa-facebook-messenger{--fa:""}.fa-audible{--fa:""}.fa-think-peaks{--fa:""}.fa-bilibili{--fa:""}.fa-erlang{--fa:""}.fa-x-twitter{--fa:""}.fa-cotton-bureau{--fa:""}.fa-dashcube{--fa:""}.fa-42-group,.fa-innosoft{--fa:""}.fa-stack-exchange{--fa:""}.fa-elementor{--fa:""}.fa-pied-piper-square,.fa-square-pied-piper{--fa:""}.fa-creative-commons-nd{--fa:""}.fa-palfed{--fa:""}.fa-superpowers{--fa:""}.fa-resolving{--fa:""}.fa-xbox{--fa:""}.fa-square-web-awesome-stroke{--fa:""}.fa-searchengin{--fa:""}.fa-tiktok{--fa:""}.fa-facebook-square,.fa-square-facebook{--fa:""}.fa-renren{--fa:""}.fa-linux{--fa:""}.fa-glide{--fa:""}.fa-linkedin{--fa:""}.fa-hubspot{--fa:""}.fa-deploydog{--fa:""}.fa-twitch{--fa:""}.fa-flutter{--fa:""}.fa-ravelry{--fa:""}.fa-mixer{--fa:""}.fa-lastfm-square,.fa-square-lastfm{--fa:""}.fa-vimeo{--fa:""}.fa-mendeley{--fa:""}.fa-uniregistry{--fa:""}.fa-figma{--fa:""}.fa-creative-commons-remix{--fa:""}.fa-cc-amazon-pay{--fa:""}.fa-dropbox{--fa:""}.fa-instagram{--fa:""}.fa-cmplid{--fa:""}.fa-upwork{--fa:""}.fa-facebook{--fa:""}.fa-gripfire{--fa:""}.fa-jedi-order{--fa:""}.fa-uikit{--fa:""}.fa-fort-awesome-alt{--fa:""}.fa-phabricator{--fa:""}.fa-ussunnah{--fa:""}.fa-earlybirds{--fa:""}.fa-trade-federation{--fa:""}.fa-autoprefixer{--fa:""}.fa-whatsapp{--fa:""}.fa-square-upwork{--fa:""}.fa-slideshare{--fa:""}.fa-google-play{--fa:""}.fa-viadeo{--fa:""}.fa-line{--fa:""}.fa-google-drive{--fa:""}.fa-servicestack{--fa:""}.fa-simplybuilt{--fa:""}.fa-bitbucket{--fa:""}.fa-imdb{--fa:""}.fa-deezer{--fa:""}.fa-raspberry-pi{--fa:""}.fa-jira{--fa:""}.fa-docker{--fa:""}.fa-screenpal{--fa:""}.fa-bluetooth{--fa:""}.fa-gitter{--fa:""}.fa-d-and-d{--fa:""}.fa-microblog{--fa:""}.fa-cc-diners-club{--fa:""}.fa-gg-circle{--fa:""}.fa-pied-piper-hat{--fa:""}.fa-kickstarter-k{--fa:""}.fa-yandex{--fa:""}.fa-readme{--fa:""}.fa-html5{--fa:""}.fa-sellsy{--fa:""}.fa-square-web-awesome{--fa:""}.fa-sass{--fa:""}.fa-wirsindhandwerk,.fa-wsh{--fa:""}.fa-buromobelexperte{--fa:""}.fa-salesforce{--fa:""}.fa-octopus-deploy{--fa:""}.fa-medapps{--fa:""}.fa-ns8{--fa:""}.fa-pinterest-p{--fa:""}.fa-apper{--fa:""}.fa-fort-awesome{--fa:""}.fa-waze{--fa:""}.fa-bluesky{--fa:""}.fa-cc-jcb{--fa:""}.fa-snapchat,.fa-snapchat-ghost{--fa:""}.fa-fantasy-flight-games{--fa:""}.fa-rust{--fa:""}.fa-wix{--fa:""}.fa-behance-square,.fa-square-behance{--fa:""}.fa-supple{--fa:""}.fa-webflow{--fa:""}.fa-rebel{--fa:""}.fa-css3{--fa:""}.fa-staylinked{--fa:""}.fa-kaggle{--fa:""}.fa-space-awesome{--fa:""}.fa-deviantart{--fa:""}.fa-cpanel{--fa:""}.fa-goodreads-g{--fa:""}.fa-git-square,.fa-square-git{--fa:""}.fa-square-tumblr,.fa-tumblr-square{--fa:""}.fa-trello{--fa:""}.fa-creative-commons-nc-jp{--fa:""}.fa-get-pocket{--fa:""}.fa-perbyte{--fa:""}.fa-grunt{--fa:""}.fa-weebly{--fa:""}.fa-connectdevelop{--fa:""}.fa-leanpub{--fa:""}.fa-black-tie{--fa:""}.fa-themeco{--fa:""}.fa-python{--fa:""}.fa-android{--fa:""}.fa-bots{--fa:""}.fa-free-code-camp{--fa:""}.fa-hornbill{--fa:""}.fa-js{--fa:""}.fa-ideal{--fa:""}.fa-git{--fa:""}.fa-dev{--fa:""}.fa-sketch{--fa:""}.fa-yandex-international{--fa:""}.fa-cc-amex{--fa:""}.fa-uber{--fa:""}.fa-github{--fa:""}.fa-php{--fa:""}.fa-alipay{--fa:""}.fa-youtube{--fa:""}.fa-skyatlas{--fa:""}.fa-firefox-browser{--fa:""}.fa-replyd{--fa:""}.fa-suse{--fa:""}.fa-jenkins{--fa:""}.fa-twitter{--fa:""}.fa-rockrms{--fa:""}.fa-pinterest{--fa:""}.fa-buffer{--fa:""}.fa-npm{--fa:""}.fa-yammer{--fa:""}.fa-btc{--fa:""}.fa-dribbble{--fa:""}.fa-stumbleupon-circle{--fa:""}.fa-internet-explorer{--fa:""}.fa-stubber{--fa:""}.fa-telegram,.fa-telegram-plane{--fa:""}.fa-old-republic{--fa:""}.fa-odysee{--fa:""}.fa-square-whatsapp,.fa-whatsapp-square{--fa:""}.fa-node-js{--fa:""}.fa-edge-legacy{--fa:""}.fa-slack,.fa-slack-hash{--fa:""}.fa-medrt{--fa:""}.fa-usb{--fa:""}.fa-tumblr{--fa:""}.fa-vaadin{--fa:""}.fa-quora{--fa:""}.fa-square-x-twitter{--fa:""}.fa-reacteurope{--fa:""}.fa-medium,.fa-medium-m{--fa:""}.fa-amilia{--fa:""}.fa-mixcloud{--fa:""}.fa-flipboard{--fa:""}.fa-viacoin{--fa:""}.fa-critical-role{--fa:""}.fa-sitrox{--fa:""}.fa-discourse{--fa:""}.fa-joomla{--fa:""}.fa-mastodon{--fa:""}.fa-airbnb{--fa:""}.fa-wolf-pack-battalion{--fa:""}.fa-buy-n-large{--fa:""}.fa-gulp{--fa:""}.fa-creative-commons-sampling-plus{--fa:""}.fa-strava{--fa:""}.fa-ember{--fa:""}.fa-canadian-maple-leaf{--fa:""}.fa-teamspeak{--fa:""}.fa-pushed{--fa:""}.fa-wordpress-simple{--fa:""}.fa-nutritionix{--fa:""}.fa-wodu{--fa:""}.fa-google-pay{--fa:""}.fa-intercom{--fa:""}.fa-zhihu{--fa:""}.fa-korvue{--fa:""}.fa-pix{--fa:""}.fa-steam-symbol{--fa:""}:host,:root{--fa-font-regular:normal 400 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:400;font-display:block;src:url(assets/89999bdf5d835c012025.woff2) format("woff2"),url(assets/914997e1bdfc990d0897.ttf) format("truetype")}.fa-regular,.far{font-weight:400}:host,:root{--fa-style-family-classic:"Font Awesome 6 Free";--fa-font-solid:normal 900 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:900;font-display:block;src:url(assets/2463b90d9a316e4e5294.woff2) format("woff2"),url(assets/2582b0e4bcf85eceead0.ttf) format("truetype")}.fa-solid,.fas{font-weight:900}@font-face{font-family:"Font Awesome 5 Brands";font-display:block;font-weight:400;src:url(assets/c210719e60948b211a12.woff2) format("woff2"),url(assets/1815e00441357e01619e.ttf) format("truetype")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:900;src:url(assets/2463b90d9a316e4e5294.woff2) format("woff2"),url(assets/2582b0e4bcf85eceead0.ttf) format("truetype")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:400;src:url(assets/89999bdf5d835c012025.woff2) format("woff2"),url(assets/914997e1bdfc990d0897.ttf) format("truetype")}@font-face{font-family:"FontAwesome";font-display:block;src:url(assets/2463b90d9a316e4e5294.woff2) format("woff2"),url(assets/2582b0e4bcf85eceead0.ttf) format("truetype")}@font-face{font-family:"FontAwesome";font-display:block;src:url(assets/c210719e60948b211a12.woff2) format("woff2"),url(assets/1815e00441357e01619e.ttf) format("truetype")}@font-face{font-family:"FontAwesome";font-display:block;src:url(assets/89999bdf5d835c012025.woff2) format("woff2"),url(assets/914997e1bdfc990d0897.ttf) format("truetype");unicode-range:u+f003,u+f006,u+f014,u+f016-f017,u+f01a-f01b,u+f01d,u+f022,u+f03e,u+f044,u+f046,u+f05c-f05d,u+f06e,u+f070,u+f087-f088,u+f08a,u+f094,u+f096-f097,u+f09d,u+f0a0,u+f0a2,u+f0a4-f0a7,u+f0c5,u+f0c7,u+f0e5-f0e6,u+f0eb,u+f0f6-f0f8,u+f10c,u+f114-f115,u+f118-f11a,u+f11c-f11d,u+f133,u+f147,u+f14e,u+f150-f152,u+f185-f186,u+f18e,u+f190-f192,u+f196,u+f1c1-f1c9,u+f1d9,u+f1db,u+f1e3,u+f1ea,u+f1f7,u+f1f9,u+f20a,u+f247-f248,u+f24a,u+f24d,u+f255-f25b,u+f25d,u+f271-f274,u+f278,u+f27b,u+f28c,u+f28e,u+f29c,u+f2b5,u+f2b7,u+f2ba,u+f2bc,u+f2be,u+f2c0-f2c1,u+f2c3,u+f2d0,u+f2d2,u+f2d4,u+f2dc}@font-face{font-family:"FontAwesome";font-display:block;src:url(data:font/woff2;base64,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) format("woff2"),url(assets/da94ef451f4969af06e6.ttf) format("truetype");unicode-range:u+f041,u+f047,u+f065-f066,u+f07d-f07e,u+f080,u+f08b,u+f08e,u+f090,u+f09a,u+f0ac,u+f0ae,u+f0b2,u+f0d0,u+f0d6,u+f0e4,u+f0ec,u+f10a-f10b,u+f123,u+f13e,u+f148-f149,u+f14c,u+f156,u+f15e,u+f160-f161,u+f163,u+f175-f178,u+f195,u+f1f8,u+f219,u+f27a}
7 | @font-face{font-family:"Noto Sans";src:url(assets/0e023bdf2fa0b6117356.ttf)}*{-webkit-box-sizing:border-box;box-sizing:border-box}html{background:transparent;font-family:"Noto Sans",sans-serif;height:100%;letter-spacing:1px;text-align:center}html body{background:#000;background:-o-linear-gradient(330deg, black, #2e2e2e) fixed;background:linear-gradient(120deg, black, #2e2e2e) fixed;color:#fff;min-height:100%;-ms-scroll-chaining:none;overscroll-behavior:none;padding:0 20px;position:relative}html body header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:#333;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;left:0;position:fixed;padding:10px;right:0;top:0;width:100%;z-index:1}html body main{padding:100px 0 6rem}html body footer{background:#333;bottom:0;font-size:.8rem;left:0;letter-spacing:2px;padding:14px 0;position:absolute;right:0;width:100%}html body h1,html body h2,html body h3,html body h4,html body h5,html body h6{font-weight:400;margin-top:0}a,a:visited,a:hover,a:active,a:focus{color:#0fc}a:hover,a:visited:hover,a:hover:hover,a:active:hover,a:focus:hover{text-decoration:none}a:focus,button:focus,details:focus,input:focus,select:focus,textarea:focus,[tabindex]:focus{-webkit-box-shadow:0 0 3px 3px rgba(66,180,250,.8);box-shadow:0 0 3px 3px rgba(66,180,250,.8);outline:none}button,button:hover,button:active,button:focus,input,optgroup,select,textarea{font-family:inherit}p{line-height:1.4}.message{border-radius:5px;line-height:1.55;margin:20px auto;max-width:800px;padding:15px 10px}.error-message{background:#fee6ea;border:1px solid #fecdd6;color:#82031a}.info-message{background:#e6f5ff;border:1px solid #ccebff;color:#005085}noscript .info-message{left:50%;margin:0 auto;min-width:280px;position:absolute;text-align:center;top:50%;-webkit-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);transform:translate(-50%, -50%)}.button-group{display:-webkit-box;display:-ms-flexbox;display:flex}.button,.button:visited,.button:hover,.button:active,.button:focus{background:#0fc;border:2px solid #0fc;border-radius:4px;color:#333;cursor:pointer;line-height:normal;padding:5px 8px;text-decoration:none;width:auto}.button:hover,.button:visited:hover,.button:hover:hover,.button:active:hover,.button:focus:hover{background:transparent;color:#0fc}.header-item{font-size:.9rem;line-height:normal;margin:0}.header-button,.header-button:hover,.header-button:active,.header-button:focus{margin:0 4px}.countdown .card{background:#333;display:inline-block;margin:10px;min-width:100px;padding:20px 0}.countdown .card .countdown-value{color:#0fc;font-size:2rem;margin-bottom:10px}.countdown .card .countdown-unit{text-transform:capitalize}.loading-spinner{-webkit-animation:spin .75s linear infinite;animation:spin .75s linear infinite;border:4px solid #fff;border-top:4px solid transparent;border-radius:50%;height:30px;margin:50px auto;width:30px}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}input,select{border:1px solid #ccc;border-radius:0;color:#333;letter-spacing:1px;line-height:1.3;padding:8px;width:100%}input::-webkit-input-placeholder,select::-webkit-input-placeholder{color:#999}input::-moz-placeholder,select::-moz-placeholder{color:#999}input:-ms-input-placeholder,select:-ms-input-placeholder{color:#999}input::-ms-input-placeholder,select::-ms-input-placeholder{color:#999}input::placeholder,select::placeholder{color:#999}.select-wrapper{background:#333;border-radius:4px;color:#e6e6e6;position:relative}.select-wrapper:after{content:"";cursor:pointer;font-family:"Font Awesome 6 Free";font-weight:900;pointer-events:none;position:absolute;right:10px;top:10px}.select-wrapper select{-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;background:transparent;border:0;border-radius:inherit;color:inherit;cursor:pointer}.select-wrapper select::-ms-expand{display:none}.required-field{color:#d40000;cursor:help}.required-field[title]{text-decoration:none}.modal{background:rgba(0,0,0,.75);bottom:0;height:100%;left:0;overflow:auto;position:fixed;right:0;top:0;width:100%;z-index:1}.modal .modal-content{-webkit-animation:slideIn .3s ease-out;animation:slideIn .3s ease-out;background:#fff;border-radius:5px;color:#333;margin:10% auto;max-width:300px;width:80%}.modal .modal-content .modal-header{border-bottom:1px solid #ccc;padding:10px;text-align:left}.modal .modal-content .modal-body{padding:15px}.modal .modal-content .modal-body .form-group{margin-bottom:20px;max-width:200px}.modal .modal-content .modal-body .form-group label{display:block;font-size:.8rem;letter-spacing:2px;margin-bottom:3px;text-align:left}.modal .modal-content .modal-body .button-group{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.modal .modal-content .modal-body .button-group .modal-button,.modal .modal-content .modal-body .button-group .modal-button:hover,.modal .modal-content .modal-body .button-group .modal-button:active,.modal .modal-content .modal-body .button-group .modal-button:focus{background:#333;border:0;color:#0fc;margin-left:8px}.modal .modal-content .modal-body .button-group .modal-button:hover,.modal .modal-content .modal-body .button-group .modal-button:hover:hover,.modal .modal-content .modal-body .button-group .modal-button:active:hover,.modal .modal-content .modal-body .button-group .modal-button:focus:hover{background:#262626}.modal .modal-content .modal-body .button-group .modal-button[type=submit],.modal .modal-content .modal-body .button-group .modal-button[type=submit]:hover,.modal .modal-content .modal-body .button-group .modal-button[type=submit]:active,.modal .modal-content .modal-body .button-group .modal-button[type=submit]:focus{font-weight:400}body.modal-open{overflow:hidden}@-webkit-keyframes slideIn{from{margin-top:0}to{margin-top:10%}}@keyframes slideIn{from{margin-top:0}to{margin-top:10%}}
8 |
--------------------------------------------------------------------------------