diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml deleted file mode 100644 index 31686a3e75a0f1c19fee85f28a5663b101ecee94..0000000000000000000000000000000000000000 --- a/.github/FUNDING.yml +++ /dev/null @@ -1 +0,0 @@ -github: byemc diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000000000000000000000000000000000000..e1910bdda8ac8e91ba5eaa9ffe95892cf96a4726 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,4 @@ +[submodule "strings"] + path = strings + branch = main + url = https://shinonome.rocks/byecorps/id-strings.git diff --git a/404.html b/404.html deleted file mode 100644 index 811b6d0c2408d250ef187b1657798d0c8509fbb6..0000000000000000000000000000000000000000 --- a/404.html +++ /dev/null @@ -1,3 +0,0 @@ -<h1>404</h1> -<p>Sorry, that page couldn't be found.</p> - diff --git a/README.md b/README.md deleted file mode 100644 index dc064fa847112439ffde9585f5d9907cb0e54271..0000000000000000000000000000000000000000 --- a/README.md +++ /dev/null @@ -1,24 +0,0 @@ -# id -OAuth authentication service for ByeCorps & other services - -## Development & deployment - -## FAQ - -### What is a ByeCorps ID? - -A ByeCorps ID (BCID) is a seven digit alphanumeric (non-case sensitive) code used to identify a person. It is used to reduce the need of multiple accounts across ByeCorps services, as well as third-party services using OAuth (though a password alternative is recommended instead of BCID only) - -Example of a BCID: - -```txt -123 ABC4 -``` - -## Canonical domain names - -Only input your BCID on the following domain names ONLY on a HTTPS connection: - -- https://id.byecorps.com - -Any other domain name or an insecure connection might be a phishing attempt, so be careful. **NEVER** input your BCID password on any other domain. diff --git a/account.php b/account.php deleted file mode 100644 index fe7931c8952903beb35c613fd4db9e5d186c0ae4..0000000000000000000000000000000000000000 --- a/account.php +++ /dev/null @@ -1,143 +0,0 @@ -<?php - -if (!$_SESSION['auth']) { - header('Location: /signin?callback=/account'); - exit; -} - -function get_gravatar_url( $email ) { - // Trim leading and trailing whitespace from - // an email address and force all characters - // to lower case - $address = strtolower( trim( $email ) ); - - // Create an SHA256 hash of the final string - $hash = hash( 'sha256', $address ); - - // Grab the actual image URL - return 'https://www.gravatar.com/avatar/' . $hash; -} - -$stmt = $pdo->prepare('SELECT * FROM accounts WHERE id = ? LIMIT 1'); -$stmt->execute([$_SESSION['id']]); -$user = $stmt->fetch(); - - -if ($_SERVER['REQUEST_METHOD'] == "POST") { - - if (isset($_POST["old_password"]) && $_POST["old_password"] != "") { - // means password reset is wanted. - - if (!password_verify($_POST["old_password"], $user["password"])) { - $password_error = "Incorrect password. (Error 901)"; - } - - if (password_verify($_POST['new_password'], $user["password"])) { - $password_error = "New password may not be same as old password. (Error 902)"; - } - - if ($_POST['new_password'] != $_POST['repeat_new_password']) { - $password_error = "The passwords must match. (Error 900)"; - } - - - if (isset($password_error)) { - $message = $password_error; - goto skip_submit; - } - - $new_password = password_hash($_POST["new_password"], PASSWORD_DEFAULT); - - $sql = "UPDATE accounts SET password = ? WHERE id = ?"; - $pdo->prepare($sql)->execute([$new_password, $user["id"]]); - } - - if (isset($_POST["display_name"])) { - $sql = "UPDATE accounts SET display_name = ? WHERE id = ?"; - $pdo->prepare($sql)->execute([$_POST["display_name"], $user["id"]]); - } - - $message = "Updated sucessfully. Changes might take a few minutes to take effect."; - - header('Location: /profile'); - die("Redirecting..."); - -} - -skip_submit: - -?> - -<h1>Your account</h1> - -<?php -if (isset($message )) { - echo "<div class='flash'>".$message."</div>"; - } -?> - -<div id="wrapper"> - <div id="mini_profile"> - <img src="<?= get_gravatar_url($user['email']); ?>"> - <div class="details"> - <span class="displayname"><?= $user['display_name'] ?></span> - <span class="bcid"><?= format_bcid($user['id']); ?></span> - <time datetime="<?= $user["created_date"] ?>">Since <?= $user["created_date"]; ?></time> - </div> - </div> - - <aside> - - <form method="post"> - <fieldset> - <legend>Profile</legend> - <div class="container"> - <label>BCID</label> - <input type="text" disabled value="<?= format_bcid($user['id']) ?>"> - </div> - - <div class="container"> - <input type="checkbox" disabled checked="<?= $user['verified'] ?>" > - <label> Verified email</label> - </div> - - <div class="container"> - <label for="email">Email address</label> - <input type="email" name="email" id="email" value="<?= $user['email'] ?>"> - </div> - - <div class="container"> - <label for="display_name">Display name</label> - <input type="text" name="display_name" id="display_name" value="<?= $user['display_name'] ?>"> - </div> - </fieldset> - <fieldset> - <legend>Password</legend> - <p>You only need to insert values here if you're resetting your password.</p> - <div class="container"> - <label for="old_password">Current password</label> - <input type="password" name="old_password" id="old_password"> - </div> - <div class="container"> - <label for="new_password">New password</label> - <input type="password" name="new_password" id="new_password"> - </div> - <div class="container"> - <label for="repeat_new_password">Repeat new password</label> - <input type="password" name="repeat_new_password" id="repeat_new_password"> - </div> - </fieldset> - - <button class="primary" type="submit"><i class="fa-fw fa-solid fa-floppy-disk"></i> Save</button> - </form> - - <div class="dangerzone"> - <h2>Danger Zone</h2> - <p><a href="/signout" class="button"><i class="fa-fw fa-solid fa-person-through-window"></i> Sign out</a> - <a href="/dangerous/delete_account" class="button danger"><i class="fa-fw fa-solid fa-trash"></i> Delete account</a></p> - </div> - </aside> -</div> - - - diff --git a/accounts_handler.php b/accounts_handler.php deleted file mode 100644 index 1ae09c37b01ace02301aef3993423cbd98689aaa..0000000000000000000000000000000000000000 --- a/accounts_handler.php +++ /dev/null @@ -1,218 +0,0 @@ -<?php -// This file carries functions related to accounts. - -function get_avatar_url($bcid):string { - - $exists = db_execute('SELECT public FROM avatars WHERE id = ? LIMIT 1', [$bcid]); - - if (empty($exists)) { - return '/assets/default.png'; - } - - return '/public/avatars/' . $bcid; -} - -function get_display_name($bcid, $use_bcid_fallback=true, $put_bcid_in_parenthesis=false, $format_bcid=false):string { - $display_name = db_execute("SELECT display_name FROM accounts WHERE id = ?", [$bcid])['display_name']; - if (!empty($display_name)) { - if ($put_bcid_in_parenthesis) { - return $display_name . " ($bcid)"; - } - return $display_name; - } - - if ($use_bcid_fallback) { - return $bcid; - } - - return ""; -} - -// Tokens so apps can get VERY BASIC information - -function generate_basic_access_token($bcid, $application_id=""): array -{ - // Returns an access token, a refresh token and an expiry timestamp. - - $access_token = md5(uniqid(more_entropy: true).rand(1000000, 9999999)); - $refresh_token = md5(uniqid("rfish").rand(1000000, 9999999)); - - $valid_time = 12; // in hours - $expiry = time() + ($valid_time * 60 * 60); - -// echo $access_token . ":" . $refresh_token; - - if ($application_id) { - db_execute( - "INSERT INTO tokens (access_token, refresh_token, expiry, owner_id, application_id, permissions) VALUES (?,?,?,?,?, (1<<0 | 1<<1))", - [$access_token, $refresh_token, $expiry, $bcid, $application_id] - ); - } else { - db_execute( - "INSERT INTO tokens (access_token, refresh_token, expiry, owner_id, permissions) VALUES (?,?,?,?, (1<<0 | 1<<1))", - [$access_token, $refresh_token, $expiry, $bcid] - ); - } - - return [ - "access" => $access_token, - "refresh" => $refresh_token, - "expiry" => $expiry, - "id" => $bcid - ]; -} - -function generate_token($bcid, $application_id=null, $permissions=0): array { - $access_token = md5(uniqid(more_entropy: true).rand(1000000, 9999999)); - $refresh_token = md5(uniqid("rfish").rand(1000000, 9999999)); - - $valid_time = 12; // in hours - $expiry = time() + ($valid_time * 60 * 60); - - db_execute( - "INSERT INTO tokens (access_token, refresh_token, expiry, owner_id, application_id, permissions, type) VALUES (?,?,?,?,?,?, 'oauth')", - [$access_token, $refresh_token, $expiry, $bcid, $application_id, $permissions] - ); - - return [ - "access" => $access_token, - "refresh" => $refresh_token, - "permissions" => $permissions, - "expiry" => $expiry, - "id" => $bcid - ]; -} - -function generate_cookie_access_token($bcid) { - $access_token = md5(uniqid(prefix: "COOKIECOOKIECOOKIE", more_entropy: true).rand(1000000, 9999999)); - - $valid_time = 365 * 24; // 1 year - $expiry = time() + ($valid_time * 60 * 60); - -// echo $access_token . ":" . $refresh_token; - - db_execute( - "INSERT INTO tokens (access_token, expiry, owner_id, type) VALUES (?,?,?,'cookie')", - [$access_token, $expiry, $bcid] - ); - - return [ - "access" => $access_token, - "expiry" => $expiry, - "id" => $bcid - ]; -} - -function validate_access_token($access_token): bool -{ - $token_details = db_execute("SELECT * FROM tokens WHERE access_token = ?", [$access_token]); - if (null == $token_details) { - return false; - } - if (time() > $token_details['expiry']) { - db_execute("DELETE FROM tokens where access_token = ?", [$access_token]); - return false; - } - return true; -} - -// Password resets -const PASSWORD_RESET_VALIDITY = 300; // in seconds. -function create_password_reset($bcid):string { - // Returns a password reset link. - global $pdo; - - $reset_time = time() + PASSWORD_RESET_VALIDITY; - - $auth_token = generateRandomString(65); - - $sql = 'INSERT INTO `password_resets` (auth_id, owner_id, expiration) VALUES (?, ?, ?)'; - - try{ - $stmt = $pdo->prepare($sql); - $stmt->execute([$auth_token, $bcid, $reset_time]); - $reset_id = $pdo->lastInsertId(); - } catch (PDOException $e) { - http_response_code(500); - die("An error occurred with the database. (12)"); - } - - return BASE_URL.'/reset/password?reset_id='.$reset_id.'&reset_token='.$auth_token; -} - -function validate_password_reset($reset_id, $reset_token):bool { - global $pdo; - - $sql = 'SELECT * FROM password_resets WHERE id = ?'; - - try { - $stmt = $pdo->prepare($sql); - $stmt->execute([$reset_id]); - $result = $stmt->fetch(); - } catch (PDOException $e) { - http_response_code(500); - die("An error occurred fetching data from the database. (11) - $e"); - } - - if (empty($result)) { - echo "<pre>"; - throw new Exception('Todokete setsuna sa ni wa -Namae wo tsukeyou ka "Snow halation" -Omoi ga kasanaru made matezu ni -Kuyashii kedo sukitte junjou -Binetsu no naka tameratte mo dame da ne -Tobikomu yuuki ni sansei mamonaku start!'); - } - - if ($result['auth_id'] == $reset_token && !hasTimePassed($result['expiration'])) { - return true; - } elseif ($result['auth_id'] == $reset_token && hasTimePassed($result['expiration'])) { - $sql = 'DELETE FROM password_resets WHERE id = ?'; - try { - $stmt = $pdo -> prepare(($sql)); - $stmt->execute([$reset_id]); - die("Sorry, that link expired. Please request a new one."); - } catch (PDOException $e) { - http_response_code(500); - die("An error occurred deleting data from the database. That link was expired anyway, so request a new one. (13b) - $e"); - } - } - - return false; - -} - -function get_id_for_password_reset($reset_id, $reset_token):string { - global $pdo; - $sql = 'SELECT * FROM password_resets WHERE id = ?'; - - try { - $stmt = $pdo->prepare($sql); - $stmt->execute([$reset_id]); - $result = $stmt->fetch(); - } catch (PDOException $e) { - http_response_code(500); - die("An error occurred fetching data from the database. (11) - $e"); - } - - return $result['owner_id']; -} - -function delete_password_reset($reset_id, $reset_token): void -{ - global $pdo; - $sql = 'DELETE FROM password_resets WHERE id = ?'; - try { - $stmt = $pdo->prepare(($sql)); - $stmt->execute([$reset_id]); - header("Location: /signin"); - die(); - } catch (PDOException $e) { - http_response_code(500); - die("An error occurred deleting data from the database. (13) - $e"); - } -} \ No newline at end of file diff --git a/admin.php b/admin.php deleted file mode 100644 index efb0b737da8510749ac2234a86dfe8717720a18d..0000000000000000000000000000000000000000 --- a/admin.php +++ /dev/null @@ -1,31 +0,0 @@ -<h1>Admin panel</h1> -<p>If you're not Bye and you're seeing this, I'm fucked!</p> - -<h2>Accounts</h2> -<ul> - <li> - <a href="/admin/list/accounts">List of accounts</a> - </li> -</ul> - -<h2>Apps</h2> -<ul> - <li> - <a href="/admin/list/apps">List of applications</a> - </li> - <li> - <a href="/admin/create/app">App creator</a> - </li> -</ul> - -<h2>API</h2> -<ul> - <li><a href="/admin/create/token">Token generator</a></li> -</ul> - -<h2>Init</h2> -<ul> - <li> - <a href="/admin/init/database">Init database</a> - </li> -</ul> diff --git a/admin_accounts.php b/admin_accounts.php deleted file mode 100644 index b3538381662fc9faa44f707bba58ea47bb6e71d8..0000000000000000000000000000000000000000 --- a/admin_accounts.php +++ /dev/null @@ -1,29 +0,0 @@ -<?php - -$sql = "SELECT * FROM accounts"; -$result = $pdo-> query($sql); -if (!$result) { - http_response_code(500); - die("<img src='https://http.cat/500.jpg'>"); -} - -$count_req = $pdo->query("SELECT COUNT(*) FROM accounts"); -$count = $count_req->fetchColumn(); - - -?> - -<h1>Accounts</h1> - -<p>There is currently <?= $count ?> accounts registered.</p> - - -<ul> - <?php - foreach ($result as $row) { - echo "<li>"; - echo $row['id']; - echo "<p><a href='/admin/signinas?id=".$row['id']."'>Sign in as ".htmlspecialchars($row['display_name'])."</a></li>"; - } - ?> -</ul> diff --git a/admin_apps.php b/admin_apps.php deleted file mode 100644 index 8ae771aff8f416aa93a15f12d7e6c4bff4237859..0000000000000000000000000000000000000000 --- a/admin_apps.php +++ /dev/null @@ -1,23 +0,0 @@ -<?php - -$result = db_query("SELECT * FROM apps"); - -$count_req = db_query("SELECT COUNT(*) FROM apps"); -$count = $count_req->fetchColumn(); - -?> -<h1>Apps</h1> - -<p>There is currently <?= $count ?> apps registered.</p> - - -<ul> - <?php - foreach ($result as $row) { - echo "<li><pre>"; - print_r($row); - echo "</li>"; - } - ?> -</ul> - diff --git a/admin_apps_create.php b/admin_apps_create.php deleted file mode 100644 index c769a22edeaf0cd9a920689a805c161562eca09b..0000000000000000000000000000000000000000 --- a/admin_apps_create.php +++ /dev/null @@ -1,50 +0,0 @@ -<?php - -function generate_app_id(): int -{ - return mt_rand(100000000, 999999999); -} - -function check_app_id($app_id): bool -{ - $app = db_execute("SELECT * FROM apps WHERE id = ? LIMIT 1", [$app_id]); - return empty($app); -} - -if ($_SERVER['REQUEST_METHOD'] == "POST") { - $app_id = generate_app_id(); - db_execute("INSERT INTO apps (id, owner_id, title, description, type, callback) VALUES (?, ?, ?, ?, ?, ?)", [$app_id, $_POST['owner'], $_POST['title'], $_POST['description'], $_POST['type'], $_POST['callback']]); - die(); -} - -?> - -<h1>App Creator</h1> - -<form method="post"> - <label for="title">Title</label> - <input type="text" required name="title" id="title"> - <label for="description">Description</label> - <textarea name="description" id="description" cols="30" rows="10"></textarea> - <label for="owner">App owner</label> - <select name="owner" required id="owner"> - <?php - $users = db_query("SELECT * FROM accounts"); - foreach ($users as $row) { - echo "<option value='".$row['id']."'>".get_display_name($row['id'])." (".$row['id'].") </option>"; - } - ?> - </select> - <label for="type">App type</label> - <select name="type" required id="type"> - <option value="null">None</option> - <option value="basic_login">Basic login</option> - </select> - - <label for="app_icon">App icon</label> - <input type="file" id="app_icon" name="app_icon" /> - - <label for="callback">Callback</label> - <input type="url" id="callback" name="callback" /> - <button type="submit" class="primary">Create app</button> -</form> \ No newline at end of file diff --git a/admin_create_token.php b/admin_create_token.php deleted file mode 100644 index 6456f05edee6c6c033ec177bd16d0e0c96c9f554..0000000000000000000000000000000000000000 --- a/admin_create_token.php +++ /dev/null @@ -1,86 +0,0 @@ -<?php - -if ($_SERVER["REQUEST_METHOD"] == "POST") { - echo "<pre>"; - print_r($_POST); - echo "</pre>"; - - $token = generate_token($_POST['owner'], $_POST['application'], $_POST['permissions']); - - echo "<p>Created token. Access token: <code>". $token['access'] ."</code></p>"; -} - -?> - -<h1>Token generator</h1> - -<form method="post"> - <div class="container"> - <label for="owner">Token owner</label> - <select name="owner" required id="owner"> - <?php - $users = db_query("SELECT * FROM accounts"); - foreach ($users as $row) { - echo "<option value='".$row['id']."'>".get_display_name($row['id'])." (".$row['id'].") </option>"; - } - ?> - </select> - </div> - <div class="container"> - <label for="app">Token app</label> - <select name="app" id="app"> - <option value="null">None</option> - <?php - $users = db_query("SELECT * FROM apps"); - foreach ($users as $row) { - echo "<option value='".$row['id']."'>". $row['title'] ."</option>"; - } - ?> - </select> - </div> - - <input type="hidden" id="permissions" name="permissions" value="0" /> - - <h2>Permissions</h2> - <p>Permission number: <span id="permissionnumber"></span></p> - <div class="checkboxes container"> - <input type="checkbox" id="account.email" value="1" /><label for="account.email"><code>account.email</code></label> - <input type="checkbox" id="account.settings" value="2" /><label for="account.settings"><code>account.settings</code></label> - </div> - - <button type="submit">Generate!</button> -</form> - -<style> - form .container { - display: unset; - } -</style> - -<script> - const displayNumber = document.getElementById("permissionnumber"); - const permissionsInput = document.getElementById("permissions"); - const checkboxes = document.querySelectorAll("input[type='checkbox']"); - - console.log(checkboxes); - - function updateCheckboxes() { - let permissions = 0; - - for (let checkbox of checkboxes) { - if (checkbox.checked) { - permissions += Number(checkbox.value); - } - } - - displayNumber.innerText = permissions.toString(); - permissionsInput.value = permissions; - } - - for (let checkbox of checkboxes) { - checkbox.onchange = updateCheckboxes; - } - - updateCheckboxes(); - -</script> diff --git a/admin_initdatabase.php b/admin_initdatabase.php deleted file mode 100644 index fb860c9775e5161cd3c7e72f7d1d6a1286df05ca..0000000000000000000000000000000000000000 --- a/admin_initdatabase.php +++ /dev/null @@ -1,152 +0,0 @@ -<?php - -if ($_SERVER["REQUEST_METHOD"] == "POST") { - if ($_POST['init'] == 'Init') { - echo("<p>Initialising DB..."); - echo "<p>Create table `accounts`"; - $stmt = $pdo->prepare('create table accounts -( - id varchar(7) not null - primary key, - email text not null, - created_date datetime default current_timestamp() not null, - display_name text null, - password text not null, - verified tinyint(1) default 0 not null, - has_pfp tinyint(1) default 0 not null, - is_admin tinyint(1) default 0 not null, - constraint email - unique (email) using hash -);'); - - try { - $stmt->execute(); - } catch (PDOException $e) { - echo('<p>An error occurred: '. $e->getMessage() .'. Will skip. (Most likely the table already exists.)'); - } - - echo '<p>Create the `password_resets` table'; - $stmt = $pdo->prepare('create table password_resets -( - id int auto_increment - primary key, - auth_id tinytext not null, - owner_id varchar(7) not null, - expiration int not null, - constraint password_resets_ibfk_1 - foreign key (owner_id) references accounts (id) -);'); - - try { - $stmt->execute(); - } catch (PDOException $e) { - echo('<p>An error occurred: '. $e->getMessage() .'. Most likely this is already set.'); - } - - echo '<p>Create the `apps` table'; - - try { - db_execute('create table apps ( - id int auto_increment - primary key, - owner_id varchar(7) not null, - title text not null, - description text, - image text default "https://id.byecorps.com/assets/default.png" not null, - type text null, - callback text null, - constraint apps_ibfk_1 - foreign key (owner_id) references accounts (id) - );'); - } catch (PDOException $e) { - echo('<p>An error occurred: '. $e->getMessage() .'. Most likely this is already set.'); - } - - - echo '<p>Create the `badges` table'; - - try { - db_execute('create table badges ( - id int auto_increment - primary key, - app_id int not null, - title text not null, - description text, - image text default "https://id.byecorps.com/assets/default.png" not null, - type text null, - callback text null, - constraint badges_ibfk_1 - foreign key (app_id) references apps (id) - );'); - } catch (PDOException $e) { - echo('<p>An error occurred: '. $e->getMessage() .'. Most likely this is already set.'); - } - - echo '<p>Create the `profiles` table'; - - try { - db_execute('create table profiles ( - id varchar(7) - primary key, - description text null, - public_avatar tinyint(1) default 0, - public_display_name tinyint(1) default 0, - - constraint profiles_ibfk_1 - foreign key (id) references accounts (id) - );'); - } catch (PDOException $e) { - echo('<p>An error occurred: '. $e->getMessage() .'. Most likely this is already set.'); - } - - echo '<p>Create the `tokens` table'; - - try { - db_execute('create table tokens ( - id int auto_increment primary key, - access_token text unique, - refresh_token text null, - expiry int not null, - owner_id varchar(7), - application_id int(10) null, - - constraint tokens_application_id - foreign key (application_id) references apps (id), - constraint tokens_owner_id - foreign key (owner_id) references accounts (id) - );'); - } catch (PDOException $e) { - echo('<p>An error occurred: '. $e->getMessage() .'. Most likely this is already set.'); - } - - echo '<p>Create the `tokens` table'; - - try { - db_query('CREATE TABLE `badge_owners` ( - `badge_id` int(11) NOT NULL, - `owner_id` varchar(7) NOT NULL, - `earned` timestamp NULL DEFAULT current_timestamp(), - `info` text DEFAULT NULL COMMENT \'App may attach more info about how the badge was won (Killed "CoolGamer69 in battle!")\', - - constraint badges_owners_badge - foreign key (badge_id) references badges (id), - constraint badges_owners_owner - foreign key (owner_id) references accounts (id) -);'); - } catch (PDOException $e) { - echo('<p>An error occurred: ' . $e->getMessage() . '. Most likely this is already set.'); - } - - echo "<p>Database initialised.</p>"; - } -} - -?> - -<h1>Init database</h1> - -<p>Assuming you have the database config configured, you can click this button to create the tables required for this thing to function.</p> - -<form method="post"> - <button name="init" value="Init" class="primary">Init DB</button> -</form> diff --git a/admin_purge.php b/admin_purge.php deleted file mode 100644 index 691e75738b73dec82f6badbdf16cb9ce13ee759c..0000000000000000000000000000000000000000 --- a/admin_purge.php +++ /dev/null @@ -1,29 +0,0 @@ -<?php - - -if ($_SERVER['REQUEST_METHOD'] == "POST") { - if ($_POST['purge'] == 'purge') { - db_execute("DELETE FROM `password_resets` WHERE expiration < ?", [time()]); - db_execute("DELETE FROM `tokens` WHERE expiry < ?", [time()]); - } -} - -$expired_password_resets = db_execute("SELECT * FROM `password_resets` WHERE expiration < ?", [time()]); -$expired_tokens = db_execute("SELECT * FROM `tokens` WHERE expiry < ?", [time()]); - -?> - - - -<h1>Purge</h1> -<form method="post"> - <p> - <button name="purge" value="purge" type="submit" class="primary">Purge</button> - </p> -</form> - -<h2>Expired password resets</h2> -<pre><?php print_r($expired_password_resets) ?></pre> - -<h2>Expired Login tokens</h2> -<pre><?php print_r($expired_tokens) ?></pre> diff --git a/api.php b/api.php new file mode 100644 index 0000000000000000000000000000000000000000..153eabc7b5ee0ffaa49dc6c3517194d4484a0221 --- /dev/null +++ b/api.php @@ -0,0 +1,57 @@ +<?php + +header('Content-Type: application/json'); + +$routes = [ + '' => function () { + header('Location: /api/status'); + exit(); + }, + + 'i18n' => function () { + global $path; + return match ($path[2]) { + 'languages' => [ + "response" => [ + 'success' => true, + 'status_code' => 200 + ], + 'body' => [ + 'current' => $_SESSION['lang'], + 'languages' => LANGAUGES + ] + ], + default => 404, + }; + }, + + 'status' => function () { + http_response_code(200); + + return [ + 'response' => [ + 'success' => true, + 'status_code' => 200 + ], + 'body' => [ + 'message' => 'Science compels us to explode the sun!', + 'time' => time() + ] + ]; + } +]; + +if (array_key_exists($path[1], $routes)) { + $res = $routes[$path[1]](); + echo json_encode($res, JSON_PRETTY_PRINT); +} else { + echo json_encode([ + "response" => [ + "success" => false, + "status_code" => 404 + ], + 'body' => [ + 'message' => 'That endpoint could not be found.' + ] + ], JSON_PRETTY_PRINT); +} diff --git a/api_handler.php b/api_handler.php deleted file mode 100644 index 164e5c00e777b70a4925822b13bba400f98afcef..0000000000000000000000000000000000000000 --- a/api_handler.php +++ /dev/null @@ -1,198 +0,0 @@ -<?php - -$output_format = "json"; -header('Content-type: application/json'); - -if (array_key_exists('HTTP_AUTHORIZATION', $_SERVER)) { - $access_token = str_replace("Bearer ", "", $_SERVER['HTTP_AUTHORIZATION']); -} - -if (!empty($access_token)) { - // Check who the access token belongs to - $token = db_execute("SELECT * FROM tokens WHERE access_token = ?", [$access_token]); - // if the token doesn't exist... - if (empty($token)) { - - $invalid_token = true; // We won't tell this to the end-user immediately because I'd prefer to tell them about - // 404 first. - } else { - $token_owner = $token['owner_id']; - } -} - -function check_authorisation($token=""): int -{ - global $token_owner; - // Validate token - if (!validate_access_token($token) && "" != $token) { - return 0; // Unauthorised - } - - // Check the type of token - $token_row = db_execute("SELECT * FROM tokens WHERE access_token = ?", [$token]); - - if (null == $token_row) { - if (array_key_exists('auth', $_SESSION)) { - if ($_SESSION['auth']) { - $token_row = [ - "type" => "dangerous" - ]; - $token_owner = $_SESSION['id']; - } else { - return 0; - } - } else { - return 0; - } - } - - return match ($token_row['type']) { - "dangerous" => 1<<0 | 1<<1, // Everything - "basic" => 1<<1, // Basic - "oauth" => $token_row['permissions'], - default => 0, - }; -} - -// Misc (unauthorised) - -function redirect_to_documentation(): void -{ - header('Location: /docs/api'); -} - -// Health check - -function api_health_check(): array -{ - return ["message" => "Science compels us to explode the sun!", "time" => time(), "response_code" => 200]; -} - -// Potentially authenticated image endpoints - -function get_avatar(): array -{ - if (!array_key_exists('id', $query)) { - return [ - 'response_code' => 404, - 'message' => 'ID not assigned/found' - ]; - } - $user_id = $query['id']; - return []; -} - -// User (REQUIRES AUTHORISATION) - -function api_user_info(): array -{ - global $access_token, $token_owner; - // Authorisation levels: - // `display_name` = 1 (basic) - // `id` = 1 (basic) - // `email` = 1 (basic) - $level = check_authorisation($access_token); - $data = null; - if ($level & (1 << 0)) { - $data = db_execute("SELECT id, email, display_name FROM accounts WHERE id = ? LIMIT 1", [$token_owner]); - } else { - $data = db_execute("SELECT id, display_name FROM accounts WHERE id = ? LIMIT 1", [$token_owner]); - } - - if (null != $data) { - return [ - "response_code" => 200, - "data" => $data - ]; - } - - http_response_code(401); - return [ - "response_code" => 401, - "message" => "Unauthorized." - ]; -} - -function api_settings(): array -{ - // GET: Return all settings - // POST/PATCH: Update settings - - global $access_token, $token_owner; - - $level = check_authorisation($access_token); - - if (!($level & (1 << 1))) { // account.settings - http_response_code(401); - return [ - "response_code" => 401, - "message" => "Unauthorized." - ]; - } - - if ($_SERVER['REQUEST_METHOD'] === "POST") { - - // Now for the fucking worstest code ever - $settings_changed = json_decode(file_get_contents('php://input'), true); - - if (isset($settings_changed['account'])) { - if (isset($settings_changed['account']['display_name'])) { - $display_name = db_execute('UPDATE accounts SET display_name = ? WHERE id = ?', - [$settings_changed['account']['display_name'], $token_owner]); - } - } - } - - // Get account settings - $display_name = db_execute('SELECT display_name FROM accounts WHERE id = ?', [$token_owner])["display_name"]; - - - return [ - "response_code" => 200, - "settings" => [ - "account" => [ - "display_name" => $display_name, - ] - ] - ]; -} - -$api_routes = [ // base url is base_url.'/api' - // "/path" => "function_name" - // Misc - "" => "redirect_to_documentation", - "/status" => "api_health_check", - - // Account stuff - "/account/me" => "api_user_info", - - // Settings - "/settings" => "api_settings", - - // Get avatar - "/avatars/get" => "get_avatar" -]; - -$path = str_replace("/api", "", $path); - -if (isset($api_routes[$path])) { - if (isset($invalid_token)) { - http_response_code(498); - echo (json_encode([ - "response_code" => "498", - "message" => "Token expired or invalid." - ])); - exit(); - } - $response = $api_routes[$path](); - if (array_key_exists('response_code', $response)) { - http_response_code($response['response_code']); - } - echo json_encode($response); -} else { - http_response_code(404); - echo (json_encode([ - "response_code" => "404", - "message" => "Route not found." - ])); -} diff --git a/assets/bcid.svg b/assets/bcid.svg deleted file mode 100644 index 8911001a67c1a5b078bc56a3f1c5c2c4aa5931d3..0000000000000000000000000000000000000000 --- a/assets/bcid.svg +++ /dev/null @@ -1,6 +0,0 @@ -<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -0.5 32 32" shape-rendering="crispEdges"> - <metadata>Made with Pixels to Svg https://codepen.io/shshaw/pen/XbxvNj</metadata> - <path stroke="#cbdbfc" d="M2 4h28M2 5h1M29 5h1M0 6h3M29 6h3M0 7h1M31 7h1M0 8h1M31 8h1M0 9h1M31 9h1M0 10h1M31 10h1M0 11h1M31 11h1M0 12h1M31 12h1M0 13h1M31 13h1M0 14h1M31 14h1M0 15h1M31 15h1M0 16h1M31 16h1M0 17h1M31 17h1M0 18h1M31 18h1M0 19h1M31 19h1M0 20h1M31 20h1M0 21h1M31 21h1M0 22h1M31 22h1M0 23h1M31 23h1M0 24h1M31 24h1M0 25h3M29 25h3M2 26h1M29 26h1M2 27h28" /> - <path stroke="#ffffff" d="M3 5h26M3 6h26M1 7h30M1 8h30M1 9h30M1 10h6M8 10h1M10 10h6M21 10h1M25 10h6M1 11h7M9 11h9M19 11h3M23 11h2M26 11h5M1 12h6M12 12h6M19 12h3M23 12h2M26 12h5M1 13h6M12 13h6M19 13h3M23 13h2M26 13h5M1 14h6M12 14h6M19 14h3M23 14h2M26 14h5M1 15h6M12 15h6M19 15h3M23 15h2M26 15h5M1 16h15M21 16h1M25 16h6M1 17h6M12 17h19M1 18h5M13 18h18M1 19h5M13 19h3M24 19h1M26 19h5M1 20h5M13 20h18M1 21h5M13 21h3M17 21h1M21 21h1M26 21h5M1 22h30M1 23h30M1 24h30M3 25h26M3 26h26" /> - <path stroke="#000000" d="M7 10h1M9 10h1M16 10h5M22 10h3M8 11h1M18 11h1M22 11h1M25 11h1M7 12h5M18 12h1M22 12h1M25 12h1M7 13h5M18 13h1M22 13h1M25 13h1M7 14h5M18 14h1M22 14h1M25 14h1M7 15h5M18 15h1M22 15h1M25 15h1M16 16h5M22 16h3M7 17h5M6 18h7M6 19h7M16 19h8M25 19h1M6 20h7M6 21h7M16 21h1M18 21h3M22 21h4" /> -</svg> \ No newline at end of file diff --git a/assets/buttons/signinwith.svg b/assets/buttons/signinwith.svg deleted file mode 100644 index ca725609331a9877bfe6c9a6b802fd2574131117..0000000000000000000000000000000000000000 --- a/assets/buttons/signinwith.svg +++ /dev/null @@ -1,88 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!-- Created with Inkscape (http://www.inkscape.org/) --> - -<svg - width="300.858" - height="50" - viewBox="0 0 79.602012 13.229167" - version="1.1" - id="svg1" - xml:space="preserve" - inkscape:export-filename="bitmap.png" - inkscape:export-xdpi="192" - inkscape:export-ydpi="192" - inkscape:version="1.3.2 (091e20ef0f, 2023-11-25, custom)" - sodipodi:docname="bcidsignin.svg" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns="http://www.w3.org/2000/svg" - xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview - id="namedview1" - pagecolor="#ffffff" - bordercolor="#000000" - borderopacity="0.25" - inkscape:showpageshadow="true" - inkscape:pageopacity="0.0" - inkscape:pagecheckerboard="true" - inkscape:deskcolor="#d1d1d1" - inkscape:document-units="px" - showborder="false" - labelstyle="default" - inkscape:zoom="2.8649832" - inkscape:cx="165.446" - inkscape:cy="-36.300388" - inkscape:window-width="1920" - inkscape:window-height="1008" - inkscape:window-x="0" - inkscape:window-y="0" - inkscape:window-maximized="1" - inkscape:current-layer="layer2" /><defs - id="defs1" /><g - inkscape:groupmode="layer" - id="layer2" - inkscape:label="Layer 2"><rect - style="display:inline;opacity:1;fill:#efdd8d;fill-opacity:1;stroke:#dcc455;stroke-width:0.261525;stroke-dasharray:none;stroke-opacity:1" - id="rect35" - width="79.340492" - height="12.967643" - x="0.13076229" - y="0.13076213" - ry="2.0748229" - rx="2.1097128" - inkscape:label="Background" /><g - style="shape-rendering:crispEdges" - id="g32" - transform="matrix(0.52916667,0,0,0.52916667,9.5250001,3.7041667)" - inkscape:label="BCID person"><g - id="layer1-5" - inkscape:label="BCID logo"><g - id="g27" - inkscape:label="Body" - style="opacity:1"><path - id="rect26" - style="opacity:1;fill:#000000;fill-opacity:1" - d="M 1.0058594,6.5 C 1.0026133,6.5 1,6.5026133 1,6.5058594 V 7.4941406 C 1,7.4973867 1.0026133,7.5 1.0058594,7.5 H 0.00585938 C 0.00261328,7.5 0,7.5026133 0,7.5058594 V 11.494141 C 0,11.497387 0.00261328,11.5 0.00585938,11.5 H 7.9941406 C 7.9973867,11.5 8,11.497387 8,11.494141 V 7.5058594 C 8,7.5026133 7.9973867,7.5 7.9941406,7.5 h -1 C 6.9973867,7.5 7,7.4973867 7,7.4941406 V 6.5058594 C 7,6.5026133 6.9973867,6.5 6.9941406,6.5 Z" - inkscape:label="Body" /></g><g - id="g31" - inkscape:label="Head"><path - id="rect28" - style="opacity:1;fill:#000000;fill-opacity:1" - d="M 1.0058594,-0.5 C 1.0026133,-0.5 1,-0.49738672 1,-0.49414062 V 0.49414062 C 1,0.49738672 1.0026133,0.5 1.0058594,0.5 H 1.9941406 C 1.9973867,0.5 2,0.49738672 2,0.49414062 V -0.49414062 C 2,-0.49738672 1.9973867,-0.5 1.9941406,-0.5 Z m 2,0 C 3.0026133,-0.5 3,-0.49738672 3,-0.49414062 V 0.49414062 C 3,0.49738672 3.0026133,0.5 3.0058594,0.5 H 4.9941406 C 4.9973867,0.5 5,0.49738672 5,0.49414062 V -0.49414062 C 5,-0.49738672 4.9973867,-0.5 4.9941406,-0.5 Z m -1,1 C 2.0026133,0.5 2,0.50261328 2,0.50585938 V 1.4941406 C 2,1.4973867 2.0026133,1.5 2.0058594,1.5 h -1 C 1.0026133,1.5 1,1.5026133 1,1.5058594 V 5.4941406 C 1,5.4973867 1.0026133,5.5 1.0058594,5.5 H 6.9941406 C 6.9973867,5.5 7,5.4973867 7,5.4941406 V 1.5058594 C 7,1.5026133 6.9973867,1.5 6.9941406,1.5 h -4 C 2.9973867,1.5 3,1.4973867 3,1.4941406 V 0.50585938 C 3,0.50261328 2.9973867,0.5 2.9941406,0.5 Z" - inkscape:label="Head" /></g></g></g><g - id="text32" - style="font-weight:500;font-size:4.58611px;font-family:Montserrat;-inkscape-font-specification:'Montserrat, Medium';letter-spacing:-0.079375px;word-spacing:0.0926042px;stroke-width:0;stroke-miterlimit:8.7" - inkscape:label="Sign in" - transform="scale(0.95030748,1.052291)" - aria-label="Sign in with ByeCorps ID"><path - style="font-weight:normal;-inkscape-font-specification:'Montserrat, Normal';opacity:1" - d="m 19.328294,7.9399255 c 0.820914,0 1.196975,-0.4035777 1.196975,-0.875947 0,-1.1694581 -1.976613,-0.6374693 -1.976613,-1.5180025 0,-0.3210277 0.261408,-0.582436 0.84843,-0.582436 0.284339,0 0.605367,0.087136 0.880533,0.2659944 L 20.392272,4.9589539 C 20.13545,4.7800956 19.759389,4.6746151 19.397086,4.6746151 c -0.816327,0 -1.183216,0.4081638 -1.183216,0.8805331 0,1.1878025 1.976613,0.6466416 1.976613,1.5271747 0,0.3164416 -0.261408,0.5686777 -0.862189,0.5686777 -0.421922,0 -0.830085,-0.1651 -1.059391,-0.3898194 l -0.132997,0.2614083 c 0.238478,0.2476499 0.710847,0.417336 1.192388,0.417336 z m 1.952271,-2.9672133 c 0.137584,0 0.238478,-0.1054805 0.238478,-0.2384777 0,-0.123825 -0.105481,-0.2247194 -0.238478,-0.2247194 -0.132997,0 -0.238477,0.1054806 -0.238477,0.2293055 0,0.1284111 0.10548,0.2338916 0.238477,0.2338916 z m 0.160514,2.9396966 V 5.5001149 H 21.115465 V 7.9124088 Z M 24.19133,5.963312 C 23.989541,5.6468704 23.640997,5.4817705 23.237419,5.4817705 c -0.687917,0 -1.210733,0.4723693 -1.210733,1.1648719 0,0.6925027 0.522816,1.1740442 1.210733,1.1740442 0.394405,0 0.738364,-0.1605138 0.940153,-0.4677832 v 0.3072694 c 0,0.5961943 -0.279753,0.875947 -0.889706,0.875947 -0.371475,0 -0.720019,-0.123825 -0.949325,-0.3301999 l -0.1651,0.2476499 c 0.252236,0.2384777 0.683331,0.3714749 1.123597,0.3714749 0.797984,0 1.206147,-0.376061 1.206147,-1.2061469 V 5.5001149 H 24.19133 Z m -0.921808,1.5684497 c -0.531989,0 -0.912636,-0.3623027 -0.912636,-0.8851193 0,-0.5228165 0.380647,-0.8805331 0.912636,-0.8805331 0.531989,0 0.917222,0.3577166 0.917222,0.8805331 0,0.5228166 -0.385233,0.8851193 -0.917222,0.8851193 z m 3.296006,-2.0499912 c -0.417336,0 -0.74295,0.169686 -0.917222,0.4631971 V 5.5001149 H 25.33645 v 2.4122939 h 0.325614 V 6.6466424 c 0,-0.5503332 0.325614,-0.8713609 0.843844,-0.8713609 0.458611,0 0.724606,0.2614083 0.724606,0.7704665 v 1.3666608 h 0.325614 V 6.5136452 c 0,-0.6925026 -0.403578,-1.0318747 -0.9906,-1.0318747 z m 3.17623,-0.5090583 c 0.137583,0 0.238478,-0.1054805 0.238478,-0.2384777 0,-0.123825 -0.105481,-0.2247194 -0.238478,-0.2247194 -0.132997,0 -0.238478,0.1054806 -0.238478,0.2293055 0,0.1284111 0.105481,0.2338916 0.238478,0.2338916 z m 0.160514,2.9396966 V 5.5001149 H 29.576658 V 7.9124088 Z M 31.96002,5.4817705 c -0.417336,0 -0.74295,0.169686 -0.917222,0.4631971 V 5.5001149 h -0.311856 v 2.4122939 h 0.325614 V 6.6466424 c 0,-0.5503332 0.325614,-0.8713609 0.843844,-0.8713609 0.458611,0 0.724606,0.2614083 0.724606,0.7704665 V 7.9124088 H 32.95062 V 6.5136452 c 0,-0.6925026 -0.403578,-1.0318747 -0.9906,-1.0318747 z M 37.447649,7.5501061 36.677182,5.5001149 H 36.397429 L 35.622377,7.5501061 34.865669,5.5001149 h -0.311856 l 0.90805,2.4122939 h 0.307269 l 0.761295,-1.9766134 0.761294,1.9766134 h 0.307269 l 0.912636,-2.4122939 h -0.298097 z m 1.640415,-2.5773939 c 0.137583,0 0.238477,-0.1054805 0.238477,-0.2384777 0,-0.123825 -0.10548,-0.2247194 -0.238477,-0.2247194 -0.132998,0 -0.238478,0.1054806 -0.238478,0.2293055 0,0.1284111 0.10548,0.2338916 0.238478,0.2338916 z m 0.160514,2.9396966 V 5.5001149 h -0.325614 v 2.4122939 z m 1.984371,-0.3806471 c -0.09172,0.08255 -0.224719,0.123825 -0.357717,0.123825 -0.27058,0 -0.417336,-0.1559278 -0.417336,-0.4402666 V 5.7752815 h 0.733778 V 5.5001149 H 40.457896 V 4.9727122 h -0.325614 v 0.5274027 h -0.431094 v 0.2751666 h 0.431094 v 1.458383 c 0,0.4448527 0.252237,0.7016749 0.706261,0.7016749 0.188031,0 0.380648,-0.055033 0.509059,-0.1696861 z m 1.855963,-2.0499912 c -0.408164,0 -0.724606,0.1605138 -0.903464,0.4402665 V 4.5095151 h -0.325614 v 3.4028937 h 0.325614 V 6.6466424 c 0,-0.5503332 0.325614,-0.8713609 0.843844,-0.8713609 0.458611,0 0.724606,0.2614083 0.724606,0.7704665 v 1.3666608 h 0.325614 V 6.5136452 c 0,-0.6925026 -0.403578,-1.0318747 -0.9906,-1.0318747 z" - id="path40" /><path - style="font-weight:bold;-inkscape-font-specification:'Montserrat, Bold'" - d="m 48.383925,6.2430647 c 0.261408,-0.1375833 0.426508,-0.3852332 0.426508,-0.7062609 0,-0.499886 -0.41275,-0.8346721 -1.215319,-0.8346721 h -1.56845 v 3.2102771 h 1.660172 c 0.843844,0 1.284111,-0.3210277 1.284111,-0.875947 0,-0.4035777 -0.229306,-0.6787443 -0.587022,-0.7933971 z M 47.503392,5.2616372 c 0.362302,0 0.559505,0.123825 0.559505,0.376061 0,0.2522361 -0.197203,0.3806472 -0.559505,0.3806472 H 46.765028 V 5.2616372 Z M 46.765028,7.3529034 V 6.5595063 h 0.866775 c 0.385233,0 0.591608,0.1284111 0.591608,0.3989916 0,0.2751666 -0.206375,0.3944055 -0.591608,0.3944055 z M 50.469192,7.1190118 49.776689,5.4450816 h -0.738364 l 1.068564,2.4856717 -0.0092,0.022931 c -0.09631,0.2201333 -0.206375,0.3072694 -0.403578,0.3072694 -0.142169,0 -0.293511,-0.059619 -0.403578,-0.1559277 l -0.261408,0.5090582 c 0.160514,0.1421694 0.43568,0.2247194 0.687917,0.2247194 0.444852,0 0.784224,-0.1788583 1.022702,-0.7750526 L 51.854197,5.4450816 H 51.16628 Z m 3.947232,-0.4310944 c 0,-0.793397 -0.559506,-1.2795247 -1.284111,-1.2795247 -0.752122,0 -1.316214,0.5319888 -1.316214,1.2703525 0,0.7337776 0.55492,1.2703525 1.407936,1.2703525 0.444853,0 0.788811,-0.1375833 1.018117,-0.3989916 L 53.861505,7.1373562 c -0.169686,0.1605139 -0.357717,0.2384777 -0.619125,0.2384777 -0.376061,0 -0.63747,-0.1880305 -0.706261,-0.4952998 h 1.866547 c 0.0046,-0.05962 0.01376,-0.1375834 0.01376,-0.1926167 z M 53.136899,5.9495537 c 0.321028,0 0.55492,0.2017888 0.605367,0.5136443 h -1.215319 c 0.05045,-0.3164416 0.284338,-0.5136443 0.609952,-0.5136443 z" - id="path41" /><path - style="font-weight:600;-inkscape-font-specification:'Montserrat, Semi-Bold'" - d="m 56.400799,7.9582699 c 0.527402,0 0.976841,-0.1880305 1.274938,-0.5365749 L 57.290504,7.0548062 c -0.233892,0.2568222 -0.522816,0.3806472 -0.857602,0.3806472 -0.664986,0 -1.146528,-0.4677833 -1.146528,-1.1281831 0,-0.6603999 0.481542,-1.1281831 1.146528,-1.1281831 0.334786,0 0.62371,0.123825 0.857602,0.376061 L 57.675737,5.1928455 C 57.37764,4.8443012 56.928201,4.6562706 56.405385,4.6562706 c -0.986014,0 -1.719791,0.6925027 -1.719791,1.6509997 0,0.958497 0.733777,1.6509996 1.715205,1.6509996 z m 2.722731,-0.013758 c 0.761295,0 1.307042,-0.5228166 1.307042,-1.2565942 0,-0.7337776 -0.545747,-1.252008 -1.307042,-1.252008 -0.752122,0 -1.302455,0.5182304 -1.302455,1.252008 0,0.7337776 0.550333,1.2565942 1.302455,1.2565942 z m 0,-0.4907138 c -0.41275,0 -0.724605,-0.2980971 -0.724605,-0.7658804 0,-0.4677832 0.311855,-0.7658804 0.724605,-0.7658804 0.417336,0 0.729192,0.2980972 0.729192,0.7658804 0,0.4677833 -0.311856,0.7658804 -0.729192,0.7658804 z M 61.447281,5.463426 h -0.545747 v 2.4489828 h 0.573263 V 6.7246063 c 0,-0.499886 0.275167,-0.7567082 0.710848,-0.7567082 0.04127,0 0.08255,0.00459 0.132997,0.013758 V 5.4359094 c -0.408164,0 -0.706261,0.128411 -0.871361,0.3852332 z m 2.635605,-0.027517 c -0.334786,0 -0.619125,0.1146527 -0.811741,0.3485443 V 5.463426 h -0.545747 v 3.3386882 h 0.573263 V 7.6143117 c 0.197203,0.2247194 0.47237,0.3301999 0.784225,0.3301999 0.715433,0 1.242836,-0.4952999 1.242836,-1.2565942 0,-0.7567081 -0.527403,-1.252008 -1.242836,-1.252008 z m -0.06421,2.0178884 c -0.41275,0 -0.729192,-0.2980971 -0.729192,-0.7658804 0,-0.4677832 0.316442,-0.7658804 0.729192,-0.7658804 0.41275,0 0.724605,0.2980972 0.724605,0.7658804 0,0.4677833 -0.311855,0.7658804 -0.724605,0.7658804 z m 2.530125,0.4907138 c 0.687916,0 1.109838,-0.2980972 1.109838,-0.7567082 0,-0.958497 -1.513416,-0.5182304 -1.513416,-1.0135303 0,-0.1605139 0.1651,-0.2751666 0.513644,-0.2751666 0.233892,0 0.467784,0.045861 0.701675,0.1834444 l 0.220134,-0.4356805 c -0.220134,-0.1329972 -0.591609,-0.210961 -0.917222,-0.210961 -0.6604,0 -1.077736,0.3026832 -1.077736,0.7658804 0,0.9768414 1.513416,0.5365748 1.513416,1.0043581 0,0.169686 -0.151342,0.2705805 -0.513644,0.2705805 -0.30727,0 -0.63747,-0.1008945 -0.853017,-0.2430639 L 65.512345,7.669345 c 0.220133,0.1559277 0.628297,0.2751666 1.036461,0.2751666 z" - id="path42" /><path - style="font-weight:normal;-inkscape-font-specification:'Montserrat, Normal';opacity:1" - d="M 69.775483,7.9124088 V 4.7021317 H 69.43611 v 3.2102771 z m 2.273299,0 c 1.027288,0 1.719791,-0.6603998 1.719791,-1.6051385 0,-0.9447387 -0.692503,-1.6051386 -1.719791,-1.6051386 H 70.74174 v 3.2102771 z m -0.96767,-2.916766 h 0.949325 c 0.853017,0 1.40335,0.541161 1.40335,1.3116275 0,0.7704665 -0.550333,1.3116275 -1.40335,1.3116275 h -0.949325 z" - id="path43" /></g></g></svg> diff --git a/assets/default.png b/assets/default.png deleted file mode 100644 index a1d6ae44f844f01c7b4191bf3bff9c6d05f59555..0000000000000000000000000000000000000000 Binary files a/assets/default.png and /dev/null differ diff --git a/assets/icons/apple-icon-180.png b/assets/icons/apple-icon-180.png deleted file mode 100644 index f07b87c89f135d2996cc9bca2cbc94c5493f5cc7..0000000000000000000000000000000000000000 Binary files a/assets/icons/apple-icon-180.png and /dev/null differ diff --git a/assets/icons/apple-splash-1125-2436.png b/assets/icons/apple-splash-1125-2436.png deleted file mode 100644 index 50920b97b8336200fa3538251b3e401f13f82176..0000000000000000000000000000000000000000 Binary files a/assets/icons/apple-splash-1125-2436.png and /dev/null differ diff --git a/assets/icons/apple-splash-1136-640.png b/assets/icons/apple-splash-1136-640.png deleted file mode 100644 index 235e1f97661f022be126214033da3ab1416f4e21..0000000000000000000000000000000000000000 Binary files a/assets/icons/apple-splash-1136-640.png and /dev/null differ diff --git a/assets/icons/apple-splash-1170-2532.png b/assets/icons/apple-splash-1170-2532.png deleted file mode 100644 index c6cd4a14d981cb7e3f5c66917698e312042b608c..0000000000000000000000000000000000000000 Binary files a/assets/icons/apple-splash-1170-2532.png and /dev/null differ diff --git a/assets/icons/apple-splash-1179-2556.png b/assets/icons/apple-splash-1179-2556.png deleted file mode 100644 index 5f90799a900db4524bee7e853a59e7aa7c9e28b3..0000000000000000000000000000000000000000 Binary files a/assets/icons/apple-splash-1179-2556.png and /dev/null differ diff --git a/assets/icons/apple-splash-1242-2208.png b/assets/icons/apple-splash-1242-2208.png deleted file mode 100644 index 2e56b173c742033861397e73a5d43d13fa89bb5f..0000000000000000000000000000000000000000 Binary files a/assets/icons/apple-splash-1242-2208.png and /dev/null differ diff --git a/assets/icons/apple-splash-1242-2688.png b/assets/icons/apple-splash-1242-2688.png deleted file mode 100644 index 45c72d46c48e015edf310793b4ba6d92755a33fb..0000000000000000000000000000000000000000 Binary files a/assets/icons/apple-splash-1242-2688.png and /dev/null differ diff --git a/assets/icons/apple-splash-1284-2778.png b/assets/icons/apple-splash-1284-2778.png deleted file mode 100644 index 5d26b9d6a162b3aa78603bab754eabf5fa99b02b..0000000000000000000000000000000000000000 Binary files a/assets/icons/apple-splash-1284-2778.png and /dev/null differ diff --git a/assets/icons/apple-splash-1290-2796.png b/assets/icons/apple-splash-1290-2796.png deleted file mode 100644 index cee06dbbb8b2de6722bfbc0d2f5f7e9201eac4fa..0000000000000000000000000000000000000000 Binary files a/assets/icons/apple-splash-1290-2796.png and /dev/null differ diff --git a/assets/icons/apple-splash-1334-750.png b/assets/icons/apple-splash-1334-750.png deleted file mode 100644 index fb37712491698fdc9d653d7e538d3a16259daeef..0000000000000000000000000000000000000000 Binary files a/assets/icons/apple-splash-1334-750.png and /dev/null differ diff --git a/assets/icons/apple-splash-1488-2266.png b/assets/icons/apple-splash-1488-2266.png deleted file mode 100644 index 657fcb31e56d3c00e846ffc45d9bea7062c82fd7..0000000000000000000000000000000000000000 Binary files a/assets/icons/apple-splash-1488-2266.png and /dev/null differ diff --git a/assets/icons/apple-splash-1536-2048.png b/assets/icons/apple-splash-1536-2048.png deleted file mode 100644 index c313eec3775251e5d3334bcdf6937cf53be6848e..0000000000000000000000000000000000000000 Binary files a/assets/icons/apple-splash-1536-2048.png and /dev/null differ diff --git a/assets/icons/apple-splash-1620-2160.png b/assets/icons/apple-splash-1620-2160.png deleted file mode 100644 index 7e08f6d724ade8c556a3c48c08137261c8fde802..0000000000000000000000000000000000000000 Binary files a/assets/icons/apple-splash-1620-2160.png and /dev/null differ diff --git a/assets/icons/apple-splash-1640-2360.png b/assets/icons/apple-splash-1640-2360.png deleted file mode 100644 index b400cd308b32ad1d04bb18a3348f3e3a9d1b4270..0000000000000000000000000000000000000000 Binary files a/assets/icons/apple-splash-1640-2360.png and /dev/null differ diff --git a/assets/icons/apple-splash-1668-2224.png b/assets/icons/apple-splash-1668-2224.png deleted file mode 100644 index f01df0b8c790be0890a4044abbe50d231617cbd8..0000000000000000000000000000000000000000 Binary files a/assets/icons/apple-splash-1668-2224.png and /dev/null differ diff --git a/assets/icons/apple-splash-1668-2388.png b/assets/icons/apple-splash-1668-2388.png deleted file mode 100644 index 41f4ca6780f387ab26cb46b3839cfb4423c5b609..0000000000000000000000000000000000000000 Binary files a/assets/icons/apple-splash-1668-2388.png and /dev/null differ diff --git a/assets/icons/apple-splash-1792-828.png b/assets/icons/apple-splash-1792-828.png deleted file mode 100644 index 2d7e31267eded3790d91f9c7cd70aaefa9b0e48a..0000000000000000000000000000000000000000 Binary files a/assets/icons/apple-splash-1792-828.png and /dev/null differ diff --git a/assets/icons/apple-splash-2048-1536.png b/assets/icons/apple-splash-2048-1536.png deleted file mode 100644 index a53ba1c6cf49be2e67de301f6eec55585a6a4d0b..0000000000000000000000000000000000000000 Binary files a/assets/icons/apple-splash-2048-1536.png and /dev/null differ diff --git a/assets/icons/apple-splash-2048-2732.png b/assets/icons/apple-splash-2048-2732.png deleted file mode 100644 index 75dcd5f3ae0de1f09db1e13167367bab02147c34..0000000000000000000000000000000000000000 Binary files a/assets/icons/apple-splash-2048-2732.png and /dev/null differ diff --git a/assets/icons/apple-splash-2160-1620.png b/assets/icons/apple-splash-2160-1620.png deleted file mode 100644 index 760d67a888dd1719af2af0b503597299bd5bffa1..0000000000000000000000000000000000000000 Binary files a/assets/icons/apple-splash-2160-1620.png and /dev/null differ diff --git a/assets/icons/apple-splash-2208-1242.png b/assets/icons/apple-splash-2208-1242.png deleted file mode 100644 index 1b5012d4f0bab25c155c3e4734a7c13d4d5a58a0..0000000000000000000000000000000000000000 Binary files a/assets/icons/apple-splash-2208-1242.png and /dev/null differ diff --git a/assets/icons/apple-splash-2224-1668.png b/assets/icons/apple-splash-2224-1668.png deleted file mode 100644 index 24d1b32565d5304d4d697dec113b95a8840c87cb..0000000000000000000000000000000000000000 Binary files a/assets/icons/apple-splash-2224-1668.png and /dev/null differ diff --git a/assets/icons/apple-splash-2266-1488.png b/assets/icons/apple-splash-2266-1488.png deleted file mode 100644 index fa7ff4ee0aa9e55aa9a7317dc916cb5b4dcdc0ff..0000000000000000000000000000000000000000 Binary files a/assets/icons/apple-splash-2266-1488.png and /dev/null differ diff --git a/assets/icons/apple-splash-2360-1640.png b/assets/icons/apple-splash-2360-1640.png deleted file mode 100644 index 74192f744471ed19a0b948dc4128faac759c707c..0000000000000000000000000000000000000000 Binary files a/assets/icons/apple-splash-2360-1640.png and /dev/null differ diff --git a/assets/icons/apple-splash-2388-1668.png b/assets/icons/apple-splash-2388-1668.png deleted file mode 100644 index 28956138fd56d27c5e014a81275c327889e6c5ee..0000000000000000000000000000000000000000 Binary files a/assets/icons/apple-splash-2388-1668.png and /dev/null differ diff --git a/assets/icons/apple-splash-2436-1125.png b/assets/icons/apple-splash-2436-1125.png deleted file mode 100644 index d4b6f87215d890a45f561fd0949edcf8701bdd8e..0000000000000000000000000000000000000000 Binary files a/assets/icons/apple-splash-2436-1125.png and /dev/null differ diff --git a/assets/icons/apple-splash-2532-1170.png b/assets/icons/apple-splash-2532-1170.png deleted file mode 100644 index b8ca512a0fabc881e1ab01a2fd4a59c854c078f6..0000000000000000000000000000000000000000 Binary files a/assets/icons/apple-splash-2532-1170.png and /dev/null differ diff --git a/assets/icons/apple-splash-2556-1179.png b/assets/icons/apple-splash-2556-1179.png deleted file mode 100644 index 44a462f07bc14bc2fc2e6ca4c24abf548a97cedb..0000000000000000000000000000000000000000 Binary files a/assets/icons/apple-splash-2556-1179.png and /dev/null differ diff --git a/assets/icons/apple-splash-2688-1242.png b/assets/icons/apple-splash-2688-1242.png deleted file mode 100644 index 6c8da45f5e4ab99d344da8c0b255b7a363c95b9b..0000000000000000000000000000000000000000 Binary files a/assets/icons/apple-splash-2688-1242.png and /dev/null differ diff --git a/assets/icons/apple-splash-2732-2048.png b/assets/icons/apple-splash-2732-2048.png deleted file mode 100644 index 6d325da141e93fba0e7959687c6e32d2b0bfee56..0000000000000000000000000000000000000000 Binary files a/assets/icons/apple-splash-2732-2048.png and /dev/null differ diff --git a/assets/icons/apple-splash-2778-1284.png b/assets/icons/apple-splash-2778-1284.png deleted file mode 100644 index f3d1776fdc28b66c1c03e5aadad51db61cc4ce9d..0000000000000000000000000000000000000000 Binary files a/assets/icons/apple-splash-2778-1284.png and /dev/null differ diff --git a/assets/icons/apple-splash-2796-1290.png b/assets/icons/apple-splash-2796-1290.png deleted file mode 100644 index e906f5e324f8ef8943d0b0a47db4fab149682d06..0000000000000000000000000000000000000000 Binary files a/assets/icons/apple-splash-2796-1290.png and /dev/null differ diff --git a/assets/icons/apple-splash-640-1136.png b/assets/icons/apple-splash-640-1136.png deleted file mode 100644 index 1e8208d9a18f8aa37048edc74032e9fb8a988450..0000000000000000000000000000000000000000 Binary files a/assets/icons/apple-splash-640-1136.png and /dev/null differ diff --git a/assets/icons/apple-splash-750-1334.png b/assets/icons/apple-splash-750-1334.png deleted file mode 100644 index a9ae50458736d90a8ac0082dae5bd5653f009d65..0000000000000000000000000000000000000000 Binary files a/assets/icons/apple-splash-750-1334.png and /dev/null differ diff --git a/assets/icons/apple-splash-828-1792.png b/assets/icons/apple-splash-828-1792.png deleted file mode 100644 index 668f2f710ae0622b8b58863e1db173af18f8eb13..0000000000000000000000000000000000000000 Binary files a/assets/icons/apple-splash-828-1792.png and /dev/null differ diff --git a/assets/icons/manifest-icon-192.maskable.png b/assets/icons/manifest-icon-192.maskable.png deleted file mode 100644 index f7735bce248c912588326cf1a2ae3c5fe9ecbe81..0000000000000000000000000000000000000000 Binary files a/assets/icons/manifest-icon-192.maskable.png and /dev/null differ diff --git a/assets/icons/manifest-icon-512.maskable.png b/assets/icons/manifest-icon-512.maskable.png deleted file mode 100644 index ad7db2bb6465cf9efa78120d311448c09d1b5fae..0000000000000000000000000000000000000000 Binary files a/assets/icons/manifest-icon-512.maskable.png and /dev/null differ diff --git a/bcid.svg b/bcid.svg deleted file mode 100644 index 8911001a67c1a5b078bc56a3f1c5c2c4aa5931d3..0000000000000000000000000000000000000000 --- a/bcid.svg +++ /dev/null @@ -1,6 +0,0 @@ -<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -0.5 32 32" shape-rendering="crispEdges"> - <metadata>Made with Pixels to Svg https://codepen.io/shshaw/pen/XbxvNj</metadata> - <path stroke="#cbdbfc" d="M2 4h28M2 5h1M29 5h1M0 6h3M29 6h3M0 7h1M31 7h1M0 8h1M31 8h1M0 9h1M31 9h1M0 10h1M31 10h1M0 11h1M31 11h1M0 12h1M31 12h1M0 13h1M31 13h1M0 14h1M31 14h1M0 15h1M31 15h1M0 16h1M31 16h1M0 17h1M31 17h1M0 18h1M31 18h1M0 19h1M31 19h1M0 20h1M31 20h1M0 21h1M31 21h1M0 22h1M31 22h1M0 23h1M31 23h1M0 24h1M31 24h1M0 25h3M29 25h3M2 26h1M29 26h1M2 27h28" /> - <path stroke="#ffffff" d="M3 5h26M3 6h26M1 7h30M1 8h30M1 9h30M1 10h6M8 10h1M10 10h6M21 10h1M25 10h6M1 11h7M9 11h9M19 11h3M23 11h2M26 11h5M1 12h6M12 12h6M19 12h3M23 12h2M26 12h5M1 13h6M12 13h6M19 13h3M23 13h2M26 13h5M1 14h6M12 14h6M19 14h3M23 14h2M26 14h5M1 15h6M12 15h6M19 15h3M23 15h2M26 15h5M1 16h15M21 16h1M25 16h6M1 17h6M12 17h19M1 18h5M13 18h18M1 19h5M13 19h3M24 19h1M26 19h5M1 20h5M13 20h18M1 21h5M13 21h3M17 21h1M21 21h1M26 21h5M1 22h30M1 23h30M1 24h30M3 25h26M3 26h26" /> - <path stroke="#000000" d="M7 10h1M9 10h1M16 10h5M22 10h3M8 11h1M18 11h1M22 11h1M25 11h1M7 12h5M18 12h1M22 12h1M25 12h1M7 13h5M18 13h1M22 13h1M25 13h1M7 14h5M18 14h1M22 14h1M25 14h1M7 15h5M18 15h1M22 15h1M25 15h1M16 16h5M22 16h3M7 17h5M6 18h7M6 19h7M16 19h8M25 19h1M6 20h7M6 21h7M16 21h1M18 21h3M22 21h4" /> -</svg> \ No newline at end of file diff --git a/common/account_utils.php b/common/account_utils.php new file mode 100644 index 0000000000000000000000000000000000000000..831c57466e7d3aa2421e5f2eccf56d832ecfa592 --- /dev/null +++ b/common/account_utils.php @@ -0,0 +1,133 @@ +<?php + +const DEMO_USER = "9999999"; + +function generate_bcid($duplicate_check=false): string +{ + $CHARS = str_split("ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"); + $bcid = $CHARS[array_rand($CHARS)].$CHARS[array_rand($CHARS)].$CHARS[array_rand($CHARS)].$CHARS[array_rand($CHARS)].$CHARS[array_rand($CHARS)].$CHARS[array_rand($CHARS)].$CHARS[array_rand($CHARS)]; + + if ($duplicate_check) { + $same_accounts = db_execute('SELECT id FROM accounts WHERE id = ? LIMIT 1', [$bcid]); + if ($same_accounts) { + $bcid = generate_bcid(true); + } + } + + return $bcid; +} + +function validate_bcid($bcid): bool +{ + $stripped_bcid = str_replace([" ", "-"], "", $bcid); + $stripped_bcid = strtoupper($stripped_bcid); + + if (!preg_match('/^[^A-Z^0-9]^/', $stripped_bcid) && strlen($stripped_bcid) == 7) { + return true; + } + + return false; // fail condition +} + +function format_bcid ($bcid): string +{ // Formats to XXX-XXXX + $stripped_bcid = str_replace([' ','-'], '', $bcid); + $stripped_bcid = strtoupper($stripped_bcid); + + if (!validate_bcid($stripped_bcid)) { + return '999-9999'; + } + + return substr($stripped_bcid, 0, 3).'-'.substr($stripped_bcid, -4, 4); +} + +function get_user_by_id($bcid) { + return db_execute('SELECT * FROM accounts WHERE id = ? LIMIT 1', [$bcid]); +} + +function get_user_display_name($userId, $escape = true) { + global $user; + + $target = array(); + if ($userId == $user['id']) { + $target = $user; + } else { + $target = get_user_by_id($userId); + } + + if (is_null($user['display_name'])) { + try { + return format_bcid($user['id']); + } catch (Exception $e) { + return 'Invalid BCID'; + } + } + + $display_name = $user['display_name']; + if ($escape) { + $display_name = htmlspecialchars($display_name); + } + + return $display_name; +} + +function get_user_avatar($userId) { + global $user; + + if (!$_SESSION['auth']) { + return 'https://cdn.id.byecorps.com/profile/default.png'; + } + + $target = array(); + if ($userId == $user['id']) { + $target = $user; + } else { + $target = get_user_by_id($userId); + } + + $avatar = db_execute('SELECT * FROM avatars JOIN neo_id.files f on f.id = avatars.file_id WHERE avatars.owner = ?', + [ $target['id'] ]); + + if ($avatar) { +// echo '<pre>'; print_r($avatar); echo '</pre>'; + return 'https://cdn.id.byecorps.com/' . $avatar['path']; + } + + return 'https://cdn.id.byecorps.com/profile/default.png'; +} + +function set_user_language(string $lang_code, string $id="9999999"): void +{ + $_SESSION['lang'] = $lang_code; + + if ($id == DEMO_USER) { + return; + } + + db_execute( + 'UPDATE accounts SET language = ? WHERE id = ?', + [$lang_code, $id] + ); +} + +function requires_auth($redirect = '/auth/login') { + global $path_raw; + + if ($_SESSION['auth']) { + return true; + } + + http_response_code(307); + header('Location: '.$redirect.'?callback='.urlencode($path_raw)); + exit(); +} + +function requires_admin() { + global $user; + + if ($user['is_admin']) { + return true; + } + + return false; +} diff --git a/common/app_utils.php b/common/app_utils.php new file mode 100644 index 0000000000000000000000000000000000000000..5fbf33b052d218b5f4f9bdcf0a3414530315f515 --- /dev/null +++ b/common/app_utils.php @@ -0,0 +1,10 @@ +<?php + +function get_app_by_id(int $id) { + return db_execute('SELECT * FROM apps WHERE id = ?', [$id]); +} + +function get_apps_by_owner_id(str $bcid) { + $results = db_execute_all('SELECT * FROM apps WHERE owner_id = ?', [$bcid]); + return $results; +} diff --git a/common/database.php b/common/database.php new file mode 100644 index 0000000000000000000000000000000000000000..0baa5b94c89afef399c57653c72dbcaa864a5253 --- /dev/null +++ b/common/database.php @@ -0,0 +1,27 @@ +<?php + +function db_execute($sql, $variables=[]) { + global $pdo; + + $stmt = $pdo->prepare($sql); + $stmt->execute($variables); + return $stmt->fetch(); + +} + +function db_execute_all($sql, $variables=[]): bool|array +{ + global $pdo; + + $stmt = $pdo->prepare($sql); + $stmt->execute($variables); + return $stmt->fetchAll(); + +} + +function db_query($sql): bool|PDOStatement +{ + global $pdo; + + return $pdo->query($sql); +} diff --git a/common/files.php b/common/files.php new file mode 100644 index 0000000000000000000000000000000000000000..55f3804405853b6fbcaf604cd8c1dd7e3c3b02eb --- /dev/null +++ b/common/files.php @@ -0,0 +1,158 @@ +<?php + +use kornrunner\Blurhash\Blurhash; + +function mime_to_extension($mime) { + return match ($mime) { + 'image/gif' => '.gif', + 'image/jpeg' => '.jpg', + 'image/png' => '.png', + 'image/webp' => '.webp', + default => '' + }; +} + +/** + * + * Squishes an image into a 128x128 square, and converts it to JPEG + * if it is not a JPEG, PNG, WEBP or GIF. + * + * @param string $path + * @return array + */ +function turn_image_into_avatar(string $path): array +{ + $manager = new \Intervention\Image\ImageManager( + new \Intervention\Image\Drivers\Gd\Driver() + ); + + $image = $manager->read($path); + + // Get mimetype + $mime = mime_content_type($path); + $filetype = mime_to_extension($mime); + + $enc = $image->resize(width: 128, height: 128); + + if ($filetype=='') { + $enc = $image->encodeByMediaType('image/webp'); + $filetype = '.webp'; + } else { + $enc = $image->encodeByMediaType(); + } + + $image_data = (string) $enc; + + return [ + "data" => $image_data, + "mime" => $enc->mimetype(), + 'filetype' => $filetype + ]; +} + +function get_blurhash_for_image($image): string +{ + // Copied shamelessly from https://github.com/kornrunner/php-blurhash + $width = imagesx($image); + $height = imagesy($image); + + $pixels = []; + for ($y = 0; $y < $height; ++$y) { + $row = []; + for ($x = 0; $x < $width; ++$x) { + $index = imagecolorat($image, $x, $y); + $colors = imagecolorsforindex($image, $index); + + $row[] = [$colors['red'], $colors['green'], $colors['blue']]; + } + $pixels[] = $row; + } + + $components_x = 4; + $components_y = 3; + return Blurhash::encode($pixels, $components_x, $components_y); +} + +function upload_file($filename, $target, $owner=null) { + global $bunny_client; + + $bunny_client->upload($filename, $target); + + // Get file mime time + $mime = mime_content_type($filename); + + $blurhash = ''; + if (str_starts_with('image/', $mime)) { + $blurhash = get_blurhash_for_image(imagecreatefromstring(file_get_contents($filename))); + } + + db_execute( + 'INSERT INTO files (path, uploader, blurhash) VALUES (?, ?, ?)', + [$target, $owner, $blurhash] + ); +} + +function upload_raw_data($data, $target, $owner=null) { + $filename = '/tmp/'.uniqid(more_entropy: true); + file_put_contents($filename, $data); + + upload_file($filename, $target, $owner); + + unlink($filename); +} + +/** + * @throws \Bunny\Storage\Exception + * @throws ImagickException + */ +function upload_avatar($data, $user): string +{ + global $bunny_client; + + $img = turn_image_into_avatar($data['tmp_name']); + + $uuid = uniqid(prefix: 'avatar', more_entropy: true); + + $remote_file_name = 'avatars/'.$uuid.$img['filetype']; + + upload_raw_data($img['data'], $remote_file_name); + + $file = db_execute('SELECT id FROM files WHERE path = ? LIMIT 1', [$remote_file_name]); + + $existing_avatar = db_execute('SELECT * FROM avatars WHERE owner = ?', [$user['id']]); + + if (empty($existing_avatar)) { + db_execute( + 'INSERT INTO avatars (file_id, owner) VALUES (?, ?)', + [$file['id'], $user['id']] + ); + } else { + db_execute( + 'UPDATE avatars SET file_id = ? WHERE owner = ?', + [$file['id'], $user['id']] + ); + } + + return 'https://'.BUNNY_STORAGE_ZONE.'.b-cdn.net/'.$remote_file_name; +} + +/** + * @param $id int + * @return void + */ +function delete_file_by_id(int $id): void +{ + global $bunny_client; + + // Get remote path + $file = db_execute('select * from files where id = ?', [$id]); + + if (empty($file)) { + return; + } + + // Remove reference to the file in the database + db_execute('delete from files where id = ?', [$id]); + // Then remove the file + $bunny_client->delete($file['path']); +} diff --git a/common/misc.php b/common/misc.php new file mode 100644 index 0000000000000000000000000000000000000000..5f26b9e81f0c4c6c387384c1ac2cb6c27780d22d --- /dev/null +++ b/common/misc.php @@ -0,0 +1,25 @@ +<?php + +/** + * Redirects to $url. + * + * @param $url string + * + */ +function location(string $url):void +{ + header('Location: '. $url); + exit(); +} + +function flash(string $text, array &$flash, string $type="warning") { + $flash[] = ['text' => $text, 'type' => $type]; +} + +function show_flash(array $flash) { + $output = '<ul class="flash">'; + foreach ($flash as $item) { + $output .= '<li>'. $item['text'] .'</li>'; + } + return $output; +} diff --git a/common/strings.php b/common/strings.php new file mode 100644 index 0000000000000000000000000000000000000000..2a8f26f7a421d5fc5ba261a756008341369ae091 --- /dev/null +++ b/common/strings.php @@ -0,0 +1,114 @@ +<?php + +const LANGAUGES = [ + [ + "code" => 'en', + "name" => "English (Traditional)", + "flag" => "uk" + ], + [ + 'code' => 'en_US', + "name" => 'English (Simplified)', + 'flag' => 'usa' + ], + [ + 'code' => 'fi', + 'name' => 'suomi' + ], + [ + 'code' => 'ga', + 'name' => 'Gaeilge', + 'flag' => 'ie' + ], + [ + 'code' => 'nb_NO', + 'name' => 'Norsk bokmÃ¥l', + 'flag' => 'no' + ], + + // Joke languages + [ + 'code' => 'en_UWU', + 'name' => 'Cute English', + 'flag' => 'owo' + ], +]; + +function get_string($key="generic.generic", $substitutes=[]) { + global $LANG; + + $key_path = explode('.', $key); + + $result = $LANG; + + foreach ($key_path as $k) { + if (isset($result[$k])) { + $result = $result[$k]; + } else { + return $key; + } + } + + if (count($substitutes) > 0) { + foreach ($substitutes as $key => $substitute) { + $re = '/{{('. $key .')}}/'; + $subst = $substitute; + + $result = preg_replace($re, $subst, $result, 1); + } + } + + return $result; +} + +function get_language_code_based_on_browser_locale(): string +{ + $locale = locale_accept_from_http($_SERVER['HTTP_ACCEPT_LANGUAGE']); + + $locales = [ // Converts locale to its respective language. + 'en_GB' => 'en', + 'en_IE' => 'en', + 'en' => 'en', + ]; + + if (array_key_exists($locale, $locales)) { + return $locales[$locale]; + } + + if (str_starts_with("en", $locale)) { + return "en"; + } + + return $locale; +} + +function patch_lang($lang="en"): void +{ + + global $LANG, $DOC_ROOT; + + $temp = $LANG; + + if (file_exists("$DOC_ROOT/strings/$lang.php")) { + require_once("$DOC_ROOT/strings/$lang.php"); + } + + function merge_arrays($original, $new) { + foreach ($new as $key => $value) { + if (is_array($value)) { + if (!isset($original[$key])) { + $original[$key] = []; + } + $original[$key] = merge_arrays($original[$key], $value); + } else { + // Replace only if the value is not blank + if ($value !== '') { + $original[$key] = $value; + } + } + } + return $original; + } + + $LANG = merge_arrays($temp, $LANG); +} diff --git a/common/validation.php b/common/validation.php new file mode 100644 index 0000000000000000000000000000000000000000..c9b1afad184db67af22c3f4905d377c4d6ec91c4 --- /dev/null +++ b/common/validation.php @@ -0,0 +1,44 @@ +<?php + +function csfr(): string +{ + $token = bin2hex(random_bytes(32)); + $_SESSION['CSFR_TOKEN'] = $token; + return $token; +} + +function csfr_input($echo = false): string +{ + $token = csfr(); + $output = "<input type='hidden' name='CSFR_TOKEN' value='$token' />"; + if ($echo) echo $output; + else return $output; +} + +function validate_csfr($token = null): bool +{ + $token = $token ?: $_REQUEST['CSFR_TOKEN']; + + if ($_SESSION['CSFR_TOKEN'] == $token) { + return true; + } + + return false; +} + +function validate_email($email) { + return filter_var($email, FILTER_VALIDATE_EMAIL); +} + +/** + * Password rules: + * - At least 8 characters long + * That's it + */ +function validate_password($password) { + $password_min_length = 8; + if (strlen($password) >= $password_min_length) { + return $password; + } + return false; +} diff --git a/composer.json b/composer.json index 96cd7b57eb7a4c8da4745e36e233bbf52c72f83c..efedc74eff191127834be4d6fc5580e09cb2f9f5 100644 --- a/composer.json +++ b/composer.json @@ -1,8 +1,11 @@ { "require": { - "sentry/sdk": "^4.0", - "erusev/parsedown": "^1.7", - "erusev/parsedown-extra": "^0.8.1", - "resend/resend-php": "^0.11.0" + "bunnycdn/storage": "^3.3", + "kornrunner/blurhash": "^1.2", + "lbuchs/webauthn": "^2.2", + "intervention/image": "^3.7", + "ext-gd": "*", + "ext-imagick": "*", + "ext-fileinfo": "*" } } diff --git a/composer.lock b/composer.lock index 7dfa69b57a4e64c8b9f24b5ab7f26afbc503ca04..09abba4a51b5b29d391dd0a6e072aa308f5ac28d 100644 --- a/composer.lock +++ b/composer.lock @@ -4,82 +4,32 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "7cbb1a410be00f937b47c45077c89f9a", + "content-hash": "2630884c327f232fb79f8fcefae92fa4", "packages": [ { - "name": "erusev/parsedown", - "version": "1.7.4", + "name": "bunnycdn/storage", + "version": "3.3.0", "source": { "type": "git", - "url": "https://github.com/erusev/parsedown.git", - "reference": "cb17b6477dfff935958ba01325f2e8a2bfa6dab3" + "url": "https://github.com/BunnyWay/BunnyCDN.PHP.Storage.git", + "reference": "614467e8d96b1f0c7befeffda6c39da3f51d4e48" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/erusev/parsedown/zipball/cb17b6477dfff935958ba01325f2e8a2bfa6dab3", - "reference": "cb17b6477dfff935958ba01325f2e8a2bfa6dab3", + "url": "https://api.github.com/repos/BunnyWay/BunnyCDN.PHP.Storage/zipball/614467e8d96b1f0c7befeffda6c39da3f51d4e48", + "reference": "614467e8d96b1f0c7befeffda6c39da3f51d4e48", "shasum": "" }, "require": { - "ext-mbstring": "*", - "php": ">=5.3.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35" + "guzzlehttp/guzzle": "^7.8", + "php": "^7.4||^8.0", + "psr/http-message": "^2.0", + "symfony/polyfill-php80": "^1.29" }, "type": "library", "autoload": { - "psr-0": { - "Parsedown": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Emanuil Rusev", - "email": "hello@erusev.com", - "homepage": "http://erusev.com" - } - ], - "description": "Parser for Markdown.", - "homepage": "http://parsedown.org", - "keywords": [ - "markdown", - "parser" - ], - "support": { - "issues": "https://github.com/erusev/parsedown/issues", - "source": "https://github.com/erusev/parsedown/tree/1.7.x" - }, - "time": "2019-12-30T22:54:17+00:00" - }, - { - "name": "erusev/parsedown-extra", - "version": "0.8.1", - "source": { - "type": "git", - "url": "https://github.com/erusev/parsedown-extra.git", - "reference": "91ac3ff98f0cea243bdccc688df43810f044dcef" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/erusev/parsedown-extra/zipball/91ac3ff98f0cea243bdccc688df43810f044dcef", - "reference": "91ac3ff98f0cea243bdccc688df43810f044dcef", - "shasum": "" - }, - "require": { - "erusev/parsedown": "^1.7.4" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35" - }, - "type": "library", - "autoload": { - "psr-0": { - "ParsedownExtra": "" + "psr-4": { + "Bunny\\Storage\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -88,24 +38,23 @@ ], "authors": [ { - "name": "Emanuil Rusev", - "email": "hello@erusev.com", - "homepage": "http://erusev.com" + "name": "Dejan Grofelnik Pelzel", + "email": "dejan@bunnycdn.com" } ], - "description": "An extension of Parsedown that adds support for Markdown Extra.", - "homepage": "https://github.com/erusev/parsedown-extra", + "description": "PHP library to interact with the BunnyCDN Storage API.", + "homepage": "https://bunny.net/storage/", "keywords": [ - "markdown", - "markdown extra", - "parsedown", - "parser" + "Bunny.net", + "bunnyCDN", + "media", + "storage" ], "support": { - "issues": "https://github.com/erusev/parsedown-extra/issues", - "source": "https://github.com/erusev/parsedown-extra/tree/0.8.x" + "issues": "https://github.com/BunnyWay/BunnyCDN.PHP.Storage/issues", + "source": "https://github.com/BunnyWay/BunnyCDN.PHP.Storage/tree/3.3.0" }, - "time": "2019-12-30T23:20:37+00:00" + "time": "2024-04-16T12:10:21+00:00" }, { "name": "guzzlehttp/guzzle", @@ -318,16 +267,16 @@ }, { "name": "guzzlehttp/psr7", - "version": "2.6.1", + "version": "2.6.2", "source": { "type": "git", "url": "https://github.com/guzzle/psr7.git", - "reference": "be45764272e8873c72dbe3d2edcfdfcc3bc9f727" + "reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/be45764272e8873c72dbe3d2edcfdfcc3bc9f727", - "reference": "be45764272e8873c72dbe3d2edcfdfcc3bc9f727", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/45b30f99ac27b5ca93cb4831afe16285f57b8221", + "reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221", "shasum": "" }, "require": { @@ -341,9 +290,9 @@ "psr/http-message-implementation": "1.0" }, "require-dev": { - "bamarni/composer-bin-plugin": "^1.8.1", + "bamarni/composer-bin-plugin": "^1.8.2", "http-interop/http-factory-tests": "^0.9", - "phpunit/phpunit": "^8.5.29 || ^9.5.23" + "phpunit/phpunit": "^8.5.36 || ^9.6.15" }, "suggest": { "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" @@ -414,7 +363,7 @@ ], "support": { "issues": "https://github.com/guzzle/psr7/issues", - "source": "https://github.com/guzzle/psr7/tree/2.6.1" + "source": "https://github.com/guzzle/psr7/tree/2.6.2" }, "funding": [ { @@ -430,42 +379,105 @@ "type": "tidelift" } ], - "time": "2023-08-27T10:13:57+00:00" + "time": "2023-12-03T20:05:35+00:00" }, { - "name": "jean85/pretty-package-versions", - "version": "2.0.5", + "name": "intervention/gif", + "version": "4.1.0", "source": { "type": "git", - "url": "https://github.com/Jean85/pretty-package-versions.git", - "reference": "ae547e455a3d8babd07b96966b17d7fd21d9c6af" + "url": "https://github.com/Intervention/gif.git", + "reference": "3a2b5f8a8856e8877cdab5c47e51aab2d4cb23a3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Jean85/pretty-package-versions/zipball/ae547e455a3d8babd07b96966b17d7fd21d9c6af", - "reference": "ae547e455a3d8babd07b96966b17d7fd21d9c6af", + "url": "https://api.github.com/repos/Intervention/gif/zipball/3a2b5f8a8856e8877cdab5c47e51aab2d4cb23a3", + "reference": "3a2b5f8a8856e8877cdab5c47e51aab2d4cb23a3", "shasum": "" }, "require": { - "composer-runtime-api": "^2.0.0", - "php": "^7.1|^8.0" + "php": "^8.1" }, "require-dev": { - "friendsofphp/php-cs-fixer": "^2.17", - "jean85/composer-provided-replaced-stub-package": "^1.0", - "phpstan/phpstan": "^0.12.66", - "phpunit/phpunit": "^7.5|^8.5|^9.4", - "vimeo/psalm": "^4.3" + "phpstan/phpstan": "^1", + "phpunit/phpunit": "^10.0", + "slevomat/coding-standard": "~8.0", + "squizlabs/php_codesniffer": "^3.8" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.x-dev" + "autoload": { + "psr-4": { + "Intervention\\Gif\\": "src" } }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Oliver Vogel", + "email": "oliver@intervention.io", + "homepage": "https://intervention.io/" + } + ], + "description": "Native PHP GIF Encoder/Decoder", + "homepage": "https://github.com/intervention/gif", + "keywords": [ + "animation", + "gd", + "gif", + "image" + ], + "support": { + "issues": "https://github.com/Intervention/gif/issues", + "source": "https://github.com/Intervention/gif/tree/4.1.0" + }, + "funding": [ + { + "url": "https://paypal.me/interventionio", + "type": "custom" + }, + { + "url": "https://github.com/Intervention", + "type": "github" + } + ], + "time": "2024-03-26T17:23:47+00:00" + }, + { + "name": "intervention/image", + "version": "3.7.2", + "source": { + "type": "git", + "url": "https://github.com/Intervention/image.git", + "reference": "5451ff9f909c2fc836722e5ed6831b9f9a6db68c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Intervention/image/zipball/5451ff9f909c2fc836722e5ed6831b9f9a6db68c", + "reference": "5451ff9f909c2fc836722e5ed6831b9f9a6db68c", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "intervention/gif": "^4.1", + "php": "^8.1" + }, + "require-dev": { + "mockery/mockery": "^1.6", + "phpstan/phpstan": "^1", + "phpunit/phpunit": "^10.0", + "slevomat/coding-standard": "~8.0", + "squizlabs/php_codesniffer": "^3.8" + }, + "suggest": { + "ext-exif": "Recommended to be able to read EXIF data properly." + }, + "type": "library", "autoload": { "psr-4": { - "Jean85\\": "src/" + "Intervention\\Image\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -474,22 +486,36 @@ ], "authors": [ { - "name": "Alessandro Lai", - "email": "alessandro.lai85@gmail.com" + "name": "Oliver Vogel", + "email": "oliver@intervention.io", + "homepage": "https://intervention.io/" } ], - "description": "A library to get pretty versions strings of installed dependencies", + "description": "PHP image manipulation", + "homepage": "https://image.intervention.io/", "keywords": [ - "composer", - "package", - "release", - "versions" + "gd", + "image", + "imagick", + "resize", + "thumbnail", + "watermark" ], "support": { - "issues": "https://github.com/Jean85/pretty-package-versions/issues", - "source": "https://github.com/Jean85/pretty-package-versions/tree/2.0.5" + "issues": "https://github.com/Intervention/image/issues", + "source": "https://github.com/Intervention/image/tree/3.7.2" }, - "time": "2021-10-08T21:21:46+00:00" + "funding": [ + { + "url": "https://paypal.me/interventionio", + "type": "custom" + }, + { + "url": "https://github.com/Intervention", + "type": "github" + } + ], + "time": "2024-07-05T13:35:01+00:00" }, { "name": "kornrunner/blurhash", @@ -540,84 +566,49 @@ "time": "2022-07-13T19:38:39+00:00" }, { - "name": "phpmailer/phpmailer", - "version": "v6.8.1", + "name": "lbuchs/webauthn", + "version": "v2.2.0", "source": { "type": "git", - "url": "https://github.com/PHPMailer/PHPMailer.git", - "reference": "e88da8d679acc3824ff231fdc553565b802ac016" + "url": "https://github.com/lbuchs/WebAuthn.git", + "reference": "20adb4a240c3997bd8cac7dc4dde38ab0bea0ed1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHPMailer/PHPMailer/zipball/e88da8d679acc3824ff231fdc553565b802ac016", - "reference": "e88da8d679acc3824ff231fdc553565b802ac016", + "url": "https://api.github.com/repos/lbuchs/WebAuthn/zipball/20adb4a240c3997bd8cac7dc4dde38ab0bea0ed1", + "reference": "20adb4a240c3997bd8cac7dc4dde38ab0bea0ed1", "shasum": "" }, "require": { - "ext-ctype": "*", - "ext-filter": "*", - "ext-hash": "*", - "php": ">=5.5.0" - }, - "require-dev": { - "dealerdirect/phpcodesniffer-composer-installer": "^1.0", - "doctrine/annotations": "^1.2.6 || ^1.13.3", - "php-parallel-lint/php-console-highlighter": "^1.0.0", - "php-parallel-lint/php-parallel-lint": "^1.3.2", - "phpcompatibility/php-compatibility": "^9.3.5", - "roave/security-advisories": "dev-latest", - "squizlabs/php_codesniffer": "^3.7.2", - "yoast/phpunit-polyfills": "^1.0.4" - }, - "suggest": { - "ext-mbstring": "Needed to send email in multibyte encoding charset or decode encoded addresses", - "ext-openssl": "Needed for secure SMTP sending and DKIM signing", - "greew/oauth2-azure-provider": "Needed for Microsoft Azure XOAUTH2 authentication", - "hayageek/oauth2-yahoo": "Needed for Yahoo XOAUTH2 authentication", - "league/oauth2-google": "Needed for Google XOAUTH2 authentication", - "psr/log": "For optional PSR-3 debug logging", - "symfony/polyfill-mbstring": "To support UTF-8 if the Mbstring PHP extension is not enabled (^1.2)", - "thenetworg/oauth2-azure": "Needed for Microsoft XOAUTH2 authentication" + "php": ">=8.0.0" }, "type": "library", "autoload": { "psr-4": { - "PHPMailer\\PHPMailer\\": "src/" + "lbuchs\\WebAuthn\\": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "LGPL-2.1-only" + "MIT" ], "authors": [ { - "name": "Marcus Bointon", - "email": "phpmailer@synchromedia.co.uk" - }, - { - "name": "Jim Jagielski", - "email": "jimjag@gmail.com" - }, - { - "name": "Andy Prevost", - "email": "codeworxtech@users.sourceforge.net" - }, - { - "name": "Brent R. Matzelle" + "name": "Lukas Buchs", + "role": "Developer" } ], - "description": "PHPMailer is a full-featured email creation and transfer class for PHP", + "description": "A simple PHP WebAuthn (FIDO2) server library", + "homepage": "https://github.com/lbuchs/webauthn", + "keywords": [ + "Authentication", + "webauthn" + ], "support": { - "issues": "https://github.com/PHPMailer/PHPMailer/issues", - "source": "https://github.com/PHPMailer/PHPMailer/tree/v6.8.1" + "issues": "https://github.com/lbuchs/WebAuthn/issues", + "source": "https://github.com/lbuchs/WebAuthn/tree/v2.2.0" }, - "funding": [ - { - "url": "https://github.com/Synchro", - "type": "github" - } - ], - "time": "2023-08-29T08:26:30+00:00" + "time": "2024-07-04T07:17:40+00:00" }, { "name": "psr/http-client", @@ -673,20 +664,20 @@ }, { "name": "psr/http-factory", - "version": "1.0.2", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/php-fig/http-factory.git", - "reference": "e616d01114759c4c489f93b099585439f795fe35" + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-factory/zipball/e616d01114759c4c489f93b099585439f795fe35", - "reference": "e616d01114759c4c489f93b099585439f795fe35", + "url": "https://api.github.com/repos/php-fig/http-factory/zipball/2b4765fddfe3b508ac62f829e852b1501d3f6e8a", + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a", "shasum": "" }, "require": { - "php": ">=7.0.0", + "php": ">=7.1", "psr/http-message": "^1.0 || ^2.0" }, "type": "library", @@ -710,7 +701,7 @@ "homepage": "https://www.php-fig.org/" } ], - "description": "Common interfaces for PSR-7 HTTP message factories", + "description": "PSR-17: Common interfaces for PSR-7 HTTP message factories", "keywords": [ "factory", "http", @@ -722,9 +713,9 @@ "response" ], "support": { - "source": "https://github.com/php-fig/http-factory/tree/1.0.2" + "source": "https://github.com/php-fig/http-factory" }, - "time": "2023-04-10T20:10:41+00:00" + "time": "2024-04-15T12:06:14+00:00" }, { "name": "psr/http-message", @@ -779,56 +770,6 @@ }, "time": "2023-04-04T09:54:51+00:00" }, - { - "name": "psr/log", - "version": "3.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/fe5ea303b0887d5caefd3d431c3e61ad47037001", - "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001", - "shasum": "" - }, - "require": { - "php": ">=8.0.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Log\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common interface for logging libraries", - "homepage": "https://github.com/php-fig/log", - "keywords": [ - "log", - "psr", - "psr-3" - ], - "support": { - "source": "https://github.com/php-fig/log/tree/3.0.0" - }, - "time": "2021-07-14T16:46:02+00:00" - }, { "name": "ralouphie/getallheaders", "version": "3.0.3", @@ -873,217 +814,18 @@ }, "time": "2019-03-08T08:55:37+00:00" }, - { - "name": "resend/resend-php", - "version": "v0.11.0", - "source": { - "type": "git", - "url": "https://github.com/resend/resend-php.git", - "reference": "31ec02fc2d16b3badc10612289a3325afe68147c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/resend/resend-php/zipball/31ec02fc2d16b3badc10612289a3325afe68147c", - "reference": "31ec02fc2d16b3badc10612289a3325afe68147c", - "shasum": "" - }, - "require": { - "guzzlehttp/guzzle": "^7.5", - "php": "^8.1.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^3.13", - "mockery/mockery": "^1.6", - "pestphp/pest": "^2.0" - }, - "type": "library", - "autoload": { - "files": [ - "src/Resend.php" - ], - "psr-4": { - "Resend\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Resend and contributors", - "homepage": "https://github.com/resend/resend-php/contributors" - } - ], - "description": "Resend PHP library.", - "homepage": "https://resend.com/", - "keywords": [ - "api", - "client", - "php", - "resend", - "sdk" - ], - "support": { - "issues": "https://github.com/resend/resend-php/issues", - "source": "https://github.com/resend/resend-php/tree/v0.11.0" - }, - "time": "2024-02-01T18:06:15+00:00" - }, - { - "name": "sentry/sdk", - "version": "4.0.0", - "source": { - "type": "git", - "url": "https://github.com/getsentry/sentry-php-sdk.git", - "reference": "fcbca864e8d1dc712f3ecfaa95ea89d024fb2e53" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/getsentry/sentry-php-sdk/zipball/fcbca864e8d1dc712f3ecfaa95ea89d024fb2e53", - "reference": "fcbca864e8d1dc712f3ecfaa95ea89d024fb2e53", - "shasum": "" - }, - "require": { - "sentry/sentry": "^4.0" - }, - "type": "metapackage", - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Sentry", - "email": "accounts@sentry.io" - } - ], - "description": "This is a meta package of sentry/sentry. We recommend using sentry/sentry directly.", - "homepage": "http://sentry.io", - "keywords": [ - "crash-reporting", - "crash-reports", - "error-handler", - "error-monitoring", - "log", - "logging", - "sentry" - ], - "support": { - "issues": "https://github.com/getsentry/sentry-php-sdk/issues", - "source": "https://github.com/getsentry/sentry-php-sdk/tree/4.0.0" - }, - "funding": [ - { - "url": "https://sentry.io/", - "type": "custom" - }, - { - "url": "https://sentry.io/pricing/", - "type": "custom" - } - ], - "time": "2023-11-06T10:23:19+00:00" - }, - { - "name": "sentry/sentry", - "version": "4.0.0", - "source": { - "type": "git", - "url": "https://github.com/getsentry/sentry-php.git", - "reference": "7e10bf3fd0bee2f2eee6981e509522ab0c523d5e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/getsentry/sentry-php/zipball/7e10bf3fd0bee2f2eee6981e509522ab0c523d5e", - "reference": "7e10bf3fd0bee2f2eee6981e509522ab0c523d5e", - "shasum": "" - }, - "require": { - "ext-curl": "*", - "ext-json": "*", - "ext-mbstring": "*", - "guzzlehttp/psr7": "^1.8.4|^2.1.1", - "jean85/pretty-package-versions": "^1.5|^2.0.4", - "php": "^7.2|^8.0", - "psr/log": "^1.0|^2.0|^3.0", - "symfony/options-resolver": "^4.4.30|^5.0.11|^6.0|^7.0" - }, - "conflict": { - "raven/raven": "*" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^3.4", - "guzzlehttp/promises": "^1.0|^2.0", - "guzzlehttp/psr7": "^1.8.4|^2.1.1", - "monolog/monolog": "^1.6|^2.0|^3.0", - "phpbench/phpbench": "^1.0", - "phpstan/phpstan": "^1.3", - "phpunit/phpunit": "^8.5.14|^9.4", - "symfony/phpunit-bridge": "^5.2|^6.0", - "vimeo/psalm": "^4.17" - }, - "suggest": { - "monolog/monolog": "Allow sending log messages to Sentry by using the included Monolog handler." - }, - "type": "library", - "autoload": { - "files": [ - "src/functions.php" - ], - "psr-4": { - "Sentry\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Sentry", - "email": "accounts@sentry.io" - } - ], - "description": "A PHP SDK for Sentry (http://sentry.io)", - "homepage": "http://sentry.io", - "keywords": [ - "crash-reporting", - "crash-reports", - "error-handler", - "error-monitoring", - "log", - "logging", - "sentry" - ], - "support": { - "issues": "https://github.com/getsentry/sentry-php/issues", - "source": "https://github.com/getsentry/sentry-php/tree/4.0.0" - }, - "funding": [ - { - "url": "https://sentry.io/", - "type": "custom" - }, - { - "url": "https://sentry.io/pricing/", - "type": "custom" - } - ], - "time": "2023-11-06T10:16:08+00:00" - }, { "name": "symfony/deprecation-contracts", - "version": "v3.3.0", + "version": "v3.5.0", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf" + "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/7c3aff79d10325257a001fcf92d991f24fc967cf", - "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1", + "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1", "shasum": "" }, "require": { @@ -1092,7 +834,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "3.4-dev" + "dev-main": "3.5-dev" }, "thanks": { "name": "symfony/contracts", @@ -1121,7 +863,7 @@ "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v3.3.0" + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.5.0" }, "funding": [ { @@ -1137,33 +879,41 @@ "type": "tidelift" } ], - "time": "2023-05-23T14:45:45+00:00" + "time": "2024-04-18T09:32:20+00:00" }, { - "name": "symfony/options-resolver", - "version": "v6.3.0", + "name": "symfony/polyfill-php80", + "version": "v1.30.0", "source": { "type": "git", - "url": "https://github.com/symfony/options-resolver.git", - "reference": "a10f19f5198d589d5c33333cffe98dc9820332dd" + "url": "https://github.com/symfony/polyfill-php80.git", + "reference": "77fa7995ac1b21ab60769b7323d600a991a90433" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/a10f19f5198d589d5c33333cffe98dc9820332dd", - "reference": "a10f19f5198d589d5c33333cffe98dc9820332dd", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/77fa7995ac1b21ab60769b7323d600a991a90433", + "reference": "77fa7995ac1b21ab60769b7323d600a991a90433", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.5|^3" + "php": ">=7.1" }, "type": "library", + "extra": { + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, "autoload": { + "files": [ + "bootstrap.php" + ], "psr-4": { - "Symfony\\Component\\OptionsResolver\\": "" + "Symfony\\Polyfill\\Php80\\": "" }, - "exclude-from-classmap": [ - "/Tests/" + "classmap": [ + "Resources/stubs" ] }, "notification-url": "https://packagist.org/downloads/", @@ -1172,23 +922,28 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Ion Bazan", + "email": "ion.bazan@gmail.com" + }, + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Provides an improved replacement for the array_replace PHP function", + "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", "homepage": "https://symfony.com", "keywords": [ - "config", - "configuration", - "options" + "compatibility", + "polyfill", + "portable", + "shim" ], "support": { - "source": "https://github.com/symfony/options-resolver/tree/v6.3.0" + "source": "https://github.com/symfony/polyfill-php80/tree/v1.30.0" }, "funding": [ { @@ -1204,7 +959,7 @@ "type": "tidelift" } ], - "time": "2023-05-12T14:21:09+00:00" + "time": "2024-05-31T15:07:36+00:00" } ], "packages-dev": [], diff --git a/credits.php b/credits.php deleted file mode 100644 index 1b46f189b6cde9d3eafd2436c2f66ed12ba9b164..0000000000000000000000000000000000000000 --- a/credits.php +++ /dev/null @@ -1,206 +0,0 @@ -<style> - - main { - display: flex; - flex-direction: column; - } - - #credits { - max-height: 80vh; - width: 100%; - flex:1; - - scroll-behavior: smooth; - - overflow: hidden; - - } - - #credits > :last-child { - margin-top: 40vh; - margin-bottom: 65vh; - } - - #credits .title { - position: sticky; - top: 0; - - padding-top: 2rem; - padding-bottom: 2rem; - - background: linear-gradient(to top, #ffffff00, var(--background) 2rem); - - display: flex; - align-items: end; - gap: 0.5rem; - } - - @media screen and (prefers-color-scheme: dark) { - #credits .title { - background: linear-gradient(to top, #12121200, var(--background-dark) 2rem); - } - } - - #credits .title > * { - margin: 0; - } - - #credits .spacer { - display: block; - /*position: relative;*/ - height: 65vh; - - transition: height 0.5s ease-in-out; - } - - #fps { - position: fixed; - bottom: .5rem; - left: .5rem; - - font-family: monospace; - } - - .fa-ul { - position: relative; - z-index: -10; - } -</style> - -<div id="fps"></div> - -<div id="credits"> - <div class="title"> - <h1 class="logo"><span class="bc-1">Bye</span><span class="bc-2">Corps</span><span class="bc-3"> ID</span></h1> - <span class="subtitle">v. <?= current_git_commit() ?></span> - </div> - - <p>ByeCorps ID is a <a href="https://byecorps.com">ByeCorps</a> service created by <a href="https://byemc.xyz">Bye</a>. It wouldn't be possible without the work of other amazing people.</p> - <button id="start">Show credits.</button> - - <div class="spacer"></div> - - <h2>Credits</h2> - <ul> - <li><a href="https://bye.omg.lol">Bye</a>, who programmed this entire thing.</li> - <li><a href="https://adam.omg.lol">Adam Newbold</a> for writing the code this site depends on for routing</li> - <li>PHP, the language it's built in.</li> - <li>Composer, to keep all the libs together.</li> - <li>Caddy, the webserver it's usually running on.</li> - <li>MariaDB, the MySQL server.</li> - <li>PhpStorm by JetBrains and Visual Studio Code by Microsoft, both of which were used to make this service.</li> - </ul> - - <h2>Music</h2> - <ul class="fa-ul music"> - <li><span class="fa-li fa-fw fa-solid fa-compact-disc fa-spin"></span> <strong>Now playing</strong>:<br>"Screen Saver" Kevin MacLeod (<a href="https://incompetech.com">incompetech.com</a>)<br> - Licensed under Creative Commons: By Attribution 4.0 License<br> - <a href="http://creativecommons.org/licenses/by/4.0/">http://creativecommons.org/licenses/by/4.0/</a></li> - <li><span class="fa-li fa-fw fa-solid fa-music"></span>"Electrodoodle" Kevin MacLeod (<a href="https://incompetech.com">incompetech.com</a>)<br> -Licensed under Creative Commons: By Attribution 4.0 License <br> -<a href="http://creativecommons.org/licenses/by/4.0/">http://creativecommons.org/licenses/by/4.0/</a></span></li> - </ul> - - <h2>Third-party libraries</h2> - - <p>ByeCorps ID relies on the following third-party libraries:</p> - <ul> - <li><code>sentry/sdk</code> for diagnostics.</li> - <li><code>phpmailer/phpmailer</code> for email.</li> - <li><code>erusev/parsedown</code> and <code>erusev/parsedown-extra</code> for parsing Markdown right in PHP.</li> - <li><code>kornrunner/blurhash</code> for generating blurhashes.</li> - </ul> - - <p>Getting the FPS of your display powered by <a href="https://stackoverflow.com/a/5111475">this StackOverflow answer</a>.</p> - <a id="final"></a> - - <p>Thank you for using ByeCorps ID.</p> -</div> - -<script> - //autoscroll - - const credits = document.getElementById("credits"); - const finalLine = document.getElementById("final"); - credits.scrollTop = 0; - let fakeScrollTop = 1; - let speed = 15 // pixels per second - // speed = 100 - - const music = new Audio("https://cdn.byecorps.com/id/music/Screen Saver.mp3"); - music.loop = true; - const silence = new Audio("https://cdn.byecorps.com/id/music/500-milliseconds-of-silence.mp3"); - - var filterStrength = 60; - var frameTime = 0, lastLoop = new Date, thisLoop; - - let fps = 60; - - setInterval(function(){ - document.getElementById("fps").innerText = (1000/frameTime).toFixed(0) + ` / Speed ${speed}`; - fps = 1000/frameTime; - },1000); - - function setFPS() { - var thisFrameTime = (thisLoop=new Date) - lastLoop; - frameTime+= (thisFrameTime - frameTime) / filterStrength; - lastLoop = thisLoop; - - requestAnimationFrame(setFPS); - } - - - function main() { - let frameFraction = 1 / fps; - fakeScrollTop += speed * frameFraction; - credits.scrollTop = Math.floor(fakeScrollTop); - - if (credits.scrollTop >= credits.scrollTopMax) { - music.loop = false; - setTimeout(function () { - credits.style.overflowY = "auto"; - credits.scrollTo(0, 0); - document.getElementsByClassName("spacer")[0].style.height = 0; - }, 2500); - } else { - requestAnimationFrame(main); - } - - } - - function startMain() { - document.getElementById("start").style.display = "none"; - music.play(); - setTimeout(function () { - requestAnimationFrame(main); - }, 500); - } - - async function checkForAutoplay() { - try { - await silence.play(); - // so if that works, just start the credits. - document.getElementById("start").style.display = "none"; - - startMain(); - } catch (e) { - document.getElementById("start").style.display = "block"; - - console.error(e); - } - } - - document.getElementById("start").onclick = startMain; - - requestAnimationFrame(setFPS); - - checkForAutoplay(); - - - - - - - - -</script> diff --git a/dashboard.php b/dashboard.php deleted file mode 100644 index 61c814b04fcbcdc02b46e445b3837cf170bf1063..0000000000000000000000000000000000000000 --- a/dashboard.php +++ /dev/null @@ -1,43 +0,0 @@ -<?php - -if (empty($_SESSION)) { - http_response_code(307); - header('Location: /signin?callback=/dashboard'); - exit(); -} -if (!$_SESSION['auth']) { - http_response_code(307); - header('Location: /signin?callback=/dashboard'); - exit; -} - -?> - -<link rel='stylesheet' href='/styles/settings.css' /> - -<div id="settings_split"> - <div id="mini_profile" class="left"> - <div class="image_container" data-backgroundcolour="white"> - <img src='<?= get_avatar_url($user['id']) ?>' /> - </div> - <div class="texts"> - <span class="displayname"><?= htmlspecialchars(get_display_name($user['id'], false)) ?></span> - <span class="id bcid"><?= format_bcid($user['id']) ?></span> - </div> - </div> - <div class='right tiles'> - <a href="/settings" class="tile"> - <div class="wrapper"> <!-- SUPERIMPORTANTBECAUSE IM BAD AT CSS --> - <span class="fa-solid fa-cog icon"></span> - <span class="text">Settings</span> - </div> - - </a> - <a href="/profile" class="tile"> - <div class="wrapper"> <!-- SUPERIMPORTANTBECAUSE IM BAD AT CSS --> - <span class="fa-solid fa-id-card-clip icon"></span> - <span class="text">Profile</span> - </div> - </a> - </div> -</div> diff --git a/database.php b/database.php deleted file mode 100644 index 9d794f97b38ab680bb846efe50baa951bc3200f4..0000000000000000000000000000000000000000 --- a/database.php +++ /dev/null @@ -1,26 +0,0 @@ -<?php -// Functions for interacting with the database. Requires PDO is initialised at $pdo. - -function db_execute($sql, $variables=[]) { - global $pdo; - - $stmt = $pdo->prepare($sql); - $stmt->execute($variables); - return $stmt->fetch(); - -} - -function db_execute_all($sql, $variables=[]) { - global $pdo; - - $stmt = $pdo->prepare($sql); - $stmt->execute($variables); - return $stmt->fetchAll(); - -} - -function db_query($sql) { - global $pdo; - - return $pdo->query($sql); -} diff --git a/docs.php b/docs.php deleted file mode 100644 index 83fcf34fe5fd4d56016b7b26333e6608a456cc41..0000000000000000000000000000000000000000 --- a/docs.php +++ /dev/null @@ -1,41 +0,0 @@ -<?php - -$Parsedown = new ParsedownExtra(); - -// Loads the relevant file from /docs - -$file_path = __DIR__ . $path; - -/* If it's a dir, check for index.md -If it's a file.md, load it. */ - -// First check if the file exists as a directory -if (file_exists($file_path)) { - // Check if the index.md exists - if (file_exists($file_path . '/index.md')) { - // And if so, make that the file path. - $file_path .= "/index.md"; - } else { // If not, 404. - http_response_code(404); - include("404.html"); - include("footer.php"); - die($file_path); - } -} elseif (file_exists($file_path . '.md')) { // Check if $file.md exists. - // And if so, make that the file path. - $file_path .= '.md'; -} else { // now if not, just show the standard 404 page. - http_response_code(404); - include("404.html"); - include("footer.php"); - die($file_path); -} - -echo $file_path; -echo "<br>"; - -$file = fopen($file_path, "r"); -$file_contents = fread($file, filesize($file_path)); -fclose($file); - -echo $Parsedown->parse($file_contents); diff --git a/docs/hosting/configphp.md b/docs/hosting/configphp.md deleted file mode 100644 index a9ec9d32f511df08ca49e5cf4c5d04c4bc54cf3d..0000000000000000000000000000000000000000 --- a/docs/hosting/configphp.md +++ /dev/null @@ -1,17 +0,0 @@ -# config.php - -Here's all the variables in `config.php`: - -| Variable | Description / Example | -|----------------:|:------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `BASE_URL` | The url generated for emails. Should be "https://id.byecorps.com" in production. | -| `DB_ADDRESS` | The address for the database. Usually `localhost` | -| `DB_USERNAME` | Username for connecting to the database. | -| `DB_PASSWORD` | Password for the database. | -| `DB_DATABASE` | The database to connect to. | -| `PDO_OPTIONS` | `<br/>const PDO_OPTIONS = [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, PDO::ATTR_EMULATE_PREPARES => false,];` | -| `DB_DSN` | `mysql:host='.DB_ADDRESS.';dbname='.DB_DATABASE.';charset=utf8mb4`, for PDO. | -| `SENTRY_DSN ` | Used for Sentry. | -| `MAIL_HOST` | SMTP host for emails | -| `MAIL_USERNAME` | SMTP username | -| `MAIL_PASSWORD` | SMTP password | \ No newline at end of file diff --git a/docs/hosting/errors.md b/docs/hosting/errors.md deleted file mode 100644 index f7adbffcfb1d4e770b845872b4300b39e2740078..0000000000000000000000000000000000000000 --- a/docs/hosting/errors.md +++ /dev/null @@ -1,7 +0,0 @@ -# Errors - -Here's all the error codes and what they mean. - -| Error Code | Explanation | -|-----------:|:----------------------------| -| 12 | A generic error explaing something went wrong adding a password reset diff --git a/docs/hosting/index.md b/docs/hosting/index.md deleted file mode 100644 index 8d7e14a3dbc08205ef2dbf1c780c37c2f3391725..0000000000000000000000000000000000000000 --- a/docs/hosting/index.md +++ /dev/null @@ -1,7 +0,0 @@ -# Hosting - -Here's everything you need to know about hosting ByeCorps ID. This mainly covers the `config.php` file. - -## Contents - -- [config.php](hosting/configphp) diff --git a/docs/index.md b/docs/index.md deleted file mode 100644 index cdf3ce4a56ff4547310f6186c0400c5810aae40b..0000000000000000000000000000000000000000 --- a/docs/index.md +++ /dev/null @@ -1 +0,0 @@ -# ByeCorps ID docs \ No newline at end of file diff --git a/eggs/silly.html b/eggs/silly.html new file mode 100644 index 0000000000000000000000000000000000000000..8329d0218814fd2fddba860049bb4663210e01f3 --- /dev/null +++ b/eggs/silly.html @@ -0,0 +1,10 @@ +<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="UTF-8"> + <title>egg</title> +</head> +<body> + <audio src="https://byecorps-id.b-cdn.net/music/Electrodoodle.mp3" autoplay controls></audio> +</body> +</html> \ No newline at end of file diff --git a/fontawesome/css/all.css b/fontawesome/css/all.css deleted file mode 100644 index 1850f1a7fed621d50f027779a31ea9248b2e714f..0000000000000000000000000000000000000000 --- a/fontawesome/css/all.css +++ /dev/null @@ -1,7955 +0,0 @@ -/*! - * Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) - * Copyright 2023 Fonticons, Inc. - */ -.fa { - font-family: var(--fa-style-family, "Font Awesome 6 Free"); - font-weight: var(--fa-style, 900); } - -.fa, -.fa-classic, -.fa-sharp, -.fas, -.fa-solid, -.far, -.fa-regular, -.fab, -.fa-brands { - -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; } - -.fas, -.fa-classic, -.fa-solid, -.far, -.fa-regular { - font-family: 'Font Awesome 6 Free'; } - -.fab, -.fa-brands { - 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: 0.625em; - line-height: 0.1em; - vertical-align: 0.225em; } - -.fa-xs { - font-size: 0.75em; - line-height: 0.08333em; - vertical-align: 0.125em; } - -.fa-sm { - font-size: 0.875em; - line-height: 0.07143em; - vertical-align: 0.05357em; } - -.fa-lg { - font-size: 1.25em; - line-height: 0.05em; - vertical-align: -0.075em; } - -.fa-xl { - font-size: 1.5em; - line-height: 0.04167em; - vertical-align: -0.125em; } - -.fa-2xl { - font-size: 2em; - line-height: 0.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-color: var(--fa-border-color, #eee); - border-radius: var(--fa-border-radius, 0.1em); - border-style: var(--fa-border-style, solid); - border-width: var(--fa-border-width, 0.08em); - 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 { - -webkit-animation-name: fa-beat; - animation-name: fa-beat; - -webkit-animation-delay: var(--fa-animation-delay, 0s); - animation-delay: var(--fa-animation-delay, 0s); - -webkit-animation-direction: var(--fa-animation-direction, normal); - animation-direction: var(--fa-animation-direction, normal); - -webkit-animation-duration: var(--fa-animation-duration, 1s); - animation-duration: var(--fa-animation-duration, 1s); - -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - -webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out); - animation-timing-function: var(--fa-animation-timing, ease-in-out); } - -.fa-bounce { - -webkit-animation-name: fa-bounce; - animation-name: fa-bounce; - -webkit-animation-delay: var(--fa-animation-delay, 0s); - animation-delay: var(--fa-animation-delay, 0s); - -webkit-animation-direction: var(--fa-animation-direction, normal); - animation-direction: var(--fa-animation-direction, normal); - -webkit-animation-duration: var(--fa-animation-duration, 1s); - animation-duration: var(--fa-animation-duration, 1s); - -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1)); - animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1)); } - -.fa-fade { - -webkit-animation-name: fa-fade; - animation-name: fa-fade; - -webkit-animation-delay: var(--fa-animation-delay, 0s); - animation-delay: var(--fa-animation-delay, 0s); - -webkit-animation-direction: var(--fa-animation-direction, normal); - animation-direction: var(--fa-animation-direction, normal); - -webkit-animation-duration: var(--fa-animation-duration, 1s); - animation-duration: var(--fa-animation-duration, 1s); - -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); - animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); } - -.fa-beat-fade { - -webkit-animation-name: fa-beat-fade; - animation-name: fa-beat-fade; - -webkit-animation-delay: var(--fa-animation-delay, 0s); - animation-delay: var(--fa-animation-delay, 0s); - -webkit-animation-direction: var(--fa-animation-direction, normal); - animation-direction: var(--fa-animation-direction, normal); - -webkit-animation-duration: var(--fa-animation-duration, 1s); - animation-duration: var(--fa-animation-duration, 1s); - -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); - animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); } - -.fa-flip { - -webkit-animation-name: fa-flip; - animation-name: fa-flip; - -webkit-animation-delay: var(--fa-animation-delay, 0s); - animation-delay: var(--fa-animation-delay, 0s); - -webkit-animation-direction: var(--fa-animation-direction, normal); - animation-direction: var(--fa-animation-direction, normal); - -webkit-animation-duration: var(--fa-animation-duration, 1s); - animation-duration: var(--fa-animation-duration, 1s); - -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - -webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out); - animation-timing-function: var(--fa-animation-timing, ease-in-out); } - -.fa-shake { - -webkit-animation-name: fa-shake; - animation-name: fa-shake; - -webkit-animation-delay: var(--fa-animation-delay, 0s); - animation-delay: var(--fa-animation-delay, 0s); - -webkit-animation-direction: var(--fa-animation-direction, normal); - animation-direction: var(--fa-animation-direction, normal); - -webkit-animation-duration: var(--fa-animation-duration, 1s); - animation-duration: var(--fa-animation-duration, 1s); - -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - -webkit-animation-timing-function: var(--fa-animation-timing, linear); - animation-timing-function: var(--fa-animation-timing, linear); } - -.fa-spin { - -webkit-animation-name: fa-spin; - animation-name: fa-spin; - -webkit-animation-delay: var(--fa-animation-delay, 0s); - animation-delay: var(--fa-animation-delay, 0s); - -webkit-animation-direction: var(--fa-animation-direction, normal); - animation-direction: var(--fa-animation-direction, normal); - -webkit-animation-duration: var(--fa-animation-duration, 2s); - animation-duration: var(--fa-animation-duration, 2s); - -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - -webkit-animation-timing-function: var(--fa-animation-timing, linear); - animation-timing-function: var(--fa-animation-timing, linear); } - -.fa-spin-reverse { - --fa-animation-direction: reverse; } - -.fa-pulse, -.fa-spin-pulse { - -webkit-animation-name: fa-spin; - animation-name: fa-spin; - -webkit-animation-direction: var(--fa-animation-direction, normal); - animation-direction: var(--fa-animation-direction, normal); - -webkit-animation-duration: var(--fa-animation-duration, 1s); - animation-duration: var(--fa-animation-duration, 1s); - -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - -webkit-animation-timing-function: var(--fa-animation-timing, steps(8)); - animation-timing-function: var(--fa-animation-timing, steps(8)); } - -@media (prefers-reduced-motion: reduce) { - .fa-beat, - .fa-bounce, - .fa-fade, - .fa-beat-fade, - .fa-flip, - .fa-pulse, - .fa-shake, - .fa-spin, - .fa-spin-pulse { - -webkit-animation-delay: -1ms; - animation-delay: -1ms; - -webkit-animation-duration: 1ms; - animation-duration: 1ms; - -webkit-animation-iteration-count: 1; - animation-iteration-count: 1; - -webkit-transition-delay: 0s; - transition-delay: 0s; - -webkit-transition-duration: 0s; - transition-duration: 0s; } } - -@-webkit-keyframes fa-beat { - 0%, 90% { - -webkit-transform: scale(1); - transform: scale(1); } - 45% { - -webkit-transform: scale(var(--fa-beat-scale, 1.25)); - transform: scale(var(--fa-beat-scale, 1.25)); } } - -@keyframes fa-beat { - 0%, 90% { - -webkit-transform: scale(1); - transform: scale(1); } - 45% { - -webkit-transform: scale(var(--fa-beat-scale, 1.25)); - transform: scale(var(--fa-beat-scale, 1.25)); } } - -@-webkit-keyframes fa-bounce { - 0% { - -webkit-transform: scale(1, 1) translateY(0); - transform: scale(1, 1) translateY(0); } - 10% { - -webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); - transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); } - 30% { - -webkit-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)); - 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% { - -webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); - transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); } - 57% { - -webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); - transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); } - 64% { - -webkit-transform: scale(1, 1) translateY(0); - transform: scale(1, 1) translateY(0); } - 100% { - -webkit-transform: scale(1, 1) translateY(0); - transform: scale(1, 1) translateY(0); } } - -@keyframes fa-bounce { - 0% { - -webkit-transform: scale(1, 1) translateY(0); - transform: scale(1, 1) translateY(0); } - 10% { - -webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); - transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); } - 30% { - -webkit-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)); - 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% { - -webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); - transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); } - 57% { - -webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); - transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); } - 64% { - -webkit-transform: scale(1, 1) translateY(0); - transform: scale(1, 1) translateY(0); } - 100% { - -webkit-transform: scale(1, 1) translateY(0); - transform: scale(1, 1) translateY(0); } } - -@-webkit-keyframes fa-fade { - 50% { - opacity: var(--fa-fade-opacity, 0.4); } } - -@keyframes fa-fade { - 50% { - opacity: var(--fa-fade-opacity, 0.4); } } - -@-webkit-keyframes fa-beat-fade { - 0%, 100% { - opacity: var(--fa-beat-fade-opacity, 0.4); - -webkit-transform: scale(1); - transform: scale(1); } - 50% { - opacity: 1; - -webkit-transform: scale(var(--fa-beat-fade-scale, 1.125)); - transform: scale(var(--fa-beat-fade-scale, 1.125)); } } - -@keyframes fa-beat-fade { - 0%, 100% { - opacity: var(--fa-beat-fade-opacity, 0.4); - -webkit-transform: scale(1); - transform: scale(1); } - 50% { - opacity: 1; - -webkit-transform: scale(var(--fa-beat-fade-scale, 1.125)); - transform: scale(var(--fa-beat-fade-scale, 1.125)); } } - -@-webkit-keyframes fa-flip { - 50% { - -webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); - transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); } } - -@keyframes fa-flip { - 50% { - -webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); - transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); } } - -@-webkit-keyframes fa-shake { - 0% { - -webkit-transform: rotate(-15deg); - transform: rotate(-15deg); } - 4% { - -webkit-transform: rotate(15deg); - transform: rotate(15deg); } - 8%, 24% { - -webkit-transform: rotate(-18deg); - transform: rotate(-18deg); } - 12%, 28% { - -webkit-transform: rotate(18deg); - transform: rotate(18deg); } - 16% { - -webkit-transform: rotate(-22deg); - transform: rotate(-22deg); } - 20% { - -webkit-transform: rotate(22deg); - transform: rotate(22deg); } - 32% { - -webkit-transform: rotate(-12deg); - transform: rotate(-12deg); } - 36% { - -webkit-transform: rotate(12deg); - transform: rotate(12deg); } - 40%, 100% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); } } - -@keyframes fa-shake { - 0% { - -webkit-transform: rotate(-15deg); - transform: rotate(-15deg); } - 4% { - -webkit-transform: rotate(15deg); - transform: rotate(15deg); } - 8%, 24% { - -webkit-transform: rotate(-18deg); - transform: rotate(-18deg); } - 12%, 28% { - -webkit-transform: rotate(18deg); - transform: rotate(18deg); } - 16% { - -webkit-transform: rotate(-22deg); - transform: rotate(-22deg); } - 20% { - -webkit-transform: rotate(22deg); - transform: rotate(22deg); } - 32% { - -webkit-transform: rotate(-12deg); - transform: rotate(-12deg); } - 36% { - -webkit-transform: rotate(12deg); - transform: rotate(12deg); } - 40%, 100% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); } } - -@-webkit-keyframes fa-spin { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); } - 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); } } - -@keyframes fa-spin { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); } - 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); } } - -.fa-rotate-90 { - -webkit-transform: rotate(90deg); - transform: rotate(90deg); } - -.fa-rotate-180 { - -webkit-transform: rotate(180deg); - transform: rotate(180deg); } - -.fa-rotate-270 { - -webkit-transform: rotate(270deg); - transform: rotate(270deg); } - -.fa-flip-horizontal { - -webkit-transform: scale(-1, 1); - transform: scale(-1, 1); } - -.fa-flip-vertical { - -webkit-transform: scale(1, -1); - transform: scale(1, -1); } - -.fa-flip-both, -.fa-flip-horizontal.fa-flip-vertical { - -webkit-transform: scale(-1, -1); - transform: scale(-1, -1); } - -.fa-rotate-by { - -webkit-transform: rotate(var(--fa-rotate-angle, none)); - transform: rotate(var(--fa-rotate-angle, none)); } - -.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); } - -/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen -readers do not read off random characters that represent icons */ - -.fa-0::before { - content: "\30"; } - -.fa-1::before { - content: "\31"; } - -.fa-2::before { - content: "\32"; } - -.fa-3::before { - content: "\33"; } - -.fa-4::before { - content: "\34"; } - -.fa-5::before { - content: "\35"; } - -.fa-6::before { - content: "\36"; } - -.fa-7::before { - content: "\37"; } - -.fa-8::before { - content: "\38"; } - -.fa-9::before { - content: "\39"; } - -.fa-fill-drip::before { - content: "\f576"; } - -.fa-arrows-to-circle::before { - content: "\e4bd"; } - -.fa-circle-chevron-right::before { - content: "\f138"; } - -.fa-chevron-circle-right::before { - content: "\f138"; } - -.fa-at::before { - content: "\40"; } - -.fa-trash-can::before { - content: "\f2ed"; } - -.fa-trash-alt::before { - content: "\f2ed"; } - -.fa-text-height::before { - content: "\f034"; } - -.fa-user-xmark::before { - content: "\f235"; } - -.fa-user-times::before { - content: "\f235"; } - -.fa-stethoscope::before { - content: "\f0f1"; } - -.fa-message::before { - content: "\f27a"; } - -.fa-comment-alt::before { - content: "\f27a"; } - -.fa-info::before { - content: "\f129"; } - -.fa-down-left-and-up-right-to-center::before { - content: "\f422"; } - -.fa-compress-alt::before { - content: "\f422"; } - -.fa-explosion::before { - content: "\e4e9"; } - -.fa-file-lines::before { - content: "\f15c"; } - -.fa-file-alt::before { - content: "\f15c"; } - -.fa-file-text::before { - content: "\f15c"; } - -.fa-wave-square::before { - content: "\f83e"; } - -.fa-ring::before { - content: "\f70b"; } - -.fa-building-un::before { - content: "\e4d9"; } - -.fa-dice-three::before { - content: "\f527"; } - -.fa-calendar-days::before { - content: "\f073"; } - -.fa-calendar-alt::before { - content: "\f073"; } - -.fa-anchor-circle-check::before { - content: "\e4aa"; } - -.fa-building-circle-arrow-right::before { - content: "\e4d1"; } - -.fa-volleyball::before { - content: "\f45f"; } - -.fa-volleyball-ball::before { - content: "\f45f"; } - -.fa-arrows-up-to-line::before { - content: "\e4c2"; } - -.fa-sort-down::before { - content: "\f0dd"; } - -.fa-sort-desc::before { - content: "\f0dd"; } - -.fa-circle-minus::before { - content: "\f056"; } - -.fa-minus-circle::before { - content: "\f056"; } - -.fa-door-open::before { - content: "\f52b"; } - -.fa-right-from-bracket::before { - content: "\f2f5"; } - -.fa-sign-out-alt::before { - content: "\f2f5"; } - -.fa-atom::before { - content: "\f5d2"; } - -.fa-soap::before { - content: "\e06e"; } - -.fa-icons::before { - content: "\f86d"; } - -.fa-heart-music-camera-bolt::before { - content: "\f86d"; } - -.fa-microphone-lines-slash::before { - content: "\f539"; } - -.fa-microphone-alt-slash::before { - content: "\f539"; } - -.fa-bridge-circle-check::before { - content: "\e4c9"; } - -.fa-pump-medical::before { - content: "\e06a"; } - -.fa-fingerprint::before { - content: "\f577"; } - -.fa-hand-point-right::before { - content: "\f0a4"; } - -.fa-magnifying-glass-location::before { - content: "\f689"; } - -.fa-search-location::before { - content: "\f689"; } - -.fa-forward-step::before { - content: "\f051"; } - -.fa-step-forward::before { - content: "\f051"; } - -.fa-face-smile-beam::before { - content: "\f5b8"; } - -.fa-smile-beam::before { - content: "\f5b8"; } - -.fa-flag-checkered::before { - content: "\f11e"; } - -.fa-football::before { - content: "\f44e"; } - -.fa-football-ball::before { - content: "\f44e"; } - -.fa-school-circle-exclamation::before { - content: "\e56c"; } - -.fa-crop::before { - content: "\f125"; } - -.fa-angles-down::before { - content: "\f103"; } - -.fa-angle-double-down::before { - content: "\f103"; } - -.fa-users-rectangle::before { - content: "\e594"; } - -.fa-people-roof::before { - content: "\e537"; } - -.fa-people-line::before { - content: "\e534"; } - -.fa-beer-mug-empty::before { - content: "\f0fc"; } - -.fa-beer::before { - content: "\f0fc"; } - -.fa-diagram-predecessor::before { - content: "\e477"; } - -.fa-arrow-up-long::before { - content: "\f176"; } - -.fa-long-arrow-up::before { - content: "\f176"; } - -.fa-fire-flame-simple::before { - content: "\f46a"; } - -.fa-burn::before { - content: "\f46a"; } - -.fa-person::before { - content: "\f183"; } - -.fa-male::before { - content: "\f183"; } - -.fa-laptop::before { - content: "\f109"; } - -.fa-file-csv::before { - content: "\f6dd"; } - -.fa-menorah::before { - content: "\f676"; } - -.fa-truck-plane::before { - content: "\e58f"; } - -.fa-record-vinyl::before { - content: "\f8d9"; } - -.fa-face-grin-stars::before { - content: "\f587"; } - -.fa-grin-stars::before { - content: "\f587"; } - -.fa-bong::before { - content: "\f55c"; } - -.fa-spaghetti-monster-flying::before { - content: "\f67b"; } - -.fa-pastafarianism::before { - content: "\f67b"; } - -.fa-arrow-down-up-across-line::before { - content: "\e4af"; } - -.fa-spoon::before { - content: "\f2e5"; } - -.fa-utensil-spoon::before { - content: "\f2e5"; } - -.fa-jar-wheat::before { - content: "\e517"; } - -.fa-envelopes-bulk::before { - content: "\f674"; } - -.fa-mail-bulk::before { - content: "\f674"; } - -.fa-file-circle-exclamation::before { - content: "\e4eb"; } - -.fa-circle-h::before { - content: "\f47e"; } - -.fa-hospital-symbol::before { - content: "\f47e"; } - -.fa-pager::before { - content: "\f815"; } - -.fa-address-book::before { - content: "\f2b9"; } - -.fa-contact-book::before { - content: "\f2b9"; } - -.fa-strikethrough::before { - content: "\f0cc"; } - -.fa-k::before { - content: "\4b"; } - -.fa-landmark-flag::before { - content: "\e51c"; } - -.fa-pencil::before { - content: "\f303"; } - -.fa-pencil-alt::before { - content: "\f303"; } - -.fa-backward::before { - content: "\f04a"; } - -.fa-caret-right::before { - content: "\f0da"; } - -.fa-comments::before { - content: "\f086"; } - -.fa-paste::before { - content: "\f0ea"; } - -.fa-file-clipboard::before { - content: "\f0ea"; } - -.fa-code-pull-request::before { - content: "\e13c"; } - -.fa-clipboard-list::before { - content: "\f46d"; } - -.fa-truck-ramp-box::before { - content: "\f4de"; } - -.fa-truck-loading::before { - content: "\f4de"; } - -.fa-user-check::before { - content: "\f4fc"; } - -.fa-vial-virus::before { - content: "\e597"; } - -.fa-sheet-plastic::before { - content: "\e571"; } - -.fa-blog::before { - content: "\f781"; } - -.fa-user-ninja::before { - content: "\f504"; } - -.fa-person-arrow-up-from-line::before { - content: "\e539"; } - -.fa-scroll-torah::before { - content: "\f6a0"; } - -.fa-torah::before { - content: "\f6a0"; } - -.fa-broom-ball::before { - content: "\f458"; } - -.fa-quidditch::before { - content: "\f458"; } - -.fa-quidditch-broom-ball::before { - content: "\f458"; } - -.fa-toggle-off::before { - content: "\f204"; } - -.fa-box-archive::before { - content: "\f187"; } - -.fa-archive::before { - content: "\f187"; } - -.fa-person-drowning::before { - content: "\e545"; } - -.fa-arrow-down-9-1::before { - content: "\f886"; } - -.fa-sort-numeric-desc::before { - content: "\f886"; } - -.fa-sort-numeric-down-alt::before { - content: "\f886"; } - -.fa-face-grin-tongue-squint::before { - content: "\f58a"; } - -.fa-grin-tongue-squint::before { - content: "\f58a"; } - -.fa-spray-can::before { - content: "\f5bd"; } - -.fa-truck-monster::before { - content: "\f63b"; } - -.fa-w::before { - content: "\57"; } - -.fa-earth-africa::before { - content: "\f57c"; } - -.fa-globe-africa::before { - content: "\f57c"; } - -.fa-rainbow::before { - content: "\f75b"; } - -.fa-circle-notch::before { - content: "\f1ce"; } - -.fa-tablet-screen-button::before { - content: "\f3fa"; } - -.fa-tablet-alt::before { - content: "\f3fa"; } - -.fa-paw::before { - content: "\f1b0"; } - -.fa-cloud::before { - content: "\f0c2"; } - -.fa-trowel-bricks::before { - content: "\e58a"; } - -.fa-face-flushed::before { - content: "\f579"; } - -.fa-flushed::before { - content: "\f579"; } - -.fa-hospital-user::before { - content: "\f80d"; } - -.fa-tent-arrow-left-right::before { - content: "\e57f"; } - -.fa-gavel::before { - content: "\f0e3"; } - -.fa-legal::before { - content: "\f0e3"; } - -.fa-binoculars::before { - content: "\f1e5"; } - -.fa-microphone-slash::before { - content: "\f131"; } - -.fa-box-tissue::before { - content: "\e05b"; } - -.fa-motorcycle::before { - content: "\f21c"; } - -.fa-bell-concierge::before { - content: "\f562"; } - -.fa-concierge-bell::before { - content: "\f562"; } - -.fa-pen-ruler::before { - content: "\f5ae"; } - -.fa-pencil-ruler::before { - content: "\f5ae"; } - -.fa-people-arrows::before { - content: "\e068"; } - -.fa-people-arrows-left-right::before { - content: "\e068"; } - -.fa-mars-and-venus-burst::before { - content: "\e523"; } - -.fa-square-caret-right::before { - content: "\f152"; } - -.fa-caret-square-right::before { - content: "\f152"; } - -.fa-scissors::before { - content: "\f0c4"; } - -.fa-cut::before { - content: "\f0c4"; } - -.fa-sun-plant-wilt::before { - content: "\e57a"; } - -.fa-toilets-portable::before { - content: "\e584"; } - -.fa-hockey-puck::before { - content: "\f453"; } - -.fa-table::before { - content: "\f0ce"; } - -.fa-magnifying-glass-arrow-right::before { - content: "\e521"; } - -.fa-tachograph-digital::before { - content: "\f566"; } - -.fa-digital-tachograph::before { - content: "\f566"; } - -.fa-users-slash::before { - content: "\e073"; } - -.fa-clover::before { - content: "\e139"; } - -.fa-reply::before { - content: "\f3e5"; } - -.fa-mail-reply::before { - content: "\f3e5"; } - -.fa-star-and-crescent::before { - content: "\f699"; } - -.fa-house-fire::before { - content: "\e50c"; } - -.fa-square-minus::before { - content: "\f146"; } - -.fa-minus-square::before { - content: "\f146"; } - -.fa-helicopter::before { - content: "\f533"; } - -.fa-compass::before { - content: "\f14e"; } - -.fa-square-caret-down::before { - content: "\f150"; } - -.fa-caret-square-down::before { - content: "\f150"; } - -.fa-file-circle-question::before { - content: "\e4ef"; } - -.fa-laptop-code::before { - content: "\f5fc"; } - -.fa-swatchbook::before { - content: "\f5c3"; } - -.fa-prescription-bottle::before { - content: "\f485"; } - -.fa-bars::before { - content: "\f0c9"; } - -.fa-navicon::before { - content: "\f0c9"; } - -.fa-people-group::before { - content: "\e533"; } - -.fa-hourglass-end::before { - content: "\f253"; } - -.fa-hourglass-3::before { - content: "\f253"; } - -.fa-heart-crack::before { - content: "\f7a9"; } - -.fa-heart-broken::before { - content: "\f7a9"; } - -.fa-square-up-right::before { - content: "\f360"; } - -.fa-external-link-square-alt::before { - content: "\f360"; } - -.fa-face-kiss-beam::before { - content: "\f597"; } - -.fa-kiss-beam::before { - content: "\f597"; } - -.fa-film::before { - content: "\f008"; } - -.fa-ruler-horizontal::before { - content: "\f547"; } - -.fa-people-robbery::before { - content: "\e536"; } - -.fa-lightbulb::before { - content: "\f0eb"; } - -.fa-caret-left::before { - content: "\f0d9"; } - -.fa-circle-exclamation::before { - content: "\f06a"; } - -.fa-exclamation-circle::before { - content: "\f06a"; } - -.fa-school-circle-xmark::before { - content: "\e56d"; } - -.fa-arrow-right-from-bracket::before { - content: "\f08b"; } - -.fa-sign-out::before { - content: "\f08b"; } - -.fa-circle-chevron-down::before { - content: "\f13a"; } - -.fa-chevron-circle-down::before { - content: "\f13a"; } - -.fa-unlock-keyhole::before { - content: "\f13e"; } - -.fa-unlock-alt::before { - content: "\f13e"; } - -.fa-cloud-showers-heavy::before { - content: "\f740"; } - -.fa-headphones-simple::before { - content: "\f58f"; } - -.fa-headphones-alt::before { - content: "\f58f"; } - -.fa-sitemap::before { - content: "\f0e8"; } - -.fa-circle-dollar-to-slot::before { - content: "\f4b9"; } - -.fa-donate::before { - content: "\f4b9"; } - -.fa-memory::before { - content: "\f538"; } - -.fa-road-spikes::before { - content: "\e568"; } - -.fa-fire-burner::before { - content: "\e4f1"; } - -.fa-flag::before { - content: "\f024"; } - -.fa-hanukiah::before { - content: "\f6e6"; } - -.fa-feather::before { - content: "\f52d"; } - -.fa-volume-low::before { - content: "\f027"; } - -.fa-volume-down::before { - content: "\f027"; } - -.fa-comment-slash::before { - content: "\f4b3"; } - -.fa-cloud-sun-rain::before { - content: "\f743"; } - -.fa-compress::before { - content: "\f066"; } - -.fa-wheat-awn::before { - content: "\e2cd"; } - -.fa-wheat-alt::before { - content: "\e2cd"; } - -.fa-ankh::before { - content: "\f644"; } - -.fa-hands-holding-child::before { - content: "\e4fa"; } - -.fa-asterisk::before { - content: "\2a"; } - -.fa-square-check::before { - content: "\f14a"; } - -.fa-check-square::before { - content: "\f14a"; } - -.fa-peseta-sign::before { - content: "\e221"; } - -.fa-heading::before { - content: "\f1dc"; } - -.fa-header::before { - content: "\f1dc"; } - -.fa-ghost::before { - content: "\f6e2"; } - -.fa-list::before { - content: "\f03a"; } - -.fa-list-squares::before { - content: "\f03a"; } - -.fa-square-phone-flip::before { - content: "\f87b"; } - -.fa-phone-square-alt::before { - content: "\f87b"; } - -.fa-cart-plus::before { - content: "\f217"; } - -.fa-gamepad::before { - content: "\f11b"; } - -.fa-circle-dot::before { - content: "\f192"; } - -.fa-dot-circle::before { - content: "\f192"; } - -.fa-face-dizzy::before { - content: "\f567"; } - -.fa-dizzy::before { - content: "\f567"; } - -.fa-egg::before { - content: "\f7fb"; } - -.fa-house-medical-circle-xmark::before { - content: "\e513"; } - -.fa-campground::before { - content: "\f6bb"; } - -.fa-folder-plus::before { - content: "\f65e"; } - -.fa-futbol::before { - content: "\f1e3"; } - -.fa-futbol-ball::before { - content: "\f1e3"; } - -.fa-soccer-ball::before { - content: "\f1e3"; } - -.fa-paintbrush::before { - content: "\f1fc"; } - -.fa-paint-brush::before { - content: "\f1fc"; } - -.fa-lock::before { - content: "\f023"; } - -.fa-gas-pump::before { - content: "\f52f"; } - -.fa-hot-tub-person::before { - content: "\f593"; } - -.fa-hot-tub::before { - content: "\f593"; } - -.fa-map-location::before { - content: "\f59f"; } - -.fa-map-marked::before { - content: "\f59f"; } - -.fa-house-flood-water::before { - content: "\e50e"; } - -.fa-tree::before { - content: "\f1bb"; } - -.fa-bridge-lock::before { - content: "\e4cc"; } - -.fa-sack-dollar::before { - content: "\f81d"; } - -.fa-pen-to-square::before { - content: "\f044"; } - -.fa-edit::before { - content: "\f044"; } - -.fa-car-side::before { - content: "\f5e4"; } - -.fa-share-nodes::before { - content: "\f1e0"; } - -.fa-share-alt::before { - content: "\f1e0"; } - -.fa-heart-circle-minus::before { - content: "\e4ff"; } - -.fa-hourglass-half::before { - content: "\f252"; } - -.fa-hourglass-2::before { - content: "\f252"; } - -.fa-microscope::before { - content: "\f610"; } - -.fa-sink::before { - content: "\e06d"; } - -.fa-bag-shopping::before { - content: "\f290"; } - -.fa-shopping-bag::before { - content: "\f290"; } - -.fa-arrow-down-z-a::before { - content: "\f881"; } - -.fa-sort-alpha-desc::before { - content: "\f881"; } - -.fa-sort-alpha-down-alt::before { - content: "\f881"; } - -.fa-mitten::before { - content: "\f7b5"; } - -.fa-person-rays::before { - content: "\e54d"; } - -.fa-users::before { - content: "\f0c0"; } - -.fa-eye-slash::before { - content: "\f070"; } - -.fa-flask-vial::before { - content: "\e4f3"; } - -.fa-hand::before { - content: "\f256"; } - -.fa-hand-paper::before { - content: "\f256"; } - -.fa-om::before { - content: "\f679"; } - -.fa-worm::before { - content: "\e599"; } - -.fa-house-circle-xmark::before { - content: "\e50b"; } - -.fa-plug::before { - content: "\f1e6"; } - -.fa-chevron-up::before { - content: "\f077"; } - -.fa-hand-spock::before { - content: "\f259"; } - -.fa-stopwatch::before { - content: "\f2f2"; } - -.fa-face-kiss::before { - content: "\f596"; } - -.fa-kiss::before { - content: "\f596"; } - -.fa-bridge-circle-xmark::before { - content: "\e4cb"; } - -.fa-face-grin-tongue::before { - content: "\f589"; } - -.fa-grin-tongue::before { - content: "\f589"; } - -.fa-chess-bishop::before { - content: "\f43a"; } - -.fa-face-grin-wink::before { - content: "\f58c"; } - -.fa-grin-wink::before { - content: "\f58c"; } - -.fa-ear-deaf::before { - content: "\f2a4"; } - -.fa-deaf::before { - content: "\f2a4"; } - -.fa-deafness::before { - content: "\f2a4"; } - -.fa-hard-of-hearing::before { - content: "\f2a4"; } - -.fa-road-circle-check::before { - content: "\e564"; } - -.fa-dice-five::before { - content: "\f523"; } - -.fa-square-rss::before { - content: "\f143"; } - -.fa-rss-square::before { - content: "\f143"; } - -.fa-land-mine-on::before { - content: "\e51b"; } - -.fa-i-cursor::before { - content: "\f246"; } - -.fa-stamp::before { - content: "\f5bf"; } - -.fa-stairs::before { - content: "\e289"; } - -.fa-i::before { - content: "\49"; } - -.fa-hryvnia-sign::before { - content: "\f6f2"; } - -.fa-hryvnia::before { - content: "\f6f2"; } - -.fa-pills::before { - content: "\f484"; } - -.fa-face-grin-wide::before { - content: "\f581"; } - -.fa-grin-alt::before { - content: "\f581"; } - -.fa-tooth::before { - content: "\f5c9"; } - -.fa-v::before { - content: "\56"; } - -.fa-bangladeshi-taka-sign::before { - content: "\e2e6"; } - -.fa-bicycle::before { - content: "\f206"; } - -.fa-staff-snake::before { - content: "\e579"; } - -.fa-rod-asclepius::before { - content: "\e579"; } - -.fa-rod-snake::before { - content: "\e579"; } - -.fa-staff-aesculapius::before { - content: "\e579"; } - -.fa-head-side-cough-slash::before { - content: "\e062"; } - -.fa-truck-medical::before { - content: "\f0f9"; } - -.fa-ambulance::before { - content: "\f0f9"; } - -.fa-wheat-awn-circle-exclamation::before { - content: "\e598"; } - -.fa-snowman::before { - content: "\f7d0"; } - -.fa-mortar-pestle::before { - content: "\f5a7"; } - -.fa-road-barrier::before { - content: "\e562"; } - -.fa-school::before { - content: "\f549"; } - -.fa-igloo::before { - content: "\f7ae"; } - -.fa-joint::before { - content: "\f595"; } - -.fa-angle-right::before { - content: "\f105"; } - -.fa-horse::before { - content: "\f6f0"; } - -.fa-q::before { - content: "\51"; } - -.fa-g::before { - content: "\47"; } - -.fa-notes-medical::before { - content: "\f481"; } - -.fa-temperature-half::before { - content: "\f2c9"; } - -.fa-temperature-2::before { - content: "\f2c9"; } - -.fa-thermometer-2::before { - content: "\f2c9"; } - -.fa-thermometer-half::before { - content: "\f2c9"; } - -.fa-dong-sign::before { - content: "\e169"; } - -.fa-capsules::before { - content: "\f46b"; } - -.fa-poo-storm::before { - content: "\f75a"; } - -.fa-poo-bolt::before { - content: "\f75a"; } - -.fa-face-frown-open::before { - content: "\f57a"; } - -.fa-frown-open::before { - content: "\f57a"; } - -.fa-hand-point-up::before { - content: "\f0a6"; } - -.fa-money-bill::before { - content: "\f0d6"; } - -.fa-bookmark::before { - content: "\f02e"; } - -.fa-align-justify::before { - content: "\f039"; } - -.fa-umbrella-beach::before { - content: "\f5ca"; } - -.fa-helmet-un::before { - content: "\e503"; } - -.fa-bullseye::before { - content: "\f140"; } - -.fa-bacon::before { - content: "\f7e5"; } - -.fa-hand-point-down::before { - content: "\f0a7"; } - -.fa-arrow-up-from-bracket::before { - content: "\e09a"; } - -.fa-folder::before { - content: "\f07b"; } - -.fa-folder-blank::before { - content: "\f07b"; } - -.fa-file-waveform::before { - content: "\f478"; } - -.fa-file-medical-alt::before { - content: "\f478"; } - -.fa-radiation::before { - content: "\f7b9"; } - -.fa-chart-simple::before { - content: "\e473"; } - -.fa-mars-stroke::before { - content: "\f229"; } - -.fa-vial::before { - content: "\f492"; } - -.fa-gauge::before { - content: "\f624"; } - -.fa-dashboard::before { - content: "\f624"; } - -.fa-gauge-med::before { - content: "\f624"; } - -.fa-tachometer-alt-average::before { - content: "\f624"; } - -.fa-wand-magic-sparkles::before { - content: "\e2ca"; } - -.fa-magic-wand-sparkles::before { - content: "\e2ca"; } - -.fa-e::before { - content: "\45"; } - -.fa-pen-clip::before { - content: "\f305"; } - -.fa-pen-alt::before { - content: "\f305"; } - -.fa-bridge-circle-exclamation::before { - content: "\e4ca"; } - -.fa-user::before { - content: "\f007"; } - -.fa-school-circle-check::before { - content: "\e56b"; } - -.fa-dumpster::before { - content: "\f793"; } - -.fa-van-shuttle::before { - content: "\f5b6"; } - -.fa-shuttle-van::before { - content: "\f5b6"; } - -.fa-building-user::before { - content: "\e4da"; } - -.fa-square-caret-left::before { - content: "\f191"; } - -.fa-caret-square-left::before { - content: "\f191"; } - -.fa-highlighter::before { - content: "\f591"; } - -.fa-key::before { - content: "\f084"; } - -.fa-bullhorn::before { - content: "\f0a1"; } - -.fa-globe::before { - content: "\f0ac"; } - -.fa-synagogue::before { - content: "\f69b"; } - -.fa-person-half-dress::before { - content: "\e548"; } - -.fa-road-bridge::before { - content: "\e563"; } - -.fa-location-arrow::before { - content: "\f124"; } - -.fa-c::before { - content: "\43"; } - -.fa-tablet-button::before { - content: "\f10a"; } - -.fa-building-lock::before { - content: "\e4d6"; } - -.fa-pizza-slice::before { - content: "\f818"; } - -.fa-money-bill-wave::before { - content: "\f53a"; } - -.fa-chart-area::before { - content: "\f1fe"; } - -.fa-area-chart::before { - content: "\f1fe"; } - -.fa-house-flag::before { - content: "\e50d"; } - -.fa-person-circle-minus::before { - content: "\e540"; } - -.fa-ban::before { - content: "\f05e"; } - -.fa-cancel::before { - content: "\f05e"; } - -.fa-camera-rotate::before { - content: "\e0d8"; } - -.fa-spray-can-sparkles::before { - content: "\f5d0"; } - -.fa-air-freshener::before { - content: "\f5d0"; } - -.fa-star::before { - content: "\f005"; } - -.fa-repeat::before { - content: "\f363"; } - -.fa-cross::before { - content: "\f654"; } - -.fa-box::before { - content: "\f466"; } - -.fa-venus-mars::before { - content: "\f228"; } - -.fa-arrow-pointer::before { - content: "\f245"; } - -.fa-mouse-pointer::before { - content: "\f245"; } - -.fa-maximize::before { - content: "\f31e"; } - -.fa-expand-arrows-alt::before { - content: "\f31e"; } - -.fa-charging-station::before { - content: "\f5e7"; } - -.fa-shapes::before { - content: "\f61f"; } - -.fa-triangle-circle-square::before { - content: "\f61f"; } - -.fa-shuffle::before { - content: "\f074"; } - -.fa-random::before { - content: "\f074"; } - -.fa-person-running::before { - content: "\f70c"; } - -.fa-running::before { - content: "\f70c"; } - -.fa-mobile-retro::before { - content: "\e527"; } - -.fa-grip-lines-vertical::before { - content: "\f7a5"; } - -.fa-spider::before { - content: "\f717"; } - -.fa-hands-bound::before { - content: "\e4f9"; } - -.fa-file-invoice-dollar::before { - content: "\f571"; } - -.fa-plane-circle-exclamation::before { - content: "\e556"; } - -.fa-x-ray::before { - content: "\f497"; } - -.fa-spell-check::before { - content: "\f891"; } - -.fa-slash::before { - content: "\f715"; } - -.fa-computer-mouse::before { - content: "\f8cc"; } - -.fa-mouse::before { - content: "\f8cc"; } - -.fa-arrow-right-to-bracket::before { - content: "\f090"; } - -.fa-sign-in::before { - content: "\f090"; } - -.fa-shop-slash::before { - content: "\e070"; } - -.fa-store-alt-slash::before { - content: "\e070"; } - -.fa-server::before { - content: "\f233"; } - -.fa-virus-covid-slash::before { - content: "\e4a9"; } - -.fa-shop-lock::before { - content: "\e4a5"; } - -.fa-hourglass-start::before { - content: "\f251"; } - -.fa-hourglass-1::before { - content: "\f251"; } - -.fa-blender-phone::before { - content: "\f6b6"; } - -.fa-building-wheat::before { - content: "\e4db"; } - -.fa-person-breastfeeding::before { - content: "\e53a"; } - -.fa-right-to-bracket::before { - content: "\f2f6"; } - -.fa-sign-in-alt::before { - content: "\f2f6"; } - -.fa-venus::before { - content: "\f221"; } - -.fa-passport::before { - content: "\f5ab"; } - -.fa-heart-pulse::before { - content: "\f21e"; } - -.fa-heartbeat::before { - content: "\f21e"; } - -.fa-people-carry-box::before { - content: "\f4ce"; } - -.fa-people-carry::before { - content: "\f4ce"; } - -.fa-temperature-high::before { - content: "\f769"; } - -.fa-microchip::before { - content: "\f2db"; } - -.fa-crown::before { - content: "\f521"; } - -.fa-weight-hanging::before { - content: "\f5cd"; } - -.fa-xmarks-lines::before { - content: "\e59a"; } - -.fa-file-prescription::before { - content: "\f572"; } - -.fa-weight-scale::before { - content: "\f496"; } - -.fa-weight::before { - content: "\f496"; } - -.fa-user-group::before { - content: "\f500"; } - -.fa-user-friends::before { - content: "\f500"; } - -.fa-arrow-up-a-z::before { - content: "\f15e"; } - -.fa-sort-alpha-up::before { - content: "\f15e"; } - -.fa-chess-knight::before { - content: "\f441"; } - -.fa-face-laugh-squint::before { - content: "\f59b"; } - -.fa-laugh-squint::before { - content: "\f59b"; } - -.fa-wheelchair::before { - content: "\f193"; } - -.fa-circle-arrow-up::before { - content: "\f0aa"; } - -.fa-arrow-circle-up::before { - content: "\f0aa"; } - -.fa-toggle-on::before { - content: "\f205"; } - -.fa-person-walking::before { - content: "\f554"; } - -.fa-walking::before { - content: "\f554"; } - -.fa-l::before { - content: "\4c"; } - -.fa-fire::before { - content: "\f06d"; } - -.fa-bed-pulse::before { - content: "\f487"; } - -.fa-procedures::before { - content: "\f487"; } - -.fa-shuttle-space::before { - content: "\f197"; } - -.fa-space-shuttle::before { - content: "\f197"; } - -.fa-face-laugh::before { - content: "\f599"; } - -.fa-laugh::before { - content: "\f599"; } - -.fa-folder-open::before { - content: "\f07c"; } - -.fa-heart-circle-plus::before { - content: "\e500"; } - -.fa-code-fork::before { - content: "\e13b"; } - -.fa-city::before { - content: "\f64f"; } - -.fa-microphone-lines::before { - content: "\f3c9"; } - -.fa-microphone-alt::before { - content: "\f3c9"; } - -.fa-pepper-hot::before { - content: "\f816"; } - -.fa-unlock::before { - content: "\f09c"; } - -.fa-colon-sign::before { - content: "\e140"; } - -.fa-headset::before { - content: "\f590"; } - -.fa-store-slash::before { - content: "\e071"; } - -.fa-road-circle-xmark::before { - content: "\e566"; } - -.fa-user-minus::before { - content: "\f503"; } - -.fa-mars-stroke-up::before { - content: "\f22a"; } - -.fa-mars-stroke-v::before { - content: "\f22a"; } - -.fa-champagne-glasses::before { - content: "\f79f"; } - -.fa-glass-cheers::before { - content: "\f79f"; } - -.fa-clipboard::before { - content: "\f328"; } - -.fa-house-circle-exclamation::before { - content: "\e50a"; } - -.fa-file-arrow-up::before { - content: "\f574"; } - -.fa-file-upload::before { - content: "\f574"; } - -.fa-wifi::before { - content: "\f1eb"; } - -.fa-wifi-3::before { - content: "\f1eb"; } - -.fa-wifi-strong::before { - content: "\f1eb"; } - -.fa-bath::before { - content: "\f2cd"; } - -.fa-bathtub::before { - content: "\f2cd"; } - -.fa-underline::before { - content: "\f0cd"; } - -.fa-user-pen::before { - content: "\f4ff"; } - -.fa-user-edit::before { - content: "\f4ff"; } - -.fa-signature::before { - content: "\f5b7"; } - -.fa-stroopwafel::before { - content: "\f551"; } - -.fa-bold::before { - content: "\f032"; } - -.fa-anchor-lock::before { - content: "\e4ad"; } - -.fa-building-ngo::before { - content: "\e4d7"; } - -.fa-manat-sign::before { - content: "\e1d5"; } - -.fa-not-equal::before { - content: "\f53e"; } - -.fa-border-top-left::before { - content: "\f853"; } - -.fa-border-style::before { - content: "\f853"; } - -.fa-map-location-dot::before { - content: "\f5a0"; } - -.fa-map-marked-alt::before { - content: "\f5a0"; } - -.fa-jedi::before { - content: "\f669"; } - -.fa-square-poll-vertical::before { - content: "\f681"; } - -.fa-poll::before { - content: "\f681"; } - -.fa-mug-hot::before { - content: "\f7b6"; } - -.fa-car-battery::before { - content: "\f5df"; } - -.fa-battery-car::before { - content: "\f5df"; } - -.fa-gift::before { - content: "\f06b"; } - -.fa-dice-two::before { - content: "\f528"; } - -.fa-chess-queen::before { - content: "\f445"; } - -.fa-glasses::before { - content: "\f530"; } - -.fa-chess-board::before { - content: "\f43c"; } - -.fa-building-circle-check::before { - content: "\e4d2"; } - -.fa-person-chalkboard::before { - content: "\e53d"; } - -.fa-mars-stroke-right::before { - content: "\f22b"; } - -.fa-mars-stroke-h::before { - content: "\f22b"; } - -.fa-hand-back-fist::before { - content: "\f255"; } - -.fa-hand-rock::before { - content: "\f255"; } - -.fa-square-caret-up::before { - content: "\f151"; } - -.fa-caret-square-up::before { - content: "\f151"; } - -.fa-cloud-showers-water::before { - content: "\e4e4"; } - -.fa-chart-bar::before { - content: "\f080"; } - -.fa-bar-chart::before { - content: "\f080"; } - -.fa-hands-bubbles::before { - content: "\e05e"; } - -.fa-hands-wash::before { - content: "\e05e"; } - -.fa-less-than-equal::before { - content: "\f537"; } - -.fa-train::before { - content: "\f238"; } - -.fa-eye-low-vision::before { - content: "\f2a8"; } - -.fa-low-vision::before { - content: "\f2a8"; } - -.fa-crow::before { - content: "\f520"; } - -.fa-sailboat::before { - content: "\e445"; } - -.fa-window-restore::before { - content: "\f2d2"; } - -.fa-square-plus::before { - content: "\f0fe"; } - -.fa-plus-square::before { - content: "\f0fe"; } - -.fa-torii-gate::before { - content: "\f6a1"; } - -.fa-frog::before { - content: "\f52e"; } - -.fa-bucket::before { - content: "\e4cf"; } - -.fa-image::before { - content: "\f03e"; } - -.fa-microphone::before { - content: "\f130"; } - -.fa-cow::before { - content: "\f6c8"; } - -.fa-caret-up::before { - content: "\f0d8"; } - -.fa-screwdriver::before { - content: "\f54a"; } - -.fa-folder-closed::before { - content: "\e185"; } - -.fa-house-tsunami::before { - content: "\e515"; } - -.fa-square-nfi::before { - content: "\e576"; } - -.fa-arrow-up-from-ground-water::before { - content: "\e4b5"; } - -.fa-martini-glass::before { - content: "\f57b"; } - -.fa-glass-martini-alt::before { - content: "\f57b"; } - -.fa-rotate-left::before { - content: "\f2ea"; } - -.fa-rotate-back::before { - content: "\f2ea"; } - -.fa-rotate-backward::before { - content: "\f2ea"; } - -.fa-undo-alt::before { - content: "\f2ea"; } - -.fa-table-columns::before { - content: "\f0db"; } - -.fa-columns::before { - content: "\f0db"; } - -.fa-lemon::before { - content: "\f094"; } - -.fa-head-side-mask::before { - content: "\e063"; } - -.fa-handshake::before { - content: "\f2b5"; } - -.fa-gem::before { - content: "\f3a5"; } - -.fa-dolly::before { - content: "\f472"; } - -.fa-dolly-box::before { - content: "\f472"; } - -.fa-smoking::before { - content: "\f48d"; } - -.fa-minimize::before { - content: "\f78c"; } - -.fa-compress-arrows-alt::before { - content: "\f78c"; } - -.fa-monument::before { - content: "\f5a6"; } - -.fa-snowplow::before { - content: "\f7d2"; } - -.fa-angles-right::before { - content: "\f101"; } - -.fa-angle-double-right::before { - content: "\f101"; } - -.fa-cannabis::before { - content: "\f55f"; } - -.fa-circle-play::before { - content: "\f144"; } - -.fa-play-circle::before { - content: "\f144"; } - -.fa-tablets::before { - content: "\f490"; } - -.fa-ethernet::before { - content: "\f796"; } - -.fa-euro-sign::before { - content: "\f153"; } - -.fa-eur::before { - content: "\f153"; } - -.fa-euro::before { - content: "\f153"; } - -.fa-chair::before { - content: "\f6c0"; } - -.fa-circle-check::before { - content: "\f058"; } - -.fa-check-circle::before { - content: "\f058"; } - -.fa-circle-stop::before { - content: "\f28d"; } - -.fa-stop-circle::before { - content: "\f28d"; } - -.fa-compass-drafting::before { - content: "\f568"; } - -.fa-drafting-compass::before { - content: "\f568"; } - -.fa-plate-wheat::before { - content: "\e55a"; } - -.fa-icicles::before { - content: "\f7ad"; } - -.fa-person-shelter::before { - content: "\e54f"; } - -.fa-neuter::before { - content: "\f22c"; } - -.fa-id-badge::before { - content: "\f2c1"; } - -.fa-marker::before { - content: "\f5a1"; } - -.fa-face-laugh-beam::before { - content: "\f59a"; } - -.fa-laugh-beam::before { - content: "\f59a"; } - -.fa-helicopter-symbol::before { - content: "\e502"; } - -.fa-universal-access::before { - content: "\f29a"; } - -.fa-circle-chevron-up::before { - content: "\f139"; } - -.fa-chevron-circle-up::before { - content: "\f139"; } - -.fa-lari-sign::before { - content: "\e1c8"; } - -.fa-volcano::before { - content: "\f770"; } - -.fa-person-walking-dashed-line-arrow-right::before { - content: "\e553"; } - -.fa-sterling-sign::before { - content: "\f154"; } - -.fa-gbp::before { - content: "\f154"; } - -.fa-pound-sign::before { - content: "\f154"; } - -.fa-viruses::before { - content: "\e076"; } - -.fa-square-person-confined::before { - content: "\e577"; } - -.fa-user-tie::before { - content: "\f508"; } - -.fa-arrow-down-long::before { - content: "\f175"; } - -.fa-long-arrow-down::before { - content: "\f175"; } - -.fa-tent-arrow-down-to-line::before { - content: "\e57e"; } - -.fa-certificate::before { - content: "\f0a3"; } - -.fa-reply-all::before { - content: "\f122"; } - -.fa-mail-reply-all::before { - content: "\f122"; } - -.fa-suitcase::before { - content: "\f0f2"; } - -.fa-person-skating::before { - content: "\f7c5"; } - -.fa-skating::before { - content: "\f7c5"; } - -.fa-filter-circle-dollar::before { - content: "\f662"; } - -.fa-funnel-dollar::before { - content: "\f662"; } - -.fa-camera-retro::before { - content: "\f083"; } - -.fa-circle-arrow-down::before { - content: "\f0ab"; } - -.fa-arrow-circle-down::before { - content: "\f0ab"; } - -.fa-file-import::before { - content: "\f56f"; } - -.fa-arrow-right-to-file::before { - content: "\f56f"; } - -.fa-square-arrow-up-right::before { - content: "\f14c"; } - -.fa-external-link-square::before { - content: "\f14c"; } - -.fa-box-open::before { - content: "\f49e"; } - -.fa-scroll::before { - content: "\f70e"; } - -.fa-spa::before { - content: "\f5bb"; } - -.fa-location-pin-lock::before { - content: "\e51f"; } - -.fa-pause::before { - content: "\f04c"; } - -.fa-hill-avalanche::before { - content: "\e507"; } - -.fa-temperature-empty::before { - content: "\f2cb"; } - -.fa-temperature-0::before { - content: "\f2cb"; } - -.fa-thermometer-0::before { - content: "\f2cb"; } - -.fa-thermometer-empty::before { - content: "\f2cb"; } - -.fa-bomb::before { - content: "\f1e2"; } - -.fa-registered::before { - content: "\f25d"; } - -.fa-address-card::before { - content: "\f2bb"; } - -.fa-contact-card::before { - content: "\f2bb"; } - -.fa-vcard::before { - content: "\f2bb"; } - -.fa-scale-unbalanced-flip::before { - content: "\f516"; } - -.fa-balance-scale-right::before { - content: "\f516"; } - -.fa-subscript::before { - content: "\f12c"; } - -.fa-diamond-turn-right::before { - content: "\f5eb"; } - -.fa-directions::before { - content: "\f5eb"; } - -.fa-burst::before { - content: "\e4dc"; } - -.fa-house-laptop::before { - content: "\e066"; } - -.fa-laptop-house::before { - content: "\e066"; } - -.fa-face-tired::before { - content: "\f5c8"; } - -.fa-tired::before { - content: "\f5c8"; } - -.fa-money-bills::before { - content: "\e1f3"; } - -.fa-smog::before { - content: "\f75f"; } - -.fa-crutch::before { - content: "\f7f7"; } - -.fa-cloud-arrow-up::before { - content: "\f0ee"; } - -.fa-cloud-upload::before { - content: "\f0ee"; } - -.fa-cloud-upload-alt::before { - content: "\f0ee"; } - -.fa-palette::before { - content: "\f53f"; } - -.fa-arrows-turn-right::before { - content: "\e4c0"; } - -.fa-vest::before { - content: "\e085"; } - -.fa-ferry::before { - content: "\e4ea"; } - -.fa-arrows-down-to-people::before { - content: "\e4b9"; } - -.fa-seedling::before { - content: "\f4d8"; } - -.fa-sprout::before { - content: "\f4d8"; } - -.fa-left-right::before { - content: "\f337"; } - -.fa-arrows-alt-h::before { - content: "\f337"; } - -.fa-boxes-packing::before { - content: "\e4c7"; } - -.fa-circle-arrow-left::before { - content: "\f0a8"; } - -.fa-arrow-circle-left::before { - content: "\f0a8"; } - -.fa-group-arrows-rotate::before { - content: "\e4f6"; } - -.fa-bowl-food::before { - content: "\e4c6"; } - -.fa-candy-cane::before { - content: "\f786"; } - -.fa-arrow-down-wide-short::before { - content: "\f160"; } - -.fa-sort-amount-asc::before { - content: "\f160"; } - -.fa-sort-amount-down::before { - content: "\f160"; } - -.fa-cloud-bolt::before { - content: "\f76c"; } - -.fa-thunderstorm::before { - content: "\f76c"; } - -.fa-text-slash::before { - content: "\f87d"; } - -.fa-remove-format::before { - content: "\f87d"; } - -.fa-face-smile-wink::before { - content: "\f4da"; } - -.fa-smile-wink::before { - content: "\f4da"; } - -.fa-file-word::before { - content: "\f1c2"; } - -.fa-file-powerpoint::before { - content: "\f1c4"; } - -.fa-arrows-left-right::before { - content: "\f07e"; } - -.fa-arrows-h::before { - content: "\f07e"; } - -.fa-house-lock::before { - content: "\e510"; } - -.fa-cloud-arrow-down::before { - content: "\f0ed"; } - -.fa-cloud-download::before { - content: "\f0ed"; } - -.fa-cloud-download-alt::before { - content: "\f0ed"; } - -.fa-children::before { - content: "\e4e1"; } - -.fa-chalkboard::before { - content: "\f51b"; } - -.fa-blackboard::before { - content: "\f51b"; } - -.fa-user-large-slash::before { - content: "\f4fa"; } - -.fa-user-alt-slash::before { - content: "\f4fa"; } - -.fa-envelope-open::before { - content: "\f2b6"; } - -.fa-handshake-simple-slash::before { - content: "\e05f"; } - -.fa-handshake-alt-slash::before { - content: "\e05f"; } - -.fa-mattress-pillow::before { - content: "\e525"; } - -.fa-guarani-sign::before { - content: "\e19a"; } - -.fa-arrows-rotate::before { - content: "\f021"; } - -.fa-refresh::before { - content: "\f021"; } - -.fa-sync::before { - content: "\f021"; } - -.fa-fire-extinguisher::before { - content: "\f134"; } - -.fa-cruzeiro-sign::before { - content: "\e152"; } - -.fa-greater-than-equal::before { - content: "\f532"; } - -.fa-shield-halved::before { - content: "\f3ed"; } - -.fa-shield-alt::before { - content: "\f3ed"; } - -.fa-book-atlas::before { - content: "\f558"; } - -.fa-atlas::before { - content: "\f558"; } - -.fa-virus::before { - content: "\e074"; } - -.fa-envelope-circle-check::before { - content: "\e4e8"; } - -.fa-layer-group::before { - content: "\f5fd"; } - -.fa-arrows-to-dot::before { - content: "\e4be"; } - -.fa-archway::before { - content: "\f557"; } - -.fa-heart-circle-check::before { - content: "\e4fd"; } - -.fa-house-chimney-crack::before { - content: "\f6f1"; } - -.fa-house-damage::before { - content: "\f6f1"; } - -.fa-file-zipper::before { - content: "\f1c6"; } - -.fa-file-archive::before { - content: "\f1c6"; } - -.fa-square::before { - content: "\f0c8"; } - -.fa-martini-glass-empty::before { - content: "\f000"; } - -.fa-glass-martini::before { - content: "\f000"; } - -.fa-couch::before { - content: "\f4b8"; } - -.fa-cedi-sign::before { - content: "\e0df"; } - -.fa-italic::before { - content: "\f033"; } - -.fa-church::before { - content: "\f51d"; } - -.fa-comments-dollar::before { - content: "\f653"; } - -.fa-democrat::before { - content: "\f747"; } - -.fa-z::before { - content: "\5a"; } - -.fa-person-skiing::before { - content: "\f7c9"; } - -.fa-skiing::before { - content: "\f7c9"; } - -.fa-road-lock::before { - content: "\e567"; } - -.fa-a::before { - content: "\41"; } - -.fa-temperature-arrow-down::before { - content: "\e03f"; } - -.fa-temperature-down::before { - content: "\e03f"; } - -.fa-feather-pointed::before { - content: "\f56b"; } - -.fa-feather-alt::before { - content: "\f56b"; } - -.fa-p::before { - content: "\50"; } - -.fa-snowflake::before { - content: "\f2dc"; } - -.fa-newspaper::before { - content: "\f1ea"; } - -.fa-rectangle-ad::before { - content: "\f641"; } - -.fa-ad::before { - content: "\f641"; } - -.fa-circle-arrow-right::before { - content: "\f0a9"; } - -.fa-arrow-circle-right::before { - content: "\f0a9"; } - -.fa-filter-circle-xmark::before { - content: "\e17b"; } - -.fa-locust::before { - content: "\e520"; } - -.fa-sort::before { - content: "\f0dc"; } - -.fa-unsorted::before { - content: "\f0dc"; } - -.fa-list-ol::before { - content: "\f0cb"; } - -.fa-list-1-2::before { - content: "\f0cb"; } - -.fa-list-numeric::before { - content: "\f0cb"; } - -.fa-person-dress-burst::before { - content: "\e544"; } - -.fa-money-check-dollar::before { - content: "\f53d"; } - -.fa-money-check-alt::before { - content: "\f53d"; } - -.fa-vector-square::before { - content: "\f5cb"; } - -.fa-bread-slice::before { - content: "\f7ec"; } - -.fa-language::before { - content: "\f1ab"; } - -.fa-face-kiss-wink-heart::before { - content: "\f598"; } - -.fa-kiss-wink-heart::before { - content: "\f598"; } - -.fa-filter::before { - content: "\f0b0"; } - -.fa-question::before { - content: "\3f"; } - -.fa-file-signature::before { - content: "\f573"; } - -.fa-up-down-left-right::before { - content: "\f0b2"; } - -.fa-arrows-alt::before { - content: "\f0b2"; } - -.fa-house-chimney-user::before { - content: "\e065"; } - -.fa-hand-holding-heart::before { - content: "\f4be"; } - -.fa-puzzle-piece::before { - content: "\f12e"; } - -.fa-money-check::before { - content: "\f53c"; } - -.fa-star-half-stroke::before { - content: "\f5c0"; } - -.fa-star-half-alt::before { - content: "\f5c0"; } - -.fa-code::before { - content: "\f121"; } - -.fa-whiskey-glass::before { - content: "\f7a0"; } - -.fa-glass-whiskey::before { - content: "\f7a0"; } - -.fa-building-circle-exclamation::before { - content: "\e4d3"; } - -.fa-magnifying-glass-chart::before { - content: "\e522"; } - -.fa-arrow-up-right-from-square::before { - content: "\f08e"; } - -.fa-external-link::before { - content: "\f08e"; } - -.fa-cubes-stacked::before { - content: "\e4e6"; } - -.fa-won-sign::before { - content: "\f159"; } - -.fa-krw::before { - content: "\f159"; } - -.fa-won::before { - content: "\f159"; } - -.fa-virus-covid::before { - content: "\e4a8"; } - -.fa-austral-sign::before { - content: "\e0a9"; } - -.fa-f::before { - content: "\46"; } - -.fa-leaf::before { - content: "\f06c"; } - -.fa-road::before { - content: "\f018"; } - -.fa-taxi::before { - content: "\f1ba"; } - -.fa-cab::before { - content: "\f1ba"; } - -.fa-person-circle-plus::before { - content: "\e541"; } - -.fa-chart-pie::before { - content: "\f200"; } - -.fa-pie-chart::before { - content: "\f200"; } - -.fa-bolt-lightning::before { - content: "\e0b7"; } - -.fa-sack-xmark::before { - content: "\e56a"; } - -.fa-file-excel::before { - content: "\f1c3"; } - -.fa-file-contract::before { - content: "\f56c"; } - -.fa-fish-fins::before { - content: "\e4f2"; } - -.fa-building-flag::before { - content: "\e4d5"; } - -.fa-face-grin-beam::before { - content: "\f582"; } - -.fa-grin-beam::before { - content: "\f582"; } - -.fa-object-ungroup::before { - content: "\f248"; } - -.fa-poop::before { - content: "\f619"; } - -.fa-location-pin::before { - content: "\f041"; } - -.fa-map-marker::before { - content: "\f041"; } - -.fa-kaaba::before { - content: "\f66b"; } - -.fa-toilet-paper::before { - content: "\f71e"; } - -.fa-helmet-safety::before { - content: "\f807"; } - -.fa-hard-hat::before { - content: "\f807"; } - -.fa-hat-hard::before { - content: "\f807"; } - -.fa-eject::before { - content: "\f052"; } - -.fa-circle-right::before { - content: "\f35a"; } - -.fa-arrow-alt-circle-right::before { - content: "\f35a"; } - -.fa-plane-circle-check::before { - content: "\e555"; } - -.fa-face-rolling-eyes::before { - content: "\f5a5"; } - -.fa-meh-rolling-eyes::before { - content: "\f5a5"; } - -.fa-object-group::before { - content: "\f247"; } - -.fa-chart-line::before { - content: "\f201"; } - -.fa-line-chart::before { - content: "\f201"; } - -.fa-mask-ventilator::before { - content: "\e524"; } - -.fa-arrow-right::before { - content: "\f061"; } - -.fa-signs-post::before { - content: "\f277"; } - -.fa-map-signs::before { - content: "\f277"; } - -.fa-cash-register::before { - content: "\f788"; } - -.fa-person-circle-question::before { - content: "\e542"; } - -.fa-h::before { - content: "\48"; } - -.fa-tarp::before { - content: "\e57b"; } - -.fa-screwdriver-wrench::before { - content: "\f7d9"; } - -.fa-tools::before { - content: "\f7d9"; } - -.fa-arrows-to-eye::before { - content: "\e4bf"; } - -.fa-plug-circle-bolt::before { - content: "\e55b"; } - -.fa-heart::before { - content: "\f004"; } - -.fa-mars-and-venus::before { - content: "\f224"; } - -.fa-house-user::before { - content: "\e1b0"; } - -.fa-home-user::before { - content: "\e1b0"; } - -.fa-dumpster-fire::before { - content: "\f794"; } - -.fa-house-crack::before { - content: "\e3b1"; } - -.fa-martini-glass-citrus::before { - content: "\f561"; } - -.fa-cocktail::before { - content: "\f561"; } - -.fa-face-surprise::before { - content: "\f5c2"; } - -.fa-surprise::before { - content: "\f5c2"; } - -.fa-bottle-water::before { - content: "\e4c5"; } - -.fa-circle-pause::before { - content: "\f28b"; } - -.fa-pause-circle::before { - content: "\f28b"; } - -.fa-toilet-paper-slash::before { - content: "\e072"; } - -.fa-apple-whole::before { - content: "\f5d1"; } - -.fa-apple-alt::before { - content: "\f5d1"; } - -.fa-kitchen-set::before { - content: "\e51a"; } - -.fa-r::before { - content: "\52"; } - -.fa-temperature-quarter::before { - content: "\f2ca"; } - -.fa-temperature-1::before { - content: "\f2ca"; } - -.fa-thermometer-1::before { - content: "\f2ca"; } - -.fa-thermometer-quarter::before { - content: "\f2ca"; } - -.fa-cube::before { - content: "\f1b2"; } - -.fa-bitcoin-sign::before { - content: "\e0b4"; } - -.fa-shield-dog::before { - content: "\e573"; } - -.fa-solar-panel::before { - content: "\f5ba"; } - -.fa-lock-open::before { - content: "\f3c1"; } - -.fa-elevator::before { - content: "\e16d"; } - -.fa-money-bill-transfer::before { - content: "\e528"; } - -.fa-money-bill-trend-up::before { - content: "\e529"; } - -.fa-house-flood-water-circle-arrow-right::before { - content: "\e50f"; } - -.fa-square-poll-horizontal::before { - content: "\f682"; } - -.fa-poll-h::before { - content: "\f682"; } - -.fa-circle::before { - content: "\f111"; } - -.fa-backward-fast::before { - content: "\f049"; } - -.fa-fast-backward::before { - content: "\f049"; } - -.fa-recycle::before { - content: "\f1b8"; } - -.fa-user-astronaut::before { - content: "\f4fb"; } - -.fa-plane-slash::before { - content: "\e069"; } - -.fa-trademark::before { - content: "\f25c"; } - -.fa-basketball::before { - content: "\f434"; } - -.fa-basketball-ball::before { - content: "\f434"; } - -.fa-satellite-dish::before { - content: "\f7c0"; } - -.fa-circle-up::before { - content: "\f35b"; } - -.fa-arrow-alt-circle-up::before { - content: "\f35b"; } - -.fa-mobile-screen-button::before { - content: "\f3cd"; } - -.fa-mobile-alt::before { - content: "\f3cd"; } - -.fa-volume-high::before { - content: "\f028"; } - -.fa-volume-up::before { - content: "\f028"; } - -.fa-users-rays::before { - content: "\e593"; } - -.fa-wallet::before { - content: "\f555"; } - -.fa-clipboard-check::before { - content: "\f46c"; } - -.fa-file-audio::before { - content: "\f1c7"; } - -.fa-burger::before { - content: "\f805"; } - -.fa-hamburger::before { - content: "\f805"; } - -.fa-wrench::before { - content: "\f0ad"; } - -.fa-bugs::before { - content: "\e4d0"; } - -.fa-rupee-sign::before { - content: "\f156"; } - -.fa-rupee::before { - content: "\f156"; } - -.fa-file-image::before { - content: "\f1c5"; } - -.fa-circle-question::before { - content: "\f059"; } - -.fa-question-circle::before { - content: "\f059"; } - -.fa-plane-departure::before { - content: "\f5b0"; } - -.fa-handshake-slash::before { - content: "\e060"; } - -.fa-book-bookmark::before { - content: "\e0bb"; } - -.fa-code-branch::before { - content: "\f126"; } - -.fa-hat-cowboy::before { - content: "\f8c0"; } - -.fa-bridge::before { - content: "\e4c8"; } - -.fa-phone-flip::before { - content: "\f879"; } - -.fa-phone-alt::before { - content: "\f879"; } - -.fa-truck-front::before { - content: "\e2b7"; } - -.fa-cat::before { - content: "\f6be"; } - -.fa-anchor-circle-exclamation::before { - content: "\e4ab"; } - -.fa-truck-field::before { - content: "\e58d"; } - -.fa-route::before { - content: "\f4d7"; } - -.fa-clipboard-question::before { - content: "\e4e3"; } - -.fa-panorama::before { - content: "\e209"; } - -.fa-comment-medical::before { - content: "\f7f5"; } - -.fa-teeth-open::before { - content: "\f62f"; } - -.fa-file-circle-minus::before { - content: "\e4ed"; } - -.fa-tags::before { - content: "\f02c"; } - -.fa-wine-glass::before { - content: "\f4e3"; } - -.fa-forward-fast::before { - content: "\f050"; } - -.fa-fast-forward::before { - content: "\f050"; } - -.fa-face-meh-blank::before { - content: "\f5a4"; } - -.fa-meh-blank::before { - content: "\f5a4"; } - -.fa-square-parking::before { - content: "\f540"; } - -.fa-parking::before { - content: "\f540"; } - -.fa-house-signal::before { - content: "\e012"; } - -.fa-bars-progress::before { - content: "\f828"; } - -.fa-tasks-alt::before { - content: "\f828"; } - -.fa-faucet-drip::before { - content: "\e006"; } - -.fa-cart-flatbed::before { - content: "\f474"; } - -.fa-dolly-flatbed::before { - content: "\f474"; } - -.fa-ban-smoking::before { - content: "\f54d"; } - -.fa-smoking-ban::before { - content: "\f54d"; } - -.fa-terminal::before { - content: "\f120"; } - -.fa-mobile-button::before { - content: "\f10b"; } - -.fa-house-medical-flag::before { - content: "\e514"; } - -.fa-basket-shopping::before { - content: "\f291"; } - -.fa-shopping-basket::before { - content: "\f291"; } - -.fa-tape::before { - content: "\f4db"; } - -.fa-bus-simple::before { - content: "\f55e"; } - -.fa-bus-alt::before { - content: "\f55e"; } - -.fa-eye::before { - content: "\f06e"; } - -.fa-face-sad-cry::before { - content: "\f5b3"; } - -.fa-sad-cry::before { - content: "\f5b3"; } - -.fa-audio-description::before { - content: "\f29e"; } - -.fa-person-military-to-person::before { - content: "\e54c"; } - -.fa-file-shield::before { - content: "\e4f0"; } - -.fa-user-slash::before { - content: "\f506"; } - -.fa-pen::before { - content: "\f304"; } - -.fa-tower-observation::before { - content: "\e586"; } - -.fa-file-code::before { - content: "\f1c9"; } - -.fa-signal::before { - content: "\f012"; } - -.fa-signal-5::before { - content: "\f012"; } - -.fa-signal-perfect::before { - content: "\f012"; } - -.fa-bus::before { - content: "\f207"; } - -.fa-heart-circle-xmark::before { - content: "\e501"; } - -.fa-house-chimney::before { - content: "\e3af"; } - -.fa-home-lg::before { - content: "\e3af"; } - -.fa-window-maximize::before { - content: "\f2d0"; } - -.fa-face-frown::before { - content: "\f119"; } - -.fa-frown::before { - content: "\f119"; } - -.fa-prescription::before { - content: "\f5b1"; } - -.fa-shop::before { - content: "\f54f"; } - -.fa-store-alt::before { - content: "\f54f"; } - -.fa-floppy-disk::before { - content: "\f0c7"; } - -.fa-save::before { - content: "\f0c7"; } - -.fa-vihara::before { - content: "\f6a7"; } - -.fa-scale-unbalanced::before { - content: "\f515"; } - -.fa-balance-scale-left::before { - content: "\f515"; } - -.fa-sort-up::before { - content: "\f0de"; } - -.fa-sort-asc::before { - content: "\f0de"; } - -.fa-comment-dots::before { - content: "\f4ad"; } - -.fa-commenting::before { - content: "\f4ad"; } - -.fa-plant-wilt::before { - content: "\e5aa"; } - -.fa-diamond::before { - content: "\f219"; } - -.fa-face-grin-squint::before { - content: "\f585"; } - -.fa-grin-squint::before { - content: "\f585"; } - -.fa-hand-holding-dollar::before { - content: "\f4c0"; } - -.fa-hand-holding-usd::before { - content: "\f4c0"; } - -.fa-bacterium::before { - content: "\e05a"; } - -.fa-hand-pointer::before { - content: "\f25a"; } - -.fa-drum-steelpan::before { - content: "\f56a"; } - -.fa-hand-scissors::before { - content: "\f257"; } - -.fa-hands-praying::before { - content: "\f684"; } - -.fa-praying-hands::before { - content: "\f684"; } - -.fa-arrow-rotate-right::before { - content: "\f01e"; } - -.fa-arrow-right-rotate::before { - content: "\f01e"; } - -.fa-arrow-rotate-forward::before { - content: "\f01e"; } - -.fa-redo::before { - content: "\f01e"; } - -.fa-biohazard::before { - content: "\f780"; } - -.fa-location-crosshairs::before { - content: "\f601"; } - -.fa-location::before { - content: "\f601"; } - -.fa-mars-double::before { - content: "\f227"; } - -.fa-child-dress::before { - content: "\e59c"; } - -.fa-users-between-lines::before { - content: "\e591"; } - -.fa-lungs-virus::before { - content: "\e067"; } - -.fa-face-grin-tears::before { - content: "\f588"; } - -.fa-grin-tears::before { - content: "\f588"; } - -.fa-phone::before { - content: "\f095"; } - -.fa-calendar-xmark::before { - content: "\f273"; } - -.fa-calendar-times::before { - content: "\f273"; } - -.fa-child-reaching::before { - content: "\e59d"; } - -.fa-head-side-virus::before { - content: "\e064"; } - -.fa-user-gear::before { - content: "\f4fe"; } - -.fa-user-cog::before { - content: "\f4fe"; } - -.fa-arrow-up-1-9::before { - content: "\f163"; } - -.fa-sort-numeric-up::before { - content: "\f163"; } - -.fa-door-closed::before { - content: "\f52a"; } - -.fa-shield-virus::before { - content: "\e06c"; } - -.fa-dice-six::before { - content: "\f526"; } - -.fa-mosquito-net::before { - content: "\e52c"; } - -.fa-bridge-water::before { - content: "\e4ce"; } - -.fa-person-booth::before { - content: "\f756"; } - -.fa-text-width::before { - content: "\f035"; } - -.fa-hat-wizard::before { - content: "\f6e8"; } - -.fa-pen-fancy::before { - content: "\f5ac"; } - -.fa-person-digging::before { - content: "\f85e"; } - -.fa-digging::before { - content: "\f85e"; } - -.fa-trash::before { - content: "\f1f8"; } - -.fa-gauge-simple::before { - content: "\f629"; } - -.fa-gauge-simple-med::before { - content: "\f629"; } - -.fa-tachometer-average::before { - content: "\f629"; } - -.fa-book-medical::before { - content: "\f7e6"; } - -.fa-poo::before { - content: "\f2fe"; } - -.fa-quote-right::before { - content: "\f10e"; } - -.fa-quote-right-alt::before { - content: "\f10e"; } - -.fa-shirt::before { - content: "\f553"; } - -.fa-t-shirt::before { - content: "\f553"; } - -.fa-tshirt::before { - content: "\f553"; } - -.fa-cubes::before { - content: "\f1b3"; } - -.fa-divide::before { - content: "\f529"; } - -.fa-tenge-sign::before { - content: "\f7d7"; } - -.fa-tenge::before { - content: "\f7d7"; } - -.fa-headphones::before { - content: "\f025"; } - -.fa-hands-holding::before { - content: "\f4c2"; } - -.fa-hands-clapping::before { - content: "\e1a8"; } - -.fa-republican::before { - content: "\f75e"; } - -.fa-arrow-left::before { - content: "\f060"; } - -.fa-person-circle-xmark::before { - content: "\e543"; } - -.fa-ruler::before { - content: "\f545"; } - -.fa-align-left::before { - content: "\f036"; } - -.fa-dice-d6::before { - content: "\f6d1"; } - -.fa-restroom::before { - content: "\f7bd"; } - -.fa-j::before { - content: "\4a"; } - -.fa-users-viewfinder::before { - content: "\e595"; } - -.fa-file-video::before { - content: "\f1c8"; } - -.fa-up-right-from-square::before { - content: "\f35d"; } - -.fa-external-link-alt::before { - content: "\f35d"; } - -.fa-table-cells::before { - content: "\f00a"; } - -.fa-th::before { - content: "\f00a"; } - -.fa-file-pdf::before { - content: "\f1c1"; } - -.fa-book-bible::before { - content: "\f647"; } - -.fa-bible::before { - content: "\f647"; } - -.fa-o::before { - content: "\4f"; } - -.fa-suitcase-medical::before { - content: "\f0fa"; } - -.fa-medkit::before { - content: "\f0fa"; } - -.fa-user-secret::before { - content: "\f21b"; } - -.fa-otter::before { - content: "\f700"; } - -.fa-person-dress::before { - content: "\f182"; } - -.fa-female::before { - content: "\f182"; } - -.fa-comment-dollar::before { - content: "\f651"; } - -.fa-business-time::before { - content: "\f64a"; } - -.fa-briefcase-clock::before { - content: "\f64a"; } - -.fa-table-cells-large::before { - content: "\f009"; } - -.fa-th-large::before { - content: "\f009"; } - -.fa-book-tanakh::before { - content: "\f827"; } - -.fa-tanakh::before { - content: "\f827"; } - -.fa-phone-volume::before { - content: "\f2a0"; } - -.fa-volume-control-phone::before { - content: "\f2a0"; } - -.fa-hat-cowboy-side::before { - content: "\f8c1"; } - -.fa-clipboard-user::before { - content: "\f7f3"; } - -.fa-child::before { - content: "\f1ae"; } - -.fa-lira-sign::before { - content: "\f195"; } - -.fa-satellite::before { - content: "\f7bf"; } - -.fa-plane-lock::before { - content: "\e558"; } - -.fa-tag::before { - content: "\f02b"; } - -.fa-comment::before { - content: "\f075"; } - -.fa-cake-candles::before { - content: "\f1fd"; } - -.fa-birthday-cake::before { - content: "\f1fd"; } - -.fa-cake::before { - content: "\f1fd"; } - -.fa-envelope::before { - content: "\f0e0"; } - -.fa-angles-up::before { - content: "\f102"; } - -.fa-angle-double-up::before { - content: "\f102"; } - -.fa-paperclip::before { - content: "\f0c6"; } - -.fa-arrow-right-to-city::before { - content: "\e4b3"; } - -.fa-ribbon::before { - content: "\f4d6"; } - -.fa-lungs::before { - content: "\f604"; } - -.fa-arrow-up-9-1::before { - content: "\f887"; } - -.fa-sort-numeric-up-alt::before { - content: "\f887"; } - -.fa-litecoin-sign::before { - content: "\e1d3"; } - -.fa-border-none::before { - content: "\f850"; } - -.fa-circle-nodes::before { - content: "\e4e2"; } - -.fa-parachute-box::before { - content: "\f4cd"; } - -.fa-indent::before { - content: "\f03c"; } - -.fa-truck-field-un::before { - content: "\e58e"; } - -.fa-hourglass::before { - content: "\f254"; } - -.fa-hourglass-empty::before { - content: "\f254"; } - -.fa-mountain::before { - content: "\f6fc"; } - -.fa-user-doctor::before { - content: "\f0f0"; } - -.fa-user-md::before { - content: "\f0f0"; } - -.fa-circle-info::before { - content: "\f05a"; } - -.fa-info-circle::before { - content: "\f05a"; } - -.fa-cloud-meatball::before { - content: "\f73b"; } - -.fa-camera::before { - content: "\f030"; } - -.fa-camera-alt::before { - content: "\f030"; } - -.fa-square-virus::before { - content: "\e578"; } - -.fa-meteor::before { - content: "\f753"; } - -.fa-car-on::before { - content: "\e4dd"; } - -.fa-sleigh::before { - content: "\f7cc"; } - -.fa-arrow-down-1-9::before { - content: "\f162"; } - -.fa-sort-numeric-asc::before { - content: "\f162"; } - -.fa-sort-numeric-down::before { - content: "\f162"; } - -.fa-hand-holding-droplet::before { - content: "\f4c1"; } - -.fa-hand-holding-water::before { - content: "\f4c1"; } - -.fa-water::before { - content: "\f773"; } - -.fa-calendar-check::before { - content: "\f274"; } - -.fa-braille::before { - content: "\f2a1"; } - -.fa-prescription-bottle-medical::before { - content: "\f486"; } - -.fa-prescription-bottle-alt::before { - content: "\f486"; } - -.fa-landmark::before { - content: "\f66f"; } - -.fa-truck::before { - content: "\f0d1"; } - -.fa-crosshairs::before { - content: "\f05b"; } - -.fa-person-cane::before { - content: "\e53c"; } - -.fa-tent::before { - content: "\e57d"; } - -.fa-vest-patches::before { - content: "\e086"; } - -.fa-check-double::before { - content: "\f560"; } - -.fa-arrow-down-a-z::before { - content: "\f15d"; } - -.fa-sort-alpha-asc::before { - content: "\f15d"; } - -.fa-sort-alpha-down::before { - content: "\f15d"; } - -.fa-money-bill-wheat::before { - content: "\e52a"; } - -.fa-cookie::before { - content: "\f563"; } - -.fa-arrow-rotate-left::before { - content: "\f0e2"; } - -.fa-arrow-left-rotate::before { - content: "\f0e2"; } - -.fa-arrow-rotate-back::before { - content: "\f0e2"; } - -.fa-arrow-rotate-backward::before { - content: "\f0e2"; } - -.fa-undo::before { - content: "\f0e2"; } - -.fa-hard-drive::before { - content: "\f0a0"; } - -.fa-hdd::before { - content: "\f0a0"; } - -.fa-face-grin-squint-tears::before { - content: "\f586"; } - -.fa-grin-squint-tears::before { - content: "\f586"; } - -.fa-dumbbell::before { - content: "\f44b"; } - -.fa-rectangle-list::before { - content: "\f022"; } - -.fa-list-alt::before { - content: "\f022"; } - -.fa-tarp-droplet::before { - content: "\e57c"; } - -.fa-house-medical-circle-check::before { - content: "\e511"; } - -.fa-person-skiing-nordic::before { - content: "\f7ca"; } - -.fa-skiing-nordic::before { - content: "\f7ca"; } - -.fa-calendar-plus::before { - content: "\f271"; } - -.fa-plane-arrival::before { - content: "\f5af"; } - -.fa-circle-left::before { - content: "\f359"; } - -.fa-arrow-alt-circle-left::before { - content: "\f359"; } - -.fa-train-subway::before { - content: "\f239"; } - -.fa-subway::before { - content: "\f239"; } - -.fa-chart-gantt::before { - content: "\e0e4"; } - -.fa-indian-rupee-sign::before { - content: "\e1bc"; } - -.fa-indian-rupee::before { - content: "\e1bc"; } - -.fa-inr::before { - content: "\e1bc"; } - -.fa-crop-simple::before { - content: "\f565"; } - -.fa-crop-alt::before { - content: "\f565"; } - -.fa-money-bill-1::before { - content: "\f3d1"; } - -.fa-money-bill-alt::before { - content: "\f3d1"; } - -.fa-left-long::before { - content: "\f30a"; } - -.fa-long-arrow-alt-left::before { - content: "\f30a"; } - -.fa-dna::before { - content: "\f471"; } - -.fa-virus-slash::before { - content: "\e075"; } - -.fa-minus::before { - content: "\f068"; } - -.fa-subtract::before { - content: "\f068"; } - -.fa-chess::before { - content: "\f439"; } - -.fa-arrow-left-long::before { - content: "\f177"; } - -.fa-long-arrow-left::before { - content: "\f177"; } - -.fa-plug-circle-check::before { - content: "\e55c"; } - -.fa-street-view::before { - content: "\f21d"; } - -.fa-franc-sign::before { - content: "\e18f"; } - -.fa-volume-off::before { - content: "\f026"; } - -.fa-hands-asl-interpreting::before { - content: "\f2a3"; } - -.fa-american-sign-language-interpreting::before { - content: "\f2a3"; } - -.fa-asl-interpreting::before { - content: "\f2a3"; } - -.fa-hands-american-sign-language-interpreting::before { - content: "\f2a3"; } - -.fa-gear::before { - content: "\f013"; } - -.fa-cog::before { - content: "\f013"; } - -.fa-droplet-slash::before { - content: "\f5c7"; } - -.fa-tint-slash::before { - content: "\f5c7"; } - -.fa-mosque::before { - content: "\f678"; } - -.fa-mosquito::before { - content: "\e52b"; } - -.fa-star-of-david::before { - content: "\f69a"; } - -.fa-person-military-rifle::before { - content: "\e54b"; } - -.fa-cart-shopping::before { - content: "\f07a"; } - -.fa-shopping-cart::before { - content: "\f07a"; } - -.fa-vials::before { - content: "\f493"; } - -.fa-plug-circle-plus::before { - content: "\e55f"; } - -.fa-place-of-worship::before { - content: "\f67f"; } - -.fa-grip-vertical::before { - content: "\f58e"; } - -.fa-arrow-turn-up::before { - content: "\f148"; } - -.fa-level-up::before { - content: "\f148"; } - -.fa-u::before { - content: "\55"; } - -.fa-square-root-variable::before { - content: "\f698"; } - -.fa-square-root-alt::before { - content: "\f698"; } - -.fa-clock::before { - content: "\f017"; } - -.fa-clock-four::before { - content: "\f017"; } - -.fa-backward-step::before { - content: "\f048"; } - -.fa-step-backward::before { - content: "\f048"; } - -.fa-pallet::before { - content: "\f482"; } - -.fa-faucet::before { - content: "\e005"; } - -.fa-baseball-bat-ball::before { - content: "\f432"; } - -.fa-s::before { - content: "\53"; } - -.fa-timeline::before { - content: "\e29c"; } - -.fa-keyboard::before { - content: "\f11c"; } - -.fa-caret-down::before { - content: "\f0d7"; } - -.fa-house-chimney-medical::before { - content: "\f7f2"; } - -.fa-clinic-medical::before { - content: "\f7f2"; } - -.fa-temperature-three-quarters::before { - content: "\f2c8"; } - -.fa-temperature-3::before { - content: "\f2c8"; } - -.fa-thermometer-3::before { - content: "\f2c8"; } - -.fa-thermometer-three-quarters::before { - content: "\f2c8"; } - -.fa-mobile-screen::before { - content: "\f3cf"; } - -.fa-mobile-android-alt::before { - content: "\f3cf"; } - -.fa-plane-up::before { - content: "\e22d"; } - -.fa-piggy-bank::before { - content: "\f4d3"; } - -.fa-battery-half::before { - content: "\f242"; } - -.fa-battery-3::before { - content: "\f242"; } - -.fa-mountain-city::before { - content: "\e52e"; } - -.fa-coins::before { - content: "\f51e"; } - -.fa-khanda::before { - content: "\f66d"; } - -.fa-sliders::before { - content: "\f1de"; } - -.fa-sliders-h::before { - content: "\f1de"; } - -.fa-folder-tree::before { - content: "\f802"; } - -.fa-network-wired::before { - content: "\f6ff"; } - -.fa-map-pin::before { - content: "\f276"; } - -.fa-hamsa::before { - content: "\f665"; } - -.fa-cent-sign::before { - content: "\e3f5"; } - -.fa-flask::before { - content: "\f0c3"; } - -.fa-person-pregnant::before { - content: "\e31e"; } - -.fa-wand-sparkles::before { - content: "\f72b"; } - -.fa-ellipsis-vertical::before { - content: "\f142"; } - -.fa-ellipsis-v::before { - content: "\f142"; } - -.fa-ticket::before { - content: "\f145"; } - -.fa-power-off::before { - content: "\f011"; } - -.fa-right-long::before { - content: "\f30b"; } - -.fa-long-arrow-alt-right::before { - content: "\f30b"; } - -.fa-flag-usa::before { - content: "\f74d"; } - -.fa-laptop-file::before { - content: "\e51d"; } - -.fa-tty::before { - content: "\f1e4"; } - -.fa-teletype::before { - content: "\f1e4"; } - -.fa-diagram-next::before { - content: "\e476"; } - -.fa-person-rifle::before { - content: "\e54e"; } - -.fa-house-medical-circle-exclamation::before { - content: "\e512"; } - -.fa-closed-captioning::before { - content: "\f20a"; } - -.fa-person-hiking::before { - content: "\f6ec"; } - -.fa-hiking::before { - content: "\f6ec"; } - -.fa-venus-double::before { - content: "\f226"; } - -.fa-images::before { - content: "\f302"; } - -.fa-calculator::before { - content: "\f1ec"; } - -.fa-people-pulling::before { - content: "\e535"; } - -.fa-n::before { - content: "\4e"; } - -.fa-cable-car::before { - content: "\f7da"; } - -.fa-tram::before { - content: "\f7da"; } - -.fa-cloud-rain::before { - content: "\f73d"; } - -.fa-building-circle-xmark::before { - content: "\e4d4"; } - -.fa-ship::before { - content: "\f21a"; } - -.fa-arrows-down-to-line::before { - content: "\e4b8"; } - -.fa-download::before { - content: "\f019"; } - -.fa-face-grin::before { - content: "\f580"; } - -.fa-grin::before { - content: "\f580"; } - -.fa-delete-left::before { - content: "\f55a"; } - -.fa-backspace::before { - content: "\f55a"; } - -.fa-eye-dropper::before { - content: "\f1fb"; } - -.fa-eye-dropper-empty::before { - content: "\f1fb"; } - -.fa-eyedropper::before { - content: "\f1fb"; } - -.fa-file-circle-check::before { - content: "\e5a0"; } - -.fa-forward::before { - content: "\f04e"; } - -.fa-mobile::before { - content: "\f3ce"; } - -.fa-mobile-android::before { - content: "\f3ce"; } - -.fa-mobile-phone::before { - content: "\f3ce"; } - -.fa-face-meh::before { - content: "\f11a"; } - -.fa-meh::before { - content: "\f11a"; } - -.fa-align-center::before { - content: "\f037"; } - -.fa-book-skull::before { - content: "\f6b7"; } - -.fa-book-dead::before { - content: "\f6b7"; } - -.fa-id-card::before { - content: "\f2c2"; } - -.fa-drivers-license::before { - content: "\f2c2"; } - -.fa-outdent::before { - content: "\f03b"; } - -.fa-dedent::before { - content: "\f03b"; } - -.fa-heart-circle-exclamation::before { - content: "\e4fe"; } - -.fa-house::before { - content: "\f015"; } - -.fa-home::before { - content: "\f015"; } - -.fa-home-alt::before { - content: "\f015"; } - -.fa-home-lg-alt::before { - content: "\f015"; } - -.fa-calendar-week::before { - content: "\f784"; } - -.fa-laptop-medical::before { - content: "\f812"; } - -.fa-b::before { - content: "\42"; } - -.fa-file-medical::before { - content: "\f477"; } - -.fa-dice-one::before { - content: "\f525"; } - -.fa-kiwi-bird::before { - content: "\f535"; } - -.fa-arrow-right-arrow-left::before { - content: "\f0ec"; } - -.fa-exchange::before { - content: "\f0ec"; } - -.fa-rotate-right::before { - content: "\f2f9"; } - -.fa-redo-alt::before { - content: "\f2f9"; } - -.fa-rotate-forward::before { - content: "\f2f9"; } - -.fa-utensils::before { - content: "\f2e7"; } - -.fa-cutlery::before { - content: "\f2e7"; } - -.fa-arrow-up-wide-short::before { - content: "\f161"; } - -.fa-sort-amount-up::before { - content: "\f161"; } - -.fa-mill-sign::before { - content: "\e1ed"; } - -.fa-bowl-rice::before { - content: "\e2eb"; } - -.fa-skull::before { - content: "\f54c"; } - -.fa-tower-broadcast::before { - content: "\f519"; } - -.fa-broadcast-tower::before { - content: "\f519"; } - -.fa-truck-pickup::before { - content: "\f63c"; } - -.fa-up-long::before { - content: "\f30c"; } - -.fa-long-arrow-alt-up::before { - content: "\f30c"; } - -.fa-stop::before { - content: "\f04d"; } - -.fa-code-merge::before { - content: "\f387"; } - -.fa-upload::before { - content: "\f093"; } - -.fa-hurricane::before { - content: "\f751"; } - -.fa-mound::before { - content: "\e52d"; } - -.fa-toilet-portable::before { - content: "\e583"; } - -.fa-compact-disc::before { - content: "\f51f"; } - -.fa-file-arrow-down::before { - content: "\f56d"; } - -.fa-file-download::before { - content: "\f56d"; } - -.fa-caravan::before { - content: "\f8ff"; } - -.fa-shield-cat::before { - content: "\e572"; } - -.fa-bolt::before { - content: "\f0e7"; } - -.fa-zap::before { - content: "\f0e7"; } - -.fa-glass-water::before { - content: "\e4f4"; } - -.fa-oil-well::before { - content: "\e532"; } - -.fa-vault::before { - content: "\e2c5"; } - -.fa-mars::before { - content: "\f222"; } - -.fa-toilet::before { - content: "\f7d8"; } - -.fa-plane-circle-xmark::before { - content: "\e557"; } - -.fa-yen-sign::before { - content: "\f157"; } - -.fa-cny::before { - content: "\f157"; } - -.fa-jpy::before { - content: "\f157"; } - -.fa-rmb::before { - content: "\f157"; } - -.fa-yen::before { - content: "\f157"; } - -.fa-ruble-sign::before { - content: "\f158"; } - -.fa-rouble::before { - content: "\f158"; } - -.fa-rub::before { - content: "\f158"; } - -.fa-ruble::before { - content: "\f158"; } - -.fa-sun::before { - content: "\f185"; } - -.fa-guitar::before { - content: "\f7a6"; } - -.fa-face-laugh-wink::before { - content: "\f59c"; } - -.fa-laugh-wink::before { - content: "\f59c"; } - -.fa-horse-head::before { - content: "\f7ab"; } - -.fa-bore-hole::before { - content: "\e4c3"; } - -.fa-industry::before { - content: "\f275"; } - -.fa-circle-down::before { - content: "\f358"; } - -.fa-arrow-alt-circle-down::before { - content: "\f358"; } - -.fa-arrows-turn-to-dots::before { - content: "\e4c1"; } - -.fa-florin-sign::before { - content: "\e184"; } - -.fa-arrow-down-short-wide::before { - content: "\f884"; } - -.fa-sort-amount-desc::before { - content: "\f884"; } - -.fa-sort-amount-down-alt::before { - content: "\f884"; } - -.fa-less-than::before { - content: "\3c"; } - -.fa-angle-down::before { - content: "\f107"; } - -.fa-car-tunnel::before { - content: "\e4de"; } - -.fa-head-side-cough::before { - content: "\e061"; } - -.fa-grip-lines::before { - content: "\f7a4"; } - -.fa-thumbs-down::before { - content: "\f165"; } - -.fa-user-lock::before { - content: "\f502"; } - -.fa-arrow-right-long::before { - content: "\f178"; } - -.fa-long-arrow-right::before { - content: "\f178"; } - -.fa-anchor-circle-xmark::before { - content: "\e4ac"; } - -.fa-ellipsis::before { - content: "\f141"; } - -.fa-ellipsis-h::before { - content: "\f141"; } - -.fa-chess-pawn::before { - content: "\f443"; } - -.fa-kit-medical::before { - content: "\f479"; } - -.fa-first-aid::before { - content: "\f479"; } - -.fa-person-through-window::before { - content: "\e5a9"; } - -.fa-toolbox::before { - content: "\f552"; } - -.fa-hands-holding-circle::before { - content: "\e4fb"; } - -.fa-bug::before { - content: "\f188"; } - -.fa-credit-card::before { - content: "\f09d"; } - -.fa-credit-card-alt::before { - content: "\f09d"; } - -.fa-car::before { - content: "\f1b9"; } - -.fa-automobile::before { - content: "\f1b9"; } - -.fa-hand-holding-hand::before { - content: "\e4f7"; } - -.fa-book-open-reader::before { - content: "\f5da"; } - -.fa-book-reader::before { - content: "\f5da"; } - -.fa-mountain-sun::before { - content: "\e52f"; } - -.fa-arrows-left-right-to-line::before { - content: "\e4ba"; } - -.fa-dice-d20::before { - content: "\f6cf"; } - -.fa-truck-droplet::before { - content: "\e58c"; } - -.fa-file-circle-xmark::before { - content: "\e5a1"; } - -.fa-temperature-arrow-up::before { - content: "\e040"; } - -.fa-temperature-up::before { - content: "\e040"; } - -.fa-medal::before { - content: "\f5a2"; } - -.fa-bed::before { - content: "\f236"; } - -.fa-square-h::before { - content: "\f0fd"; } - -.fa-h-square::before { - content: "\f0fd"; } - -.fa-podcast::before { - content: "\f2ce"; } - -.fa-temperature-full::before { - content: "\f2c7"; } - -.fa-temperature-4::before { - content: "\f2c7"; } - -.fa-thermometer-4::before { - content: "\f2c7"; } - -.fa-thermometer-full::before { - content: "\f2c7"; } - -.fa-bell::before { - content: "\f0f3"; } - -.fa-superscript::before { - content: "\f12b"; } - -.fa-plug-circle-xmark::before { - content: "\e560"; } - -.fa-star-of-life::before { - content: "\f621"; } - -.fa-phone-slash::before { - content: "\f3dd"; } - -.fa-paint-roller::before { - content: "\f5aa"; } - -.fa-handshake-angle::before { - content: "\f4c4"; } - -.fa-hands-helping::before { - content: "\f4c4"; } - -.fa-location-dot::before { - content: "\f3c5"; } - -.fa-map-marker-alt::before { - content: "\f3c5"; } - -.fa-file::before { - content: "\f15b"; } - -.fa-greater-than::before { - content: "\3e"; } - -.fa-person-swimming::before { - content: "\f5c4"; } - -.fa-swimmer::before { - content: "\f5c4"; } - -.fa-arrow-down::before { - content: "\f063"; } - -.fa-droplet::before { - content: "\f043"; } - -.fa-tint::before { - content: "\f043"; } - -.fa-eraser::before { - content: "\f12d"; } - -.fa-earth-americas::before { - content: "\f57d"; } - -.fa-earth::before { - content: "\f57d"; } - -.fa-earth-america::before { - content: "\f57d"; } - -.fa-globe-americas::before { - content: "\f57d"; } - -.fa-person-burst::before { - content: "\e53b"; } - -.fa-dove::before { - content: "\f4ba"; } - -.fa-battery-empty::before { - content: "\f244"; } - -.fa-battery-0::before { - content: "\f244"; } - -.fa-socks::before { - content: "\f696"; } - -.fa-inbox::before { - content: "\f01c"; } - -.fa-section::before { - content: "\e447"; } - -.fa-gauge-high::before { - content: "\f625"; } - -.fa-tachometer-alt::before { - content: "\f625"; } - -.fa-tachometer-alt-fast::before { - content: "\f625"; } - -.fa-envelope-open-text::before { - content: "\f658"; } - -.fa-hospital::before { - content: "\f0f8"; } - -.fa-hospital-alt::before { - content: "\f0f8"; } - -.fa-hospital-wide::before { - content: "\f0f8"; } - -.fa-wine-bottle::before { - content: "\f72f"; } - -.fa-chess-rook::before { - content: "\f447"; } - -.fa-bars-staggered::before { - content: "\f550"; } - -.fa-reorder::before { - content: "\f550"; } - -.fa-stream::before { - content: "\f550"; } - -.fa-dharmachakra::before { - content: "\f655"; } - -.fa-hotdog::before { - content: "\f80f"; } - -.fa-person-walking-with-cane::before { - content: "\f29d"; } - -.fa-blind::before { - content: "\f29d"; } - -.fa-drum::before { - content: "\f569"; } - -.fa-ice-cream::before { - content: "\f810"; } - -.fa-heart-circle-bolt::before { - content: "\e4fc"; } - -.fa-fax::before { - content: "\f1ac"; } - -.fa-paragraph::before { - content: "\f1dd"; } - -.fa-check-to-slot::before { - content: "\f772"; } - -.fa-vote-yea::before { - content: "\f772"; } - -.fa-star-half::before { - content: "\f089"; } - -.fa-boxes-stacked::before { - content: "\f468"; } - -.fa-boxes::before { - content: "\f468"; } - -.fa-boxes-alt::before { - content: "\f468"; } - -.fa-link::before { - content: "\f0c1"; } - -.fa-chain::before { - content: "\f0c1"; } - -.fa-ear-listen::before { - content: "\f2a2"; } - -.fa-assistive-listening-systems::before { - content: "\f2a2"; } - -.fa-tree-city::before { - content: "\e587"; } - -.fa-play::before { - content: "\f04b"; } - -.fa-font::before { - content: "\f031"; } - -.fa-rupiah-sign::before { - content: "\e23d"; } - -.fa-magnifying-glass::before { - content: "\f002"; } - -.fa-search::before { - content: "\f002"; } - -.fa-table-tennis-paddle-ball::before { - content: "\f45d"; } - -.fa-ping-pong-paddle-ball::before { - content: "\f45d"; } - -.fa-table-tennis::before { - content: "\f45d"; } - -.fa-person-dots-from-line::before { - content: "\f470"; } - -.fa-diagnoses::before { - content: "\f470"; } - -.fa-trash-can-arrow-up::before { - content: "\f82a"; } - -.fa-trash-restore-alt::before { - content: "\f82a"; } - -.fa-naira-sign::before { - content: "\e1f6"; } - -.fa-cart-arrow-down::before { - content: "\f218"; } - -.fa-walkie-talkie::before { - content: "\f8ef"; } - -.fa-file-pen::before { - content: "\f31c"; } - -.fa-file-edit::before { - content: "\f31c"; } - -.fa-receipt::before { - content: "\f543"; } - -.fa-square-pen::before { - content: "\f14b"; } - -.fa-pen-square::before { - content: "\f14b"; } - -.fa-pencil-square::before { - content: "\f14b"; } - -.fa-suitcase-rolling::before { - content: "\f5c1"; } - -.fa-person-circle-exclamation::before { - content: "\e53f"; } - -.fa-chevron-down::before { - content: "\f078"; } - -.fa-battery-full::before { - content: "\f240"; } - -.fa-battery::before { - content: "\f240"; } - -.fa-battery-5::before { - content: "\f240"; } - -.fa-skull-crossbones::before { - content: "\f714"; } - -.fa-code-compare::before { - content: "\e13a"; } - -.fa-list-ul::before { - content: "\f0ca"; } - -.fa-list-dots::before { - content: "\f0ca"; } - -.fa-school-lock::before { - content: "\e56f"; } - -.fa-tower-cell::before { - content: "\e585"; } - -.fa-down-long::before { - content: "\f309"; } - -.fa-long-arrow-alt-down::before { - content: "\f309"; } - -.fa-ranking-star::before { - content: "\e561"; } - -.fa-chess-king::before { - content: "\f43f"; } - -.fa-person-harassing::before { - content: "\e549"; } - -.fa-brazilian-real-sign::before { - content: "\e46c"; } - -.fa-landmark-dome::before { - content: "\f752"; } - -.fa-landmark-alt::before { - content: "\f752"; } - -.fa-arrow-up::before { - content: "\f062"; } - -.fa-tv::before { - content: "\f26c"; } - -.fa-television::before { - content: "\f26c"; } - -.fa-tv-alt::before { - content: "\f26c"; } - -.fa-shrimp::before { - content: "\e448"; } - -.fa-list-check::before { - content: "\f0ae"; } - -.fa-tasks::before { - content: "\f0ae"; } - -.fa-jug-detergent::before { - content: "\e519"; } - -.fa-circle-user::before { - content: "\f2bd"; } - -.fa-user-circle::before { - content: "\f2bd"; } - -.fa-user-shield::before { - content: "\f505"; } - -.fa-wind::before { - content: "\f72e"; } - -.fa-car-burst::before { - content: "\f5e1"; } - -.fa-car-crash::before { - content: "\f5e1"; } - -.fa-y::before { - content: "\59"; } - -.fa-person-snowboarding::before { - content: "\f7ce"; } - -.fa-snowboarding::before { - content: "\f7ce"; } - -.fa-truck-fast::before { - content: "\f48b"; } - -.fa-shipping-fast::before { - content: "\f48b"; } - -.fa-fish::before { - content: "\f578"; } - -.fa-user-graduate::before { - content: "\f501"; } - -.fa-circle-half-stroke::before { - content: "\f042"; } - -.fa-adjust::before { - content: "\f042"; } - -.fa-clapperboard::before { - content: "\e131"; } - -.fa-circle-radiation::before { - content: "\f7ba"; } - -.fa-radiation-alt::before { - content: "\f7ba"; } - -.fa-baseball::before { - content: "\f433"; } - -.fa-baseball-ball::before { - content: "\f433"; } - -.fa-jet-fighter-up::before { - content: "\e518"; } - -.fa-diagram-project::before { - content: "\f542"; } - -.fa-project-diagram::before { - content: "\f542"; } - -.fa-copy::before { - content: "\f0c5"; } - -.fa-volume-xmark::before { - content: "\f6a9"; } - -.fa-volume-mute::before { - content: "\f6a9"; } - -.fa-volume-times::before { - content: "\f6a9"; } - -.fa-hand-sparkles::before { - content: "\e05d"; } - -.fa-grip::before { - content: "\f58d"; } - -.fa-grip-horizontal::before { - content: "\f58d"; } - -.fa-share-from-square::before { - content: "\f14d"; } - -.fa-share-square::before { - content: "\f14d"; } - -.fa-child-combatant::before { - content: "\e4e0"; } - -.fa-child-rifle::before { - content: "\e4e0"; } - -.fa-gun::before { - content: "\e19b"; } - -.fa-square-phone::before { - content: "\f098"; } - -.fa-phone-square::before { - content: "\f098"; } - -.fa-plus::before { - content: "\2b"; } - -.fa-add::before { - content: "\2b"; } - -.fa-expand::before { - content: "\f065"; } - -.fa-computer::before { - content: "\e4e5"; } - -.fa-xmark::before { - content: "\f00d"; } - -.fa-close::before { - content: "\f00d"; } - -.fa-multiply::before { - content: "\f00d"; } - -.fa-remove::before { - content: "\f00d"; } - -.fa-times::before { - content: "\f00d"; } - -.fa-arrows-up-down-left-right::before { - content: "\f047"; } - -.fa-arrows::before { - content: "\f047"; } - -.fa-chalkboard-user::before { - content: "\f51c"; } - -.fa-chalkboard-teacher::before { - content: "\f51c"; } - -.fa-peso-sign::before { - content: "\e222"; } - -.fa-building-shield::before { - content: "\e4d8"; } - -.fa-baby::before { - content: "\f77c"; } - -.fa-users-line::before { - content: "\e592"; } - -.fa-quote-left::before { - content: "\f10d"; } - -.fa-quote-left-alt::before { - content: "\f10d"; } - -.fa-tractor::before { - content: "\f722"; } - -.fa-trash-arrow-up::before { - content: "\f829"; } - -.fa-trash-restore::before { - content: "\f829"; } - -.fa-arrow-down-up-lock::before { - content: "\e4b0"; } - -.fa-lines-leaning::before { - content: "\e51e"; } - -.fa-ruler-combined::before { - content: "\f546"; } - -.fa-copyright::before { - content: "\f1f9"; } - -.fa-equals::before { - content: "\3d"; } - -.fa-blender::before { - content: "\f517"; } - -.fa-teeth::before { - content: "\f62e"; } - -.fa-shekel-sign::before { - content: "\f20b"; } - -.fa-ils::before { - content: "\f20b"; } - -.fa-shekel::before { - content: "\f20b"; } - -.fa-sheqel::before { - content: "\f20b"; } - -.fa-sheqel-sign::before { - content: "\f20b"; } - -.fa-map::before { - content: "\f279"; } - -.fa-rocket::before { - content: "\f135"; } - -.fa-photo-film::before { - content: "\f87c"; } - -.fa-photo-video::before { - content: "\f87c"; } - -.fa-folder-minus::before { - content: "\f65d"; } - -.fa-store::before { - content: "\f54e"; } - -.fa-arrow-trend-up::before { - content: "\e098"; } - -.fa-plug-circle-minus::before { - content: "\e55e"; } - -.fa-sign-hanging::before { - content: "\f4d9"; } - -.fa-sign::before { - content: "\f4d9"; } - -.fa-bezier-curve::before { - content: "\f55b"; } - -.fa-bell-slash::before { - content: "\f1f6"; } - -.fa-tablet::before { - content: "\f3fb"; } - -.fa-tablet-android::before { - content: "\f3fb"; } - -.fa-school-flag::before { - content: "\e56e"; } - -.fa-fill::before { - content: "\f575"; } - -.fa-angle-up::before { - content: "\f106"; } - -.fa-drumstick-bite::before { - content: "\f6d7"; } - -.fa-holly-berry::before { - content: "\f7aa"; } - -.fa-chevron-left::before { - content: "\f053"; } - -.fa-bacteria::before { - content: "\e059"; } - -.fa-hand-lizard::before { - content: "\f258"; } - -.fa-notdef::before { - content: "\e1fe"; } - -.fa-disease::before { - content: "\f7fa"; } - -.fa-briefcase-medical::before { - content: "\f469"; } - -.fa-genderless::before { - content: "\f22d"; } - -.fa-chevron-right::before { - content: "\f054"; } - -.fa-retweet::before { - content: "\f079"; } - -.fa-car-rear::before { - content: "\f5de"; } - -.fa-car-alt::before { - content: "\f5de"; } - -.fa-pump-soap::before { - content: "\e06b"; } - -.fa-video-slash::before { - content: "\f4e2"; } - -.fa-battery-quarter::before { - content: "\f243"; } - -.fa-battery-2::before { - content: "\f243"; } - -.fa-radio::before { - content: "\f8d7"; } - -.fa-baby-carriage::before { - content: "\f77d"; } - -.fa-carriage-baby::before { - content: "\f77d"; } - -.fa-traffic-light::before { - content: "\f637"; } - -.fa-thermometer::before { - content: "\f491"; } - -.fa-vr-cardboard::before { - content: "\f729"; } - -.fa-hand-middle-finger::before { - content: "\f806"; } - -.fa-percent::before { - content: "\25"; } - -.fa-percentage::before { - content: "\25"; } - -.fa-truck-moving::before { - content: "\f4df"; } - -.fa-glass-water-droplet::before { - content: "\e4f5"; } - -.fa-display::before { - content: "\e163"; } - -.fa-face-smile::before { - content: "\f118"; } - -.fa-smile::before { - content: "\f118"; } - -.fa-thumbtack::before { - content: "\f08d"; } - -.fa-thumb-tack::before { - content: "\f08d"; } - -.fa-trophy::before { - content: "\f091"; } - -.fa-person-praying::before { - content: "\f683"; } - -.fa-pray::before { - content: "\f683"; } - -.fa-hammer::before { - content: "\f6e3"; } - -.fa-hand-peace::before { - content: "\f25b"; } - -.fa-rotate::before { - content: "\f2f1"; } - -.fa-sync-alt::before { - content: "\f2f1"; } - -.fa-spinner::before { - content: "\f110"; } - -.fa-robot::before { - content: "\f544"; } - -.fa-peace::before { - content: "\f67c"; } - -.fa-gears::before { - content: "\f085"; } - -.fa-cogs::before { - content: "\f085"; } - -.fa-warehouse::before { - content: "\f494"; } - -.fa-arrow-up-right-dots::before { - content: "\e4b7"; } - -.fa-splotch::before { - content: "\f5bc"; } - -.fa-face-grin-hearts::before { - content: "\f584"; } - -.fa-grin-hearts::before { - content: "\f584"; } - -.fa-dice-four::before { - content: "\f524"; } - -.fa-sim-card::before { - content: "\f7c4"; } - -.fa-transgender::before { - content: "\f225"; } - -.fa-transgender-alt::before { - content: "\f225"; } - -.fa-mercury::before { - content: "\f223"; } - -.fa-arrow-turn-down::before { - content: "\f149"; } - -.fa-level-down::before { - content: "\f149"; } - -.fa-person-falling-burst::before { - content: "\e547"; } - -.fa-award::before { - content: "\f559"; } - -.fa-ticket-simple::before { - content: "\f3ff"; } - -.fa-ticket-alt::before { - content: "\f3ff"; } - -.fa-building::before { - content: "\f1ad"; } - -.fa-angles-left::before { - content: "\f100"; } - -.fa-angle-double-left::before { - content: "\f100"; } - -.fa-qrcode::before { - content: "\f029"; } - -.fa-clock-rotate-left::before { - content: "\f1da"; } - -.fa-history::before { - content: "\f1da"; } - -.fa-face-grin-beam-sweat::before { - content: "\f583"; } - -.fa-grin-beam-sweat::before { - content: "\f583"; } - -.fa-file-export::before { - content: "\f56e"; } - -.fa-arrow-right-from-file::before { - content: "\f56e"; } - -.fa-shield::before { - content: "\f132"; } - -.fa-shield-blank::before { - content: "\f132"; } - -.fa-arrow-up-short-wide::before { - content: "\f885"; } - -.fa-sort-amount-up-alt::before { - content: "\f885"; } - -.fa-house-medical::before { - content: "\e3b2"; } - -.fa-golf-ball-tee::before { - content: "\f450"; } - -.fa-golf-ball::before { - content: "\f450"; } - -.fa-circle-chevron-left::before { - content: "\f137"; } - -.fa-chevron-circle-left::before { - content: "\f137"; } - -.fa-house-chimney-window::before { - content: "\e00d"; } - -.fa-pen-nib::before { - content: "\f5ad"; } - -.fa-tent-arrow-turn-left::before { - content: "\e580"; } - -.fa-tents::before { - content: "\e582"; } - -.fa-wand-magic::before { - content: "\f0d0"; } - -.fa-magic::before { - content: "\f0d0"; } - -.fa-dog::before { - content: "\f6d3"; } - -.fa-carrot::before { - content: "\f787"; } - -.fa-moon::before { - content: "\f186"; } - -.fa-wine-glass-empty::before { - content: "\f5ce"; } - -.fa-wine-glass-alt::before { - content: "\f5ce"; } - -.fa-cheese::before { - content: "\f7ef"; } - -.fa-yin-yang::before { - content: "\f6ad"; } - -.fa-music::before { - content: "\f001"; } - -.fa-code-commit::before { - content: "\f386"; } - -.fa-temperature-low::before { - content: "\f76b"; } - -.fa-person-biking::before { - content: "\f84a"; } - -.fa-biking::before { - content: "\f84a"; } - -.fa-broom::before { - content: "\f51a"; } - -.fa-shield-heart::before { - content: "\e574"; } - -.fa-gopuram::before { - content: "\f664"; } - -.fa-earth-oceania::before { - content: "\e47b"; } - -.fa-globe-oceania::before { - content: "\e47b"; } - -.fa-square-xmark::before { - content: "\f2d3"; } - -.fa-times-square::before { - content: "\f2d3"; } - -.fa-xmark-square::before { - content: "\f2d3"; } - -.fa-hashtag::before { - content: "\23"; } - -.fa-up-right-and-down-left-from-center::before { - content: "\f424"; } - -.fa-expand-alt::before { - content: "\f424"; } - -.fa-oil-can::before { - content: "\f613"; } - -.fa-t::before { - content: "\54"; } - -.fa-hippo::before { - content: "\f6ed"; } - -.fa-chart-column::before { - content: "\e0e3"; } - -.fa-infinity::before { - content: "\f534"; } - -.fa-vial-circle-check::before { - content: "\e596"; } - -.fa-person-arrow-down-to-line::before { - content: "\e538"; } - -.fa-voicemail::before { - content: "\f897"; } - -.fa-fan::before { - content: "\f863"; } - -.fa-person-walking-luggage::before { - content: "\e554"; } - -.fa-up-down::before { - content: "\f338"; } - -.fa-arrows-alt-v::before { - content: "\f338"; } - -.fa-cloud-moon-rain::before { - content: "\f73c"; } - -.fa-calendar::before { - content: "\f133"; } - -.fa-trailer::before { - content: "\e041"; } - -.fa-bahai::before { - content: "\f666"; } - -.fa-haykal::before { - content: "\f666"; } - -.fa-sd-card::before { - content: "\f7c2"; } - -.fa-dragon::before { - content: "\f6d5"; } - -.fa-shoe-prints::before { - content: "\f54b"; } - -.fa-circle-plus::before { - content: "\f055"; } - -.fa-plus-circle::before { - content: "\f055"; } - -.fa-face-grin-tongue-wink::before { - content: "\f58b"; } - -.fa-grin-tongue-wink::before { - content: "\f58b"; } - -.fa-hand-holding::before { - content: "\f4bd"; } - -.fa-plug-circle-exclamation::before { - content: "\e55d"; } - -.fa-link-slash::before { - content: "\f127"; } - -.fa-chain-broken::before { - content: "\f127"; } - -.fa-chain-slash::before { - content: "\f127"; } - -.fa-unlink::before { - content: "\f127"; } - -.fa-clone::before { - content: "\f24d"; } - -.fa-person-walking-arrow-loop-left::before { - content: "\e551"; } - -.fa-arrow-up-z-a::before { - content: "\f882"; } - -.fa-sort-alpha-up-alt::before { - content: "\f882"; } - -.fa-fire-flame-curved::before { - content: "\f7e4"; } - -.fa-fire-alt::before { - content: "\f7e4"; } - -.fa-tornado::before { - content: "\f76f"; } - -.fa-file-circle-plus::before { - content: "\e494"; } - -.fa-book-quran::before { - content: "\f687"; } - -.fa-quran::before { - content: "\f687"; } - -.fa-anchor::before { - content: "\f13d"; } - -.fa-border-all::before { - content: "\f84c"; } - -.fa-face-angry::before { - content: "\f556"; } - -.fa-angry::before { - content: "\f556"; } - -.fa-cookie-bite::before { - content: "\f564"; } - -.fa-arrow-trend-down::before { - content: "\e097"; } - -.fa-rss::before { - content: "\f09e"; } - -.fa-feed::before { - content: "\f09e"; } - -.fa-draw-polygon::before { - content: "\f5ee"; } - -.fa-scale-balanced::before { - content: "\f24e"; } - -.fa-balance-scale::before { - content: "\f24e"; } - -.fa-gauge-simple-high::before { - content: "\f62a"; } - -.fa-tachometer::before { - content: "\f62a"; } - -.fa-tachometer-fast::before { - content: "\f62a"; } - -.fa-shower::before { - content: "\f2cc"; } - -.fa-desktop::before { - content: "\f390"; } - -.fa-desktop-alt::before { - content: "\f390"; } - -.fa-m::before { - content: "\4d"; } - -.fa-table-list::before { - content: "\f00b"; } - -.fa-th-list::before { - content: "\f00b"; } - -.fa-comment-sms::before { - content: "\f7cd"; } - -.fa-sms::before { - content: "\f7cd"; } - -.fa-book::before { - content: "\f02d"; } - -.fa-user-plus::before { - content: "\f234"; } - -.fa-check::before { - content: "\f00c"; } - -.fa-battery-three-quarters::before { - content: "\f241"; } - -.fa-battery-4::before { - content: "\f241"; } - -.fa-house-circle-check::before { - content: "\e509"; } - -.fa-angle-left::before { - content: "\f104"; } - -.fa-diagram-successor::before { - content: "\e47a"; } - -.fa-truck-arrow-right::before { - content: "\e58b"; } - -.fa-arrows-split-up-and-left::before { - content: "\e4bc"; } - -.fa-hand-fist::before { - content: "\f6de"; } - -.fa-fist-raised::before { - content: "\f6de"; } - -.fa-cloud-moon::before { - content: "\f6c3"; } - -.fa-briefcase::before { - content: "\f0b1"; } - -.fa-person-falling::before { - content: "\e546"; } - -.fa-image-portrait::before { - content: "\f3e0"; } - -.fa-portrait::before { - content: "\f3e0"; } - -.fa-user-tag::before { - content: "\f507"; } - -.fa-rug::before { - content: "\e569"; } - -.fa-earth-europe::before { - content: "\f7a2"; } - -.fa-globe-europe::before { - content: "\f7a2"; } - -.fa-cart-flatbed-suitcase::before { - content: "\f59d"; } - -.fa-luggage-cart::before { - content: "\f59d"; } - -.fa-rectangle-xmark::before { - content: "\f410"; } - -.fa-rectangle-times::before { - content: "\f410"; } - -.fa-times-rectangle::before { - content: "\f410"; } - -.fa-window-close::before { - content: "\f410"; } - -.fa-baht-sign::before { - content: "\e0ac"; } - -.fa-book-open::before { - content: "\f518"; } - -.fa-book-journal-whills::before { - content: "\f66a"; } - -.fa-journal-whills::before { - content: "\f66a"; } - -.fa-handcuffs::before { - content: "\e4f8"; } - -.fa-triangle-exclamation::before { - content: "\f071"; } - -.fa-exclamation-triangle::before { - content: "\f071"; } - -.fa-warning::before { - content: "\f071"; } - -.fa-database::before { - content: "\f1c0"; } - -.fa-share::before { - content: "\f064"; } - -.fa-arrow-turn-right::before { - content: "\f064"; } - -.fa-mail-forward::before { - content: "\f064"; } - -.fa-bottle-droplet::before { - content: "\e4c4"; } - -.fa-mask-face::before { - content: "\e1d7"; } - -.fa-hill-rockslide::before { - content: "\e508"; } - -.fa-right-left::before { - content: "\f362"; } - -.fa-exchange-alt::before { - content: "\f362"; } - -.fa-paper-plane::before { - content: "\f1d8"; } - -.fa-road-circle-exclamation::before { - content: "\e565"; } - -.fa-dungeon::before { - content: "\f6d9"; } - -.fa-align-right::before { - content: "\f038"; } - -.fa-money-bill-1-wave::before { - content: "\f53b"; } - -.fa-money-bill-wave-alt::before { - content: "\f53b"; } - -.fa-life-ring::before { - content: "\f1cd"; } - -.fa-hands::before { - content: "\f2a7"; } - -.fa-sign-language::before { - content: "\f2a7"; } - -.fa-signing::before { - content: "\f2a7"; } - -.fa-calendar-day::before { - content: "\f783"; } - -.fa-water-ladder::before { - content: "\f5c5"; } - -.fa-ladder-water::before { - content: "\f5c5"; } - -.fa-swimming-pool::before { - content: "\f5c5"; } - -.fa-arrows-up-down::before { - content: "\f07d"; } - -.fa-arrows-v::before { - content: "\f07d"; } - -.fa-face-grimace::before { - content: "\f57f"; } - -.fa-grimace::before { - content: "\f57f"; } - -.fa-wheelchair-move::before { - content: "\e2ce"; } - -.fa-wheelchair-alt::before { - content: "\e2ce"; } - -.fa-turn-down::before { - content: "\f3be"; } - -.fa-level-down-alt::before { - content: "\f3be"; } - -.fa-person-walking-arrow-right::before { - content: "\e552"; } - -.fa-square-envelope::before { - content: "\f199"; } - -.fa-envelope-square::before { - content: "\f199"; } - -.fa-dice::before { - content: "\f522"; } - -.fa-bowling-ball::before { - content: "\f436"; } - -.fa-brain::before { - content: "\f5dc"; } - -.fa-bandage::before { - content: "\f462"; } - -.fa-band-aid::before { - content: "\f462"; } - -.fa-calendar-minus::before { - content: "\f272"; } - -.fa-circle-xmark::before { - content: "\f057"; } - -.fa-times-circle::before { - content: "\f057"; } - -.fa-xmark-circle::before { - content: "\f057"; } - -.fa-gifts::before { - content: "\f79c"; } - -.fa-hotel::before { - content: "\f594"; } - -.fa-earth-asia::before { - content: "\f57e"; } - -.fa-globe-asia::before { - content: "\f57e"; } - -.fa-id-card-clip::before { - content: "\f47f"; } - -.fa-id-card-alt::before { - content: "\f47f"; } - -.fa-magnifying-glass-plus::before { - content: "\f00e"; } - -.fa-search-plus::before { - content: "\f00e"; } - -.fa-thumbs-up::before { - content: "\f164"; } - -.fa-user-clock::before { - content: "\f4fd"; } - -.fa-hand-dots::before { - content: "\f461"; } - -.fa-allergies::before { - content: "\f461"; } - -.fa-file-invoice::before { - content: "\f570"; } - -.fa-window-minimize::before { - content: "\f2d1"; } - -.fa-mug-saucer::before { - content: "\f0f4"; } - -.fa-coffee::before { - content: "\f0f4"; } - -.fa-brush::before { - content: "\f55d"; } - -.fa-mask::before { - content: "\f6fa"; } - -.fa-magnifying-glass-minus::before { - content: "\f010"; } - -.fa-search-minus::before { - content: "\f010"; } - -.fa-ruler-vertical::before { - content: "\f548"; } - -.fa-user-large::before { - content: "\f406"; } - -.fa-user-alt::before { - content: "\f406"; } - -.fa-train-tram::before { - content: "\e5b4"; } - -.fa-user-nurse::before { - content: "\f82f"; } - -.fa-syringe::before { - content: "\f48e"; } - -.fa-cloud-sun::before { - content: "\f6c4"; } - -.fa-stopwatch-20::before { - content: "\e06f"; } - -.fa-square-full::before { - content: "\f45c"; } - -.fa-magnet::before { - content: "\f076"; } - -.fa-jar::before { - content: "\e516"; } - -.fa-note-sticky::before { - content: "\f249"; } - -.fa-sticky-note::before { - content: "\f249"; } - -.fa-bug-slash::before { - content: "\e490"; } - -.fa-arrow-up-from-water-pump::before { - content: "\e4b6"; } - -.fa-bone::before { - content: "\f5d7"; } - -.fa-user-injured::before { - content: "\f728"; } - -.fa-face-sad-tear::before { - content: "\f5b4"; } - -.fa-sad-tear::before { - content: "\f5b4"; } - -.fa-plane::before { - content: "\f072"; } - -.fa-tent-arrows-down::before { - content: "\e581"; } - -.fa-exclamation::before { - content: "\21"; } - -.fa-arrows-spin::before { - content: "\e4bb"; } - -.fa-print::before { - content: "\f02f"; } - -.fa-turkish-lira-sign::before { - content: "\e2bb"; } - -.fa-try::before { - content: "\e2bb"; } - -.fa-turkish-lira::before { - content: "\e2bb"; } - -.fa-dollar-sign::before { - content: "\24"; } - -.fa-dollar::before { - content: "\24"; } - -.fa-usd::before { - content: "\24"; } - -.fa-x::before { - content: "\58"; } - -.fa-magnifying-glass-dollar::before { - content: "\f688"; } - -.fa-search-dollar::before { - content: "\f688"; } - -.fa-users-gear::before { - content: "\f509"; } - -.fa-users-cog::before { - content: "\f509"; } - -.fa-person-military-pointing::before { - content: "\e54a"; } - -.fa-building-columns::before { - content: "\f19c"; } - -.fa-bank::before { - content: "\f19c"; } - -.fa-institution::before { - content: "\f19c"; } - -.fa-museum::before { - content: "\f19c"; } - -.fa-university::before { - content: "\f19c"; } - -.fa-umbrella::before { - content: "\f0e9"; } - -.fa-trowel::before { - content: "\e589"; } - -.fa-d::before { - content: "\44"; } - -.fa-stapler::before { - content: "\e5af"; } - -.fa-masks-theater::before { - content: "\f630"; } - -.fa-theater-masks::before { - content: "\f630"; } - -.fa-kip-sign::before { - content: "\e1c4"; } - -.fa-hand-point-left::before { - content: "\f0a5"; } - -.fa-handshake-simple::before { - content: "\f4c6"; } - -.fa-handshake-alt::before { - content: "\f4c6"; } - -.fa-jet-fighter::before { - content: "\f0fb"; } - -.fa-fighter-jet::before { - content: "\f0fb"; } - -.fa-square-share-nodes::before { - content: "\f1e1"; } - -.fa-share-alt-square::before { - content: "\f1e1"; } - -.fa-barcode::before { - content: "\f02a"; } - -.fa-plus-minus::before { - content: "\e43c"; } - -.fa-video::before { - content: "\f03d"; } - -.fa-video-camera::before { - content: "\f03d"; } - -.fa-graduation-cap::before { - content: "\f19d"; } - -.fa-mortar-board::before { - content: "\f19d"; } - -.fa-hand-holding-medical::before { - content: "\e05c"; } - -.fa-person-circle-check::before { - content: "\e53e"; } - -.fa-turn-up::before { - content: "\f3bf"; } - -.fa-level-up-alt::before { - content: "\f3bf"; } - -.sr-only, -.fa-sr-only { - position: absolute; - width: 1px; - height: 1px; - padding: 0; - margin: -1px; - overflow: hidden; - clip: rect(0, 0, 0, 0); - white-space: nowrap; - border-width: 0; } - -.sr-only-focusable:not(:focus), -.fa-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; } -:root, :host { - --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("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.ttf") format("truetype"); } - -.fab, -.fa-brands { - font-weight: 400; } - -.fa-monero:before { - content: "\f3d0"; } - -.fa-hooli:before { - content: "\f427"; } - -.fa-yelp:before { - content: "\f1e9"; } - -.fa-cc-visa:before { - content: "\f1f0"; } - -.fa-lastfm:before { - content: "\f202"; } - -.fa-shopware:before { - content: "\f5b5"; } - -.fa-creative-commons-nc:before { - content: "\f4e8"; } - -.fa-aws:before { - content: "\f375"; } - -.fa-redhat:before { - content: "\f7bc"; } - -.fa-yoast:before { - content: "\f2b1"; } - -.fa-cloudflare:before { - content: "\e07d"; } - -.fa-ups:before { - content: "\f7e0"; } - -.fa-wpexplorer:before { - content: "\f2de"; } - -.fa-dyalog:before { - content: "\f399"; } - -.fa-bity:before { - content: "\f37a"; } - -.fa-stackpath:before { - content: "\f842"; } - -.fa-buysellads:before { - content: "\f20d"; } - -.fa-first-order:before { - content: "\f2b0"; } - -.fa-modx:before { - content: "\f285"; } - -.fa-guilded:before { - content: "\e07e"; } - -.fa-vnv:before { - content: "\f40b"; } - -.fa-square-js:before { - content: "\f3b9"; } - -.fa-js-square:before { - content: "\f3b9"; } - -.fa-microsoft:before { - content: "\f3ca"; } - -.fa-qq:before { - content: "\f1d6"; } - -.fa-orcid:before { - content: "\f8d2"; } - -.fa-java:before { - content: "\f4e4"; } - -.fa-invision:before { - content: "\f7b0"; } - -.fa-creative-commons-pd-alt:before { - content: "\f4ed"; } - -.fa-centercode:before { - content: "\f380"; } - -.fa-glide-g:before { - content: "\f2a6"; } - -.fa-drupal:before { - content: "\f1a9"; } - -.fa-hire-a-helper:before { - content: "\f3b0"; } - -.fa-creative-commons-by:before { - content: "\f4e7"; } - -.fa-unity:before { - content: "\e049"; } - -.fa-whmcs:before { - content: "\f40d"; } - -.fa-rocketchat:before { - content: "\f3e8"; } - -.fa-vk:before { - content: "\f189"; } - -.fa-untappd:before { - content: "\f405"; } - -.fa-mailchimp:before { - content: "\f59e"; } - -.fa-css3-alt:before { - content: "\f38b"; } - -.fa-square-reddit:before { - content: "\f1a2"; } - -.fa-reddit-square:before { - content: "\f1a2"; } - -.fa-vimeo-v:before { - content: "\f27d"; } - -.fa-contao:before { - content: "\f26d"; } - -.fa-square-font-awesome:before { - content: "\e5ad"; } - -.fa-deskpro:before { - content: "\f38f"; } - -.fa-sistrix:before { - content: "\f3ee"; } - -.fa-square-instagram:before { - content: "\e055"; } - -.fa-instagram-square:before { - content: "\e055"; } - -.fa-battle-net:before { - content: "\f835"; } - -.fa-the-red-yeti:before { - content: "\f69d"; } - -.fa-square-hacker-news:before { - content: "\f3af"; } - -.fa-hacker-news-square:before { - content: "\f3af"; } - -.fa-edge:before { - content: "\f282"; } - -.fa-napster:before { - content: "\f3d2"; } - -.fa-square-snapchat:before { - content: "\f2ad"; } - -.fa-snapchat-square:before { - content: "\f2ad"; } - -.fa-google-plus-g:before { - content: "\f0d5"; } - -.fa-artstation:before { - content: "\f77a"; } - -.fa-markdown:before { - content: "\f60f"; } - -.fa-sourcetree:before { - content: "\f7d3"; } - -.fa-google-plus:before { - content: "\f2b3"; } - -.fa-diaspora:before { - content: "\f791"; } - -.fa-foursquare:before { - content: "\f180"; } - -.fa-stack-overflow:before { - content: "\f16c"; } - -.fa-github-alt:before { - content: "\f113"; } - -.fa-phoenix-squadron:before { - content: "\f511"; } - -.fa-pagelines:before { - content: "\f18c"; } - -.fa-algolia:before { - content: "\f36c"; } - -.fa-red-river:before { - content: "\f3e3"; } - -.fa-creative-commons-sa:before { - content: "\f4ef"; } - -.fa-safari:before { - content: "\f267"; } - -.fa-google:before { - content: "\f1a0"; } - -.fa-square-font-awesome-stroke:before { - content: "\f35c"; } - -.fa-font-awesome-alt:before { - content: "\f35c"; } - -.fa-atlassian:before { - content: "\f77b"; } - -.fa-linkedin-in:before { - content: "\f0e1"; } - -.fa-digital-ocean:before { - content: "\f391"; } - -.fa-nimblr:before { - content: "\f5a8"; } - -.fa-chromecast:before { - content: "\f838"; } - -.fa-evernote:before { - content: "\f839"; } - -.fa-hacker-news:before { - content: "\f1d4"; } - -.fa-creative-commons-sampling:before { - content: "\f4f0"; } - -.fa-adversal:before { - content: "\f36a"; } - -.fa-creative-commons:before { - content: "\f25e"; } - -.fa-watchman-monitoring:before { - content: "\e087"; } - -.fa-fonticons:before { - content: "\f280"; } - -.fa-weixin:before { - content: "\f1d7"; } - -.fa-shirtsinbulk:before { - content: "\f214"; } - -.fa-codepen:before { - content: "\f1cb"; } - -.fa-git-alt:before { - content: "\f841"; } - -.fa-lyft:before { - content: "\f3c3"; } - -.fa-rev:before { - content: "\f5b2"; } - -.fa-windows:before { - content: "\f17a"; } - -.fa-wizards-of-the-coast:before { - content: "\f730"; } - -.fa-square-viadeo:before { - content: "\f2aa"; } - -.fa-viadeo-square:before { - content: "\f2aa"; } - -.fa-meetup:before { - content: "\f2e0"; } - -.fa-centos:before { - content: "\f789"; } - -.fa-adn:before { - content: "\f170"; } - -.fa-cloudsmith:before { - content: "\f384"; } - -.fa-pied-piper-alt:before { - content: "\f1a8"; } - -.fa-square-dribbble:before { - content: "\f397"; } - -.fa-dribbble-square:before { - content: "\f397"; } - -.fa-codiepie:before { - content: "\f284"; } - -.fa-node:before { - content: "\f419"; } - -.fa-mix:before { - content: "\f3cb"; } - -.fa-steam:before { - content: "\f1b6"; } - -.fa-cc-apple-pay:before { - content: "\f416"; } - -.fa-scribd:before { - content: "\f28a"; } - -.fa-openid:before { - content: "\f19b"; } - -.fa-instalod:before { - content: "\e081"; } - -.fa-expeditedssl:before { - content: "\f23e"; } - -.fa-sellcast:before { - content: "\f2da"; } - -.fa-square-twitter:before { - content: "\f081"; } - -.fa-twitter-square:before { - content: "\f081"; } - -.fa-r-project:before { - content: "\f4f7"; } - -.fa-delicious:before { - content: "\f1a5"; } - -.fa-freebsd:before { - content: "\f3a4"; } - -.fa-vuejs:before { - content: "\f41f"; } - -.fa-accusoft:before { - content: "\f369"; } - -.fa-ioxhost:before { - content: "\f208"; } - -.fa-fonticons-fi:before { - content: "\f3a2"; } - -.fa-app-store:before { - content: "\f36f"; } - -.fa-cc-mastercard:before { - content: "\f1f1"; } - -.fa-itunes-note:before { - content: "\f3b5"; } - -.fa-golang:before { - content: "\e40f"; } - -.fa-kickstarter:before { - content: "\f3bb"; } - -.fa-grav:before { - content: "\f2d6"; } - -.fa-weibo:before { - content: "\f18a"; } - -.fa-uncharted:before { - content: "\e084"; } - -.fa-firstdraft:before { - content: "\f3a1"; } - -.fa-square-youtube:before { - content: "\f431"; } - -.fa-youtube-square:before { - content: "\f431"; } - -.fa-wikipedia-w:before { - content: "\f266"; } - -.fa-wpressr:before { - content: "\f3e4"; } - -.fa-rendact:before { - content: "\f3e4"; } - -.fa-angellist:before { - content: "\f209"; } - -.fa-galactic-republic:before { - content: "\f50c"; } - -.fa-nfc-directional:before { - content: "\e530"; } - -.fa-skype:before { - content: "\f17e"; } - -.fa-joget:before { - content: "\f3b7"; } - -.fa-fedora:before { - content: "\f798"; } - -.fa-stripe-s:before { - content: "\f42a"; } - -.fa-meta:before { - content: "\e49b"; } - -.fa-laravel:before { - content: "\f3bd"; } - -.fa-hotjar:before { - content: "\f3b1"; } - -.fa-bluetooth-b:before { - content: "\f294"; } - -.fa-sticker-mule:before { - content: "\f3f7"; } - -.fa-creative-commons-zero:before { - content: "\f4f3"; } - -.fa-hips:before { - content: "\f452"; } - -.fa-behance:before { - content: "\f1b4"; } - -.fa-reddit:before { - content: "\f1a1"; } - -.fa-discord:before { - content: "\f392"; } - -.fa-chrome:before { - content: "\f268"; } - -.fa-app-store-ios:before { - content: "\f370"; } - -.fa-cc-discover:before { - content: "\f1f2"; } - -.fa-wpbeginner:before { - content: "\f297"; } - -.fa-confluence:before { - content: "\f78d"; } - -.fa-mdb:before { - content: "\f8ca"; } - -.fa-dochub:before { - content: "\f394"; } - -.fa-accessible-icon:before { - content: "\f368"; } - -.fa-ebay:before { - content: "\f4f4"; } - -.fa-amazon:before { - content: "\f270"; } - -.fa-unsplash:before { - content: "\e07c"; } - -.fa-yarn:before { - content: "\f7e3"; } - -.fa-square-steam:before { - content: "\f1b7"; } - -.fa-steam-square:before { - content: "\f1b7"; } - -.fa-500px:before { - content: "\f26e"; } - -.fa-square-vimeo:before { - content: "\f194"; } - -.fa-vimeo-square:before { - content: "\f194"; } - -.fa-asymmetrik:before { - content: "\f372"; } - -.fa-font-awesome:before { - content: "\f2b4"; } - -.fa-font-awesome-flag:before { - content: "\f2b4"; } - -.fa-font-awesome-logo-full:before { - content: "\f2b4"; } - -.fa-gratipay:before { - content: "\f184"; } - -.fa-apple:before { - content: "\f179"; } - -.fa-hive:before { - content: "\e07f"; } - -.fa-gitkraken:before { - content: "\f3a6"; } - -.fa-keybase:before { - content: "\f4f5"; } - -.fa-apple-pay:before { - content: "\f415"; } - -.fa-padlet:before { - content: "\e4a0"; } - -.fa-amazon-pay:before { - content: "\f42c"; } - -.fa-square-github:before { - content: "\f092"; } - -.fa-github-square:before { - content: "\f092"; } - -.fa-stumbleupon:before { - content: "\f1a4"; } - -.fa-fedex:before { - content: "\f797"; } - -.fa-phoenix-framework:before { - content: "\f3dc"; } - -.fa-shopify:before { - content: "\e057"; } - -.fa-neos:before { - content: "\f612"; } - -.fa-hackerrank:before { - content: "\f5f7"; } - -.fa-researchgate:before { - content: "\f4f8"; } - -.fa-swift:before { - content: "\f8e1"; } - -.fa-angular:before { - content: "\f420"; } - -.fa-speakap:before { - content: "\f3f3"; } - -.fa-angrycreative:before { - content: "\f36e"; } - -.fa-y-combinator:before { - content: "\f23b"; } - -.fa-empire:before { - content: "\f1d1"; } - -.fa-envira:before { - content: "\f299"; } - -.fa-square-gitlab:before { - content: "\e5ae"; } - -.fa-gitlab-square:before { - content: "\e5ae"; } - -.fa-studiovinari:before { - content: "\f3f8"; } - -.fa-pied-piper:before { - content: "\f2ae"; } - -.fa-wordpress:before { - content: "\f19a"; } - -.fa-product-hunt:before { - content: "\f288"; } - -.fa-firefox:before { - content: "\f269"; } - -.fa-linode:before { - content: "\f2b8"; } - -.fa-goodreads:before { - content: "\f3a8"; } - -.fa-square-odnoklassniki:before { - content: "\f264"; } - -.fa-odnoklassniki-square:before { - content: "\f264"; } - -.fa-jsfiddle:before { - content: "\f1cc"; } - -.fa-sith:before { - content: "\f512"; } - -.fa-themeisle:before { - content: "\f2b2"; } - -.fa-page4:before { - content: "\f3d7"; } - -.fa-hashnode:before { - content: "\e499"; } - -.fa-react:before { - content: "\f41b"; } - -.fa-cc-paypal:before { - content: "\f1f4"; } - -.fa-squarespace:before { - content: "\f5be"; } - -.fa-cc-stripe:before { - content: "\f1f5"; } - -.fa-creative-commons-share:before { - content: "\f4f2"; } - -.fa-bitcoin:before { - content: "\f379"; } - -.fa-keycdn:before { - content: "\f3ba"; } - -.fa-opera:before { - content: "\f26a"; } - -.fa-itch-io:before { - content: "\f83a"; } - -.fa-umbraco:before { - content: "\f8e8"; } - -.fa-galactic-senate:before { - content: "\f50d"; } - -.fa-ubuntu:before { - content: "\f7df"; } - -.fa-draft2digital:before { - content: "\f396"; } - -.fa-stripe:before { - content: "\f429"; } - -.fa-houzz:before { - content: "\f27c"; } - -.fa-gg:before { - content: "\f260"; } - -.fa-dhl:before { - content: "\f790"; } - -.fa-square-pinterest:before { - content: "\f0d3"; } - -.fa-pinterest-square:before { - content: "\f0d3"; } - -.fa-xing:before { - content: "\f168"; } - -.fa-blackberry:before { - content: "\f37b"; } - -.fa-creative-commons-pd:before { - content: "\f4ec"; } - -.fa-playstation:before { - content: "\f3df"; } - -.fa-quinscape:before { - content: "\f459"; } - -.fa-less:before { - content: "\f41d"; } - -.fa-blogger-b:before { - content: "\f37d"; } - -.fa-opencart:before { - content: "\f23d"; } - -.fa-vine:before { - content: "\f1ca"; } - -.fa-paypal:before { - content: "\f1ed"; } - -.fa-gitlab:before { - content: "\f296"; } - -.fa-typo3:before { - content: "\f42b"; } - -.fa-reddit-alien:before { - content: "\f281"; } - -.fa-yahoo:before { - content: "\f19e"; } - -.fa-dailymotion:before { - content: "\e052"; } - -.fa-affiliatetheme:before { - content: "\f36b"; } - -.fa-pied-piper-pp:before { - content: "\f1a7"; } - -.fa-bootstrap:before { - content: "\f836"; } - -.fa-odnoklassniki:before { - content: "\f263"; } - -.fa-nfc-symbol:before { - content: "\e531"; } - -.fa-ethereum:before { - content: "\f42e"; } - -.fa-speaker-deck:before { - content: "\f83c"; } - -.fa-creative-commons-nc-eu:before { - content: "\f4e9"; } - -.fa-patreon:before { - content: "\f3d9"; } - -.fa-avianex:before { - content: "\f374"; } - -.fa-ello:before { - content: "\f5f1"; } - -.fa-gofore:before { - content: "\f3a7"; } - -.fa-bimobject:before { - content: "\f378"; } - -.fa-facebook-f:before { - content: "\f39e"; } - -.fa-square-google-plus:before { - content: "\f0d4"; } - -.fa-google-plus-square:before { - content: "\f0d4"; } - -.fa-mandalorian:before { - content: "\f50f"; } - -.fa-first-order-alt:before { - content: "\f50a"; } - -.fa-osi:before { - content: "\f41a"; } - -.fa-google-wallet:before { - content: "\f1ee"; } - -.fa-d-and-d-beyond:before { - content: "\f6ca"; } - -.fa-periscope:before { - content: "\f3da"; } - -.fa-fulcrum:before { - content: "\f50b"; } - -.fa-cloudscale:before { - content: "\f383"; } - -.fa-forumbee:before { - content: "\f211"; } - -.fa-mizuni:before { - content: "\f3cc"; } - -.fa-schlix:before { - content: "\f3ea"; } - -.fa-square-xing:before { - content: "\f169"; } - -.fa-xing-square:before { - content: "\f169"; } - -.fa-bandcamp:before { - content: "\f2d5"; } - -.fa-wpforms:before { - content: "\f298"; } - -.fa-cloudversify:before { - content: "\f385"; } - -.fa-usps:before { - content: "\f7e1"; } - -.fa-megaport:before { - content: "\f5a3"; } - -.fa-magento:before { - content: "\f3c4"; } - -.fa-spotify:before { - content: "\f1bc"; } - -.fa-optin-monster:before { - content: "\f23c"; } - -.fa-fly:before { - content: "\f417"; } - -.fa-aviato:before { - content: "\f421"; } - -.fa-itunes:before { - content: "\f3b4"; } - -.fa-cuttlefish:before { - content: "\f38c"; } - -.fa-blogger:before { - content: "\f37c"; } - -.fa-flickr:before { - content: "\f16e"; } - -.fa-viber:before { - content: "\f409"; } - -.fa-soundcloud:before { - content: "\f1be"; } - -.fa-digg:before { - content: "\f1a6"; } - -.fa-tencent-weibo:before { - content: "\f1d5"; } - -.fa-symfony:before { - content: "\f83d"; } - -.fa-maxcdn:before { - content: "\f136"; } - -.fa-etsy:before { - content: "\f2d7"; } - -.fa-facebook-messenger:before { - content: "\f39f"; } - -.fa-audible:before { - content: "\f373"; } - -.fa-think-peaks:before { - content: "\f731"; } - -.fa-bilibili:before { - content: "\e3d9"; } - -.fa-erlang:before { - content: "\f39d"; } - -.fa-cotton-bureau:before { - content: "\f89e"; } - -.fa-dashcube:before { - content: "\f210"; } - -.fa-42-group:before { - content: "\e080"; } - -.fa-innosoft:before { - content: "\e080"; } - -.fa-stack-exchange:before { - content: "\f18d"; } - -.fa-elementor:before { - content: "\f430"; } - -.fa-square-pied-piper:before { - content: "\e01e"; } - -.fa-pied-piper-square:before { - content: "\e01e"; } - -.fa-creative-commons-nd:before { - content: "\f4eb"; } - -.fa-palfed:before { - content: "\f3d8"; } - -.fa-superpowers:before { - content: "\f2dd"; } - -.fa-resolving:before { - content: "\f3e7"; } - -.fa-xbox:before { - content: "\f412"; } - -.fa-searchengin:before { - content: "\f3eb"; } - -.fa-tiktok:before { - content: "\e07b"; } - -.fa-square-facebook:before { - content: "\f082"; } - -.fa-facebook-square:before { - content: "\f082"; } - -.fa-renren:before { - content: "\f18b"; } - -.fa-linux:before { - content: "\f17c"; } - -.fa-glide:before { - content: "\f2a5"; } - -.fa-linkedin:before { - content: "\f08c"; } - -.fa-hubspot:before { - content: "\f3b2"; } - -.fa-deploydog:before { - content: "\f38e"; } - -.fa-twitch:before { - content: "\f1e8"; } - -.fa-ravelry:before { - content: "\f2d9"; } - -.fa-mixer:before { - content: "\e056"; } - -.fa-square-lastfm:before { - content: "\f203"; } - -.fa-lastfm-square:before { - content: "\f203"; } - -.fa-vimeo:before { - content: "\f40a"; } - -.fa-mendeley:before { - content: "\f7b3"; } - -.fa-uniregistry:before { - content: "\f404"; } - -.fa-figma:before { - content: "\f799"; } - -.fa-creative-commons-remix:before { - content: "\f4ee"; } - -.fa-cc-amazon-pay:before { - content: "\f42d"; } - -.fa-dropbox:before { - content: "\f16b"; } - -.fa-instagram:before { - content: "\f16d"; } - -.fa-cmplid:before { - content: "\e360"; } - -.fa-facebook:before { - content: "\f09a"; } - -.fa-gripfire:before { - content: "\f3ac"; } - -.fa-jedi-order:before { - content: "\f50e"; } - -.fa-uikit:before { - content: "\f403"; } - -.fa-fort-awesome-alt:before { - content: "\f3a3"; } - -.fa-phabricator:before { - content: "\f3db"; } - -.fa-ussunnah:before { - content: "\f407"; } - -.fa-earlybirds:before { - content: "\f39a"; } - -.fa-trade-federation:before { - content: "\f513"; } - -.fa-autoprefixer:before { - content: "\f41c"; } - -.fa-whatsapp:before { - content: "\f232"; } - -.fa-slideshare:before { - content: "\f1e7"; } - -.fa-google-play:before { - content: "\f3ab"; } - -.fa-viadeo:before { - content: "\f2a9"; } - -.fa-line:before { - content: "\f3c0"; } - -.fa-google-drive:before { - content: "\f3aa"; } - -.fa-servicestack:before { - content: "\f3ec"; } - -.fa-simplybuilt:before { - content: "\f215"; } - -.fa-bitbucket:before { - content: "\f171"; } - -.fa-imdb:before { - content: "\f2d8"; } - -.fa-deezer:before { - content: "\e077"; } - -.fa-raspberry-pi:before { - content: "\f7bb"; } - -.fa-jira:before { - content: "\f7b1"; } - -.fa-docker:before { - content: "\f395"; } - -.fa-screenpal:before { - content: "\e570"; } - -.fa-bluetooth:before { - content: "\f293"; } - -.fa-gitter:before { - content: "\f426"; } - -.fa-d-and-d:before { - content: "\f38d"; } - -.fa-microblog:before { - content: "\e01a"; } - -.fa-cc-diners-club:before { - content: "\f24c"; } - -.fa-gg-circle:before { - content: "\f261"; } - -.fa-pied-piper-hat:before { - content: "\f4e5"; } - -.fa-kickstarter-k:before { - content: "\f3bc"; } - -.fa-yandex:before { - content: "\f413"; } - -.fa-readme:before { - content: "\f4d5"; } - -.fa-html5:before { - content: "\f13b"; } - -.fa-sellsy:before { - content: "\f213"; } - -.fa-sass:before { - content: "\f41e"; } - -.fa-wirsindhandwerk:before { - content: "\e2d0"; } - -.fa-wsh:before { - content: "\e2d0"; } - -.fa-buromobelexperte:before { - content: "\f37f"; } - -.fa-salesforce:before { - content: "\f83b"; } - -.fa-octopus-deploy:before { - content: "\e082"; } - -.fa-medapps:before { - content: "\f3c6"; } - -.fa-ns8:before { - content: "\f3d5"; } - -.fa-pinterest-p:before { - content: "\f231"; } - -.fa-apper:before { - content: "\f371"; } - -.fa-fort-awesome:before { - content: "\f286"; } - -.fa-waze:before { - content: "\f83f"; } - -.fa-cc-jcb:before { - content: "\f24b"; } - -.fa-snapchat:before { - content: "\f2ab"; } - -.fa-snapchat-ghost:before { - content: "\f2ab"; } - -.fa-fantasy-flight-games:before { - content: "\f6dc"; } - -.fa-rust:before { - content: "\e07a"; } - -.fa-wix:before { - content: "\f5cf"; } - -.fa-square-behance:before { - content: "\f1b5"; } - -.fa-behance-square:before { - content: "\f1b5"; } - -.fa-supple:before { - content: "\f3f9"; } - -.fa-rebel:before { - content: "\f1d0"; } - -.fa-css3:before { - content: "\f13c"; } - -.fa-staylinked:before { - content: "\f3f5"; } - -.fa-kaggle:before { - content: "\f5fa"; } - -.fa-space-awesome:before { - content: "\e5ac"; } - -.fa-deviantart:before { - content: "\f1bd"; } - -.fa-cpanel:before { - content: "\f388"; } - -.fa-goodreads-g:before { - content: "\f3a9"; } - -.fa-square-git:before { - content: "\f1d2"; } - -.fa-git-square:before { - content: "\f1d2"; } - -.fa-square-tumblr:before { - content: "\f174"; } - -.fa-tumblr-square:before { - content: "\f174"; } - -.fa-trello:before { - content: "\f181"; } - -.fa-creative-commons-nc-jp:before { - content: "\f4ea"; } - -.fa-get-pocket:before { - content: "\f265"; } - -.fa-perbyte:before { - content: "\e083"; } - -.fa-grunt:before { - content: "\f3ad"; } - -.fa-weebly:before { - content: "\f5cc"; } - -.fa-connectdevelop:before { - content: "\f20e"; } - -.fa-leanpub:before { - content: "\f212"; } - -.fa-black-tie:before { - content: "\f27e"; } - -.fa-themeco:before { - content: "\f5c6"; } - -.fa-python:before { - content: "\f3e2"; } - -.fa-android:before { - content: "\f17b"; } - -.fa-bots:before { - content: "\e340"; } - -.fa-free-code-camp:before { - content: "\f2c5"; } - -.fa-hornbill:before { - content: "\f592"; } - -.fa-js:before { - content: "\f3b8"; } - -.fa-ideal:before { - content: "\e013"; } - -.fa-git:before { - content: "\f1d3"; } - -.fa-dev:before { - content: "\f6cc"; } - -.fa-sketch:before { - content: "\f7c6"; } - -.fa-yandex-international:before { - content: "\f414"; } - -.fa-cc-amex:before { - content: "\f1f3"; } - -.fa-uber:before { - content: "\f402"; } - -.fa-github:before { - content: "\f09b"; } - -.fa-php:before { - content: "\f457"; } - -.fa-alipay:before { - content: "\f642"; } - -.fa-youtube:before { - content: "\f167"; } - -.fa-skyatlas:before { - content: "\f216"; } - -.fa-firefox-browser:before { - content: "\e007"; } - -.fa-replyd:before { - content: "\f3e6"; } - -.fa-suse:before { - content: "\f7d6"; } - -.fa-jenkins:before { - content: "\f3b6"; } - -.fa-twitter:before { - content: "\f099"; } - -.fa-rockrms:before { - content: "\f3e9"; } - -.fa-pinterest:before { - content: "\f0d2"; } - -.fa-buffer:before { - content: "\f837"; } - -.fa-npm:before { - content: "\f3d4"; } - -.fa-yammer:before { - content: "\f840"; } - -.fa-btc:before { - content: "\f15a"; } - -.fa-dribbble:before { - content: "\f17d"; } - -.fa-stumbleupon-circle:before { - content: "\f1a3"; } - -.fa-internet-explorer:before { - content: "\f26b"; } - -.fa-stubber:before { - content: "\e5c7"; } - -.fa-telegram:before { - content: "\f2c6"; } - -.fa-telegram-plane:before { - content: "\f2c6"; } - -.fa-old-republic:before { - content: "\f510"; } - -.fa-odysee:before { - content: "\e5c6"; } - -.fa-square-whatsapp:before { - content: "\f40c"; } - -.fa-whatsapp-square:before { - content: "\f40c"; } - -.fa-node-js:before { - content: "\f3d3"; } - -.fa-edge-legacy:before { - content: "\e078"; } - -.fa-slack:before { - content: "\f198"; } - -.fa-slack-hash:before { - content: "\f198"; } - -.fa-medrt:before { - content: "\f3c8"; } - -.fa-usb:before { - content: "\f287"; } - -.fa-tumblr:before { - content: "\f173"; } - -.fa-vaadin:before { - content: "\f408"; } - -.fa-quora:before { - content: "\f2c4"; } - -.fa-reacteurope:before { - content: "\f75d"; } - -.fa-medium:before { - content: "\f23a"; } - -.fa-medium-m:before { - content: "\f23a"; } - -.fa-amilia:before { - content: "\f36d"; } - -.fa-mixcloud:before { - content: "\f289"; } - -.fa-flipboard:before { - content: "\f44d"; } - -.fa-viacoin:before { - content: "\f237"; } - -.fa-critical-role:before { - content: "\f6c9"; } - -.fa-sitrox:before { - content: "\e44a"; } - -.fa-discourse:before { - content: "\f393"; } - -.fa-joomla:before { - content: "\f1aa"; } - -.fa-mastodon:before { - content: "\f4f6"; } - -.fa-airbnb:before { - content: "\f834"; } - -.fa-wolf-pack-battalion:before { - content: "\f514"; } - -.fa-buy-n-large:before { - content: "\f8a6"; } - -.fa-gulp:before { - content: "\f3ae"; } - -.fa-creative-commons-sampling-plus:before { - content: "\f4f1"; } - -.fa-strava:before { - content: "\f428"; } - -.fa-ember:before { - content: "\f423"; } - -.fa-canadian-maple-leaf:before { - content: "\f785"; } - -.fa-teamspeak:before { - content: "\f4f9"; } - -.fa-pushed:before { - content: "\f3e1"; } - -.fa-wordpress-simple:before { - content: "\f411"; } - -.fa-nutritionix:before { - content: "\f3d6"; } - -.fa-wodu:before { - content: "\e088"; } - -.fa-google-pay:before { - content: "\e079"; } - -.fa-intercom:before { - content: "\f7af"; } - -.fa-zhihu:before { - content: "\f63f"; } - -.fa-korvue:before { - content: "\f42f"; } - -.fa-pix:before { - content: "\e43a"; } - -.fa-steam-symbol:before { - content: "\f3f6"; } -:root, :host { - --fa-style-family-classic: 'Font Awesome 6 Free'; - --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("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.ttf") format("truetype"); } - -.far, -.fa-regular { - font-weight: 400; } -:root, :host { - --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("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.ttf") format("truetype"); } - -.fas, -.fa-solid { - font-weight: 900; } -@font-face { - font-family: 'Font Awesome 5 Brands'; - font-display: block; - font-weight: 400; - src: url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.ttf") format("truetype"); } - -@font-face { - font-family: 'Font Awesome 5 Free'; - font-display: block; - font-weight: 900; - src: url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.ttf") format("truetype"); } - -@font-face { - font-family: 'Font Awesome 5 Free'; - font-display: block; - font-weight: 400; - src: url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.ttf") format("truetype"); } -@font-face { - font-family: 'FontAwesome'; - font-display: block; - src: url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.ttf") format("truetype"); } - -@font-face { - font-family: 'FontAwesome'; - font-display: block; - src: url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.ttf") format("truetype"); } - -@font-face { - font-family: 'FontAwesome'; - font-display: block; - src: url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.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("../webfonts/fa-v4compatibility.woff2") format("woff2"), url("../webfonts/fa-v4compatibility.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; } diff --git a/fontawesome/css/all.min.css b/fontawesome/css/all.min.css deleted file mode 100644 index 63e62c35f24a1168a6fc2bd0c0617429a93e054d..0000000000000000000000000000000000000000 --- a/fontawesome/css/all.min.css +++ /dev/null @@ -1,9 +0,0 @@ -/*! - * Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) - * Copyright 2023 Fonticons, Inc. - */ -.fa{font-family:var(--fa-style-family,"Font Awesome 6 Free");font-weight:var(--fa-style,900)}.fa,.fa-brands,.fa-classic,.fa-regular,.fa-sharp,.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-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:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.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,.1em);border:var(--fa-border-width,.08em) var(--fa-border-style,solid) var(--fa-border-color,#eee);padding:var(--fa-border-padding,.2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin,.3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin,.3em)}.fa-beat{-webkit-animation-name:fa-beat;animation-name:fa-beat;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{-webkit-animation-name:fa-bounce;animation-name:fa-bounce;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1))}.fa-fade{-webkit-animation-name:fa-fade;animation-name:fa-fade;-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-beat-fade,.fa-fade{-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s)}.fa-beat-fade{-webkit-animation-name:fa-beat-fade;animation-name:fa-beat-fade;-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-flip{-webkit-animation-name:fa-flip;animation-name:fa-flip;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{-webkit-animation-name:fa-shake;animation-name:fa-shake;-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,linear);animation-timing-function:var(--fa-animation-timing,linear)}.fa-shake,.fa-spin{-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal)}.fa-spin{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-duration:var(--fa-animation-duration,2s);animation-duration:var(--fa-animation-duration,2s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,linear);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,steps(8));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{-webkit-animation-delay:-1ms;animation-delay:-1ms;-webkit-animation-duration:1ms;animation-duration:1ms;-webkit-animation-iteration-count:1;animation-iteration-count:1;-webkit-transition-delay:0s;transition-delay:0s;-webkit-transition-duration:0s;transition-duration:0s}}@-webkit-keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@-webkit-keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@-webkit-keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@-webkit-keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@-webkit-keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@-webkit-keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}.fa-rotate-by{-webkit-transform:rotate(var(--fa-rotate-angle,none));transform:rotate(var(--fa-rotate-angle,none))}.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:before{content:"\30"}.fa-1:before{content:"\31"}.fa-2:before{content:"\32"}.fa-3:before{content:"\33"}.fa-4:before{content:"\34"}.fa-5:before{content:"\35"}.fa-6:before{content:"\36"}.fa-7:before{content:"\37"}.fa-8:before{content:"\38"}.fa-9:before{content:"\39"}.fa-fill-drip:before{content:"\f576"}.fa-arrows-to-circle:before{content:"\e4bd"}.fa-chevron-circle-right:before,.fa-circle-chevron-right:before{content:"\f138"}.fa-at:before{content:"\40"}.fa-trash-alt:before,.fa-trash-can:before{content:"\f2ed"}.fa-text-height:before{content:"\f034"}.fa-user-times:before,.fa-user-xmark:before{content:"\f235"}.fa-stethoscope:before{content:"\f0f1"}.fa-comment-alt:before,.fa-message:before{content:"\f27a"}.fa-info:before{content:"\f129"}.fa-compress-alt:before,.fa-down-left-and-up-right-to-center:before{content:"\f422"}.fa-explosion:before{content:"\e4e9"}.fa-file-alt:before,.fa-file-lines:before,.fa-file-text:before{content:"\f15c"}.fa-wave-square:before{content:"\f83e"}.fa-ring:before{content:"\f70b"}.fa-building-un:before{content:"\e4d9"}.fa-dice-three:before{content:"\f527"}.fa-calendar-alt:before,.fa-calendar-days:before{content:"\f073"}.fa-anchor-circle-check:before{content:"\e4aa"}.fa-building-circle-arrow-right:before{content:"\e4d1"}.fa-volleyball-ball:before,.fa-volleyball:before{content:"\f45f"}.fa-arrows-up-to-line:before{content:"\e4c2"}.fa-sort-desc:before,.fa-sort-down:before{content:"\f0dd"}.fa-circle-minus:before,.fa-minus-circle:before{content:"\f056"}.fa-door-open:before{content:"\f52b"}.fa-right-from-bracket:before,.fa-sign-out-alt:before{content:"\f2f5"}.fa-atom:before{content:"\f5d2"}.fa-soap:before{content:"\e06e"}.fa-heart-music-camera-bolt:before,.fa-icons:before{content:"\f86d"}.fa-microphone-alt-slash:before,.fa-microphone-lines-slash:before{content:"\f539"}.fa-bridge-circle-check:before{content:"\e4c9"}.fa-pump-medical:before{content:"\e06a"}.fa-fingerprint:before{content:"\f577"}.fa-hand-point-right:before{content:"\f0a4"}.fa-magnifying-glass-location:before,.fa-search-location:before{content:"\f689"}.fa-forward-step:before,.fa-step-forward:before{content:"\f051"}.fa-face-smile-beam:before,.fa-smile-beam:before{content:"\f5b8"}.fa-flag-checkered:before{content:"\f11e"}.fa-football-ball:before,.fa-football:before{content:"\f44e"}.fa-school-circle-exclamation:before{content:"\e56c"}.fa-crop:before{content:"\f125"}.fa-angle-double-down:before,.fa-angles-down:before{content:"\f103"}.fa-users-rectangle:before{content:"\e594"}.fa-people-roof:before{content:"\e537"}.fa-people-line:before{content:"\e534"}.fa-beer-mug-empty:before,.fa-beer:before{content:"\f0fc"}.fa-diagram-predecessor:before{content:"\e477"}.fa-arrow-up-long:before,.fa-long-arrow-up:before{content:"\f176"}.fa-burn:before,.fa-fire-flame-simple:before{content:"\f46a"}.fa-male:before,.fa-person:before{content:"\f183"}.fa-laptop:before{content:"\f109"}.fa-file-csv:before{content:"\f6dd"}.fa-menorah:before{content:"\f676"}.fa-truck-plane:before{content:"\e58f"}.fa-record-vinyl:before{content:"\f8d9"}.fa-face-grin-stars:before,.fa-grin-stars:before{content:"\f587"}.fa-bong:before{content:"\f55c"}.fa-pastafarianism:before,.fa-spaghetti-monster-flying:before{content:"\f67b"}.fa-arrow-down-up-across-line:before{content:"\e4af"}.fa-spoon:before,.fa-utensil-spoon:before{content:"\f2e5"}.fa-jar-wheat:before{content:"\e517"}.fa-envelopes-bulk:before,.fa-mail-bulk:before{content:"\f674"}.fa-file-circle-exclamation:before{content:"\e4eb"}.fa-circle-h:before,.fa-hospital-symbol:before{content:"\f47e"}.fa-pager:before{content:"\f815"}.fa-address-book:before,.fa-contact-book:before{content:"\f2b9"}.fa-strikethrough:before{content:"\f0cc"}.fa-k:before{content:"\4b"}.fa-landmark-flag:before{content:"\e51c"}.fa-pencil-alt:before,.fa-pencil:before{content:"\f303"}.fa-backward:before{content:"\f04a"}.fa-caret-right:before{content:"\f0da"}.fa-comments:before{content:"\f086"}.fa-file-clipboard:before,.fa-paste:before{content:"\f0ea"}.fa-code-pull-request:before{content:"\e13c"}.fa-clipboard-list:before{content:"\f46d"}.fa-truck-loading:before,.fa-truck-ramp-box:before{content:"\f4de"}.fa-user-check:before{content:"\f4fc"}.fa-vial-virus:before{content:"\e597"}.fa-sheet-plastic:before{content:"\e571"}.fa-blog:before{content:"\f781"}.fa-user-ninja:before{content:"\f504"}.fa-person-arrow-up-from-line:before{content:"\e539"}.fa-scroll-torah:before,.fa-torah:before{content:"\f6a0"}.fa-broom-ball:before,.fa-quidditch-broom-ball:before,.fa-quidditch:before{content:"\f458"}.fa-toggle-off:before{content:"\f204"}.fa-archive:before,.fa-box-archive:before{content:"\f187"}.fa-person-drowning:before{content:"\e545"}.fa-arrow-down-9-1:before,.fa-sort-numeric-desc:before,.fa-sort-numeric-down-alt:before{content:"\f886"}.fa-face-grin-tongue-squint:before,.fa-grin-tongue-squint:before{content:"\f58a"}.fa-spray-can:before{content:"\f5bd"}.fa-truck-monster:before{content:"\f63b"}.fa-w:before{content:"\57"}.fa-earth-africa:before,.fa-globe-africa:before{content:"\f57c"}.fa-rainbow:before{content:"\f75b"}.fa-circle-notch:before{content:"\f1ce"}.fa-tablet-alt:before,.fa-tablet-screen-button:before{content:"\f3fa"}.fa-paw:before{content:"\f1b0"}.fa-cloud:before{content:"\f0c2"}.fa-trowel-bricks:before{content:"\e58a"}.fa-face-flushed:before,.fa-flushed:before{content:"\f579"}.fa-hospital-user:before{content:"\f80d"}.fa-tent-arrow-left-right:before{content:"\e57f"}.fa-gavel:before,.fa-legal:before{content:"\f0e3"}.fa-binoculars:before{content:"\f1e5"}.fa-microphone-slash:before{content:"\f131"}.fa-box-tissue:before{content:"\e05b"}.fa-motorcycle:before{content:"\f21c"}.fa-bell-concierge:before,.fa-concierge-bell:before{content:"\f562"}.fa-pen-ruler:before,.fa-pencil-ruler:before{content:"\f5ae"}.fa-people-arrows-left-right:before,.fa-people-arrows:before{content:"\e068"}.fa-mars-and-venus-burst:before{content:"\e523"}.fa-caret-square-right:before,.fa-square-caret-right:before{content:"\f152"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-sun-plant-wilt:before{content:"\e57a"}.fa-toilets-portable:before{content:"\e584"}.fa-hockey-puck:before{content:"\f453"}.fa-table:before{content:"\f0ce"}.fa-magnifying-glass-arrow-right:before{content:"\e521"}.fa-digital-tachograph:before,.fa-tachograph-digital:before{content:"\f566"}.fa-users-slash:before{content:"\e073"}.fa-clover:before{content:"\e139"}.fa-mail-reply:before,.fa-reply:before{content:"\f3e5"}.fa-star-and-crescent:before{content:"\f699"}.fa-house-fire:before{content:"\e50c"}.fa-minus-square:before,.fa-square-minus:before{content:"\f146"}.fa-helicopter:before{content:"\f533"}.fa-compass:before{content:"\f14e"}.fa-caret-square-down:before,.fa-square-caret-down:before{content:"\f150"}.fa-file-circle-question:before{content:"\e4ef"}.fa-laptop-code:before{content:"\f5fc"}.fa-swatchbook:before{content:"\f5c3"}.fa-prescription-bottle:before{content:"\f485"}.fa-bars:before,.fa-navicon:before{content:"\f0c9"}.fa-people-group:before{content:"\e533"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-heart-broken:before,.fa-heart-crack:before{content:"\f7a9"}.fa-external-link-square-alt:before,.fa-square-up-right:before{content:"\f360"}.fa-face-kiss-beam:before,.fa-kiss-beam:before{content:"\f597"}.fa-film:before{content:"\f008"}.fa-ruler-horizontal:before{content:"\f547"}.fa-people-robbery:before{content:"\e536"}.fa-lightbulb:before{content:"\f0eb"}.fa-caret-left:before{content:"\f0d9"}.fa-circle-exclamation:before,.fa-exclamation-circle:before{content:"\f06a"}.fa-school-circle-xmark:before{content:"\e56d"}.fa-arrow-right-from-bracket:before,.fa-sign-out:before{content:"\f08b"}.fa-chevron-circle-down:before,.fa-circle-chevron-down:before{content:"\f13a"}.fa-unlock-alt:before,.fa-unlock-keyhole:before{content:"\f13e"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-headphones-alt:before,.fa-headphones-simple:before{content:"\f58f"}.fa-sitemap:before{content:"\f0e8"}.fa-circle-dollar-to-slot:before,.fa-donate:before{content:"\f4b9"}.fa-memory:before{content:"\f538"}.fa-road-spikes:before{content:"\e568"}.fa-fire-burner:before{content:"\e4f1"}.fa-flag:before{content:"\f024"}.fa-hanukiah:before{content:"\f6e6"}.fa-feather:before{content:"\f52d"}.fa-volume-down:before,.fa-volume-low:before{content:"\f027"}.fa-comment-slash:before{content:"\f4b3"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-compress:before{content:"\f066"}.fa-wheat-alt:before,.fa-wheat-awn:before{content:"\e2cd"}.fa-ankh:before{content:"\f644"}.fa-hands-holding-child:before{content:"\e4fa"}.fa-asterisk:before{content:"\2a"}.fa-check-square:before,.fa-square-check:before{content:"\f14a"}.fa-peseta-sign:before{content:"\e221"}.fa-header:before,.fa-heading:before{content:"\f1dc"}.fa-ghost:before{content:"\f6e2"}.fa-list-squares:before,.fa-list:before{content:"\f03a"}.fa-phone-square-alt:before,.fa-square-phone-flip:before{content:"\f87b"}.fa-cart-plus:before{content:"\f217"}.fa-gamepad:before{content:"\f11b"}.fa-circle-dot:before,.fa-dot-circle:before{content:"\f192"}.fa-dizzy:before,.fa-face-dizzy:before{content:"\f567"}.fa-egg:before{content:"\f7fb"}.fa-house-medical-circle-xmark:before{content:"\e513"}.fa-campground:before{content:"\f6bb"}.fa-folder-plus:before{content:"\f65e"}.fa-futbol-ball:before,.fa-futbol:before,.fa-soccer-ball:before{content:"\f1e3"}.fa-paint-brush:before,.fa-paintbrush:before{content:"\f1fc"}.fa-lock:before{content:"\f023"}.fa-gas-pump:before{content:"\f52f"}.fa-hot-tub-person:before,.fa-hot-tub:before{content:"\f593"}.fa-map-location:before,.fa-map-marked:before{content:"\f59f"}.fa-house-flood-water:before{content:"\e50e"}.fa-tree:before{content:"\f1bb"}.fa-bridge-lock:before{content:"\e4cc"}.fa-sack-dollar:before{content:"\f81d"}.fa-edit:before,.fa-pen-to-square:before{content:"\f044"}.fa-car-side:before{content:"\f5e4"}.fa-share-alt:before,.fa-share-nodes:before{content:"\f1e0"}.fa-heart-circle-minus:before{content:"\e4ff"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-microscope:before{content:"\f610"}.fa-sink:before{content:"\e06d"}.fa-bag-shopping:before,.fa-shopping-bag:before{content:"\f290"}.fa-arrow-down-z-a:before,.fa-sort-alpha-desc:before,.fa-sort-alpha-down-alt:before{content:"\f881"}.fa-mitten:before{content:"\f7b5"}.fa-person-rays:before{content:"\e54d"}.fa-users:before{content:"\f0c0"}.fa-eye-slash:before{content:"\f070"}.fa-flask-vial:before{content:"\e4f3"}.fa-hand-paper:before,.fa-hand:before{content:"\f256"}.fa-om:before{content:"\f679"}.fa-worm:before{content:"\e599"}.fa-house-circle-xmark:before{content:"\e50b"}.fa-plug:before{content:"\f1e6"}.fa-chevron-up:before{content:"\f077"}.fa-hand-spock:before{content:"\f259"}.fa-stopwatch:before{content:"\f2f2"}.fa-face-kiss:before,.fa-kiss:before{content:"\f596"}.fa-bridge-circle-xmark:before{content:"\e4cb"}.fa-face-grin-tongue:before,.fa-grin-tongue:before{content:"\f589"}.fa-chess-bishop:before{content:"\f43a"}.fa-face-grin-wink:before,.fa-grin-wink:before{content:"\f58c"}.fa-deaf:before,.fa-deafness:before,.fa-ear-deaf:before,.fa-hard-of-hearing:before{content:"\f2a4"}.fa-road-circle-check:before{content:"\e564"}.fa-dice-five:before{content:"\f523"}.fa-rss-square:before,.fa-square-rss:before{content:"\f143"}.fa-land-mine-on:before{content:"\e51b"}.fa-i-cursor:before{content:"\f246"}.fa-stamp:before{content:"\f5bf"}.fa-stairs:before{content:"\e289"}.fa-i:before{content:"\49"}.fa-hryvnia-sign:before,.fa-hryvnia:before{content:"\f6f2"}.fa-pills:before{content:"\f484"}.fa-face-grin-wide:before,.fa-grin-alt:before{content:"\f581"}.fa-tooth:before{content:"\f5c9"}.fa-v:before{content:"\56"}.fa-bangladeshi-taka-sign:before{content:"\e2e6"}.fa-bicycle:before{content:"\f206"}.fa-rod-asclepius:before,.fa-rod-snake:before,.fa-staff-aesculapius:before,.fa-staff-snake:before{content:"\e579"}.fa-head-side-cough-slash:before{content:"\e062"}.fa-ambulance:before,.fa-truck-medical:before{content:"\f0f9"}.fa-wheat-awn-circle-exclamation:before{content:"\e598"}.fa-snowman:before{content:"\f7d0"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-road-barrier:before{content:"\e562"}.fa-school:before{content:"\f549"}.fa-igloo:before{content:"\f7ae"}.fa-joint:before{content:"\f595"}.fa-angle-right:before{content:"\f105"}.fa-horse:before{content:"\f6f0"}.fa-q:before{content:"\51"}.fa-g:before{content:"\47"}.fa-notes-medical:before{content:"\f481"}.fa-temperature-2:before,.fa-temperature-half:before,.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-dong-sign:before{content:"\e169"}.fa-capsules:before{content:"\f46b"}.fa-poo-bolt:before,.fa-poo-storm:before{content:"\f75a"}.fa-face-frown-open:before,.fa-frown-open:before{content:"\f57a"}.fa-hand-point-up:before{content:"\f0a6"}.fa-money-bill:before{content:"\f0d6"}.fa-bookmark:before{content:"\f02e"}.fa-align-justify:before{content:"\f039"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-helmet-un:before{content:"\e503"}.fa-bullseye:before{content:"\f140"}.fa-bacon:before{content:"\f7e5"}.fa-hand-point-down:before{content:"\f0a7"}.fa-arrow-up-from-bracket:before{content:"\e09a"}.fa-folder-blank:before,.fa-folder:before{content:"\f07b"}.fa-file-medical-alt:before,.fa-file-waveform:before{content:"\f478"}.fa-radiation:before{content:"\f7b9"}.fa-chart-simple:before{content:"\e473"}.fa-mars-stroke:before{content:"\f229"}.fa-vial:before{content:"\f492"}.fa-dashboard:before,.fa-gauge-med:before,.fa-gauge:before,.fa-tachometer-alt-average:before{content:"\f624"}.fa-magic-wand-sparkles:before,.fa-wand-magic-sparkles:before{content:"\e2ca"}.fa-e:before{content:"\45"}.fa-pen-alt:before,.fa-pen-clip:before{content:"\f305"}.fa-bridge-circle-exclamation:before{content:"\e4ca"}.fa-user:before{content:"\f007"}.fa-school-circle-check:before{content:"\e56b"}.fa-dumpster:before{content:"\f793"}.fa-shuttle-van:before,.fa-van-shuttle:before{content:"\f5b6"}.fa-building-user:before{content:"\e4da"}.fa-caret-square-left:before,.fa-square-caret-left:before{content:"\f191"}.fa-highlighter:before{content:"\f591"}.fa-key:before{content:"\f084"}.fa-bullhorn:before{content:"\f0a1"}.fa-globe:before{content:"\f0ac"}.fa-synagogue:before{content:"\f69b"}.fa-person-half-dress:before{content:"\e548"}.fa-road-bridge:before{content:"\e563"}.fa-location-arrow:before{content:"\f124"}.fa-c:before{content:"\43"}.fa-tablet-button:before{content:"\f10a"}.fa-building-lock:before{content:"\e4d6"}.fa-pizza-slice:before{content:"\f818"}.fa-money-bill-wave:before{content:"\f53a"}.fa-area-chart:before,.fa-chart-area:before{content:"\f1fe"}.fa-house-flag:before{content:"\e50d"}.fa-person-circle-minus:before{content:"\e540"}.fa-ban:before,.fa-cancel:before{content:"\f05e"}.fa-camera-rotate:before{content:"\e0d8"}.fa-air-freshener:before,.fa-spray-can-sparkles:before{content:"\f5d0"}.fa-star:before{content:"\f005"}.fa-repeat:before{content:"\f363"}.fa-cross:before{content:"\f654"}.fa-box:before{content:"\f466"}.fa-venus-mars:before{content:"\f228"}.fa-arrow-pointer:before,.fa-mouse-pointer:before{content:"\f245"}.fa-expand-arrows-alt:before,.fa-maximize:before{content:"\f31e"}.fa-charging-station:before{content:"\f5e7"}.fa-shapes:before,.fa-triangle-circle-square:before{content:"\f61f"}.fa-random:before,.fa-shuffle:before{content:"\f074"}.fa-person-running:before,.fa-running:before{content:"\f70c"}.fa-mobile-retro:before{content:"\e527"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-spider:before{content:"\f717"}.fa-hands-bound:before{content:"\e4f9"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-plane-circle-exclamation:before{content:"\e556"}.fa-x-ray:before{content:"\f497"}.fa-spell-check:before{content:"\f891"}.fa-slash:before{content:"\f715"}.fa-computer-mouse:before,.fa-mouse:before{content:"\f8cc"}.fa-arrow-right-to-bracket:before,.fa-sign-in:before{content:"\f090"}.fa-shop-slash:before,.fa-store-alt-slash:before{content:"\e070"}.fa-server:before{content:"\f233"}.fa-virus-covid-slash:before{content:"\e4a9"}.fa-shop-lock:before{content:"\e4a5"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-blender-phone:before{content:"\f6b6"}.fa-building-wheat:before{content:"\e4db"}.fa-person-breastfeeding:before{content:"\e53a"}.fa-right-to-bracket:before,.fa-sign-in-alt:before{content:"\f2f6"}.fa-venus:before{content:"\f221"}.fa-passport:before{content:"\f5ab"}.fa-heart-pulse:before,.fa-heartbeat:before{content:"\f21e"}.fa-people-carry-box:before,.fa-people-carry:before{content:"\f4ce"}.fa-temperature-high:before{content:"\f769"}.fa-microchip:before{content:"\f2db"}.fa-crown:before{content:"\f521"}.fa-weight-hanging:before{content:"\f5cd"}.fa-xmarks-lines:before{content:"\e59a"}.fa-file-prescription:before{content:"\f572"}.fa-weight-scale:before,.fa-weight:before{content:"\f496"}.fa-user-friends:before,.fa-user-group:before{content:"\f500"}.fa-arrow-up-a-z:before,.fa-sort-alpha-up:before{content:"\f15e"}.fa-chess-knight:before{content:"\f441"}.fa-face-laugh-squint:before,.fa-laugh-squint:before{content:"\f59b"}.fa-wheelchair:before{content:"\f193"}.fa-arrow-circle-up:before,.fa-circle-arrow-up:before{content:"\f0aa"}.fa-toggle-on:before{content:"\f205"}.fa-person-walking:before,.fa-walking:before{content:"\f554"}.fa-l:before{content:"\4c"}.fa-fire:before{content:"\f06d"}.fa-bed-pulse:before,.fa-procedures:before{content:"\f487"}.fa-shuttle-space:before,.fa-space-shuttle:before{content:"\f197"}.fa-face-laugh:before,.fa-laugh:before{content:"\f599"}.fa-folder-open:before{content:"\f07c"}.fa-heart-circle-plus:before{content:"\e500"}.fa-code-fork:before{content:"\e13b"}.fa-city:before{content:"\f64f"}.fa-microphone-alt:before,.fa-microphone-lines:before{content:"\f3c9"}.fa-pepper-hot:before{content:"\f816"}.fa-unlock:before{content:"\f09c"}.fa-colon-sign:before{content:"\e140"}.fa-headset:before{content:"\f590"}.fa-store-slash:before{content:"\e071"}.fa-road-circle-xmark:before{content:"\e566"}.fa-user-minus:before{content:"\f503"}.fa-mars-stroke-up:before,.fa-mars-stroke-v:before{content:"\f22a"}.fa-champagne-glasses:before,.fa-glass-cheers:before{content:"\f79f"}.fa-clipboard:before{content:"\f328"}.fa-house-circle-exclamation:before{content:"\e50a"}.fa-file-arrow-up:before,.fa-file-upload:before{content:"\f574"}.fa-wifi-3:before,.fa-wifi-strong:before,.fa-wifi:before{content:"\f1eb"}.fa-bath:before,.fa-bathtub:before{content:"\f2cd"}.fa-underline:before{content:"\f0cd"}.fa-user-edit:before,.fa-user-pen:before{content:"\f4ff"}.fa-signature:before{content:"\f5b7"}.fa-stroopwafel:before{content:"\f551"}.fa-bold:before{content:"\f032"}.fa-anchor-lock:before{content:"\e4ad"}.fa-building-ngo:before{content:"\e4d7"}.fa-manat-sign:before{content:"\e1d5"}.fa-not-equal:before{content:"\f53e"}.fa-border-style:before,.fa-border-top-left:before{content:"\f853"}.fa-map-location-dot:before,.fa-map-marked-alt:before{content:"\f5a0"}.fa-jedi:before{content:"\f669"}.fa-poll:before,.fa-square-poll-vertical:before{content:"\f681"}.fa-mug-hot:before{content:"\f7b6"}.fa-battery-car:before,.fa-car-battery:before{content:"\f5df"}.fa-gift:before{content:"\f06b"}.fa-dice-two:before{content:"\f528"}.fa-chess-queen:before{content:"\f445"}.fa-glasses:before{content:"\f530"}.fa-chess-board:before{content:"\f43c"}.fa-building-circle-check:before{content:"\e4d2"}.fa-person-chalkboard:before{content:"\e53d"}.fa-mars-stroke-h:before,.fa-mars-stroke-right:before{content:"\f22b"}.fa-hand-back-fist:before,.fa-hand-rock:before{content:"\f255"}.fa-caret-square-up:before,.fa-square-caret-up:before{content:"\f151"}.fa-cloud-showers-water:before{content:"\e4e4"}.fa-bar-chart:before,.fa-chart-bar:before{content:"\f080"}.fa-hands-bubbles:before,.fa-hands-wash:before{content:"\e05e"}.fa-less-than-equal:before{content:"\f537"}.fa-train:before{content:"\f238"}.fa-eye-low-vision:before,.fa-low-vision:before{content:"\f2a8"}.fa-crow:before{content:"\f520"}.fa-sailboat:before{content:"\e445"}.fa-window-restore:before{content:"\f2d2"}.fa-plus-square:before,.fa-square-plus:before{content:"\f0fe"}.fa-torii-gate:before{content:"\f6a1"}.fa-frog:before{content:"\f52e"}.fa-bucket:before{content:"\e4cf"}.fa-image:before{content:"\f03e"}.fa-microphone:before{content:"\f130"}.fa-cow:before{content:"\f6c8"}.fa-caret-up:before{content:"\f0d8"}.fa-screwdriver:before{content:"\f54a"}.fa-folder-closed:before{content:"\e185"}.fa-house-tsunami:before{content:"\e515"}.fa-square-nfi:before{content:"\e576"}.fa-arrow-up-from-ground-water:before{content:"\e4b5"}.fa-glass-martini-alt:before,.fa-martini-glass:before{content:"\f57b"}.fa-rotate-back:before,.fa-rotate-backward:before,.fa-rotate-left:before,.fa-undo-alt:before{content:"\f2ea"}.fa-columns:before,.fa-table-columns:before{content:"\f0db"}.fa-lemon:before{content:"\f094"}.fa-head-side-mask:before{content:"\e063"}.fa-handshake:before{content:"\f2b5"}.fa-gem:before{content:"\f3a5"}.fa-dolly-box:before,.fa-dolly:before{content:"\f472"}.fa-smoking:before{content:"\f48d"}.fa-compress-arrows-alt:before,.fa-minimize:before{content:"\f78c"}.fa-monument:before{content:"\f5a6"}.fa-snowplow:before{content:"\f7d2"}.fa-angle-double-right:before,.fa-angles-right:before{content:"\f101"}.fa-cannabis:before{content:"\f55f"}.fa-circle-play:before,.fa-play-circle:before{content:"\f144"}.fa-tablets:before{content:"\f490"}.fa-ethernet:before{content:"\f796"}.fa-eur:before,.fa-euro-sign:before,.fa-euro:before{content:"\f153"}.fa-chair:before{content:"\f6c0"}.fa-check-circle:before,.fa-circle-check:before{content:"\f058"}.fa-circle-stop:before,.fa-stop-circle:before{content:"\f28d"}.fa-compass-drafting:before,.fa-drafting-compass:before{content:"\f568"}.fa-plate-wheat:before{content:"\e55a"}.fa-icicles:before{content:"\f7ad"}.fa-person-shelter:before{content:"\e54f"}.fa-neuter:before{content:"\f22c"}.fa-id-badge:before{content:"\f2c1"}.fa-marker:before{content:"\f5a1"}.fa-face-laugh-beam:before,.fa-laugh-beam:before{content:"\f59a"}.fa-helicopter-symbol:before{content:"\e502"}.fa-universal-access:before{content:"\f29a"}.fa-chevron-circle-up:before,.fa-circle-chevron-up:before{content:"\f139"}.fa-lari-sign:before{content:"\e1c8"}.fa-volcano:before{content:"\f770"}.fa-person-walking-dashed-line-arrow-right:before{content:"\e553"}.fa-gbp:before,.fa-pound-sign:before,.fa-sterling-sign:before{content:"\f154"}.fa-viruses:before{content:"\e076"}.fa-square-person-confined:before{content:"\e577"}.fa-user-tie:before{content:"\f508"}.fa-arrow-down-long:before,.fa-long-arrow-down:before{content:"\f175"}.fa-tent-arrow-down-to-line:before{content:"\e57e"}.fa-certificate:before{content:"\f0a3"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-suitcase:before{content:"\f0f2"}.fa-person-skating:before,.fa-skating:before{content:"\f7c5"}.fa-filter-circle-dollar:before,.fa-funnel-dollar:before{content:"\f662"}.fa-camera-retro:before{content:"\f083"}.fa-arrow-circle-down:before,.fa-circle-arrow-down:before{content:"\f0ab"}.fa-arrow-right-to-file:before,.fa-file-import:before{content:"\f56f"}.fa-external-link-square:before,.fa-square-arrow-up-right:before{content:"\f14c"}.fa-box-open:before{content:"\f49e"}.fa-scroll:before{content:"\f70e"}.fa-spa:before{content:"\f5bb"}.fa-location-pin-lock:before{content:"\e51f"}.fa-pause:before{content:"\f04c"}.fa-hill-avalanche:before{content:"\e507"}.fa-temperature-0:before,.fa-temperature-empty:before,.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-bomb:before{content:"\f1e2"}.fa-registered:before{content:"\f25d"}.fa-address-card:before,.fa-contact-card:before,.fa-vcard:before{content:"\f2bb"}.fa-balance-scale-right:before,.fa-scale-unbalanced-flip:before{content:"\f516"}.fa-subscript:before{content:"\f12c"}.fa-diamond-turn-right:before,.fa-directions:before{content:"\f5eb"}.fa-burst:before{content:"\e4dc"}.fa-house-laptop:before,.fa-laptop-house:before{content:"\e066"}.fa-face-tired:before,.fa-tired:before{content:"\f5c8"}.fa-money-bills:before{content:"\e1f3"}.fa-smog:before{content:"\f75f"}.fa-crutch:before{content:"\f7f7"}.fa-cloud-arrow-up:before,.fa-cloud-upload-alt:before,.fa-cloud-upload:before{content:"\f0ee"}.fa-palette:before{content:"\f53f"}.fa-arrows-turn-right:before{content:"\e4c0"}.fa-vest:before{content:"\e085"}.fa-ferry:before{content:"\e4ea"}.fa-arrows-down-to-people:before{content:"\e4b9"}.fa-seedling:before,.fa-sprout:before{content:"\f4d8"}.fa-arrows-alt-h:before,.fa-left-right:before{content:"\f337"}.fa-boxes-packing:before{content:"\e4c7"}.fa-arrow-circle-left:before,.fa-circle-arrow-left:before{content:"\f0a8"}.fa-group-arrows-rotate:before{content:"\e4f6"}.fa-bowl-food:before{content:"\e4c6"}.fa-candy-cane:before{content:"\f786"}.fa-arrow-down-wide-short:before,.fa-sort-amount-asc:before,.fa-sort-amount-down:before{content:"\f160"}.fa-cloud-bolt:before,.fa-thunderstorm:before{content:"\f76c"}.fa-remove-format:before,.fa-text-slash:before{content:"\f87d"}.fa-face-smile-wink:before,.fa-smile-wink:before{content:"\f4da"}.fa-file-word:before{content:"\f1c2"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-arrows-h:before,.fa-arrows-left-right:before{content:"\f07e"}.fa-house-lock:before{content:"\e510"}.fa-cloud-arrow-down:before,.fa-cloud-download-alt:before,.fa-cloud-download:before{content:"\f0ed"}.fa-children:before{content:"\e4e1"}.fa-blackboard:before,.fa-chalkboard:before{content:"\f51b"}.fa-user-alt-slash:before,.fa-user-large-slash:before{content:"\f4fa"}.fa-envelope-open:before{content:"\f2b6"}.fa-handshake-alt-slash:before,.fa-handshake-simple-slash:before{content:"\e05f"}.fa-mattress-pillow:before{content:"\e525"}.fa-guarani-sign:before{content:"\e19a"}.fa-arrows-rotate:before,.fa-refresh:before,.fa-sync:before{content:"\f021"}.fa-fire-extinguisher:before{content:"\f134"}.fa-cruzeiro-sign:before{content:"\e152"}.fa-greater-than-equal:before{content:"\f532"}.fa-shield-alt:before,.fa-shield-halved:before{content:"\f3ed"}.fa-atlas:before,.fa-book-atlas:before{content:"\f558"}.fa-virus:before{content:"\e074"}.fa-envelope-circle-check:before{content:"\e4e8"}.fa-layer-group:before{content:"\f5fd"}.fa-arrows-to-dot:before{content:"\e4be"}.fa-archway:before{content:"\f557"}.fa-heart-circle-check:before{content:"\e4fd"}.fa-house-chimney-crack:before,.fa-house-damage:before{content:"\f6f1"}.fa-file-archive:before,.fa-file-zipper:before{content:"\f1c6"}.fa-square:before{content:"\f0c8"}.fa-glass-martini:before,.fa-martini-glass-empty:before{content:"\f000"}.fa-couch:before{content:"\f4b8"}.fa-cedi-sign:before{content:"\e0df"}.fa-italic:before{content:"\f033"}.fa-church:before{content:"\f51d"}.fa-comments-dollar:before{content:"\f653"}.fa-democrat:before{content:"\f747"}.fa-z:before{content:"\5a"}.fa-person-skiing:before,.fa-skiing:before{content:"\f7c9"}.fa-road-lock:before{content:"\e567"}.fa-a:before{content:"\41"}.fa-temperature-arrow-down:before,.fa-temperature-down:before{content:"\e03f"}.fa-feather-alt:before,.fa-feather-pointed:before{content:"\f56b"}.fa-p:before{content:"\50"}.fa-snowflake:before{content:"\f2dc"}.fa-newspaper:before{content:"\f1ea"}.fa-ad:before,.fa-rectangle-ad:before{content:"\f641"}.fa-arrow-circle-right:before,.fa-circle-arrow-right:before{content:"\f0a9"}.fa-filter-circle-xmark:before{content:"\e17b"}.fa-locust:before{content:"\e520"}.fa-sort:before,.fa-unsorted:before{content:"\f0dc"}.fa-list-1-2:before,.fa-list-numeric:before,.fa-list-ol:before{content:"\f0cb"}.fa-person-dress-burst:before{content:"\e544"}.fa-money-check-alt:before,.fa-money-check-dollar:before{content:"\f53d"}.fa-vector-square:before{content:"\f5cb"}.fa-bread-slice:before{content:"\f7ec"}.fa-language:before{content:"\f1ab"}.fa-face-kiss-wink-heart:before,.fa-kiss-wink-heart:before{content:"\f598"}.fa-filter:before{content:"\f0b0"}.fa-question:before{content:"\3f"}.fa-file-signature:before{content:"\f573"}.fa-arrows-alt:before,.fa-up-down-left-right:before{content:"\f0b2"}.fa-house-chimney-user:before{content:"\e065"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-puzzle-piece:before{content:"\f12e"}.fa-money-check:before{content:"\f53c"}.fa-star-half-alt:before,.fa-star-half-stroke:before{content:"\f5c0"}.fa-code:before{content:"\f121"}.fa-glass-whiskey:before,.fa-whiskey-glass:before{content:"\f7a0"}.fa-building-circle-exclamation:before{content:"\e4d3"}.fa-magnifying-glass-chart:before{content:"\e522"}.fa-arrow-up-right-from-square:before,.fa-external-link:before{content:"\f08e"}.fa-cubes-stacked:before{content:"\e4e6"}.fa-krw:before,.fa-won-sign:before,.fa-won:before{content:"\f159"}.fa-virus-covid:before{content:"\e4a8"}.fa-austral-sign:before{content:"\e0a9"}.fa-f:before{content:"\46"}.fa-leaf:before{content:"\f06c"}.fa-road:before{content:"\f018"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-person-circle-plus:before{content:"\e541"}.fa-chart-pie:before,.fa-pie-chart:before{content:"\f200"}.fa-bolt-lightning:before{content:"\e0b7"}.fa-sack-xmark:before{content:"\e56a"}.fa-file-excel:before{content:"\f1c3"}.fa-file-contract:before{content:"\f56c"}.fa-fish-fins:before{content:"\e4f2"}.fa-building-flag:before{content:"\e4d5"}.fa-face-grin-beam:before,.fa-grin-beam:before{content:"\f582"}.fa-object-ungroup:before{content:"\f248"}.fa-poop:before{content:"\f619"}.fa-location-pin:before,.fa-map-marker:before{content:"\f041"}.fa-kaaba:before{content:"\f66b"}.fa-toilet-paper:before{content:"\f71e"}.fa-hard-hat:before,.fa-hat-hard:before,.fa-helmet-safety:before{content:"\f807"}.fa-eject:before{content:"\f052"}.fa-arrow-alt-circle-right:before,.fa-circle-right:before{content:"\f35a"}.fa-plane-circle-check:before{content:"\e555"}.fa-face-rolling-eyes:before,.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-object-group:before{content:"\f247"}.fa-chart-line:before,.fa-line-chart:before{content:"\f201"}.fa-mask-ventilator:before{content:"\e524"}.fa-arrow-right:before{content:"\f061"}.fa-map-signs:before,.fa-signs-post:before{content:"\f277"}.fa-cash-register:before{content:"\f788"}.fa-person-circle-question:before{content:"\e542"}.fa-h:before{content:"\48"}.fa-tarp:before{content:"\e57b"}.fa-screwdriver-wrench:before,.fa-tools:before{content:"\f7d9"}.fa-arrows-to-eye:before{content:"\e4bf"}.fa-plug-circle-bolt:before{content:"\e55b"}.fa-heart:before{content:"\f004"}.fa-mars-and-venus:before{content:"\f224"}.fa-home-user:before,.fa-house-user:before{content:"\e1b0"}.fa-dumpster-fire:before{content:"\f794"}.fa-house-crack:before{content:"\e3b1"}.fa-cocktail:before,.fa-martini-glass-citrus:before{content:"\f561"}.fa-face-surprise:before,.fa-surprise:before{content:"\f5c2"}.fa-bottle-water:before{content:"\e4c5"}.fa-circle-pause:before,.fa-pause-circle:before{content:"\f28b"}.fa-toilet-paper-slash:before{content:"\e072"}.fa-apple-alt:before,.fa-apple-whole:before{content:"\f5d1"}.fa-kitchen-set:before{content:"\e51a"}.fa-r:before{content:"\52"}.fa-temperature-1:before,.fa-temperature-quarter:before,.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-cube:before{content:"\f1b2"}.fa-bitcoin-sign:before{content:"\e0b4"}.fa-shield-dog:before{content:"\e573"}.fa-solar-panel:before{content:"\f5ba"}.fa-lock-open:before{content:"\f3c1"}.fa-elevator:before{content:"\e16d"}.fa-money-bill-transfer:before{content:"\e528"}.fa-money-bill-trend-up:before{content:"\e529"}.fa-house-flood-water-circle-arrow-right:before{content:"\e50f"}.fa-poll-h:before,.fa-square-poll-horizontal:before{content:"\f682"}.fa-circle:before{content:"\f111"}.fa-backward-fast:before,.fa-fast-backward:before{content:"\f049"}.fa-recycle:before{content:"\f1b8"}.fa-user-astronaut:before{content:"\f4fb"}.fa-plane-slash:before{content:"\e069"}.fa-trademark:before{content:"\f25c"}.fa-basketball-ball:before,.fa-basketball:before{content:"\f434"}.fa-satellite-dish:before{content:"\f7c0"}.fa-arrow-alt-circle-up:before,.fa-circle-up:before{content:"\f35b"}.fa-mobile-alt:before,.fa-mobile-screen-button:before{content:"\f3cd"}.fa-volume-high:before,.fa-volume-up:before{content:"\f028"}.fa-users-rays:before{content:"\e593"}.fa-wallet:before{content:"\f555"}.fa-clipboard-check:before{content:"\f46c"}.fa-file-audio:before{content:"\f1c7"}.fa-burger:before,.fa-hamburger:before{content:"\f805"}.fa-wrench:before{content:"\f0ad"}.fa-bugs:before{content:"\e4d0"}.fa-rupee-sign:before,.fa-rupee:before{content:"\f156"}.fa-file-image:before{content:"\f1c5"}.fa-circle-question:before,.fa-question-circle:before{content:"\f059"}.fa-plane-departure:before{content:"\f5b0"}.fa-handshake-slash:before{content:"\e060"}.fa-book-bookmark:before{content:"\e0bb"}.fa-code-branch:before{content:"\f126"}.fa-hat-cowboy:before{content:"\f8c0"}.fa-bridge:before{content:"\e4c8"}.fa-phone-alt:before,.fa-phone-flip:before{content:"\f879"}.fa-truck-front:before{content:"\e2b7"}.fa-cat:before{content:"\f6be"}.fa-anchor-circle-exclamation:before{content:"\e4ab"}.fa-truck-field:before{content:"\e58d"}.fa-route:before{content:"\f4d7"}.fa-clipboard-question:before{content:"\e4e3"}.fa-panorama:before{content:"\e209"}.fa-comment-medical:before{content:"\f7f5"}.fa-teeth-open:before{content:"\f62f"}.fa-file-circle-minus:before{content:"\e4ed"}.fa-tags:before{content:"\f02c"}.fa-wine-glass:before{content:"\f4e3"}.fa-fast-forward:before,.fa-forward-fast:before{content:"\f050"}.fa-face-meh-blank:before,.fa-meh-blank:before{content:"\f5a4"}.fa-parking:before,.fa-square-parking:before{content:"\f540"}.fa-house-signal:before{content:"\e012"}.fa-bars-progress:before,.fa-tasks-alt:before{content:"\f828"}.fa-faucet-drip:before{content:"\e006"}.fa-cart-flatbed:before,.fa-dolly-flatbed:before{content:"\f474"}.fa-ban-smoking:before,.fa-smoking-ban:before{content:"\f54d"}.fa-terminal:before{content:"\f120"}.fa-mobile-button:before{content:"\f10b"}.fa-house-medical-flag:before{content:"\e514"}.fa-basket-shopping:before,.fa-shopping-basket:before{content:"\f291"}.fa-tape:before{content:"\f4db"}.fa-bus-alt:before,.fa-bus-simple:before{content:"\f55e"}.fa-eye:before{content:"\f06e"}.fa-face-sad-cry:before,.fa-sad-cry:before{content:"\f5b3"}.fa-audio-description:before{content:"\f29e"}.fa-person-military-to-person:before{content:"\e54c"}.fa-file-shield:before{content:"\e4f0"}.fa-user-slash:before{content:"\f506"}.fa-pen:before{content:"\f304"}.fa-tower-observation:before{content:"\e586"}.fa-file-code:before{content:"\f1c9"}.fa-signal-5:before,.fa-signal-perfect:before,.fa-signal:before{content:"\f012"}.fa-bus:before{content:"\f207"}.fa-heart-circle-xmark:before{content:"\e501"}.fa-home-lg:before,.fa-house-chimney:before{content:"\e3af"}.fa-window-maximize:before{content:"\f2d0"}.fa-face-frown:before,.fa-frown:before{content:"\f119"}.fa-prescription:before{content:"\f5b1"}.fa-shop:before,.fa-store-alt:before{content:"\f54f"}.fa-floppy-disk:before,.fa-save:before{content:"\f0c7"}.fa-vihara:before{content:"\f6a7"}.fa-balance-scale-left:before,.fa-scale-unbalanced:before{content:"\f515"}.fa-sort-asc:before,.fa-sort-up:before{content:"\f0de"}.fa-comment-dots:before,.fa-commenting:before{content:"\f4ad"}.fa-plant-wilt:before{content:"\e5aa"}.fa-diamond:before{content:"\f219"}.fa-face-grin-squint:before,.fa-grin-squint:before{content:"\f585"}.fa-hand-holding-dollar:before,.fa-hand-holding-usd:before{content:"\f4c0"}.fa-bacterium:before{content:"\e05a"}.fa-hand-pointer:before{content:"\f25a"}.fa-drum-steelpan:before{content:"\f56a"}.fa-hand-scissors:before{content:"\f257"}.fa-hands-praying:before,.fa-praying-hands:before{content:"\f684"}.fa-arrow-right-rotate:before,.fa-arrow-rotate-forward:before,.fa-arrow-rotate-right:before,.fa-redo:before{content:"\f01e"}.fa-biohazard:before{content:"\f780"}.fa-location-crosshairs:before,.fa-location:before{content:"\f601"}.fa-mars-double:before{content:"\f227"}.fa-child-dress:before{content:"\e59c"}.fa-users-between-lines:before{content:"\e591"}.fa-lungs-virus:before{content:"\e067"}.fa-face-grin-tears:before,.fa-grin-tears:before{content:"\f588"}.fa-phone:before{content:"\f095"}.fa-calendar-times:before,.fa-calendar-xmark:before{content:"\f273"}.fa-child-reaching:before{content:"\e59d"}.fa-head-side-virus:before{content:"\e064"}.fa-user-cog:before,.fa-user-gear:before{content:"\f4fe"}.fa-arrow-up-1-9:before,.fa-sort-numeric-up:before{content:"\f163"}.fa-door-closed:before{content:"\f52a"}.fa-shield-virus:before{content:"\e06c"}.fa-dice-six:before{content:"\f526"}.fa-mosquito-net:before{content:"\e52c"}.fa-bridge-water:before{content:"\e4ce"}.fa-person-booth:before{content:"\f756"}.fa-text-width:before{content:"\f035"}.fa-hat-wizard:before{content:"\f6e8"}.fa-pen-fancy:before{content:"\f5ac"}.fa-digging:before,.fa-person-digging:before{content:"\f85e"}.fa-trash:before{content:"\f1f8"}.fa-gauge-simple-med:before,.fa-gauge-simple:before,.fa-tachometer-average:before{content:"\f629"}.fa-book-medical:before{content:"\f7e6"}.fa-poo:before{content:"\f2fe"}.fa-quote-right-alt:before,.fa-quote-right:before{content:"\f10e"}.fa-shirt:before,.fa-t-shirt:before,.fa-tshirt:before{content:"\f553"}.fa-cubes:before{content:"\f1b3"}.fa-divide:before{content:"\f529"}.fa-tenge-sign:before,.fa-tenge:before{content:"\f7d7"}.fa-headphones:before{content:"\f025"}.fa-hands-holding:before{content:"\f4c2"}.fa-hands-clapping:before{content:"\e1a8"}.fa-republican:before{content:"\f75e"}.fa-arrow-left:before{content:"\f060"}.fa-person-circle-xmark:before{content:"\e543"}.fa-ruler:before{content:"\f545"}.fa-align-left:before{content:"\f036"}.fa-dice-d6:before{content:"\f6d1"}.fa-restroom:before{content:"\f7bd"}.fa-j:before{content:"\4a"}.fa-users-viewfinder:before{content:"\e595"}.fa-file-video:before{content:"\f1c8"}.fa-external-link-alt:before,.fa-up-right-from-square:before{content:"\f35d"}.fa-table-cells:before,.fa-th:before{content:"\f00a"}.fa-file-pdf:before{content:"\f1c1"}.fa-bible:before,.fa-book-bible:before{content:"\f647"}.fa-o:before{content:"\4f"}.fa-medkit:before,.fa-suitcase-medical:before{content:"\f0fa"}.fa-user-secret:before{content:"\f21b"}.fa-otter:before{content:"\f700"}.fa-female:before,.fa-person-dress:before{content:"\f182"}.fa-comment-dollar:before{content:"\f651"}.fa-briefcase-clock:before,.fa-business-time:before{content:"\f64a"}.fa-table-cells-large:before,.fa-th-large:before{content:"\f009"}.fa-book-tanakh:before,.fa-tanakh:before{content:"\f827"}.fa-phone-volume:before,.fa-volume-control-phone:before{content:"\f2a0"}.fa-hat-cowboy-side:before{content:"\f8c1"}.fa-clipboard-user:before{content:"\f7f3"}.fa-child:before{content:"\f1ae"}.fa-lira-sign:before{content:"\f195"}.fa-satellite:before{content:"\f7bf"}.fa-plane-lock:before{content:"\e558"}.fa-tag:before{content:"\f02b"}.fa-comment:before{content:"\f075"}.fa-birthday-cake:before,.fa-cake-candles:before,.fa-cake:before{content:"\f1fd"}.fa-envelope:before{content:"\f0e0"}.fa-angle-double-up:before,.fa-angles-up:before{content:"\f102"}.fa-paperclip:before{content:"\f0c6"}.fa-arrow-right-to-city:before{content:"\e4b3"}.fa-ribbon:before{content:"\f4d6"}.fa-lungs:before{content:"\f604"}.fa-arrow-up-9-1:before,.fa-sort-numeric-up-alt:before{content:"\f887"}.fa-litecoin-sign:before{content:"\e1d3"}.fa-border-none:before{content:"\f850"}.fa-circle-nodes:before{content:"\e4e2"}.fa-parachute-box:before{content:"\f4cd"}.fa-indent:before{content:"\f03c"}.fa-truck-field-un:before{content:"\e58e"}.fa-hourglass-empty:before,.fa-hourglass:before{content:"\f254"}.fa-mountain:before{content:"\f6fc"}.fa-user-doctor:before,.fa-user-md:before{content:"\f0f0"}.fa-circle-info:before,.fa-info-circle:before{content:"\f05a"}.fa-cloud-meatball:before{content:"\f73b"}.fa-camera-alt:before,.fa-camera:before{content:"\f030"}.fa-square-virus:before{content:"\e578"}.fa-meteor:before{content:"\f753"}.fa-car-on:before{content:"\e4dd"}.fa-sleigh:before{content:"\f7cc"}.fa-arrow-down-1-9:before,.fa-sort-numeric-asc:before,.fa-sort-numeric-down:before{content:"\f162"}.fa-hand-holding-droplet:before,.fa-hand-holding-water:before{content:"\f4c1"}.fa-water:before{content:"\f773"}.fa-calendar-check:before{content:"\f274"}.fa-braille:before{content:"\f2a1"}.fa-prescription-bottle-alt:before,.fa-prescription-bottle-medical:before{content:"\f486"}.fa-landmark:before{content:"\f66f"}.fa-truck:before{content:"\f0d1"}.fa-crosshairs:before{content:"\f05b"}.fa-person-cane:before{content:"\e53c"}.fa-tent:before{content:"\e57d"}.fa-vest-patches:before{content:"\e086"}.fa-check-double:before{content:"\f560"}.fa-arrow-down-a-z:before,.fa-sort-alpha-asc:before,.fa-sort-alpha-down:before{content:"\f15d"}.fa-money-bill-wheat:before{content:"\e52a"}.fa-cookie:before{content:"\f563"}.fa-arrow-left-rotate:before,.fa-arrow-rotate-back:before,.fa-arrow-rotate-backward:before,.fa-arrow-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-hard-drive:before,.fa-hdd:before{content:"\f0a0"}.fa-face-grin-squint-tears:before,.fa-grin-squint-tears:before{content:"\f586"}.fa-dumbbell:before{content:"\f44b"}.fa-list-alt:before,.fa-rectangle-list:before{content:"\f022"}.fa-tarp-droplet:before{content:"\e57c"}.fa-house-medical-circle-check:before{content:"\e511"}.fa-person-skiing-nordic:before,.fa-skiing-nordic:before{content:"\f7ca"}.fa-calendar-plus:before{content:"\f271"}.fa-plane-arrival:before{content:"\f5af"}.fa-arrow-alt-circle-left:before,.fa-circle-left:before{content:"\f359"}.fa-subway:before,.fa-train-subway:before{content:"\f239"}.fa-chart-gantt:before{content:"\e0e4"}.fa-indian-rupee-sign:before,.fa-indian-rupee:before,.fa-inr:before{content:"\e1bc"}.fa-crop-alt:before,.fa-crop-simple:before{content:"\f565"}.fa-money-bill-1:before,.fa-money-bill-alt:before{content:"\f3d1"}.fa-left-long:before,.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-dna:before{content:"\f471"}.fa-virus-slash:before{content:"\e075"}.fa-minus:before,.fa-subtract:before{content:"\f068"}.fa-chess:before{content:"\f439"}.fa-arrow-left-long:before,.fa-long-arrow-left:before{content:"\f177"}.fa-plug-circle-check:before{content:"\e55c"}.fa-street-view:before{content:"\f21d"}.fa-franc-sign:before{content:"\e18f"}.fa-volume-off:before{content:"\f026"}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before,.fa-hands-american-sign-language-interpreting:before,.fa-hands-asl-interpreting:before{content:"\f2a3"}.fa-cog:before,.fa-gear:before{content:"\f013"}.fa-droplet-slash:before,.fa-tint-slash:before{content:"\f5c7"}.fa-mosque:before{content:"\f678"}.fa-mosquito:before{content:"\e52b"}.fa-star-of-david:before{content:"\f69a"}.fa-person-military-rifle:before{content:"\e54b"}.fa-cart-shopping:before,.fa-shopping-cart:before{content:"\f07a"}.fa-vials:before{content:"\f493"}.fa-plug-circle-plus:before{content:"\e55f"}.fa-place-of-worship:before{content:"\f67f"}.fa-grip-vertical:before{content:"\f58e"}.fa-arrow-turn-up:before,.fa-level-up:before{content:"\f148"}.fa-u:before{content:"\55"}.fa-square-root-alt:before,.fa-square-root-variable:before{content:"\f698"}.fa-clock-four:before,.fa-clock:before{content:"\f017"}.fa-backward-step:before,.fa-step-backward:before{content:"\f048"}.fa-pallet:before{content:"\f482"}.fa-faucet:before{content:"\e005"}.fa-baseball-bat-ball:before{content:"\f432"}.fa-s:before{content:"\53"}.fa-timeline:before{content:"\e29c"}.fa-keyboard:before{content:"\f11c"}.fa-caret-down:before{content:"\f0d7"}.fa-clinic-medical:before,.fa-house-chimney-medical:before{content:"\f7f2"}.fa-temperature-3:before,.fa-temperature-three-quarters:before,.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-mobile-android-alt:before,.fa-mobile-screen:before{content:"\f3cf"}.fa-plane-up:before{content:"\e22d"}.fa-piggy-bank:before{content:"\f4d3"}.fa-battery-3:before,.fa-battery-half:before{content:"\f242"}.fa-mountain-city:before{content:"\e52e"}.fa-coins:before{content:"\f51e"}.fa-khanda:before{content:"\f66d"}.fa-sliders-h:before,.fa-sliders:before{content:"\f1de"}.fa-folder-tree:before{content:"\f802"}.fa-network-wired:before{content:"\f6ff"}.fa-map-pin:before{content:"\f276"}.fa-hamsa:before{content:"\f665"}.fa-cent-sign:before{content:"\e3f5"}.fa-flask:before{content:"\f0c3"}.fa-person-pregnant:before{content:"\e31e"}.fa-wand-sparkles:before{content:"\f72b"}.fa-ellipsis-v:before,.fa-ellipsis-vertical:before{content:"\f142"}.fa-ticket:before{content:"\f145"}.fa-power-off:before{content:"\f011"}.fa-long-arrow-alt-right:before,.fa-right-long:before{content:"\f30b"}.fa-flag-usa:before{content:"\f74d"}.fa-laptop-file:before{content:"\e51d"}.fa-teletype:before,.fa-tty:before{content:"\f1e4"}.fa-diagram-next:before{content:"\e476"}.fa-person-rifle:before{content:"\e54e"}.fa-house-medical-circle-exclamation:before{content:"\e512"}.fa-closed-captioning:before{content:"\f20a"}.fa-hiking:before,.fa-person-hiking:before{content:"\f6ec"}.fa-venus-double:before{content:"\f226"}.fa-images:before{content:"\f302"}.fa-calculator:before{content:"\f1ec"}.fa-people-pulling:before{content:"\e535"}.fa-n:before{content:"\4e"}.fa-cable-car:before,.fa-tram:before{content:"\f7da"}.fa-cloud-rain:before{content:"\f73d"}.fa-building-circle-xmark:before{content:"\e4d4"}.fa-ship:before{content:"\f21a"}.fa-arrows-down-to-line:before{content:"\e4b8"}.fa-download:before{content:"\f019"}.fa-face-grin:before,.fa-grin:before{content:"\f580"}.fa-backspace:before,.fa-delete-left:before{content:"\f55a"}.fa-eye-dropper-empty:before,.fa-eye-dropper:before,.fa-eyedropper:before{content:"\f1fb"}.fa-file-circle-check:before{content:"\e5a0"}.fa-forward:before{content:"\f04e"}.fa-mobile-android:before,.fa-mobile-phone:before,.fa-mobile:before{content:"\f3ce"}.fa-face-meh:before,.fa-meh:before{content:"\f11a"}.fa-align-center:before{content:"\f037"}.fa-book-dead:before,.fa-book-skull:before{content:"\f6b7"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-heart-circle-exclamation:before{content:"\e4fe"}.fa-home-alt:before,.fa-home-lg-alt:before,.fa-home:before,.fa-house:before{content:"\f015"}.fa-calendar-week:before{content:"\f784"}.fa-laptop-medical:before{content:"\f812"}.fa-b:before{content:"\42"}.fa-file-medical:before{content:"\f477"}.fa-dice-one:before{content:"\f525"}.fa-kiwi-bird:before{content:"\f535"}.fa-arrow-right-arrow-left:before,.fa-exchange:before{content:"\f0ec"}.fa-redo-alt:before,.fa-rotate-forward:before,.fa-rotate-right:before{content:"\f2f9"}.fa-cutlery:before,.fa-utensils:before{content:"\f2e7"}.fa-arrow-up-wide-short:before,.fa-sort-amount-up:before{content:"\f161"}.fa-mill-sign:before{content:"\e1ed"}.fa-bowl-rice:before{content:"\e2eb"}.fa-skull:before{content:"\f54c"}.fa-broadcast-tower:before,.fa-tower-broadcast:before{content:"\f519"}.fa-truck-pickup:before{content:"\f63c"}.fa-long-arrow-alt-up:before,.fa-up-long:before{content:"\f30c"}.fa-stop:before{content:"\f04d"}.fa-code-merge:before{content:"\f387"}.fa-upload:before{content:"\f093"}.fa-hurricane:before{content:"\f751"}.fa-mound:before{content:"\e52d"}.fa-toilet-portable:before{content:"\e583"}.fa-compact-disc:before{content:"\f51f"}.fa-file-arrow-down:before,.fa-file-download:before{content:"\f56d"}.fa-caravan:before{content:"\f8ff"}.fa-shield-cat:before{content:"\e572"}.fa-bolt:before,.fa-zap:before{content:"\f0e7"}.fa-glass-water:before{content:"\e4f4"}.fa-oil-well:before{content:"\e532"}.fa-vault:before{content:"\e2c5"}.fa-mars:before{content:"\f222"}.fa-toilet:before{content:"\f7d8"}.fa-plane-circle-xmark:before{content:"\e557"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen-sign:before,.fa-yen:before{content:"\f157"}.fa-rouble:before,.fa-rub:before,.fa-ruble-sign:before,.fa-ruble:before{content:"\f158"}.fa-sun:before{content:"\f185"}.fa-guitar:before{content:"\f7a6"}.fa-face-laugh-wink:before,.fa-laugh-wink:before{content:"\f59c"}.fa-horse-head:before{content:"\f7ab"}.fa-bore-hole:before{content:"\e4c3"}.fa-industry:before{content:"\f275"}.fa-arrow-alt-circle-down:before,.fa-circle-down:before{content:"\f358"}.fa-arrows-turn-to-dots:before{content:"\e4c1"}.fa-florin-sign:before{content:"\e184"}.fa-arrow-down-short-wide:before,.fa-sort-amount-desc:before,.fa-sort-amount-down-alt:before{content:"\f884"}.fa-less-than:before{content:"\3c"}.fa-angle-down:before{content:"\f107"}.fa-car-tunnel:before{content:"\e4de"}.fa-head-side-cough:before{content:"\e061"}.fa-grip-lines:before{content:"\f7a4"}.fa-thumbs-down:before{content:"\f165"}.fa-user-lock:before{content:"\f502"}.fa-arrow-right-long:before,.fa-long-arrow-right:before{content:"\f178"}.fa-anchor-circle-xmark:before{content:"\e4ac"}.fa-ellipsis-h:before,.fa-ellipsis:before{content:"\f141"}.fa-chess-pawn:before{content:"\f443"}.fa-first-aid:before,.fa-kit-medical:before{content:"\f479"}.fa-person-through-window:before{content:"\e5a9"}.fa-toolbox:before{content:"\f552"}.fa-hands-holding-circle:before{content:"\e4fb"}.fa-bug:before{content:"\f188"}.fa-credit-card-alt:before,.fa-credit-card:before{content:"\f09d"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-hand-holding-hand:before{content:"\e4f7"}.fa-book-open-reader:before,.fa-book-reader:before{content:"\f5da"}.fa-mountain-sun:before{content:"\e52f"}.fa-arrows-left-right-to-line:before{content:"\e4ba"}.fa-dice-d20:before{content:"\f6cf"}.fa-truck-droplet:before{content:"\e58c"}.fa-file-circle-xmark:before{content:"\e5a1"}.fa-temperature-arrow-up:before,.fa-temperature-up:before{content:"\e040"}.fa-medal:before{content:"\f5a2"}.fa-bed:before{content:"\f236"}.fa-h-square:before,.fa-square-h:before{content:"\f0fd"}.fa-podcast:before{content:"\f2ce"}.fa-temperature-4:before,.fa-temperature-full:before,.fa-thermometer-4:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-bell:before{content:"\f0f3"}.fa-superscript:before{content:"\f12b"}.fa-plug-circle-xmark:before{content:"\e560"}.fa-star-of-life:before{content:"\f621"}.fa-phone-slash:before{content:"\f3dd"}.fa-paint-roller:before{content:"\f5aa"}.fa-hands-helping:before,.fa-handshake-angle:before{content:"\f4c4"}.fa-location-dot:before,.fa-map-marker-alt:before{content:"\f3c5"}.fa-file:before{content:"\f15b"}.fa-greater-than:before{content:"\3e"}.fa-person-swimming:before,.fa-swimmer:before{content:"\f5c4"}.fa-arrow-down:before{content:"\f063"}.fa-droplet:before,.fa-tint:before{content:"\f043"}.fa-eraser:before{content:"\f12d"}.fa-earth-america:before,.fa-earth-americas:before,.fa-earth:before,.fa-globe-americas:before{content:"\f57d"}.fa-person-burst:before{content:"\e53b"}.fa-dove:before{content:"\f4ba"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-socks:before{content:"\f696"}.fa-inbox:before{content:"\f01c"}.fa-section:before{content:"\e447"}.fa-gauge-high:before,.fa-tachometer-alt-fast:before,.fa-tachometer-alt:before{content:"\f625"}.fa-envelope-open-text:before{content:"\f658"}.fa-hospital-alt:before,.fa-hospital-wide:before,.fa-hospital:before{content:"\f0f8"}.fa-wine-bottle:before{content:"\f72f"}.fa-chess-rook:before{content:"\f447"}.fa-bars-staggered:before,.fa-reorder:before,.fa-stream:before{content:"\f550"}.fa-dharmachakra:before{content:"\f655"}.fa-hotdog:before{content:"\f80f"}.fa-blind:before,.fa-person-walking-with-cane:before{content:"\f29d"}.fa-drum:before{content:"\f569"}.fa-ice-cream:before{content:"\f810"}.fa-heart-circle-bolt:before{content:"\e4fc"}.fa-fax:before{content:"\f1ac"}.fa-paragraph:before{content:"\f1dd"}.fa-check-to-slot:before,.fa-vote-yea:before{content:"\f772"}.fa-star-half:before{content:"\f089"}.fa-boxes-alt:before,.fa-boxes-stacked:before,.fa-boxes:before{content:"\f468"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-assistive-listening-systems:before,.fa-ear-listen:before{content:"\f2a2"}.fa-tree-city:before{content:"\e587"}.fa-play:before{content:"\f04b"}.fa-font:before{content:"\f031"}.fa-rupiah-sign:before{content:"\e23d"}.fa-magnifying-glass:before,.fa-search:before{content:"\f002"}.fa-ping-pong-paddle-ball:before,.fa-table-tennis-paddle-ball:before,.fa-table-tennis:before{content:"\f45d"}.fa-diagnoses:before,.fa-person-dots-from-line:before{content:"\f470"}.fa-trash-can-arrow-up:before,.fa-trash-restore-alt:before{content:"\f82a"}.fa-naira-sign:before{content:"\e1f6"}.fa-cart-arrow-down:before{content:"\f218"}.fa-walkie-talkie:before{content:"\f8ef"}.fa-file-edit:before,.fa-file-pen:before{content:"\f31c"}.fa-receipt:before{content:"\f543"}.fa-pen-square:before,.fa-pencil-square:before,.fa-square-pen:before{content:"\f14b"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-person-circle-exclamation:before{content:"\e53f"}.fa-chevron-down:before{content:"\f078"}.fa-battery-5:before,.fa-battery-full:before,.fa-battery:before{content:"\f240"}.fa-skull-crossbones:before{content:"\f714"}.fa-code-compare:before{content:"\e13a"}.fa-list-dots:before,.fa-list-ul:before{content:"\f0ca"}.fa-school-lock:before{content:"\e56f"}.fa-tower-cell:before{content:"\e585"}.fa-down-long:before,.fa-long-arrow-alt-down:before{content:"\f309"}.fa-ranking-star:before{content:"\e561"}.fa-chess-king:before{content:"\f43f"}.fa-person-harassing:before{content:"\e549"}.fa-brazilian-real-sign:before{content:"\e46c"}.fa-landmark-alt:before,.fa-landmark-dome:before{content:"\f752"}.fa-arrow-up:before{content:"\f062"}.fa-television:before,.fa-tv-alt:before,.fa-tv:before{content:"\f26c"}.fa-shrimp:before{content:"\e448"}.fa-list-check:before,.fa-tasks:before{content:"\f0ae"}.fa-jug-detergent:before{content:"\e519"}.fa-circle-user:before,.fa-user-circle:before{content:"\f2bd"}.fa-user-shield:before{content:"\f505"}.fa-wind:before{content:"\f72e"}.fa-car-burst:before,.fa-car-crash:before{content:"\f5e1"}.fa-y:before{content:"\59"}.fa-person-snowboarding:before,.fa-snowboarding:before{content:"\f7ce"}.fa-shipping-fast:before,.fa-truck-fast:before{content:"\f48b"}.fa-fish:before{content:"\f578"}.fa-user-graduate:before{content:"\f501"}.fa-adjust:before,.fa-circle-half-stroke:before{content:"\f042"}.fa-clapperboard:before{content:"\e131"}.fa-circle-radiation:before,.fa-radiation-alt:before{content:"\f7ba"}.fa-baseball-ball:before,.fa-baseball:before{content:"\f433"}.fa-jet-fighter-up:before{content:"\e518"}.fa-diagram-project:before,.fa-project-diagram:before{content:"\f542"}.fa-copy:before{content:"\f0c5"}.fa-volume-mute:before,.fa-volume-times:before,.fa-volume-xmark:before{content:"\f6a9"}.fa-hand-sparkles:before{content:"\e05d"}.fa-grip-horizontal:before,.fa-grip:before{content:"\f58d"}.fa-share-from-square:before,.fa-share-square:before{content:"\f14d"}.fa-child-combatant:before,.fa-child-rifle:before{content:"\e4e0"}.fa-gun:before{content:"\e19b"}.fa-phone-square:before,.fa-square-phone:before{content:"\f098"}.fa-add:before,.fa-plus:before{content:"\2b"}.fa-expand:before{content:"\f065"}.fa-computer:before{content:"\e4e5"}.fa-close:before,.fa-multiply:before,.fa-remove:before,.fa-times:before,.fa-xmark:before{content:"\f00d"}.fa-arrows-up-down-left-right:before,.fa-arrows:before{content:"\f047"}.fa-chalkboard-teacher:before,.fa-chalkboard-user:before{content:"\f51c"}.fa-peso-sign:before{content:"\e222"}.fa-building-shield:before{content:"\e4d8"}.fa-baby:before{content:"\f77c"}.fa-users-line:before{content:"\e592"}.fa-quote-left-alt:before,.fa-quote-left:before{content:"\f10d"}.fa-tractor:before{content:"\f722"}.fa-trash-arrow-up:before,.fa-trash-restore:before{content:"\f829"}.fa-arrow-down-up-lock:before{content:"\e4b0"}.fa-lines-leaning:before{content:"\e51e"}.fa-ruler-combined:before{content:"\f546"}.fa-copyright:before{content:"\f1f9"}.fa-equals:before{content:"\3d"}.fa-blender:before{content:"\f517"}.fa-teeth:before{content:"\f62e"}.fa-ils:before,.fa-shekel-sign:before,.fa-shekel:before,.fa-sheqel-sign:before,.fa-sheqel:before{content:"\f20b"}.fa-map:before{content:"\f279"}.fa-rocket:before{content:"\f135"}.fa-photo-film:before,.fa-photo-video:before{content:"\f87c"}.fa-folder-minus:before{content:"\f65d"}.fa-store:before{content:"\f54e"}.fa-arrow-trend-up:before{content:"\e098"}.fa-plug-circle-minus:before{content:"\e55e"}.fa-sign-hanging:before,.fa-sign:before{content:"\f4d9"}.fa-bezier-curve:before{content:"\f55b"}.fa-bell-slash:before{content:"\f1f6"}.fa-tablet-android:before,.fa-tablet:before{content:"\f3fb"}.fa-school-flag:before{content:"\e56e"}.fa-fill:before{content:"\f575"}.fa-angle-up:before{content:"\f106"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-holly-berry:before{content:"\f7aa"}.fa-chevron-left:before{content:"\f053"}.fa-bacteria:before{content:"\e059"}.fa-hand-lizard:before{content:"\f258"}.fa-notdef:before{content:"\e1fe"}.fa-disease:before{content:"\f7fa"}.fa-briefcase-medical:before{content:"\f469"}.fa-genderless:before{content:"\f22d"}.fa-chevron-right:before{content:"\f054"}.fa-retweet:before{content:"\f079"}.fa-car-alt:before,.fa-car-rear:before{content:"\f5de"}.fa-pump-soap:before{content:"\e06b"}.fa-video-slash:before{content:"\f4e2"}.fa-battery-2:before,.fa-battery-quarter:before{content:"\f243"}.fa-radio:before{content:"\f8d7"}.fa-baby-carriage:before,.fa-carriage-baby:before{content:"\f77d"}.fa-traffic-light:before{content:"\f637"}.fa-thermometer:before{content:"\f491"}.fa-vr-cardboard:before{content:"\f729"}.fa-hand-middle-finger:before{content:"\f806"}.fa-percent:before,.fa-percentage:before{content:"\25"}.fa-truck-moving:before{content:"\f4df"}.fa-glass-water-droplet:before{content:"\e4f5"}.fa-display:before{content:"\e163"}.fa-face-smile:before,.fa-smile:before{content:"\f118"}.fa-thumb-tack:before,.fa-thumbtack:before{content:"\f08d"}.fa-trophy:before{content:"\f091"}.fa-person-praying:before,.fa-pray:before{content:"\f683"}.fa-hammer:before{content:"\f6e3"}.fa-hand-peace:before{content:"\f25b"}.fa-rotate:before,.fa-sync-alt:before{content:"\f2f1"}.fa-spinner:before{content:"\f110"}.fa-robot:before{content:"\f544"}.fa-peace:before{content:"\f67c"}.fa-cogs:before,.fa-gears:before{content:"\f085"}.fa-warehouse:before{content:"\f494"}.fa-arrow-up-right-dots:before{content:"\e4b7"}.fa-splotch:before{content:"\f5bc"}.fa-face-grin-hearts:before,.fa-grin-hearts:before{content:"\f584"}.fa-dice-four:before{content:"\f524"}.fa-sim-card:before{content:"\f7c4"}.fa-transgender-alt:before,.fa-transgender:before{content:"\f225"}.fa-mercury:before{content:"\f223"}.fa-arrow-turn-down:before,.fa-level-down:before{content:"\f149"}.fa-person-falling-burst:before{content:"\e547"}.fa-award:before{content:"\f559"}.fa-ticket-alt:before,.fa-ticket-simple:before{content:"\f3ff"}.fa-building:before{content:"\f1ad"}.fa-angle-double-left:before,.fa-angles-left:before{content:"\f100"}.fa-qrcode:before{content:"\f029"}.fa-clock-rotate-left:before,.fa-history:before{content:"\f1da"}.fa-face-grin-beam-sweat:before,.fa-grin-beam-sweat:before{content:"\f583"}.fa-arrow-right-from-file:before,.fa-file-export:before{content:"\f56e"}.fa-shield-blank:before,.fa-shield:before{content:"\f132"}.fa-arrow-up-short-wide:before,.fa-sort-amount-up-alt:before{content:"\f885"}.fa-house-medical:before{content:"\e3b2"}.fa-golf-ball-tee:before,.fa-golf-ball:before{content:"\f450"}.fa-chevron-circle-left:before,.fa-circle-chevron-left:before{content:"\f137"}.fa-house-chimney-window:before{content:"\e00d"}.fa-pen-nib:before{content:"\f5ad"}.fa-tent-arrow-turn-left:before{content:"\e580"}.fa-tents:before{content:"\e582"}.fa-magic:before,.fa-wand-magic:before{content:"\f0d0"}.fa-dog:before{content:"\f6d3"}.fa-carrot:before{content:"\f787"}.fa-moon:before{content:"\f186"}.fa-wine-glass-alt:before,.fa-wine-glass-empty:before{content:"\f5ce"}.fa-cheese:before{content:"\f7ef"}.fa-yin-yang:before{content:"\f6ad"}.fa-music:before{content:"\f001"}.fa-code-commit:before{content:"\f386"}.fa-temperature-low:before{content:"\f76b"}.fa-biking:before,.fa-person-biking:before{content:"\f84a"}.fa-broom:before{content:"\f51a"}.fa-shield-heart:before{content:"\e574"}.fa-gopuram:before{content:"\f664"}.fa-earth-oceania:before,.fa-globe-oceania:before{content:"\e47b"}.fa-square-xmark:before,.fa-times-square:before,.fa-xmark-square:before{content:"\f2d3"}.fa-hashtag:before{content:"\23"}.fa-expand-alt:before,.fa-up-right-and-down-left-from-center:before{content:"\f424"}.fa-oil-can:before{content:"\f613"}.fa-t:before{content:"\54"}.fa-hippo:before{content:"\f6ed"}.fa-chart-column:before{content:"\e0e3"}.fa-infinity:before{content:"\f534"}.fa-vial-circle-check:before{content:"\e596"}.fa-person-arrow-down-to-line:before{content:"\e538"}.fa-voicemail:before{content:"\f897"}.fa-fan:before{content:"\f863"}.fa-person-walking-luggage:before{content:"\e554"}.fa-arrows-alt-v:before,.fa-up-down:before{content:"\f338"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-calendar:before{content:"\f133"}.fa-trailer:before{content:"\e041"}.fa-bahai:before,.fa-haykal:before{content:"\f666"}.fa-sd-card:before{content:"\f7c2"}.fa-dragon:before{content:"\f6d5"}.fa-shoe-prints:before{content:"\f54b"}.fa-circle-plus:before,.fa-plus-circle:before{content:"\f055"}.fa-face-grin-tongue-wink:before,.fa-grin-tongue-wink:before{content:"\f58b"}.fa-hand-holding:before{content:"\f4bd"}.fa-plug-circle-exclamation:before{content:"\e55d"}.fa-chain-broken:before,.fa-chain-slash:before,.fa-link-slash:before,.fa-unlink:before{content:"\f127"}.fa-clone:before{content:"\f24d"}.fa-person-walking-arrow-loop-left:before{content:"\e551"}.fa-arrow-up-z-a:before,.fa-sort-alpha-up-alt:before{content:"\f882"}.fa-fire-alt:before,.fa-fire-flame-curved:before{content:"\f7e4"}.fa-tornado:before{content:"\f76f"}.fa-file-circle-plus:before{content:"\e494"}.fa-book-quran:before,.fa-quran:before{content:"\f687"}.fa-anchor:before{content:"\f13d"}.fa-border-all:before{content:"\f84c"}.fa-angry:before,.fa-face-angry:before{content:"\f556"}.fa-cookie-bite:before{content:"\f564"}.fa-arrow-trend-down:before{content:"\e097"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-draw-polygon:before{content:"\f5ee"}.fa-balance-scale:before,.fa-scale-balanced:before{content:"\f24e"}.fa-gauge-simple-high:before,.fa-tachometer-fast:before,.fa-tachometer:before{content:"\f62a"}.fa-shower:before{content:"\f2cc"}.fa-desktop-alt:before,.fa-desktop:before{content:"\f390"}.fa-m:before{content:"\4d"}.fa-table-list:before,.fa-th-list:before{content:"\f00b"}.fa-comment-sms:before,.fa-sms:before{content:"\f7cd"}.fa-book:before{content:"\f02d"}.fa-user-plus:before{content:"\f234"}.fa-check:before{content:"\f00c"}.fa-battery-4:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-house-circle-check:before{content:"\e509"}.fa-angle-left:before{content:"\f104"}.fa-diagram-successor:before{content:"\e47a"}.fa-truck-arrow-right:before{content:"\e58b"}.fa-arrows-split-up-and-left:before{content:"\e4bc"}.fa-fist-raised:before,.fa-hand-fist:before{content:"\f6de"}.fa-cloud-moon:before{content:"\f6c3"}.fa-briefcase:before{content:"\f0b1"}.fa-person-falling:before{content:"\e546"}.fa-image-portrait:before,.fa-portrait:before{content:"\f3e0"}.fa-user-tag:before{content:"\f507"}.fa-rug:before{content:"\e569"}.fa-earth-europe:before,.fa-globe-europe:before{content:"\f7a2"}.fa-cart-flatbed-suitcase:before,.fa-luggage-cart:before{content:"\f59d"}.fa-rectangle-times:before,.fa-rectangle-xmark:before,.fa-times-rectangle:before,.fa-window-close:before{content:"\f410"}.fa-baht-sign:before{content:"\e0ac"}.fa-book-open:before{content:"\f518"}.fa-book-journal-whills:before,.fa-journal-whills:before{content:"\f66a"}.fa-handcuffs:before{content:"\e4f8"}.fa-exclamation-triangle:before,.fa-triangle-exclamation:before,.fa-warning:before{content:"\f071"}.fa-database:before{content:"\f1c0"}.fa-arrow-turn-right:before,.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-bottle-droplet:before{content:"\e4c4"}.fa-mask-face:before{content:"\e1d7"}.fa-hill-rockslide:before{content:"\e508"}.fa-exchange-alt:before,.fa-right-left:before{content:"\f362"}.fa-paper-plane:before{content:"\f1d8"}.fa-road-circle-exclamation:before{content:"\e565"}.fa-dungeon:before{content:"\f6d9"}.fa-align-right:before{content:"\f038"}.fa-money-bill-1-wave:before,.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-life-ring:before{content:"\f1cd"}.fa-hands:before,.fa-sign-language:before,.fa-signing:before{content:"\f2a7"}.fa-calendar-day:before{content:"\f783"}.fa-ladder-water:before,.fa-swimming-pool:before,.fa-water-ladder:before{content:"\f5c5"}.fa-arrows-up-down:before,.fa-arrows-v:before{content:"\f07d"}.fa-face-grimace:before,.fa-grimace:before{content:"\f57f"}.fa-wheelchair-alt:before,.fa-wheelchair-move:before{content:"\e2ce"}.fa-level-down-alt:before,.fa-turn-down:before{content:"\f3be"}.fa-person-walking-arrow-right:before{content:"\e552"}.fa-envelope-square:before,.fa-square-envelope:before{content:"\f199"}.fa-dice:before{content:"\f522"}.fa-bowling-ball:before{content:"\f436"}.fa-brain:before{content:"\f5dc"}.fa-band-aid:before,.fa-bandage:before{content:"\f462"}.fa-calendar-minus:before{content:"\f272"}.fa-circle-xmark:before,.fa-times-circle:before,.fa-xmark-circle:before{content:"\f057"}.fa-gifts:before{content:"\f79c"}.fa-hotel:before{content:"\f594"}.fa-earth-asia:before,.fa-globe-asia:before{content:"\f57e"}.fa-id-card-alt:before,.fa-id-card-clip:before{content:"\f47f"}.fa-magnifying-glass-plus:before,.fa-search-plus:before{content:"\f00e"}.fa-thumbs-up:before{content:"\f164"}.fa-user-clock:before{content:"\f4fd"}.fa-allergies:before,.fa-hand-dots:before{content:"\f461"}.fa-file-invoice:before{content:"\f570"}.fa-window-minimize:before{content:"\f2d1"}.fa-coffee:before,.fa-mug-saucer:before{content:"\f0f4"}.fa-brush:before{content:"\f55d"}.fa-mask:before{content:"\f6fa"}.fa-magnifying-glass-minus:before,.fa-search-minus:before{content:"\f010"}.fa-ruler-vertical:before{content:"\f548"}.fa-user-alt:before,.fa-user-large:before{content:"\f406"}.fa-train-tram:before{content:"\e5b4"}.fa-user-nurse:before{content:"\f82f"}.fa-syringe:before{content:"\f48e"}.fa-cloud-sun:before{content:"\f6c4"}.fa-stopwatch-20:before{content:"\e06f"}.fa-square-full:before{content:"\f45c"}.fa-magnet:before{content:"\f076"}.fa-jar:before{content:"\e516"}.fa-note-sticky:before,.fa-sticky-note:before{content:"\f249"}.fa-bug-slash:before{content:"\e490"}.fa-arrow-up-from-water-pump:before{content:"\e4b6"}.fa-bone:before{content:"\f5d7"}.fa-user-injured:before{content:"\f728"}.fa-face-sad-tear:before,.fa-sad-tear:before{content:"\f5b4"}.fa-plane:before{content:"\f072"}.fa-tent-arrows-down:before{content:"\e581"}.fa-exclamation:before{content:"\21"}.fa-arrows-spin:before{content:"\e4bb"}.fa-print:before{content:"\f02f"}.fa-try:before,.fa-turkish-lira-sign:before,.fa-turkish-lira:before{content:"\e2bb"}.fa-dollar-sign:before,.fa-dollar:before,.fa-usd:before{content:"\24"}.fa-x:before{content:"\58"}.fa-magnifying-glass-dollar:before,.fa-search-dollar:before{content:"\f688"}.fa-users-cog:before,.fa-users-gear:before{content:"\f509"}.fa-person-military-pointing:before{content:"\e54a"}.fa-bank:before,.fa-building-columns:before,.fa-institution:before,.fa-museum:before,.fa-university:before{content:"\f19c"}.fa-umbrella:before{content:"\f0e9"}.fa-trowel:before{content:"\e589"}.fa-d:before{content:"\44"}.fa-stapler:before{content:"\e5af"}.fa-masks-theater:before,.fa-theater-masks:before{content:"\f630"}.fa-kip-sign:before{content:"\e1c4"}.fa-hand-point-left:before{content:"\f0a5"}.fa-handshake-alt:before,.fa-handshake-simple:before{content:"\f4c6"}.fa-fighter-jet:before,.fa-jet-fighter:before{content:"\f0fb"}.fa-share-alt-square:before,.fa-square-share-nodes:before{content:"\f1e1"}.fa-barcode:before{content:"\f02a"}.fa-plus-minus:before{content:"\e43c"}.fa-video-camera:before,.fa-video:before{content:"\f03d"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\f19d"}.fa-hand-holding-medical:before{content:"\e05c"}.fa-person-circle-check:before{content:"\e53e"}.fa-level-up-alt:before,.fa-turn-up:before{content:"\f3bf"} -.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(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.ttf) format("truetype")}.fa-brands,.fab{font-weight:400}.fa-monero:before{content:"\f3d0"}.fa-hooli:before{content:"\f427"}.fa-yelp:before{content:"\f1e9"}.fa-cc-visa:before{content:"\f1f0"}.fa-lastfm:before{content:"\f202"}.fa-shopware:before{content:"\f5b5"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-aws:before{content:"\f375"}.fa-redhat:before{content:"\f7bc"}.fa-yoast:before{content:"\f2b1"}.fa-cloudflare:before{content:"\e07d"}.fa-ups:before{content:"\f7e0"}.fa-wpexplorer:before{content:"\f2de"}.fa-dyalog:before{content:"\f399"}.fa-bity:before{content:"\f37a"}.fa-stackpath:before{content:"\f842"}.fa-buysellads:before{content:"\f20d"}.fa-first-order:before{content:"\f2b0"}.fa-modx:before{content:"\f285"}.fa-guilded:before{content:"\e07e"}.fa-vnv:before{content:"\f40b"}.fa-js-square:before,.fa-square-js:before{content:"\f3b9"}.fa-microsoft:before{content:"\f3ca"}.fa-qq:before{content:"\f1d6"}.fa-orcid:before{content:"\f8d2"}.fa-java:before{content:"\f4e4"}.fa-invision:before{content:"\f7b0"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-centercode:before{content:"\f380"}.fa-glide-g:before{content:"\f2a6"}.fa-drupal:before{content:"\f1a9"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-unity:before{content:"\e049"}.fa-whmcs:before{content:"\f40d"}.fa-rocketchat:before{content:"\f3e8"}.fa-vk:before{content:"\f189"}.fa-untappd:before{content:"\f405"}.fa-mailchimp:before{content:"\f59e"}.fa-css3-alt:before{content:"\f38b"}.fa-reddit-square:before,.fa-square-reddit:before{content:"\f1a2"}.fa-vimeo-v:before{content:"\f27d"}.fa-contao:before{content:"\f26d"}.fa-square-font-awesome:before{content:"\e5ad"}.fa-deskpro:before{content:"\f38f"}.fa-sistrix:before{content:"\f3ee"}.fa-instagram-square:before,.fa-square-instagram:before{content:"\e055"}.fa-battle-net:before{content:"\f835"}.fa-the-red-yeti:before{content:"\f69d"}.fa-hacker-news-square:before,.fa-square-hacker-news:before{content:"\f3af"}.fa-edge:before{content:"\f282"}.fa-napster:before{content:"\f3d2"}.fa-snapchat-square:before,.fa-square-snapchat:before{content:"\f2ad"}.fa-google-plus-g:before{content:"\f0d5"}.fa-artstation:before{content:"\f77a"}.fa-markdown:before{content:"\f60f"}.fa-sourcetree:before{content:"\f7d3"}.fa-google-plus:before{content:"\f2b3"}.fa-diaspora:before{content:"\f791"}.fa-foursquare:before{content:"\f180"}.fa-stack-overflow:before{content:"\f16c"}.fa-github-alt:before{content:"\f113"}.fa-phoenix-squadron:before{content:"\f511"}.fa-pagelines:before{content:"\f18c"}.fa-algolia:before{content:"\f36c"}.fa-red-river:before{content:"\f3e3"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-safari:before{content:"\f267"}.fa-google:before{content:"\f1a0"}.fa-font-awesome-alt:before,.fa-square-font-awesome-stroke:before{content:"\f35c"}.fa-atlassian:before{content:"\f77b"}.fa-linkedin-in:before{content:"\f0e1"}.fa-digital-ocean:before{content:"\f391"}.fa-nimblr:before{content:"\f5a8"}.fa-chromecast:before{content:"\f838"}.fa-evernote:before{content:"\f839"}.fa-hacker-news:before{content:"\f1d4"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-adversal:before{content:"\f36a"}.fa-creative-commons:before{content:"\f25e"}.fa-watchman-monitoring:before{content:"\e087"}.fa-fonticons:before{content:"\f280"}.fa-weixin:before{content:"\f1d7"}.fa-shirtsinbulk:before{content:"\f214"}.fa-codepen:before{content:"\f1cb"}.fa-git-alt:before{content:"\f841"}.fa-lyft:before{content:"\f3c3"}.fa-rev:before{content:"\f5b2"}.fa-windows:before{content:"\f17a"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-square-viadeo:before,.fa-viadeo-square:before{content:"\f2aa"}.fa-meetup:before{content:"\f2e0"}.fa-centos:before{content:"\f789"}.fa-adn:before{content:"\f170"}.fa-cloudsmith:before{content:"\f384"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-dribbble-square:before,.fa-square-dribbble:before{content:"\f397"}.fa-codiepie:before{content:"\f284"}.fa-node:before{content:"\f419"}.fa-mix:before{content:"\f3cb"}.fa-steam:before{content:"\f1b6"}.fa-cc-apple-pay:before{content:"\f416"}.fa-scribd:before{content:"\f28a"}.fa-openid:before{content:"\f19b"}.fa-instalod:before{content:"\e081"}.fa-expeditedssl:before{content:"\f23e"}.fa-sellcast:before{content:"\f2da"}.fa-square-twitter:before,.fa-twitter-square:before{content:"\f081"}.fa-r-project:before{content:"\f4f7"}.fa-delicious:before{content:"\f1a5"}.fa-freebsd:before{content:"\f3a4"}.fa-vuejs:before{content:"\f41f"}.fa-accusoft:before{content:"\f369"}.fa-ioxhost:before{content:"\f208"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-app-store:before{content:"\f36f"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-itunes-note:before{content:"\f3b5"}.fa-golang:before{content:"\e40f"}.fa-kickstarter:before{content:"\f3bb"}.fa-grav:before{content:"\f2d6"}.fa-weibo:before{content:"\f18a"}.fa-uncharted:before{content:"\e084"}.fa-firstdraft:before{content:"\f3a1"}.fa-square-youtube:before,.fa-youtube-square:before{content:"\f431"}.fa-wikipedia-w:before{content:"\f266"}.fa-rendact:before,.fa-wpressr:before{content:"\f3e4"}.fa-angellist:before{content:"\f209"}.fa-galactic-republic:before{content:"\f50c"}.fa-nfc-directional:before{content:"\e530"}.fa-skype:before{content:"\f17e"}.fa-joget:before{content:"\f3b7"}.fa-fedora:before{content:"\f798"}.fa-stripe-s:before{content:"\f42a"}.fa-meta:before{content:"\e49b"}.fa-laravel:before{content:"\f3bd"}.fa-hotjar:before{content:"\f3b1"}.fa-bluetooth-b:before{content:"\f294"}.fa-sticker-mule:before{content:"\f3f7"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-hips:before{content:"\f452"}.fa-behance:before{content:"\f1b4"}.fa-reddit:before{content:"\f1a1"}.fa-discord:before{content:"\f392"}.fa-chrome:before{content:"\f268"}.fa-app-store-ios:before{content:"\f370"}.fa-cc-discover:before{content:"\f1f2"}.fa-wpbeginner:before{content:"\f297"}.fa-confluence:before{content:"\f78d"}.fa-mdb:before{content:"\f8ca"}.fa-dochub:before{content:"\f394"}.fa-accessible-icon:before{content:"\f368"}.fa-ebay:before{content:"\f4f4"}.fa-amazon:before{content:"\f270"}.fa-unsplash:before{content:"\e07c"}.fa-yarn:before{content:"\f7e3"}.fa-square-steam:before,.fa-steam-square:before{content:"\f1b7"}.fa-500px:before{content:"\f26e"}.fa-square-vimeo:before,.fa-vimeo-square:before{content:"\f194"}.fa-asymmetrik:before{content:"\f372"}.fa-font-awesome-flag:before,.fa-font-awesome-logo-full:before,.fa-font-awesome:before{content:"\f2b4"}.fa-gratipay:before{content:"\f184"}.fa-apple:before{content:"\f179"}.fa-hive:before{content:"\e07f"}.fa-gitkraken:before{content:"\f3a6"}.fa-keybase:before{content:"\f4f5"}.fa-apple-pay:before{content:"\f415"}.fa-padlet:before{content:"\e4a0"}.fa-amazon-pay:before{content:"\f42c"}.fa-github-square:before,.fa-square-github:before{content:"\f092"}.fa-stumbleupon:before{content:"\f1a4"}.fa-fedex:before{content:"\f797"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-shopify:before{content:"\e057"}.fa-neos:before{content:"\f612"}.fa-hackerrank:before{content:"\f5f7"}.fa-researchgate:before{content:"\f4f8"}.fa-swift:before{content:"\f8e1"}.fa-angular:before{content:"\f420"}.fa-speakap:before{content:"\f3f3"}.fa-angrycreative:before{content:"\f36e"}.fa-y-combinator:before{content:"\f23b"}.fa-empire:before{content:"\f1d1"}.fa-envira:before{content:"\f299"}.fa-gitlab-square:before,.fa-square-gitlab:before{content:"\e5ae"}.fa-studiovinari:before{content:"\f3f8"}.fa-pied-piper:before{content:"\f2ae"}.fa-wordpress:before{content:"\f19a"}.fa-product-hunt:before{content:"\f288"}.fa-firefox:before{content:"\f269"}.fa-linode:before{content:"\f2b8"}.fa-goodreads:before{content:"\f3a8"}.fa-odnoklassniki-square:before,.fa-square-odnoklassniki:before{content:"\f264"}.fa-jsfiddle:before{content:"\f1cc"}.fa-sith:before{content:"\f512"}.fa-themeisle:before{content:"\f2b2"}.fa-page4:before{content:"\f3d7"}.fa-hashnode:before{content:"\e499"}.fa-react:before{content:"\f41b"}.fa-cc-paypal:before{content:"\f1f4"}.fa-squarespace:before{content:"\f5be"}.fa-cc-stripe:before{content:"\f1f5"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-bitcoin:before{content:"\f379"}.fa-keycdn:before{content:"\f3ba"}.fa-opera:before{content:"\f26a"}.fa-itch-io:before{content:"\f83a"}.fa-umbraco:before{content:"\f8e8"}.fa-galactic-senate:before{content:"\f50d"}.fa-ubuntu:before{content:"\f7df"}.fa-draft2digital:before{content:"\f396"}.fa-stripe:before{content:"\f429"}.fa-houzz:before{content:"\f27c"}.fa-gg:before{content:"\f260"}.fa-dhl:before{content:"\f790"}.fa-pinterest-square:before,.fa-square-pinterest:before{content:"\f0d3"}.fa-xing:before{content:"\f168"}.fa-blackberry:before{content:"\f37b"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-playstation:before{content:"\f3df"}.fa-quinscape:before{content:"\f459"}.fa-less:before{content:"\f41d"}.fa-blogger-b:before{content:"\f37d"}.fa-opencart:before{content:"\f23d"}.fa-vine:before{content:"\f1ca"}.fa-paypal:before{content:"\f1ed"}.fa-gitlab:before{content:"\f296"}.fa-typo3:before{content:"\f42b"}.fa-reddit-alien:before{content:"\f281"}.fa-yahoo:before{content:"\f19e"}.fa-dailymotion:before{content:"\e052"}.fa-affiliatetheme:before{content:"\f36b"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-bootstrap:before{content:"\f836"}.fa-odnoklassniki:before{content:"\f263"}.fa-nfc-symbol:before{content:"\e531"}.fa-ethereum:before{content:"\f42e"}.fa-speaker-deck:before{content:"\f83c"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-patreon:before{content:"\f3d9"}.fa-avianex:before{content:"\f374"}.fa-ello:before{content:"\f5f1"}.fa-gofore:before{content:"\f3a7"}.fa-bimobject:before{content:"\f378"}.fa-facebook-f:before{content:"\f39e"}.fa-google-plus-square:before,.fa-square-google-plus:before{content:"\f0d4"}.fa-mandalorian:before{content:"\f50f"}.fa-first-order-alt:before{content:"\f50a"}.fa-osi:before{content:"\f41a"}.fa-google-wallet:before{content:"\f1ee"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-periscope:before{content:"\f3da"}.fa-fulcrum:before{content:"\f50b"}.fa-cloudscale:before{content:"\f383"}.fa-forumbee:before{content:"\f211"}.fa-mizuni:before{content:"\f3cc"}.fa-schlix:before{content:"\f3ea"}.fa-square-xing:before,.fa-xing-square:before{content:"\f169"}.fa-bandcamp:before{content:"\f2d5"}.fa-wpforms:before{content:"\f298"}.fa-cloudversify:before{content:"\f385"}.fa-usps:before{content:"\f7e1"}.fa-megaport:before{content:"\f5a3"}.fa-magento:before{content:"\f3c4"}.fa-spotify:before{content:"\f1bc"}.fa-optin-monster:before{content:"\f23c"}.fa-fly:before{content:"\f417"}.fa-aviato:before{content:"\f421"}.fa-itunes:before{content:"\f3b4"}.fa-cuttlefish:before{content:"\f38c"}.fa-blogger:before{content:"\f37c"}.fa-flickr:before{content:"\f16e"}.fa-viber:before{content:"\f409"}.fa-soundcloud:before{content:"\f1be"}.fa-digg:before{content:"\f1a6"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-symfony:before{content:"\f83d"}.fa-maxcdn:before{content:"\f136"}.fa-etsy:before{content:"\f2d7"}.fa-facebook-messenger:before{content:"\f39f"}.fa-audible:before{content:"\f373"}.fa-think-peaks:before{content:"\f731"}.fa-bilibili:before{content:"\e3d9"}.fa-erlang:before{content:"\f39d"}.fa-cotton-bureau:before{content:"\f89e"}.fa-dashcube:before{content:"\f210"}.fa-42-group:before,.fa-innosoft:before{content:"\e080"}.fa-stack-exchange:before{content:"\f18d"}.fa-elementor:before{content:"\f430"}.fa-pied-piper-square:before,.fa-square-pied-piper:before{content:"\e01e"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-palfed:before{content:"\f3d8"}.fa-superpowers:before{content:"\f2dd"}.fa-resolving:before{content:"\f3e7"}.fa-xbox:before{content:"\f412"}.fa-searchengin:before{content:"\f3eb"}.fa-tiktok:before{content:"\e07b"}.fa-facebook-square:before,.fa-square-facebook:before{content:"\f082"}.fa-renren:before{content:"\f18b"}.fa-linux:before{content:"\f17c"}.fa-glide:before{content:"\f2a5"}.fa-linkedin:before{content:"\f08c"}.fa-hubspot:before{content:"\f3b2"}.fa-deploydog:before{content:"\f38e"}.fa-twitch:before{content:"\f1e8"}.fa-ravelry:before{content:"\f2d9"}.fa-mixer:before{content:"\e056"}.fa-lastfm-square:before,.fa-square-lastfm:before{content:"\f203"}.fa-vimeo:before{content:"\f40a"}.fa-mendeley:before{content:"\f7b3"}.fa-uniregistry:before{content:"\f404"}.fa-figma:before{content:"\f799"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-dropbox:before{content:"\f16b"}.fa-instagram:before{content:"\f16d"}.fa-cmplid:before{content:"\e360"}.fa-facebook:before{content:"\f09a"}.fa-gripfire:before{content:"\f3ac"}.fa-jedi-order:before{content:"\f50e"}.fa-uikit:before{content:"\f403"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-phabricator:before{content:"\f3db"}.fa-ussunnah:before{content:"\f407"}.fa-earlybirds:before{content:"\f39a"}.fa-trade-federation:before{content:"\f513"}.fa-autoprefixer:before{content:"\f41c"}.fa-whatsapp:before{content:"\f232"}.fa-slideshare:before{content:"\f1e7"}.fa-google-play:before{content:"\f3ab"}.fa-viadeo:before{content:"\f2a9"}.fa-line:before{content:"\f3c0"}.fa-google-drive:before{content:"\f3aa"}.fa-servicestack:before{content:"\f3ec"}.fa-simplybuilt:before{content:"\f215"}.fa-bitbucket:before{content:"\f171"}.fa-imdb:before{content:"\f2d8"}.fa-deezer:before{content:"\e077"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-jira:before{content:"\f7b1"}.fa-docker:before{content:"\f395"}.fa-screenpal:before{content:"\e570"}.fa-bluetooth:before{content:"\f293"}.fa-gitter:before{content:"\f426"}.fa-d-and-d:before{content:"\f38d"}.fa-microblog:before{content:"\e01a"}.fa-cc-diners-club:before{content:"\f24c"}.fa-gg-circle:before{content:"\f261"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-yandex:before{content:"\f413"}.fa-readme:before{content:"\f4d5"}.fa-html5:before{content:"\f13b"}.fa-sellsy:before{content:"\f213"}.fa-sass:before{content:"\f41e"}.fa-wirsindhandwerk:before,.fa-wsh:before{content:"\e2d0"}.fa-buromobelexperte:before{content:"\f37f"}.fa-salesforce:before{content:"\f83b"}.fa-octopus-deploy:before{content:"\e082"}.fa-medapps:before{content:"\f3c6"}.fa-ns8:before{content:"\f3d5"}.fa-pinterest-p:before{content:"\f231"}.fa-apper:before{content:"\f371"}.fa-fort-awesome:before{content:"\f286"}.fa-waze:before{content:"\f83f"}.fa-cc-jcb:before{content:"\f24b"}.fa-snapchat-ghost:before,.fa-snapchat:before{content:"\f2ab"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-rust:before{content:"\e07a"}.fa-wix:before{content:"\f5cf"}.fa-behance-square:before,.fa-square-behance:before{content:"\f1b5"}.fa-supple:before{content:"\f3f9"}.fa-rebel:before{content:"\f1d0"}.fa-css3:before{content:"\f13c"}.fa-staylinked:before{content:"\f3f5"}.fa-kaggle:before{content:"\f5fa"}.fa-space-awesome:before{content:"\e5ac"}.fa-deviantart:before{content:"\f1bd"}.fa-cpanel:before{content:"\f388"}.fa-goodreads-g:before{content:"\f3a9"}.fa-git-square:before,.fa-square-git:before{content:"\f1d2"}.fa-square-tumblr:before,.fa-tumblr-square:before{content:"\f174"}.fa-trello:before{content:"\f181"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-get-pocket:before{content:"\f265"}.fa-perbyte:before{content:"\e083"}.fa-grunt:before{content:"\f3ad"}.fa-weebly:before{content:"\f5cc"}.fa-connectdevelop:before{content:"\f20e"}.fa-leanpub:before{content:"\f212"}.fa-black-tie:before{content:"\f27e"}.fa-themeco:before{content:"\f5c6"}.fa-python:before{content:"\f3e2"}.fa-android:before{content:"\f17b"}.fa-bots:before{content:"\e340"}.fa-free-code-camp:before{content:"\f2c5"}.fa-hornbill:before{content:"\f592"}.fa-js:before{content:"\f3b8"}.fa-ideal:before{content:"\e013"}.fa-git:before{content:"\f1d3"}.fa-dev:before{content:"\f6cc"}.fa-sketch:before{content:"\f7c6"}.fa-yandex-international:before{content:"\f414"}.fa-cc-amex:before{content:"\f1f3"}.fa-uber:before{content:"\f402"}.fa-github:before{content:"\f09b"}.fa-php:before{content:"\f457"}.fa-alipay:before{content:"\f642"}.fa-youtube:before{content:"\f167"}.fa-skyatlas:before{content:"\f216"}.fa-firefox-browser:before{content:"\e007"}.fa-replyd:before{content:"\f3e6"}.fa-suse:before{content:"\f7d6"}.fa-jenkins:before{content:"\f3b6"}.fa-twitter:before{content:"\f099"}.fa-rockrms:before{content:"\f3e9"}.fa-pinterest:before{content:"\f0d2"}.fa-buffer:before{content:"\f837"}.fa-npm:before{content:"\f3d4"}.fa-yammer:before{content:"\f840"}.fa-btc:before{content:"\f15a"}.fa-dribbble:before{content:"\f17d"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-internet-explorer:before{content:"\f26b"}.fa-stubber:before{content:"\e5c7"}.fa-telegram-plane:before,.fa-telegram:before{content:"\f2c6"}.fa-old-republic:before{content:"\f510"}.fa-odysee:before{content:"\e5c6"}.fa-square-whatsapp:before,.fa-whatsapp-square:before{content:"\f40c"}.fa-node-js:before{content:"\f3d3"}.fa-edge-legacy:before{content:"\e078"}.fa-slack-hash:before,.fa-slack:before{content:"\f198"}.fa-medrt:before{content:"\f3c8"}.fa-usb:before{content:"\f287"}.fa-tumblr:before{content:"\f173"}.fa-vaadin:before{content:"\f408"}.fa-quora:before{content:"\f2c4"}.fa-reacteurope:before{content:"\f75d"}.fa-medium-m:before,.fa-medium:before{content:"\f23a"}.fa-amilia:before{content:"\f36d"}.fa-mixcloud:before{content:"\f289"}.fa-flipboard:before{content:"\f44d"}.fa-viacoin:before{content:"\f237"}.fa-critical-role:before{content:"\f6c9"}.fa-sitrox:before{content:"\e44a"}.fa-discourse:before{content:"\f393"}.fa-joomla:before{content:"\f1aa"}.fa-mastodon:before{content:"\f4f6"}.fa-airbnb:before{content:"\f834"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-buy-n-large:before{content:"\f8a6"}.fa-gulp:before{content:"\f3ae"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-strava:before{content:"\f428"}.fa-ember:before{content:"\f423"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-teamspeak:before{content:"\f4f9"}.fa-pushed:before{content:"\f3e1"}.fa-wordpress-simple:before{content:"\f411"}.fa-nutritionix:before{content:"\f3d6"}.fa-wodu:before{content:"\e088"}.fa-google-pay:before{content:"\e079"}.fa-intercom:before{content:"\f7af"}.fa-zhihu:before{content:"\f63f"}.fa-korvue:before{content:"\f42f"}.fa-pix:before{content:"\e43a"}.fa-steam-symbol:before{content:"\f3f6"}: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(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.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(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.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(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.ttf) format("truetype")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:900;src:url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.ttf) format("truetype")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:400;src:url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.ttf) format("truetype")}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.ttf) format("truetype")}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.ttf) format("truetype")}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.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(../webfonts/fa-v4compatibility.woff2) format("woff2"),url(../webfonts/fa-v4compatibility.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} \ No newline at end of file diff --git a/fontawesome/css/brands.css b/fontawesome/css/brands.css deleted file mode 100644 index 69d9882440c9c67bd2b619e4a716fd51e45eacb8..0000000000000000000000000000000000000000 --- a/fontawesome/css/brands.css +++ /dev/null @@ -1,1522 +0,0 @@ -/*! - * Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) - * Copyright 2023 Fonticons, Inc. - */ -:root, :host { - --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("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.ttf") format("truetype"); } - -.fab, -.fa-brands { - font-weight: 400; } - -.fa-monero:before { - content: "\f3d0"; } - -.fa-hooli:before { - content: "\f427"; } - -.fa-yelp:before { - content: "\f1e9"; } - -.fa-cc-visa:before { - content: "\f1f0"; } - -.fa-lastfm:before { - content: "\f202"; } - -.fa-shopware:before { - content: "\f5b5"; } - -.fa-creative-commons-nc:before { - content: "\f4e8"; } - -.fa-aws:before { - content: "\f375"; } - -.fa-redhat:before { - content: "\f7bc"; } - -.fa-yoast:before { - content: "\f2b1"; } - -.fa-cloudflare:before { - content: "\e07d"; } - -.fa-ups:before { - content: "\f7e0"; } - -.fa-wpexplorer:before { - content: "\f2de"; } - -.fa-dyalog:before { - content: "\f399"; } - -.fa-bity:before { - content: "\f37a"; } - -.fa-stackpath:before { - content: "\f842"; } - -.fa-buysellads:before { - content: "\f20d"; } - -.fa-first-order:before { - content: "\f2b0"; } - -.fa-modx:before { - content: "\f285"; } - -.fa-guilded:before { - content: "\e07e"; } - -.fa-vnv:before { - content: "\f40b"; } - -.fa-square-js:before { - content: "\f3b9"; } - -.fa-js-square:before { - content: "\f3b9"; } - -.fa-microsoft:before { - content: "\f3ca"; } - -.fa-qq:before { - content: "\f1d6"; } - -.fa-orcid:before { - content: "\f8d2"; } - -.fa-java:before { - content: "\f4e4"; } - -.fa-invision:before { - content: "\f7b0"; } - -.fa-creative-commons-pd-alt:before { - content: "\f4ed"; } - -.fa-centercode:before { - content: "\f380"; } - -.fa-glide-g:before { - content: "\f2a6"; } - -.fa-drupal:before { - content: "\f1a9"; } - -.fa-hire-a-helper:before { - content: "\f3b0"; } - -.fa-creative-commons-by:before { - content: "\f4e7"; } - -.fa-unity:before { - content: "\e049"; } - -.fa-whmcs:before { - content: "\f40d"; } - -.fa-rocketchat:before { - content: "\f3e8"; } - -.fa-vk:before { - content: "\f189"; } - -.fa-untappd:before { - content: "\f405"; } - -.fa-mailchimp:before { - content: "\f59e"; } - -.fa-css3-alt:before { - content: "\f38b"; } - -.fa-square-reddit:before { - content: "\f1a2"; } - -.fa-reddit-square:before { - content: "\f1a2"; } - -.fa-vimeo-v:before { - content: "\f27d"; } - -.fa-contao:before { - content: "\f26d"; } - -.fa-square-font-awesome:before { - content: "\e5ad"; } - -.fa-deskpro:before { - content: "\f38f"; } - -.fa-sistrix:before { - content: "\f3ee"; } - -.fa-square-instagram:before { - content: "\e055"; } - -.fa-instagram-square:before { - content: "\e055"; } - -.fa-battle-net:before { - content: "\f835"; } - -.fa-the-red-yeti:before { - content: "\f69d"; } - -.fa-square-hacker-news:before { - content: "\f3af"; } - -.fa-hacker-news-square:before { - content: "\f3af"; } - -.fa-edge:before { - content: "\f282"; } - -.fa-napster:before { - content: "\f3d2"; } - -.fa-square-snapchat:before { - content: "\f2ad"; } - -.fa-snapchat-square:before { - content: "\f2ad"; } - -.fa-google-plus-g:before { - content: "\f0d5"; } - -.fa-artstation:before { - content: "\f77a"; } - -.fa-markdown:before { - content: "\f60f"; } - -.fa-sourcetree:before { - content: "\f7d3"; } - -.fa-google-plus:before { - content: "\f2b3"; } - -.fa-diaspora:before { - content: "\f791"; } - -.fa-foursquare:before { - content: "\f180"; } - -.fa-stack-overflow:before { - content: "\f16c"; } - -.fa-github-alt:before { - content: "\f113"; } - -.fa-phoenix-squadron:before { - content: "\f511"; } - -.fa-pagelines:before { - content: "\f18c"; } - -.fa-algolia:before { - content: "\f36c"; } - -.fa-red-river:before { - content: "\f3e3"; } - -.fa-creative-commons-sa:before { - content: "\f4ef"; } - -.fa-safari:before { - content: "\f267"; } - -.fa-google:before { - content: "\f1a0"; } - -.fa-square-font-awesome-stroke:before { - content: "\f35c"; } - -.fa-font-awesome-alt:before { - content: "\f35c"; } - -.fa-atlassian:before { - content: "\f77b"; } - -.fa-linkedin-in:before { - content: "\f0e1"; } - -.fa-digital-ocean:before { - content: "\f391"; } - -.fa-nimblr:before { - content: "\f5a8"; } - -.fa-chromecast:before { - content: "\f838"; } - -.fa-evernote:before { - content: "\f839"; } - -.fa-hacker-news:before { - content: "\f1d4"; } - -.fa-creative-commons-sampling:before { - content: "\f4f0"; } - -.fa-adversal:before { - content: "\f36a"; } - -.fa-creative-commons:before { - content: "\f25e"; } - -.fa-watchman-monitoring:before { - content: "\e087"; } - -.fa-fonticons:before { - content: "\f280"; } - -.fa-weixin:before { - content: "\f1d7"; } - -.fa-shirtsinbulk:before { - content: "\f214"; } - -.fa-codepen:before { - content: "\f1cb"; } - -.fa-git-alt:before { - content: "\f841"; } - -.fa-lyft:before { - content: "\f3c3"; } - -.fa-rev:before { - content: "\f5b2"; } - -.fa-windows:before { - content: "\f17a"; } - -.fa-wizards-of-the-coast:before { - content: "\f730"; } - -.fa-square-viadeo:before { - content: "\f2aa"; } - -.fa-viadeo-square:before { - content: "\f2aa"; } - -.fa-meetup:before { - content: "\f2e0"; } - -.fa-centos:before { - content: "\f789"; } - -.fa-adn:before { - content: "\f170"; } - -.fa-cloudsmith:before { - content: "\f384"; } - -.fa-pied-piper-alt:before { - content: "\f1a8"; } - -.fa-square-dribbble:before { - content: "\f397"; } - -.fa-dribbble-square:before { - content: "\f397"; } - -.fa-codiepie:before { - content: "\f284"; } - -.fa-node:before { - content: "\f419"; } - -.fa-mix:before { - content: "\f3cb"; } - -.fa-steam:before { - content: "\f1b6"; } - -.fa-cc-apple-pay:before { - content: "\f416"; } - -.fa-scribd:before { - content: "\f28a"; } - -.fa-openid:before { - content: "\f19b"; } - -.fa-instalod:before { - content: "\e081"; } - -.fa-expeditedssl:before { - content: "\f23e"; } - -.fa-sellcast:before { - content: "\f2da"; } - -.fa-square-twitter:before { - content: "\f081"; } - -.fa-twitter-square:before { - content: "\f081"; } - -.fa-r-project:before { - content: "\f4f7"; } - -.fa-delicious:before { - content: "\f1a5"; } - -.fa-freebsd:before { - content: "\f3a4"; } - -.fa-vuejs:before { - content: "\f41f"; } - -.fa-accusoft:before { - content: "\f369"; } - -.fa-ioxhost:before { - content: "\f208"; } - -.fa-fonticons-fi:before { - content: "\f3a2"; } - -.fa-app-store:before { - content: "\f36f"; } - -.fa-cc-mastercard:before { - content: "\f1f1"; } - -.fa-itunes-note:before { - content: "\f3b5"; } - -.fa-golang:before { - content: "\e40f"; } - -.fa-kickstarter:before { - content: "\f3bb"; } - -.fa-grav:before { - content: "\f2d6"; } - -.fa-weibo:before { - content: "\f18a"; } - -.fa-uncharted:before { - content: "\e084"; } - -.fa-firstdraft:before { - content: "\f3a1"; } - -.fa-square-youtube:before { - content: "\f431"; } - -.fa-youtube-square:before { - content: "\f431"; } - -.fa-wikipedia-w:before { - content: "\f266"; } - -.fa-wpressr:before { - content: "\f3e4"; } - -.fa-rendact:before { - content: "\f3e4"; } - -.fa-angellist:before { - content: "\f209"; } - -.fa-galactic-republic:before { - content: "\f50c"; } - -.fa-nfc-directional:before { - content: "\e530"; } - -.fa-skype:before { - content: "\f17e"; } - -.fa-joget:before { - content: "\f3b7"; } - -.fa-fedora:before { - content: "\f798"; } - -.fa-stripe-s:before { - content: "\f42a"; } - -.fa-meta:before { - content: "\e49b"; } - -.fa-laravel:before { - content: "\f3bd"; } - -.fa-hotjar:before { - content: "\f3b1"; } - -.fa-bluetooth-b:before { - content: "\f294"; } - -.fa-sticker-mule:before { - content: "\f3f7"; } - -.fa-creative-commons-zero:before { - content: "\f4f3"; } - -.fa-hips:before { - content: "\f452"; } - -.fa-behance:before { - content: "\f1b4"; } - -.fa-reddit:before { - content: "\f1a1"; } - -.fa-discord:before { - content: "\f392"; } - -.fa-chrome:before { - content: "\f268"; } - -.fa-app-store-ios:before { - content: "\f370"; } - -.fa-cc-discover:before { - content: "\f1f2"; } - -.fa-wpbeginner:before { - content: "\f297"; } - -.fa-confluence:before { - content: "\f78d"; } - -.fa-mdb:before { - content: "\f8ca"; } - -.fa-dochub:before { - content: "\f394"; } - -.fa-accessible-icon:before { - content: "\f368"; } - -.fa-ebay:before { - content: "\f4f4"; } - -.fa-amazon:before { - content: "\f270"; } - -.fa-unsplash:before { - content: "\e07c"; } - -.fa-yarn:before { - content: "\f7e3"; } - -.fa-square-steam:before { - content: "\f1b7"; } - -.fa-steam-square:before { - content: "\f1b7"; } - -.fa-500px:before { - content: "\f26e"; } - -.fa-square-vimeo:before { - content: "\f194"; } - -.fa-vimeo-square:before { - content: "\f194"; } - -.fa-asymmetrik:before { - content: "\f372"; } - -.fa-font-awesome:before { - content: "\f2b4"; } - -.fa-font-awesome-flag:before { - content: "\f2b4"; } - -.fa-font-awesome-logo-full:before { - content: "\f2b4"; } - -.fa-gratipay:before { - content: "\f184"; } - -.fa-apple:before { - content: "\f179"; } - -.fa-hive:before { - content: "\e07f"; } - -.fa-gitkraken:before { - content: "\f3a6"; } - -.fa-keybase:before { - content: "\f4f5"; } - -.fa-apple-pay:before { - content: "\f415"; } - -.fa-padlet:before { - content: "\e4a0"; } - -.fa-amazon-pay:before { - content: "\f42c"; } - -.fa-square-github:before { - content: "\f092"; } - -.fa-github-square:before { - content: "\f092"; } - -.fa-stumbleupon:before { - content: "\f1a4"; } - -.fa-fedex:before { - content: "\f797"; } - -.fa-phoenix-framework:before { - content: "\f3dc"; } - -.fa-shopify:before { - content: "\e057"; } - -.fa-neos:before { - content: "\f612"; } - -.fa-hackerrank:before { - content: "\f5f7"; } - -.fa-researchgate:before { - content: "\f4f8"; } - -.fa-swift:before { - content: "\f8e1"; } - -.fa-angular:before { - content: "\f420"; } - -.fa-speakap:before { - content: "\f3f3"; } - -.fa-angrycreative:before { - content: "\f36e"; } - -.fa-y-combinator:before { - content: "\f23b"; } - -.fa-empire:before { - content: "\f1d1"; } - -.fa-envira:before { - content: "\f299"; } - -.fa-square-gitlab:before { - content: "\e5ae"; } - -.fa-gitlab-square:before { - content: "\e5ae"; } - -.fa-studiovinari:before { - content: "\f3f8"; } - -.fa-pied-piper:before { - content: "\f2ae"; } - -.fa-wordpress:before { - content: "\f19a"; } - -.fa-product-hunt:before { - content: "\f288"; } - -.fa-firefox:before { - content: "\f269"; } - -.fa-linode:before { - content: "\f2b8"; } - -.fa-goodreads:before { - content: "\f3a8"; } - -.fa-square-odnoklassniki:before { - content: "\f264"; } - -.fa-odnoklassniki-square:before { - content: "\f264"; } - -.fa-jsfiddle:before { - content: "\f1cc"; } - -.fa-sith:before { - content: "\f512"; } - -.fa-themeisle:before { - content: "\f2b2"; } - -.fa-page4:before { - content: "\f3d7"; } - -.fa-hashnode:before { - content: "\e499"; } - -.fa-react:before { - content: "\f41b"; } - -.fa-cc-paypal:before { - content: "\f1f4"; } - -.fa-squarespace:before { - content: "\f5be"; } - -.fa-cc-stripe:before { - content: "\f1f5"; } - -.fa-creative-commons-share:before { - content: "\f4f2"; } - -.fa-bitcoin:before { - content: "\f379"; } - -.fa-keycdn:before { - content: "\f3ba"; } - -.fa-opera:before { - content: "\f26a"; } - -.fa-itch-io:before { - content: "\f83a"; } - -.fa-umbraco:before { - content: "\f8e8"; } - -.fa-galactic-senate:before { - content: "\f50d"; } - -.fa-ubuntu:before { - content: "\f7df"; } - -.fa-draft2digital:before { - content: "\f396"; } - -.fa-stripe:before { - content: "\f429"; } - -.fa-houzz:before { - content: "\f27c"; } - -.fa-gg:before { - content: "\f260"; } - -.fa-dhl:before { - content: "\f790"; } - -.fa-square-pinterest:before { - content: "\f0d3"; } - -.fa-pinterest-square:before { - content: "\f0d3"; } - -.fa-xing:before { - content: "\f168"; } - -.fa-blackberry:before { - content: "\f37b"; } - -.fa-creative-commons-pd:before { - content: "\f4ec"; } - -.fa-playstation:before { - content: "\f3df"; } - -.fa-quinscape:before { - content: "\f459"; } - -.fa-less:before { - content: "\f41d"; } - -.fa-blogger-b:before { - content: "\f37d"; } - -.fa-opencart:before { - content: "\f23d"; } - -.fa-vine:before { - content: "\f1ca"; } - -.fa-paypal:before { - content: "\f1ed"; } - -.fa-gitlab:before { - content: "\f296"; } - -.fa-typo3:before { - content: "\f42b"; } - -.fa-reddit-alien:before { - content: "\f281"; } - -.fa-yahoo:before { - content: "\f19e"; } - -.fa-dailymotion:before { - content: "\e052"; } - -.fa-affiliatetheme:before { - content: "\f36b"; } - -.fa-pied-piper-pp:before { - content: "\f1a7"; } - -.fa-bootstrap:before { - content: "\f836"; } - -.fa-odnoklassniki:before { - content: "\f263"; } - -.fa-nfc-symbol:before { - content: "\e531"; } - -.fa-ethereum:before { - content: "\f42e"; } - -.fa-speaker-deck:before { - content: "\f83c"; } - -.fa-creative-commons-nc-eu:before { - content: "\f4e9"; } - -.fa-patreon:before { - content: "\f3d9"; } - -.fa-avianex:before { - content: "\f374"; } - -.fa-ello:before { - content: "\f5f1"; } - -.fa-gofore:before { - content: "\f3a7"; } - -.fa-bimobject:before { - content: "\f378"; } - -.fa-facebook-f:before { - content: "\f39e"; } - -.fa-square-google-plus:before { - content: "\f0d4"; } - -.fa-google-plus-square:before { - content: "\f0d4"; } - -.fa-mandalorian:before { - content: "\f50f"; } - -.fa-first-order-alt:before { - content: "\f50a"; } - -.fa-osi:before { - content: "\f41a"; } - -.fa-google-wallet:before { - content: "\f1ee"; } - -.fa-d-and-d-beyond:before { - content: "\f6ca"; } - -.fa-periscope:before { - content: "\f3da"; } - -.fa-fulcrum:before { - content: "\f50b"; } - -.fa-cloudscale:before { - content: "\f383"; } - -.fa-forumbee:before { - content: "\f211"; } - -.fa-mizuni:before { - content: "\f3cc"; } - -.fa-schlix:before { - content: "\f3ea"; } - -.fa-square-xing:before { - content: "\f169"; } - -.fa-xing-square:before { - content: "\f169"; } - -.fa-bandcamp:before { - content: "\f2d5"; } - -.fa-wpforms:before { - content: "\f298"; } - -.fa-cloudversify:before { - content: "\f385"; } - -.fa-usps:before { - content: "\f7e1"; } - -.fa-megaport:before { - content: "\f5a3"; } - -.fa-magento:before { - content: "\f3c4"; } - -.fa-spotify:before { - content: "\f1bc"; } - -.fa-optin-monster:before { - content: "\f23c"; } - -.fa-fly:before { - content: "\f417"; } - -.fa-aviato:before { - content: "\f421"; } - -.fa-itunes:before { - content: "\f3b4"; } - -.fa-cuttlefish:before { - content: "\f38c"; } - -.fa-blogger:before { - content: "\f37c"; } - -.fa-flickr:before { - content: "\f16e"; } - -.fa-viber:before { - content: "\f409"; } - -.fa-soundcloud:before { - content: "\f1be"; } - -.fa-digg:before { - content: "\f1a6"; } - -.fa-tencent-weibo:before { - content: "\f1d5"; } - -.fa-symfony:before { - content: "\f83d"; } - -.fa-maxcdn:before { - content: "\f136"; } - -.fa-etsy:before { - content: "\f2d7"; } - -.fa-facebook-messenger:before { - content: "\f39f"; } - -.fa-audible:before { - content: "\f373"; } - -.fa-think-peaks:before { - content: "\f731"; } - -.fa-bilibili:before { - content: "\e3d9"; } - -.fa-erlang:before { - content: "\f39d"; } - -.fa-cotton-bureau:before { - content: "\f89e"; } - -.fa-dashcube:before { - content: "\f210"; } - -.fa-42-group:before { - content: "\e080"; } - -.fa-innosoft:before { - content: "\e080"; } - -.fa-stack-exchange:before { - content: "\f18d"; } - -.fa-elementor:before { - content: "\f430"; } - -.fa-square-pied-piper:before { - content: "\e01e"; } - -.fa-pied-piper-square:before { - content: "\e01e"; } - -.fa-creative-commons-nd:before { - content: "\f4eb"; } - -.fa-palfed:before { - content: "\f3d8"; } - -.fa-superpowers:before { - content: "\f2dd"; } - -.fa-resolving:before { - content: "\f3e7"; } - -.fa-xbox:before { - content: "\f412"; } - -.fa-searchengin:before { - content: "\f3eb"; } - -.fa-tiktok:before { - content: "\e07b"; } - -.fa-square-facebook:before { - content: "\f082"; } - -.fa-facebook-square:before { - content: "\f082"; } - -.fa-renren:before { - content: "\f18b"; } - -.fa-linux:before { - content: "\f17c"; } - -.fa-glide:before { - content: "\f2a5"; } - -.fa-linkedin:before { - content: "\f08c"; } - -.fa-hubspot:before { - content: "\f3b2"; } - -.fa-deploydog:before { - content: "\f38e"; } - -.fa-twitch:before { - content: "\f1e8"; } - -.fa-ravelry:before { - content: "\f2d9"; } - -.fa-mixer:before { - content: "\e056"; } - -.fa-square-lastfm:before { - content: "\f203"; } - -.fa-lastfm-square:before { - content: "\f203"; } - -.fa-vimeo:before { - content: "\f40a"; } - -.fa-mendeley:before { - content: "\f7b3"; } - -.fa-uniregistry:before { - content: "\f404"; } - -.fa-figma:before { - content: "\f799"; } - -.fa-creative-commons-remix:before { - content: "\f4ee"; } - -.fa-cc-amazon-pay:before { - content: "\f42d"; } - -.fa-dropbox:before { - content: "\f16b"; } - -.fa-instagram:before { - content: "\f16d"; } - -.fa-cmplid:before { - content: "\e360"; } - -.fa-facebook:before { - content: "\f09a"; } - -.fa-gripfire:before { - content: "\f3ac"; } - -.fa-jedi-order:before { - content: "\f50e"; } - -.fa-uikit:before { - content: "\f403"; } - -.fa-fort-awesome-alt:before { - content: "\f3a3"; } - -.fa-phabricator:before { - content: "\f3db"; } - -.fa-ussunnah:before { - content: "\f407"; } - -.fa-earlybirds:before { - content: "\f39a"; } - -.fa-trade-federation:before { - content: "\f513"; } - -.fa-autoprefixer:before { - content: "\f41c"; } - -.fa-whatsapp:before { - content: "\f232"; } - -.fa-slideshare:before { - content: "\f1e7"; } - -.fa-google-play:before { - content: "\f3ab"; } - -.fa-viadeo:before { - content: "\f2a9"; } - -.fa-line:before { - content: "\f3c0"; } - -.fa-google-drive:before { - content: "\f3aa"; } - -.fa-servicestack:before { - content: "\f3ec"; } - -.fa-simplybuilt:before { - content: "\f215"; } - -.fa-bitbucket:before { - content: "\f171"; } - -.fa-imdb:before { - content: "\f2d8"; } - -.fa-deezer:before { - content: "\e077"; } - -.fa-raspberry-pi:before { - content: "\f7bb"; } - -.fa-jira:before { - content: "\f7b1"; } - -.fa-docker:before { - content: "\f395"; } - -.fa-screenpal:before { - content: "\e570"; } - -.fa-bluetooth:before { - content: "\f293"; } - -.fa-gitter:before { - content: "\f426"; } - -.fa-d-and-d:before { - content: "\f38d"; } - -.fa-microblog:before { - content: "\e01a"; } - -.fa-cc-diners-club:before { - content: "\f24c"; } - -.fa-gg-circle:before { - content: "\f261"; } - -.fa-pied-piper-hat:before { - content: "\f4e5"; } - -.fa-kickstarter-k:before { - content: "\f3bc"; } - -.fa-yandex:before { - content: "\f413"; } - -.fa-readme:before { - content: "\f4d5"; } - -.fa-html5:before { - content: "\f13b"; } - -.fa-sellsy:before { - content: "\f213"; } - -.fa-sass:before { - content: "\f41e"; } - -.fa-wirsindhandwerk:before { - content: "\e2d0"; } - -.fa-wsh:before { - content: "\e2d0"; } - -.fa-buromobelexperte:before { - content: "\f37f"; } - -.fa-salesforce:before { - content: "\f83b"; } - -.fa-octopus-deploy:before { - content: "\e082"; } - -.fa-medapps:before { - content: "\f3c6"; } - -.fa-ns8:before { - content: "\f3d5"; } - -.fa-pinterest-p:before { - content: "\f231"; } - -.fa-apper:before { - content: "\f371"; } - -.fa-fort-awesome:before { - content: "\f286"; } - -.fa-waze:before { - content: "\f83f"; } - -.fa-cc-jcb:before { - content: "\f24b"; } - -.fa-snapchat:before { - content: "\f2ab"; } - -.fa-snapchat-ghost:before { - content: "\f2ab"; } - -.fa-fantasy-flight-games:before { - content: "\f6dc"; } - -.fa-rust:before { - content: "\e07a"; } - -.fa-wix:before { - content: "\f5cf"; } - -.fa-square-behance:before { - content: "\f1b5"; } - -.fa-behance-square:before { - content: "\f1b5"; } - -.fa-supple:before { - content: "\f3f9"; } - -.fa-rebel:before { - content: "\f1d0"; } - -.fa-css3:before { - content: "\f13c"; } - -.fa-staylinked:before { - content: "\f3f5"; } - -.fa-kaggle:before { - content: "\f5fa"; } - -.fa-space-awesome:before { - content: "\e5ac"; } - -.fa-deviantart:before { - content: "\f1bd"; } - -.fa-cpanel:before { - content: "\f388"; } - -.fa-goodreads-g:before { - content: "\f3a9"; } - -.fa-square-git:before { - content: "\f1d2"; } - -.fa-git-square:before { - content: "\f1d2"; } - -.fa-square-tumblr:before { - content: "\f174"; } - -.fa-tumblr-square:before { - content: "\f174"; } - -.fa-trello:before { - content: "\f181"; } - -.fa-creative-commons-nc-jp:before { - content: "\f4ea"; } - -.fa-get-pocket:before { - content: "\f265"; } - -.fa-perbyte:before { - content: "\e083"; } - -.fa-grunt:before { - content: "\f3ad"; } - -.fa-weebly:before { - content: "\f5cc"; } - -.fa-connectdevelop:before { - content: "\f20e"; } - -.fa-leanpub:before { - content: "\f212"; } - -.fa-black-tie:before { - content: "\f27e"; } - -.fa-themeco:before { - content: "\f5c6"; } - -.fa-python:before { - content: "\f3e2"; } - -.fa-android:before { - content: "\f17b"; } - -.fa-bots:before { - content: "\e340"; } - -.fa-free-code-camp:before { - content: "\f2c5"; } - -.fa-hornbill:before { - content: "\f592"; } - -.fa-js:before { - content: "\f3b8"; } - -.fa-ideal:before { - content: "\e013"; } - -.fa-git:before { - content: "\f1d3"; } - -.fa-dev:before { - content: "\f6cc"; } - -.fa-sketch:before { - content: "\f7c6"; } - -.fa-yandex-international:before { - content: "\f414"; } - -.fa-cc-amex:before { - content: "\f1f3"; } - -.fa-uber:before { - content: "\f402"; } - -.fa-github:before { - content: "\f09b"; } - -.fa-php:before { - content: "\f457"; } - -.fa-alipay:before { - content: "\f642"; } - -.fa-youtube:before { - content: "\f167"; } - -.fa-skyatlas:before { - content: "\f216"; } - -.fa-firefox-browser:before { - content: "\e007"; } - -.fa-replyd:before { - content: "\f3e6"; } - -.fa-suse:before { - content: "\f7d6"; } - -.fa-jenkins:before { - content: "\f3b6"; } - -.fa-twitter:before { - content: "\f099"; } - -.fa-rockrms:before { - content: "\f3e9"; } - -.fa-pinterest:before { - content: "\f0d2"; } - -.fa-buffer:before { - content: "\f837"; } - -.fa-npm:before { - content: "\f3d4"; } - -.fa-yammer:before { - content: "\f840"; } - -.fa-btc:before { - content: "\f15a"; } - -.fa-dribbble:before { - content: "\f17d"; } - -.fa-stumbleupon-circle:before { - content: "\f1a3"; } - -.fa-internet-explorer:before { - content: "\f26b"; } - -.fa-stubber:before { - content: "\e5c7"; } - -.fa-telegram:before { - content: "\f2c6"; } - -.fa-telegram-plane:before { - content: "\f2c6"; } - -.fa-old-republic:before { - content: "\f510"; } - -.fa-odysee:before { - content: "\e5c6"; } - -.fa-square-whatsapp:before { - content: "\f40c"; } - -.fa-whatsapp-square:before { - content: "\f40c"; } - -.fa-node-js:before { - content: "\f3d3"; } - -.fa-edge-legacy:before { - content: "\e078"; } - -.fa-slack:before { - content: "\f198"; } - -.fa-slack-hash:before { - content: "\f198"; } - -.fa-medrt:before { - content: "\f3c8"; } - -.fa-usb:before { - content: "\f287"; } - -.fa-tumblr:before { - content: "\f173"; } - -.fa-vaadin:before { - content: "\f408"; } - -.fa-quora:before { - content: "\f2c4"; } - -.fa-reacteurope:before { - content: "\f75d"; } - -.fa-medium:before { - content: "\f23a"; } - -.fa-medium-m:before { - content: "\f23a"; } - -.fa-amilia:before { - content: "\f36d"; } - -.fa-mixcloud:before { - content: "\f289"; } - -.fa-flipboard:before { - content: "\f44d"; } - -.fa-viacoin:before { - content: "\f237"; } - -.fa-critical-role:before { - content: "\f6c9"; } - -.fa-sitrox:before { - content: "\e44a"; } - -.fa-discourse:before { - content: "\f393"; } - -.fa-joomla:before { - content: "\f1aa"; } - -.fa-mastodon:before { - content: "\f4f6"; } - -.fa-airbnb:before { - content: "\f834"; } - -.fa-wolf-pack-battalion:before { - content: "\f514"; } - -.fa-buy-n-large:before { - content: "\f8a6"; } - -.fa-gulp:before { - content: "\f3ae"; } - -.fa-creative-commons-sampling-plus:before { - content: "\f4f1"; } - -.fa-strava:before { - content: "\f428"; } - -.fa-ember:before { - content: "\f423"; } - -.fa-canadian-maple-leaf:before { - content: "\f785"; } - -.fa-teamspeak:before { - content: "\f4f9"; } - -.fa-pushed:before { - content: "\f3e1"; } - -.fa-wordpress-simple:before { - content: "\f411"; } - -.fa-nutritionix:before { - content: "\f3d6"; } - -.fa-wodu:before { - content: "\e088"; } - -.fa-google-pay:before { - content: "\e079"; } - -.fa-intercom:before { - content: "\f7af"; } - -.fa-zhihu:before { - content: "\f63f"; } - -.fa-korvue:before { - content: "\f42f"; } - -.fa-pix:before { - content: "\e43a"; } - -.fa-steam-symbol:before { - content: "\f3f6"; } diff --git a/fontawesome/css/brands.min.css b/fontawesome/css/brands.min.css deleted file mode 100644 index 396ca16ed2ca762b8c790751343865caea6597b9..0000000000000000000000000000000000000000 --- a/fontawesome/css/brands.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) - * Copyright 2023 Fonticons, Inc. - */ -: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(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.ttf) format("truetype")}.fa-brands,.fab{font-weight:400}.fa-monero:before{content:"\f3d0"}.fa-hooli:before{content:"\f427"}.fa-yelp:before{content:"\f1e9"}.fa-cc-visa:before{content:"\f1f0"}.fa-lastfm:before{content:"\f202"}.fa-shopware:before{content:"\f5b5"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-aws:before{content:"\f375"}.fa-redhat:before{content:"\f7bc"}.fa-yoast:before{content:"\f2b1"}.fa-cloudflare:before{content:"\e07d"}.fa-ups:before{content:"\f7e0"}.fa-wpexplorer:before{content:"\f2de"}.fa-dyalog:before{content:"\f399"}.fa-bity:before{content:"\f37a"}.fa-stackpath:before{content:"\f842"}.fa-buysellads:before{content:"\f20d"}.fa-first-order:before{content:"\f2b0"}.fa-modx:before{content:"\f285"}.fa-guilded:before{content:"\e07e"}.fa-vnv:before{content:"\f40b"}.fa-js-square:before,.fa-square-js:before{content:"\f3b9"}.fa-microsoft:before{content:"\f3ca"}.fa-qq:before{content:"\f1d6"}.fa-orcid:before{content:"\f8d2"}.fa-java:before{content:"\f4e4"}.fa-invision:before{content:"\f7b0"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-centercode:before{content:"\f380"}.fa-glide-g:before{content:"\f2a6"}.fa-drupal:before{content:"\f1a9"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-unity:before{content:"\e049"}.fa-whmcs:before{content:"\f40d"}.fa-rocketchat:before{content:"\f3e8"}.fa-vk:before{content:"\f189"}.fa-untappd:before{content:"\f405"}.fa-mailchimp:before{content:"\f59e"}.fa-css3-alt:before{content:"\f38b"}.fa-reddit-square:before,.fa-square-reddit:before{content:"\f1a2"}.fa-vimeo-v:before{content:"\f27d"}.fa-contao:before{content:"\f26d"}.fa-square-font-awesome:before{content:"\e5ad"}.fa-deskpro:before{content:"\f38f"}.fa-sistrix:before{content:"\f3ee"}.fa-instagram-square:before,.fa-square-instagram:before{content:"\e055"}.fa-battle-net:before{content:"\f835"}.fa-the-red-yeti:before{content:"\f69d"}.fa-hacker-news-square:before,.fa-square-hacker-news:before{content:"\f3af"}.fa-edge:before{content:"\f282"}.fa-napster:before{content:"\f3d2"}.fa-snapchat-square:before,.fa-square-snapchat:before{content:"\f2ad"}.fa-google-plus-g:before{content:"\f0d5"}.fa-artstation:before{content:"\f77a"}.fa-markdown:before{content:"\f60f"}.fa-sourcetree:before{content:"\f7d3"}.fa-google-plus:before{content:"\f2b3"}.fa-diaspora:before{content:"\f791"}.fa-foursquare:before{content:"\f180"}.fa-stack-overflow:before{content:"\f16c"}.fa-github-alt:before{content:"\f113"}.fa-phoenix-squadron:before{content:"\f511"}.fa-pagelines:before{content:"\f18c"}.fa-algolia:before{content:"\f36c"}.fa-red-river:before{content:"\f3e3"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-safari:before{content:"\f267"}.fa-google:before{content:"\f1a0"}.fa-font-awesome-alt:before,.fa-square-font-awesome-stroke:before{content:"\f35c"}.fa-atlassian:before{content:"\f77b"}.fa-linkedin-in:before{content:"\f0e1"}.fa-digital-ocean:before{content:"\f391"}.fa-nimblr:before{content:"\f5a8"}.fa-chromecast:before{content:"\f838"}.fa-evernote:before{content:"\f839"}.fa-hacker-news:before{content:"\f1d4"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-adversal:before{content:"\f36a"}.fa-creative-commons:before{content:"\f25e"}.fa-watchman-monitoring:before{content:"\e087"}.fa-fonticons:before{content:"\f280"}.fa-weixin:before{content:"\f1d7"}.fa-shirtsinbulk:before{content:"\f214"}.fa-codepen:before{content:"\f1cb"}.fa-git-alt:before{content:"\f841"}.fa-lyft:before{content:"\f3c3"}.fa-rev:before{content:"\f5b2"}.fa-windows:before{content:"\f17a"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-square-viadeo:before,.fa-viadeo-square:before{content:"\f2aa"}.fa-meetup:before{content:"\f2e0"}.fa-centos:before{content:"\f789"}.fa-adn:before{content:"\f170"}.fa-cloudsmith:before{content:"\f384"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-dribbble-square:before,.fa-square-dribbble:before{content:"\f397"}.fa-codiepie:before{content:"\f284"}.fa-node:before{content:"\f419"}.fa-mix:before{content:"\f3cb"}.fa-steam:before{content:"\f1b6"}.fa-cc-apple-pay:before{content:"\f416"}.fa-scribd:before{content:"\f28a"}.fa-openid:before{content:"\f19b"}.fa-instalod:before{content:"\e081"}.fa-expeditedssl:before{content:"\f23e"}.fa-sellcast:before{content:"\f2da"}.fa-square-twitter:before,.fa-twitter-square:before{content:"\f081"}.fa-r-project:before{content:"\f4f7"}.fa-delicious:before{content:"\f1a5"}.fa-freebsd:before{content:"\f3a4"}.fa-vuejs:before{content:"\f41f"}.fa-accusoft:before{content:"\f369"}.fa-ioxhost:before{content:"\f208"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-app-store:before{content:"\f36f"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-itunes-note:before{content:"\f3b5"}.fa-golang:before{content:"\e40f"}.fa-kickstarter:before{content:"\f3bb"}.fa-grav:before{content:"\f2d6"}.fa-weibo:before{content:"\f18a"}.fa-uncharted:before{content:"\e084"}.fa-firstdraft:before{content:"\f3a1"}.fa-square-youtube:before,.fa-youtube-square:before{content:"\f431"}.fa-wikipedia-w:before{content:"\f266"}.fa-rendact:before,.fa-wpressr:before{content:"\f3e4"}.fa-angellist:before{content:"\f209"}.fa-galactic-republic:before{content:"\f50c"}.fa-nfc-directional:before{content:"\e530"}.fa-skype:before{content:"\f17e"}.fa-joget:before{content:"\f3b7"}.fa-fedora:before{content:"\f798"}.fa-stripe-s:before{content:"\f42a"}.fa-meta:before{content:"\e49b"}.fa-laravel:before{content:"\f3bd"}.fa-hotjar:before{content:"\f3b1"}.fa-bluetooth-b:before{content:"\f294"}.fa-sticker-mule:before{content:"\f3f7"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-hips:before{content:"\f452"}.fa-behance:before{content:"\f1b4"}.fa-reddit:before{content:"\f1a1"}.fa-discord:before{content:"\f392"}.fa-chrome:before{content:"\f268"}.fa-app-store-ios:before{content:"\f370"}.fa-cc-discover:before{content:"\f1f2"}.fa-wpbeginner:before{content:"\f297"}.fa-confluence:before{content:"\f78d"}.fa-mdb:before{content:"\f8ca"}.fa-dochub:before{content:"\f394"}.fa-accessible-icon:before{content:"\f368"}.fa-ebay:before{content:"\f4f4"}.fa-amazon:before{content:"\f270"}.fa-unsplash:before{content:"\e07c"}.fa-yarn:before{content:"\f7e3"}.fa-square-steam:before,.fa-steam-square:before{content:"\f1b7"}.fa-500px:before{content:"\f26e"}.fa-square-vimeo:before,.fa-vimeo-square:before{content:"\f194"}.fa-asymmetrik:before{content:"\f372"}.fa-font-awesome-flag:before,.fa-font-awesome-logo-full:before,.fa-font-awesome:before{content:"\f2b4"}.fa-gratipay:before{content:"\f184"}.fa-apple:before{content:"\f179"}.fa-hive:before{content:"\e07f"}.fa-gitkraken:before{content:"\f3a6"}.fa-keybase:before{content:"\f4f5"}.fa-apple-pay:before{content:"\f415"}.fa-padlet:before{content:"\e4a0"}.fa-amazon-pay:before{content:"\f42c"}.fa-github-square:before,.fa-square-github:before{content:"\f092"}.fa-stumbleupon:before{content:"\f1a4"}.fa-fedex:before{content:"\f797"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-shopify:before{content:"\e057"}.fa-neos:before{content:"\f612"}.fa-hackerrank:before{content:"\f5f7"}.fa-researchgate:before{content:"\f4f8"}.fa-swift:before{content:"\f8e1"}.fa-angular:before{content:"\f420"}.fa-speakap:before{content:"\f3f3"}.fa-angrycreative:before{content:"\f36e"}.fa-y-combinator:before{content:"\f23b"}.fa-empire:before{content:"\f1d1"}.fa-envira:before{content:"\f299"}.fa-gitlab-square:before,.fa-square-gitlab:before{content:"\e5ae"}.fa-studiovinari:before{content:"\f3f8"}.fa-pied-piper:before{content:"\f2ae"}.fa-wordpress:before{content:"\f19a"}.fa-product-hunt:before{content:"\f288"}.fa-firefox:before{content:"\f269"}.fa-linode:before{content:"\f2b8"}.fa-goodreads:before{content:"\f3a8"}.fa-odnoklassniki-square:before,.fa-square-odnoklassniki:before{content:"\f264"}.fa-jsfiddle:before{content:"\f1cc"}.fa-sith:before{content:"\f512"}.fa-themeisle:before{content:"\f2b2"}.fa-page4:before{content:"\f3d7"}.fa-hashnode:before{content:"\e499"}.fa-react:before{content:"\f41b"}.fa-cc-paypal:before{content:"\f1f4"}.fa-squarespace:before{content:"\f5be"}.fa-cc-stripe:before{content:"\f1f5"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-bitcoin:before{content:"\f379"}.fa-keycdn:before{content:"\f3ba"}.fa-opera:before{content:"\f26a"}.fa-itch-io:before{content:"\f83a"}.fa-umbraco:before{content:"\f8e8"}.fa-galactic-senate:before{content:"\f50d"}.fa-ubuntu:before{content:"\f7df"}.fa-draft2digital:before{content:"\f396"}.fa-stripe:before{content:"\f429"}.fa-houzz:before{content:"\f27c"}.fa-gg:before{content:"\f260"}.fa-dhl:before{content:"\f790"}.fa-pinterest-square:before,.fa-square-pinterest:before{content:"\f0d3"}.fa-xing:before{content:"\f168"}.fa-blackberry:before{content:"\f37b"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-playstation:before{content:"\f3df"}.fa-quinscape:before{content:"\f459"}.fa-less:before{content:"\f41d"}.fa-blogger-b:before{content:"\f37d"}.fa-opencart:before{content:"\f23d"}.fa-vine:before{content:"\f1ca"}.fa-paypal:before{content:"\f1ed"}.fa-gitlab:before{content:"\f296"}.fa-typo3:before{content:"\f42b"}.fa-reddit-alien:before{content:"\f281"}.fa-yahoo:before{content:"\f19e"}.fa-dailymotion:before{content:"\e052"}.fa-affiliatetheme:before{content:"\f36b"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-bootstrap:before{content:"\f836"}.fa-odnoklassniki:before{content:"\f263"}.fa-nfc-symbol:before{content:"\e531"}.fa-ethereum:before{content:"\f42e"}.fa-speaker-deck:before{content:"\f83c"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-patreon:before{content:"\f3d9"}.fa-avianex:before{content:"\f374"}.fa-ello:before{content:"\f5f1"}.fa-gofore:before{content:"\f3a7"}.fa-bimobject:before{content:"\f378"}.fa-facebook-f:before{content:"\f39e"}.fa-google-plus-square:before,.fa-square-google-plus:before{content:"\f0d4"}.fa-mandalorian:before{content:"\f50f"}.fa-first-order-alt:before{content:"\f50a"}.fa-osi:before{content:"\f41a"}.fa-google-wallet:before{content:"\f1ee"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-periscope:before{content:"\f3da"}.fa-fulcrum:before{content:"\f50b"}.fa-cloudscale:before{content:"\f383"}.fa-forumbee:before{content:"\f211"}.fa-mizuni:before{content:"\f3cc"}.fa-schlix:before{content:"\f3ea"}.fa-square-xing:before,.fa-xing-square:before{content:"\f169"}.fa-bandcamp:before{content:"\f2d5"}.fa-wpforms:before{content:"\f298"}.fa-cloudversify:before{content:"\f385"}.fa-usps:before{content:"\f7e1"}.fa-megaport:before{content:"\f5a3"}.fa-magento:before{content:"\f3c4"}.fa-spotify:before{content:"\f1bc"}.fa-optin-monster:before{content:"\f23c"}.fa-fly:before{content:"\f417"}.fa-aviato:before{content:"\f421"}.fa-itunes:before{content:"\f3b4"}.fa-cuttlefish:before{content:"\f38c"}.fa-blogger:before{content:"\f37c"}.fa-flickr:before{content:"\f16e"}.fa-viber:before{content:"\f409"}.fa-soundcloud:before{content:"\f1be"}.fa-digg:before{content:"\f1a6"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-symfony:before{content:"\f83d"}.fa-maxcdn:before{content:"\f136"}.fa-etsy:before{content:"\f2d7"}.fa-facebook-messenger:before{content:"\f39f"}.fa-audible:before{content:"\f373"}.fa-think-peaks:before{content:"\f731"}.fa-bilibili:before{content:"\e3d9"}.fa-erlang:before{content:"\f39d"}.fa-cotton-bureau:before{content:"\f89e"}.fa-dashcube:before{content:"\f210"}.fa-42-group:before,.fa-innosoft:before{content:"\e080"}.fa-stack-exchange:before{content:"\f18d"}.fa-elementor:before{content:"\f430"}.fa-pied-piper-square:before,.fa-square-pied-piper:before{content:"\e01e"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-palfed:before{content:"\f3d8"}.fa-superpowers:before{content:"\f2dd"}.fa-resolving:before{content:"\f3e7"}.fa-xbox:before{content:"\f412"}.fa-searchengin:before{content:"\f3eb"}.fa-tiktok:before{content:"\e07b"}.fa-facebook-square:before,.fa-square-facebook:before{content:"\f082"}.fa-renren:before{content:"\f18b"}.fa-linux:before{content:"\f17c"}.fa-glide:before{content:"\f2a5"}.fa-linkedin:before{content:"\f08c"}.fa-hubspot:before{content:"\f3b2"}.fa-deploydog:before{content:"\f38e"}.fa-twitch:before{content:"\f1e8"}.fa-ravelry:before{content:"\f2d9"}.fa-mixer:before{content:"\e056"}.fa-lastfm-square:before,.fa-square-lastfm:before{content:"\f203"}.fa-vimeo:before{content:"\f40a"}.fa-mendeley:before{content:"\f7b3"}.fa-uniregistry:before{content:"\f404"}.fa-figma:before{content:"\f799"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-dropbox:before{content:"\f16b"}.fa-instagram:before{content:"\f16d"}.fa-cmplid:before{content:"\e360"}.fa-facebook:before{content:"\f09a"}.fa-gripfire:before{content:"\f3ac"}.fa-jedi-order:before{content:"\f50e"}.fa-uikit:before{content:"\f403"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-phabricator:before{content:"\f3db"}.fa-ussunnah:before{content:"\f407"}.fa-earlybirds:before{content:"\f39a"}.fa-trade-federation:before{content:"\f513"}.fa-autoprefixer:before{content:"\f41c"}.fa-whatsapp:before{content:"\f232"}.fa-slideshare:before{content:"\f1e7"}.fa-google-play:before{content:"\f3ab"}.fa-viadeo:before{content:"\f2a9"}.fa-line:before{content:"\f3c0"}.fa-google-drive:before{content:"\f3aa"}.fa-servicestack:before{content:"\f3ec"}.fa-simplybuilt:before{content:"\f215"}.fa-bitbucket:before{content:"\f171"}.fa-imdb:before{content:"\f2d8"}.fa-deezer:before{content:"\e077"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-jira:before{content:"\f7b1"}.fa-docker:before{content:"\f395"}.fa-screenpal:before{content:"\e570"}.fa-bluetooth:before{content:"\f293"}.fa-gitter:before{content:"\f426"}.fa-d-and-d:before{content:"\f38d"}.fa-microblog:before{content:"\e01a"}.fa-cc-diners-club:before{content:"\f24c"}.fa-gg-circle:before{content:"\f261"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-yandex:before{content:"\f413"}.fa-readme:before{content:"\f4d5"}.fa-html5:before{content:"\f13b"}.fa-sellsy:before{content:"\f213"}.fa-sass:before{content:"\f41e"}.fa-wirsindhandwerk:before,.fa-wsh:before{content:"\e2d0"}.fa-buromobelexperte:before{content:"\f37f"}.fa-salesforce:before{content:"\f83b"}.fa-octopus-deploy:before{content:"\e082"}.fa-medapps:before{content:"\f3c6"}.fa-ns8:before{content:"\f3d5"}.fa-pinterest-p:before{content:"\f231"}.fa-apper:before{content:"\f371"}.fa-fort-awesome:before{content:"\f286"}.fa-waze:before{content:"\f83f"}.fa-cc-jcb:before{content:"\f24b"}.fa-snapchat-ghost:before,.fa-snapchat:before{content:"\f2ab"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-rust:before{content:"\e07a"}.fa-wix:before{content:"\f5cf"}.fa-behance-square:before,.fa-square-behance:before{content:"\f1b5"}.fa-supple:before{content:"\f3f9"}.fa-rebel:before{content:"\f1d0"}.fa-css3:before{content:"\f13c"}.fa-staylinked:before{content:"\f3f5"}.fa-kaggle:before{content:"\f5fa"}.fa-space-awesome:before{content:"\e5ac"}.fa-deviantart:before{content:"\f1bd"}.fa-cpanel:before{content:"\f388"}.fa-goodreads-g:before{content:"\f3a9"}.fa-git-square:before,.fa-square-git:before{content:"\f1d2"}.fa-square-tumblr:before,.fa-tumblr-square:before{content:"\f174"}.fa-trello:before{content:"\f181"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-get-pocket:before{content:"\f265"}.fa-perbyte:before{content:"\e083"}.fa-grunt:before{content:"\f3ad"}.fa-weebly:before{content:"\f5cc"}.fa-connectdevelop:before{content:"\f20e"}.fa-leanpub:before{content:"\f212"}.fa-black-tie:before{content:"\f27e"}.fa-themeco:before{content:"\f5c6"}.fa-python:before{content:"\f3e2"}.fa-android:before{content:"\f17b"}.fa-bots:before{content:"\e340"}.fa-free-code-camp:before{content:"\f2c5"}.fa-hornbill:before{content:"\f592"}.fa-js:before{content:"\f3b8"}.fa-ideal:before{content:"\e013"}.fa-git:before{content:"\f1d3"}.fa-dev:before{content:"\f6cc"}.fa-sketch:before{content:"\f7c6"}.fa-yandex-international:before{content:"\f414"}.fa-cc-amex:before{content:"\f1f3"}.fa-uber:before{content:"\f402"}.fa-github:before{content:"\f09b"}.fa-php:before{content:"\f457"}.fa-alipay:before{content:"\f642"}.fa-youtube:before{content:"\f167"}.fa-skyatlas:before{content:"\f216"}.fa-firefox-browser:before{content:"\e007"}.fa-replyd:before{content:"\f3e6"}.fa-suse:before{content:"\f7d6"}.fa-jenkins:before{content:"\f3b6"}.fa-twitter:before{content:"\f099"}.fa-rockrms:before{content:"\f3e9"}.fa-pinterest:before{content:"\f0d2"}.fa-buffer:before{content:"\f837"}.fa-npm:before{content:"\f3d4"}.fa-yammer:before{content:"\f840"}.fa-btc:before{content:"\f15a"}.fa-dribbble:before{content:"\f17d"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-internet-explorer:before{content:"\f26b"}.fa-stubber:before{content:"\e5c7"}.fa-telegram-plane:before,.fa-telegram:before{content:"\f2c6"}.fa-old-republic:before{content:"\f510"}.fa-odysee:before{content:"\e5c6"}.fa-square-whatsapp:before,.fa-whatsapp-square:before{content:"\f40c"}.fa-node-js:before{content:"\f3d3"}.fa-edge-legacy:before{content:"\e078"}.fa-slack-hash:before,.fa-slack:before{content:"\f198"}.fa-medrt:before{content:"\f3c8"}.fa-usb:before{content:"\f287"}.fa-tumblr:before{content:"\f173"}.fa-vaadin:before{content:"\f408"}.fa-quora:before{content:"\f2c4"}.fa-reacteurope:before{content:"\f75d"}.fa-medium-m:before,.fa-medium:before{content:"\f23a"}.fa-amilia:before{content:"\f36d"}.fa-mixcloud:before{content:"\f289"}.fa-flipboard:before{content:"\f44d"}.fa-viacoin:before{content:"\f237"}.fa-critical-role:before{content:"\f6c9"}.fa-sitrox:before{content:"\e44a"}.fa-discourse:before{content:"\f393"}.fa-joomla:before{content:"\f1aa"}.fa-mastodon:before{content:"\f4f6"}.fa-airbnb:before{content:"\f834"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-buy-n-large:before{content:"\f8a6"}.fa-gulp:before{content:"\f3ae"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-strava:before{content:"\f428"}.fa-ember:before{content:"\f423"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-teamspeak:before{content:"\f4f9"}.fa-pushed:before{content:"\f3e1"}.fa-wordpress-simple:before{content:"\f411"}.fa-nutritionix:before{content:"\f3d6"}.fa-wodu:before{content:"\e088"}.fa-google-pay:before{content:"\e079"}.fa-intercom:before{content:"\f7af"}.fa-zhihu:before{content:"\f63f"}.fa-korvue:before{content:"\f42f"}.fa-pix:before{content:"\e43a"}.fa-steam-symbol:before{content:"\f3f6"} \ No newline at end of file diff --git a/fontawesome/css/fontawesome.css b/fontawesome/css/fontawesome.css deleted file mode 100644 index 2d6204c32766bad5de3542f52f9b7278e4a311c0..0000000000000000000000000000000000000000 --- a/fontawesome/css/fontawesome.css +++ /dev/null @@ -1,6372 +0,0 @@ -/*! - * Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) - * Copyright 2023 Fonticons, Inc. - */ -.fa { - font-family: var(--fa-style-family, "Font Awesome 6 Free"); - font-weight: var(--fa-style, 900); } - -.fa, -.fa-classic, -.fa-sharp, -.fas, -.fa-solid, -.far, -.fa-regular, -.fab, -.fa-brands { - -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; } - -.fas, -.fa-classic, -.fa-solid, -.far, -.fa-regular { - font-family: 'Font Awesome 6 Free'; } - -.fab, -.fa-brands { - 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: 0.625em; - line-height: 0.1em; - vertical-align: 0.225em; } - -.fa-xs { - font-size: 0.75em; - line-height: 0.08333em; - vertical-align: 0.125em; } - -.fa-sm { - font-size: 0.875em; - line-height: 0.07143em; - vertical-align: 0.05357em; } - -.fa-lg { - font-size: 1.25em; - line-height: 0.05em; - vertical-align: -0.075em; } - -.fa-xl { - font-size: 1.5em; - line-height: 0.04167em; - vertical-align: -0.125em; } - -.fa-2xl { - font-size: 2em; - line-height: 0.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-color: var(--fa-border-color, #eee); - border-radius: var(--fa-border-radius, 0.1em); - border-style: var(--fa-border-style, solid); - border-width: var(--fa-border-width, 0.08em); - 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 { - -webkit-animation-name: fa-beat; - animation-name: fa-beat; - -webkit-animation-delay: var(--fa-animation-delay, 0s); - animation-delay: var(--fa-animation-delay, 0s); - -webkit-animation-direction: var(--fa-animation-direction, normal); - animation-direction: var(--fa-animation-direction, normal); - -webkit-animation-duration: var(--fa-animation-duration, 1s); - animation-duration: var(--fa-animation-duration, 1s); - -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - -webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out); - animation-timing-function: var(--fa-animation-timing, ease-in-out); } - -.fa-bounce { - -webkit-animation-name: fa-bounce; - animation-name: fa-bounce; - -webkit-animation-delay: var(--fa-animation-delay, 0s); - animation-delay: var(--fa-animation-delay, 0s); - -webkit-animation-direction: var(--fa-animation-direction, normal); - animation-direction: var(--fa-animation-direction, normal); - -webkit-animation-duration: var(--fa-animation-duration, 1s); - animation-duration: var(--fa-animation-duration, 1s); - -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1)); - animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1)); } - -.fa-fade { - -webkit-animation-name: fa-fade; - animation-name: fa-fade; - -webkit-animation-delay: var(--fa-animation-delay, 0s); - animation-delay: var(--fa-animation-delay, 0s); - -webkit-animation-direction: var(--fa-animation-direction, normal); - animation-direction: var(--fa-animation-direction, normal); - -webkit-animation-duration: var(--fa-animation-duration, 1s); - animation-duration: var(--fa-animation-duration, 1s); - -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); - animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); } - -.fa-beat-fade { - -webkit-animation-name: fa-beat-fade; - animation-name: fa-beat-fade; - -webkit-animation-delay: var(--fa-animation-delay, 0s); - animation-delay: var(--fa-animation-delay, 0s); - -webkit-animation-direction: var(--fa-animation-direction, normal); - animation-direction: var(--fa-animation-direction, normal); - -webkit-animation-duration: var(--fa-animation-duration, 1s); - animation-duration: var(--fa-animation-duration, 1s); - -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); - animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); } - -.fa-flip { - -webkit-animation-name: fa-flip; - animation-name: fa-flip; - -webkit-animation-delay: var(--fa-animation-delay, 0s); - animation-delay: var(--fa-animation-delay, 0s); - -webkit-animation-direction: var(--fa-animation-direction, normal); - animation-direction: var(--fa-animation-direction, normal); - -webkit-animation-duration: var(--fa-animation-duration, 1s); - animation-duration: var(--fa-animation-duration, 1s); - -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - -webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out); - animation-timing-function: var(--fa-animation-timing, ease-in-out); } - -.fa-shake { - -webkit-animation-name: fa-shake; - animation-name: fa-shake; - -webkit-animation-delay: var(--fa-animation-delay, 0s); - animation-delay: var(--fa-animation-delay, 0s); - -webkit-animation-direction: var(--fa-animation-direction, normal); - animation-direction: var(--fa-animation-direction, normal); - -webkit-animation-duration: var(--fa-animation-duration, 1s); - animation-duration: var(--fa-animation-duration, 1s); - -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - -webkit-animation-timing-function: var(--fa-animation-timing, linear); - animation-timing-function: var(--fa-animation-timing, linear); } - -.fa-spin { - -webkit-animation-name: fa-spin; - animation-name: fa-spin; - -webkit-animation-delay: var(--fa-animation-delay, 0s); - animation-delay: var(--fa-animation-delay, 0s); - -webkit-animation-direction: var(--fa-animation-direction, normal); - animation-direction: var(--fa-animation-direction, normal); - -webkit-animation-duration: var(--fa-animation-duration, 2s); - animation-duration: var(--fa-animation-duration, 2s); - -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - -webkit-animation-timing-function: var(--fa-animation-timing, linear); - animation-timing-function: var(--fa-animation-timing, linear); } - -.fa-spin-reverse { - --fa-animation-direction: reverse; } - -.fa-pulse, -.fa-spin-pulse { - -webkit-animation-name: fa-spin; - animation-name: fa-spin; - -webkit-animation-direction: var(--fa-animation-direction, normal); - animation-direction: var(--fa-animation-direction, normal); - -webkit-animation-duration: var(--fa-animation-duration, 1s); - animation-duration: var(--fa-animation-duration, 1s); - -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - -webkit-animation-timing-function: var(--fa-animation-timing, steps(8)); - animation-timing-function: var(--fa-animation-timing, steps(8)); } - -@media (prefers-reduced-motion: reduce) { - .fa-beat, - .fa-bounce, - .fa-fade, - .fa-beat-fade, - .fa-flip, - .fa-pulse, - .fa-shake, - .fa-spin, - .fa-spin-pulse { - -webkit-animation-delay: -1ms; - animation-delay: -1ms; - -webkit-animation-duration: 1ms; - animation-duration: 1ms; - -webkit-animation-iteration-count: 1; - animation-iteration-count: 1; - -webkit-transition-delay: 0s; - transition-delay: 0s; - -webkit-transition-duration: 0s; - transition-duration: 0s; } } - -@-webkit-keyframes fa-beat { - 0%, 90% { - -webkit-transform: scale(1); - transform: scale(1); } - 45% { - -webkit-transform: scale(var(--fa-beat-scale, 1.25)); - transform: scale(var(--fa-beat-scale, 1.25)); } } - -@keyframes fa-beat { - 0%, 90% { - -webkit-transform: scale(1); - transform: scale(1); } - 45% { - -webkit-transform: scale(var(--fa-beat-scale, 1.25)); - transform: scale(var(--fa-beat-scale, 1.25)); } } - -@-webkit-keyframes fa-bounce { - 0% { - -webkit-transform: scale(1, 1) translateY(0); - transform: scale(1, 1) translateY(0); } - 10% { - -webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); - transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); } - 30% { - -webkit-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)); - 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% { - -webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); - transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); } - 57% { - -webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); - transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); } - 64% { - -webkit-transform: scale(1, 1) translateY(0); - transform: scale(1, 1) translateY(0); } - 100% { - -webkit-transform: scale(1, 1) translateY(0); - transform: scale(1, 1) translateY(0); } } - -@keyframes fa-bounce { - 0% { - -webkit-transform: scale(1, 1) translateY(0); - transform: scale(1, 1) translateY(0); } - 10% { - -webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); - transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); } - 30% { - -webkit-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)); - 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% { - -webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); - transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); } - 57% { - -webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); - transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); } - 64% { - -webkit-transform: scale(1, 1) translateY(0); - transform: scale(1, 1) translateY(0); } - 100% { - -webkit-transform: scale(1, 1) translateY(0); - transform: scale(1, 1) translateY(0); } } - -@-webkit-keyframes fa-fade { - 50% { - opacity: var(--fa-fade-opacity, 0.4); } } - -@keyframes fa-fade { - 50% { - opacity: var(--fa-fade-opacity, 0.4); } } - -@-webkit-keyframes fa-beat-fade { - 0%, 100% { - opacity: var(--fa-beat-fade-opacity, 0.4); - -webkit-transform: scale(1); - transform: scale(1); } - 50% { - opacity: 1; - -webkit-transform: scale(var(--fa-beat-fade-scale, 1.125)); - transform: scale(var(--fa-beat-fade-scale, 1.125)); } } - -@keyframes fa-beat-fade { - 0%, 100% { - opacity: var(--fa-beat-fade-opacity, 0.4); - -webkit-transform: scale(1); - transform: scale(1); } - 50% { - opacity: 1; - -webkit-transform: scale(var(--fa-beat-fade-scale, 1.125)); - transform: scale(var(--fa-beat-fade-scale, 1.125)); } } - -@-webkit-keyframes fa-flip { - 50% { - -webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); - transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); } } - -@keyframes fa-flip { - 50% { - -webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); - transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); } } - -@-webkit-keyframes fa-shake { - 0% { - -webkit-transform: rotate(-15deg); - transform: rotate(-15deg); } - 4% { - -webkit-transform: rotate(15deg); - transform: rotate(15deg); } - 8%, 24% { - -webkit-transform: rotate(-18deg); - transform: rotate(-18deg); } - 12%, 28% { - -webkit-transform: rotate(18deg); - transform: rotate(18deg); } - 16% { - -webkit-transform: rotate(-22deg); - transform: rotate(-22deg); } - 20% { - -webkit-transform: rotate(22deg); - transform: rotate(22deg); } - 32% { - -webkit-transform: rotate(-12deg); - transform: rotate(-12deg); } - 36% { - -webkit-transform: rotate(12deg); - transform: rotate(12deg); } - 40%, 100% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); } } - -@keyframes fa-shake { - 0% { - -webkit-transform: rotate(-15deg); - transform: rotate(-15deg); } - 4% { - -webkit-transform: rotate(15deg); - transform: rotate(15deg); } - 8%, 24% { - -webkit-transform: rotate(-18deg); - transform: rotate(-18deg); } - 12%, 28% { - -webkit-transform: rotate(18deg); - transform: rotate(18deg); } - 16% { - -webkit-transform: rotate(-22deg); - transform: rotate(-22deg); } - 20% { - -webkit-transform: rotate(22deg); - transform: rotate(22deg); } - 32% { - -webkit-transform: rotate(-12deg); - transform: rotate(-12deg); } - 36% { - -webkit-transform: rotate(12deg); - transform: rotate(12deg); } - 40%, 100% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); } } - -@-webkit-keyframes fa-spin { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); } - 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); } } - -@keyframes fa-spin { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); } - 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); } } - -.fa-rotate-90 { - -webkit-transform: rotate(90deg); - transform: rotate(90deg); } - -.fa-rotate-180 { - -webkit-transform: rotate(180deg); - transform: rotate(180deg); } - -.fa-rotate-270 { - -webkit-transform: rotate(270deg); - transform: rotate(270deg); } - -.fa-flip-horizontal { - -webkit-transform: scale(-1, 1); - transform: scale(-1, 1); } - -.fa-flip-vertical { - -webkit-transform: scale(1, -1); - transform: scale(1, -1); } - -.fa-flip-both, -.fa-flip-horizontal.fa-flip-vertical { - -webkit-transform: scale(-1, -1); - transform: scale(-1, -1); } - -.fa-rotate-by { - -webkit-transform: rotate(var(--fa-rotate-angle, none)); - transform: rotate(var(--fa-rotate-angle, none)); } - -.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); } - -/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen -readers do not read off random characters that represent icons */ - -.fa-0::before { - content: "\30"; } - -.fa-1::before { - content: "\31"; } - -.fa-2::before { - content: "\32"; } - -.fa-3::before { - content: "\33"; } - -.fa-4::before { - content: "\34"; } - -.fa-5::before { - content: "\35"; } - -.fa-6::before { - content: "\36"; } - -.fa-7::before { - content: "\37"; } - -.fa-8::before { - content: "\38"; } - -.fa-9::before { - content: "\39"; } - -.fa-fill-drip::before { - content: "\f576"; } - -.fa-arrows-to-circle::before { - content: "\e4bd"; } - -.fa-circle-chevron-right::before { - content: "\f138"; } - -.fa-chevron-circle-right::before { - content: "\f138"; } - -.fa-at::before { - content: "\40"; } - -.fa-trash-can::before { - content: "\f2ed"; } - -.fa-trash-alt::before { - content: "\f2ed"; } - -.fa-text-height::before { - content: "\f034"; } - -.fa-user-xmark::before { - content: "\f235"; } - -.fa-user-times::before { - content: "\f235"; } - -.fa-stethoscope::before { - content: "\f0f1"; } - -.fa-message::before { - content: "\f27a"; } - -.fa-comment-alt::before { - content: "\f27a"; } - -.fa-info::before { - content: "\f129"; } - -.fa-down-left-and-up-right-to-center::before { - content: "\f422"; } - -.fa-compress-alt::before { - content: "\f422"; } - -.fa-explosion::before { - content: "\e4e9"; } - -.fa-file-lines::before { - content: "\f15c"; } - -.fa-file-alt::before { - content: "\f15c"; } - -.fa-file-text::before { - content: "\f15c"; } - -.fa-wave-square::before { - content: "\f83e"; } - -.fa-ring::before { - content: "\f70b"; } - -.fa-building-un::before { - content: "\e4d9"; } - -.fa-dice-three::before { - content: "\f527"; } - -.fa-calendar-days::before { - content: "\f073"; } - -.fa-calendar-alt::before { - content: "\f073"; } - -.fa-anchor-circle-check::before { - content: "\e4aa"; } - -.fa-building-circle-arrow-right::before { - content: "\e4d1"; } - -.fa-volleyball::before { - content: "\f45f"; } - -.fa-volleyball-ball::before { - content: "\f45f"; } - -.fa-arrows-up-to-line::before { - content: "\e4c2"; } - -.fa-sort-down::before { - content: "\f0dd"; } - -.fa-sort-desc::before { - content: "\f0dd"; } - -.fa-circle-minus::before { - content: "\f056"; } - -.fa-minus-circle::before { - content: "\f056"; } - -.fa-door-open::before { - content: "\f52b"; } - -.fa-right-from-bracket::before { - content: "\f2f5"; } - -.fa-sign-out-alt::before { - content: "\f2f5"; } - -.fa-atom::before { - content: "\f5d2"; } - -.fa-soap::before { - content: "\e06e"; } - -.fa-icons::before { - content: "\f86d"; } - -.fa-heart-music-camera-bolt::before { - content: "\f86d"; } - -.fa-microphone-lines-slash::before { - content: "\f539"; } - -.fa-microphone-alt-slash::before { - content: "\f539"; } - -.fa-bridge-circle-check::before { - content: "\e4c9"; } - -.fa-pump-medical::before { - content: "\e06a"; } - -.fa-fingerprint::before { - content: "\f577"; } - -.fa-hand-point-right::before { - content: "\f0a4"; } - -.fa-magnifying-glass-location::before { - content: "\f689"; } - -.fa-search-location::before { - content: "\f689"; } - -.fa-forward-step::before { - content: "\f051"; } - -.fa-step-forward::before { - content: "\f051"; } - -.fa-face-smile-beam::before { - content: "\f5b8"; } - -.fa-smile-beam::before { - content: "\f5b8"; } - -.fa-flag-checkered::before { - content: "\f11e"; } - -.fa-football::before { - content: "\f44e"; } - -.fa-football-ball::before { - content: "\f44e"; } - -.fa-school-circle-exclamation::before { - content: "\e56c"; } - -.fa-crop::before { - content: "\f125"; } - -.fa-angles-down::before { - content: "\f103"; } - -.fa-angle-double-down::before { - content: "\f103"; } - -.fa-users-rectangle::before { - content: "\e594"; } - -.fa-people-roof::before { - content: "\e537"; } - -.fa-people-line::before { - content: "\e534"; } - -.fa-beer-mug-empty::before { - content: "\f0fc"; } - -.fa-beer::before { - content: "\f0fc"; } - -.fa-diagram-predecessor::before { - content: "\e477"; } - -.fa-arrow-up-long::before { - content: "\f176"; } - -.fa-long-arrow-up::before { - content: "\f176"; } - -.fa-fire-flame-simple::before { - content: "\f46a"; } - -.fa-burn::before { - content: "\f46a"; } - -.fa-person::before { - content: "\f183"; } - -.fa-male::before { - content: "\f183"; } - -.fa-laptop::before { - content: "\f109"; } - -.fa-file-csv::before { - content: "\f6dd"; } - -.fa-menorah::before { - content: "\f676"; } - -.fa-truck-plane::before { - content: "\e58f"; } - -.fa-record-vinyl::before { - content: "\f8d9"; } - -.fa-face-grin-stars::before { - content: "\f587"; } - -.fa-grin-stars::before { - content: "\f587"; } - -.fa-bong::before { - content: "\f55c"; } - -.fa-spaghetti-monster-flying::before { - content: "\f67b"; } - -.fa-pastafarianism::before { - content: "\f67b"; } - -.fa-arrow-down-up-across-line::before { - content: "\e4af"; } - -.fa-spoon::before { - content: "\f2e5"; } - -.fa-utensil-spoon::before { - content: "\f2e5"; } - -.fa-jar-wheat::before { - content: "\e517"; } - -.fa-envelopes-bulk::before { - content: "\f674"; } - -.fa-mail-bulk::before { - content: "\f674"; } - -.fa-file-circle-exclamation::before { - content: "\e4eb"; } - -.fa-circle-h::before { - content: "\f47e"; } - -.fa-hospital-symbol::before { - content: "\f47e"; } - -.fa-pager::before { - content: "\f815"; } - -.fa-address-book::before { - content: "\f2b9"; } - -.fa-contact-book::before { - content: "\f2b9"; } - -.fa-strikethrough::before { - content: "\f0cc"; } - -.fa-k::before { - content: "\4b"; } - -.fa-landmark-flag::before { - content: "\e51c"; } - -.fa-pencil::before { - content: "\f303"; } - -.fa-pencil-alt::before { - content: "\f303"; } - -.fa-backward::before { - content: "\f04a"; } - -.fa-caret-right::before { - content: "\f0da"; } - -.fa-comments::before { - content: "\f086"; } - -.fa-paste::before { - content: "\f0ea"; } - -.fa-file-clipboard::before { - content: "\f0ea"; } - -.fa-code-pull-request::before { - content: "\e13c"; } - -.fa-clipboard-list::before { - content: "\f46d"; } - -.fa-truck-ramp-box::before { - content: "\f4de"; } - -.fa-truck-loading::before { - content: "\f4de"; } - -.fa-user-check::before { - content: "\f4fc"; } - -.fa-vial-virus::before { - content: "\e597"; } - -.fa-sheet-plastic::before { - content: "\e571"; } - -.fa-blog::before { - content: "\f781"; } - -.fa-user-ninja::before { - content: "\f504"; } - -.fa-person-arrow-up-from-line::before { - content: "\e539"; } - -.fa-scroll-torah::before { - content: "\f6a0"; } - -.fa-torah::before { - content: "\f6a0"; } - -.fa-broom-ball::before { - content: "\f458"; } - -.fa-quidditch::before { - content: "\f458"; } - -.fa-quidditch-broom-ball::before { - content: "\f458"; } - -.fa-toggle-off::before { - content: "\f204"; } - -.fa-box-archive::before { - content: "\f187"; } - -.fa-archive::before { - content: "\f187"; } - -.fa-person-drowning::before { - content: "\e545"; } - -.fa-arrow-down-9-1::before { - content: "\f886"; } - -.fa-sort-numeric-desc::before { - content: "\f886"; } - -.fa-sort-numeric-down-alt::before { - content: "\f886"; } - -.fa-face-grin-tongue-squint::before { - content: "\f58a"; } - -.fa-grin-tongue-squint::before { - content: "\f58a"; } - -.fa-spray-can::before { - content: "\f5bd"; } - -.fa-truck-monster::before { - content: "\f63b"; } - -.fa-w::before { - content: "\57"; } - -.fa-earth-africa::before { - content: "\f57c"; } - -.fa-globe-africa::before { - content: "\f57c"; } - -.fa-rainbow::before { - content: "\f75b"; } - -.fa-circle-notch::before { - content: "\f1ce"; } - -.fa-tablet-screen-button::before { - content: "\f3fa"; } - -.fa-tablet-alt::before { - content: "\f3fa"; } - -.fa-paw::before { - content: "\f1b0"; } - -.fa-cloud::before { - content: "\f0c2"; } - -.fa-trowel-bricks::before { - content: "\e58a"; } - -.fa-face-flushed::before { - content: "\f579"; } - -.fa-flushed::before { - content: "\f579"; } - -.fa-hospital-user::before { - content: "\f80d"; } - -.fa-tent-arrow-left-right::before { - content: "\e57f"; } - -.fa-gavel::before { - content: "\f0e3"; } - -.fa-legal::before { - content: "\f0e3"; } - -.fa-binoculars::before { - content: "\f1e5"; } - -.fa-microphone-slash::before { - content: "\f131"; } - -.fa-box-tissue::before { - content: "\e05b"; } - -.fa-motorcycle::before { - content: "\f21c"; } - -.fa-bell-concierge::before { - content: "\f562"; } - -.fa-concierge-bell::before { - content: "\f562"; } - -.fa-pen-ruler::before { - content: "\f5ae"; } - -.fa-pencil-ruler::before { - content: "\f5ae"; } - -.fa-people-arrows::before { - content: "\e068"; } - -.fa-people-arrows-left-right::before { - content: "\e068"; } - -.fa-mars-and-venus-burst::before { - content: "\e523"; } - -.fa-square-caret-right::before { - content: "\f152"; } - -.fa-caret-square-right::before { - content: "\f152"; } - -.fa-scissors::before { - content: "\f0c4"; } - -.fa-cut::before { - content: "\f0c4"; } - -.fa-sun-plant-wilt::before { - content: "\e57a"; } - -.fa-toilets-portable::before { - content: "\e584"; } - -.fa-hockey-puck::before { - content: "\f453"; } - -.fa-table::before { - content: "\f0ce"; } - -.fa-magnifying-glass-arrow-right::before { - content: "\e521"; } - -.fa-tachograph-digital::before { - content: "\f566"; } - -.fa-digital-tachograph::before { - content: "\f566"; } - -.fa-users-slash::before { - content: "\e073"; } - -.fa-clover::before { - content: "\e139"; } - -.fa-reply::before { - content: "\f3e5"; } - -.fa-mail-reply::before { - content: "\f3e5"; } - -.fa-star-and-crescent::before { - content: "\f699"; } - -.fa-house-fire::before { - content: "\e50c"; } - -.fa-square-minus::before { - content: "\f146"; } - -.fa-minus-square::before { - content: "\f146"; } - -.fa-helicopter::before { - content: "\f533"; } - -.fa-compass::before { - content: "\f14e"; } - -.fa-square-caret-down::before { - content: "\f150"; } - -.fa-caret-square-down::before { - content: "\f150"; } - -.fa-file-circle-question::before { - content: "\e4ef"; } - -.fa-laptop-code::before { - content: "\f5fc"; } - -.fa-swatchbook::before { - content: "\f5c3"; } - -.fa-prescription-bottle::before { - content: "\f485"; } - -.fa-bars::before { - content: "\f0c9"; } - -.fa-navicon::before { - content: "\f0c9"; } - -.fa-people-group::before { - content: "\e533"; } - -.fa-hourglass-end::before { - content: "\f253"; } - -.fa-hourglass-3::before { - content: "\f253"; } - -.fa-heart-crack::before { - content: "\f7a9"; } - -.fa-heart-broken::before { - content: "\f7a9"; } - -.fa-square-up-right::before { - content: "\f360"; } - -.fa-external-link-square-alt::before { - content: "\f360"; } - -.fa-face-kiss-beam::before { - content: "\f597"; } - -.fa-kiss-beam::before { - content: "\f597"; } - -.fa-film::before { - content: "\f008"; } - -.fa-ruler-horizontal::before { - content: "\f547"; } - -.fa-people-robbery::before { - content: "\e536"; } - -.fa-lightbulb::before { - content: "\f0eb"; } - -.fa-caret-left::before { - content: "\f0d9"; } - -.fa-circle-exclamation::before { - content: "\f06a"; } - -.fa-exclamation-circle::before { - content: "\f06a"; } - -.fa-school-circle-xmark::before { - content: "\e56d"; } - -.fa-arrow-right-from-bracket::before { - content: "\f08b"; } - -.fa-sign-out::before { - content: "\f08b"; } - -.fa-circle-chevron-down::before { - content: "\f13a"; } - -.fa-chevron-circle-down::before { - content: "\f13a"; } - -.fa-unlock-keyhole::before { - content: "\f13e"; } - -.fa-unlock-alt::before { - content: "\f13e"; } - -.fa-cloud-showers-heavy::before { - content: "\f740"; } - -.fa-headphones-simple::before { - content: "\f58f"; } - -.fa-headphones-alt::before { - content: "\f58f"; } - -.fa-sitemap::before { - content: "\f0e8"; } - -.fa-circle-dollar-to-slot::before { - content: "\f4b9"; } - -.fa-donate::before { - content: "\f4b9"; } - -.fa-memory::before { - content: "\f538"; } - -.fa-road-spikes::before { - content: "\e568"; } - -.fa-fire-burner::before { - content: "\e4f1"; } - -.fa-flag::before { - content: "\f024"; } - -.fa-hanukiah::before { - content: "\f6e6"; } - -.fa-feather::before { - content: "\f52d"; } - -.fa-volume-low::before { - content: "\f027"; } - -.fa-volume-down::before { - content: "\f027"; } - -.fa-comment-slash::before { - content: "\f4b3"; } - -.fa-cloud-sun-rain::before { - content: "\f743"; } - -.fa-compress::before { - content: "\f066"; } - -.fa-wheat-awn::before { - content: "\e2cd"; } - -.fa-wheat-alt::before { - content: "\e2cd"; } - -.fa-ankh::before { - content: "\f644"; } - -.fa-hands-holding-child::before { - content: "\e4fa"; } - -.fa-asterisk::before { - content: "\2a"; } - -.fa-square-check::before { - content: "\f14a"; } - -.fa-check-square::before { - content: "\f14a"; } - -.fa-peseta-sign::before { - content: "\e221"; } - -.fa-heading::before { - content: "\f1dc"; } - -.fa-header::before { - content: "\f1dc"; } - -.fa-ghost::before { - content: "\f6e2"; } - -.fa-list::before { - content: "\f03a"; } - -.fa-list-squares::before { - content: "\f03a"; } - -.fa-square-phone-flip::before { - content: "\f87b"; } - -.fa-phone-square-alt::before { - content: "\f87b"; } - -.fa-cart-plus::before { - content: "\f217"; } - -.fa-gamepad::before { - content: "\f11b"; } - -.fa-circle-dot::before { - content: "\f192"; } - -.fa-dot-circle::before { - content: "\f192"; } - -.fa-face-dizzy::before { - content: "\f567"; } - -.fa-dizzy::before { - content: "\f567"; } - -.fa-egg::before { - content: "\f7fb"; } - -.fa-house-medical-circle-xmark::before { - content: "\e513"; } - -.fa-campground::before { - content: "\f6bb"; } - -.fa-folder-plus::before { - content: "\f65e"; } - -.fa-futbol::before { - content: "\f1e3"; } - -.fa-futbol-ball::before { - content: "\f1e3"; } - -.fa-soccer-ball::before { - content: "\f1e3"; } - -.fa-paintbrush::before { - content: "\f1fc"; } - -.fa-paint-brush::before { - content: "\f1fc"; } - -.fa-lock::before { - content: "\f023"; } - -.fa-gas-pump::before { - content: "\f52f"; } - -.fa-hot-tub-person::before { - content: "\f593"; } - -.fa-hot-tub::before { - content: "\f593"; } - -.fa-map-location::before { - content: "\f59f"; } - -.fa-map-marked::before { - content: "\f59f"; } - -.fa-house-flood-water::before { - content: "\e50e"; } - -.fa-tree::before { - content: "\f1bb"; } - -.fa-bridge-lock::before { - content: "\e4cc"; } - -.fa-sack-dollar::before { - content: "\f81d"; } - -.fa-pen-to-square::before { - content: "\f044"; } - -.fa-edit::before { - content: "\f044"; } - -.fa-car-side::before { - content: "\f5e4"; } - -.fa-share-nodes::before { - content: "\f1e0"; } - -.fa-share-alt::before { - content: "\f1e0"; } - -.fa-heart-circle-minus::before { - content: "\e4ff"; } - -.fa-hourglass-half::before { - content: "\f252"; } - -.fa-hourglass-2::before { - content: "\f252"; } - -.fa-microscope::before { - content: "\f610"; } - -.fa-sink::before { - content: "\e06d"; } - -.fa-bag-shopping::before { - content: "\f290"; } - -.fa-shopping-bag::before { - content: "\f290"; } - -.fa-arrow-down-z-a::before { - content: "\f881"; } - -.fa-sort-alpha-desc::before { - content: "\f881"; } - -.fa-sort-alpha-down-alt::before { - content: "\f881"; } - -.fa-mitten::before { - content: "\f7b5"; } - -.fa-person-rays::before { - content: "\e54d"; } - -.fa-users::before { - content: "\f0c0"; } - -.fa-eye-slash::before { - content: "\f070"; } - -.fa-flask-vial::before { - content: "\e4f3"; } - -.fa-hand::before { - content: "\f256"; } - -.fa-hand-paper::before { - content: "\f256"; } - -.fa-om::before { - content: "\f679"; } - -.fa-worm::before { - content: "\e599"; } - -.fa-house-circle-xmark::before { - content: "\e50b"; } - -.fa-plug::before { - content: "\f1e6"; } - -.fa-chevron-up::before { - content: "\f077"; } - -.fa-hand-spock::before { - content: "\f259"; } - -.fa-stopwatch::before { - content: "\f2f2"; } - -.fa-face-kiss::before { - content: "\f596"; } - -.fa-kiss::before { - content: "\f596"; } - -.fa-bridge-circle-xmark::before { - content: "\e4cb"; } - -.fa-face-grin-tongue::before { - content: "\f589"; } - -.fa-grin-tongue::before { - content: "\f589"; } - -.fa-chess-bishop::before { - content: "\f43a"; } - -.fa-face-grin-wink::before { - content: "\f58c"; } - -.fa-grin-wink::before { - content: "\f58c"; } - -.fa-ear-deaf::before { - content: "\f2a4"; } - -.fa-deaf::before { - content: "\f2a4"; } - -.fa-deafness::before { - content: "\f2a4"; } - -.fa-hard-of-hearing::before { - content: "\f2a4"; } - -.fa-road-circle-check::before { - content: "\e564"; } - -.fa-dice-five::before { - content: "\f523"; } - -.fa-square-rss::before { - content: "\f143"; } - -.fa-rss-square::before { - content: "\f143"; } - -.fa-land-mine-on::before { - content: "\e51b"; } - -.fa-i-cursor::before { - content: "\f246"; } - -.fa-stamp::before { - content: "\f5bf"; } - -.fa-stairs::before { - content: "\e289"; } - -.fa-i::before { - content: "\49"; } - -.fa-hryvnia-sign::before { - content: "\f6f2"; } - -.fa-hryvnia::before { - content: "\f6f2"; } - -.fa-pills::before { - content: "\f484"; } - -.fa-face-grin-wide::before { - content: "\f581"; } - -.fa-grin-alt::before { - content: "\f581"; } - -.fa-tooth::before { - content: "\f5c9"; } - -.fa-v::before { - content: "\56"; } - -.fa-bangladeshi-taka-sign::before { - content: "\e2e6"; } - -.fa-bicycle::before { - content: "\f206"; } - -.fa-staff-snake::before { - content: "\e579"; } - -.fa-rod-asclepius::before { - content: "\e579"; } - -.fa-rod-snake::before { - content: "\e579"; } - -.fa-staff-aesculapius::before { - content: "\e579"; } - -.fa-head-side-cough-slash::before { - content: "\e062"; } - -.fa-truck-medical::before { - content: "\f0f9"; } - -.fa-ambulance::before { - content: "\f0f9"; } - -.fa-wheat-awn-circle-exclamation::before { - content: "\e598"; } - -.fa-snowman::before { - content: "\f7d0"; } - -.fa-mortar-pestle::before { - content: "\f5a7"; } - -.fa-road-barrier::before { - content: "\e562"; } - -.fa-school::before { - content: "\f549"; } - -.fa-igloo::before { - content: "\f7ae"; } - -.fa-joint::before { - content: "\f595"; } - -.fa-angle-right::before { - content: "\f105"; } - -.fa-horse::before { - content: "\f6f0"; } - -.fa-q::before { - content: "\51"; } - -.fa-g::before { - content: "\47"; } - -.fa-notes-medical::before { - content: "\f481"; } - -.fa-temperature-half::before { - content: "\f2c9"; } - -.fa-temperature-2::before { - content: "\f2c9"; } - -.fa-thermometer-2::before { - content: "\f2c9"; } - -.fa-thermometer-half::before { - content: "\f2c9"; } - -.fa-dong-sign::before { - content: "\e169"; } - -.fa-capsules::before { - content: "\f46b"; } - -.fa-poo-storm::before { - content: "\f75a"; } - -.fa-poo-bolt::before { - content: "\f75a"; } - -.fa-face-frown-open::before { - content: "\f57a"; } - -.fa-frown-open::before { - content: "\f57a"; } - -.fa-hand-point-up::before { - content: "\f0a6"; } - -.fa-money-bill::before { - content: "\f0d6"; } - -.fa-bookmark::before { - content: "\f02e"; } - -.fa-align-justify::before { - content: "\f039"; } - -.fa-umbrella-beach::before { - content: "\f5ca"; } - -.fa-helmet-un::before { - content: "\e503"; } - -.fa-bullseye::before { - content: "\f140"; } - -.fa-bacon::before { - content: "\f7e5"; } - -.fa-hand-point-down::before { - content: "\f0a7"; } - -.fa-arrow-up-from-bracket::before { - content: "\e09a"; } - -.fa-folder::before { - content: "\f07b"; } - -.fa-folder-blank::before { - content: "\f07b"; } - -.fa-file-waveform::before { - content: "\f478"; } - -.fa-file-medical-alt::before { - content: "\f478"; } - -.fa-radiation::before { - content: "\f7b9"; } - -.fa-chart-simple::before { - content: "\e473"; } - -.fa-mars-stroke::before { - content: "\f229"; } - -.fa-vial::before { - content: "\f492"; } - -.fa-gauge::before { - content: "\f624"; } - -.fa-dashboard::before { - content: "\f624"; } - -.fa-gauge-med::before { - content: "\f624"; } - -.fa-tachometer-alt-average::before { - content: "\f624"; } - -.fa-wand-magic-sparkles::before { - content: "\e2ca"; } - -.fa-magic-wand-sparkles::before { - content: "\e2ca"; } - -.fa-e::before { - content: "\45"; } - -.fa-pen-clip::before { - content: "\f305"; } - -.fa-pen-alt::before { - content: "\f305"; } - -.fa-bridge-circle-exclamation::before { - content: "\e4ca"; } - -.fa-user::before { - content: "\f007"; } - -.fa-school-circle-check::before { - content: "\e56b"; } - -.fa-dumpster::before { - content: "\f793"; } - -.fa-van-shuttle::before { - content: "\f5b6"; } - -.fa-shuttle-van::before { - content: "\f5b6"; } - -.fa-building-user::before { - content: "\e4da"; } - -.fa-square-caret-left::before { - content: "\f191"; } - -.fa-caret-square-left::before { - content: "\f191"; } - -.fa-highlighter::before { - content: "\f591"; } - -.fa-key::before { - content: "\f084"; } - -.fa-bullhorn::before { - content: "\f0a1"; } - -.fa-globe::before { - content: "\f0ac"; } - -.fa-synagogue::before { - content: "\f69b"; } - -.fa-person-half-dress::before { - content: "\e548"; } - -.fa-road-bridge::before { - content: "\e563"; } - -.fa-location-arrow::before { - content: "\f124"; } - -.fa-c::before { - content: "\43"; } - -.fa-tablet-button::before { - content: "\f10a"; } - -.fa-building-lock::before { - content: "\e4d6"; } - -.fa-pizza-slice::before { - content: "\f818"; } - -.fa-money-bill-wave::before { - content: "\f53a"; } - -.fa-chart-area::before { - content: "\f1fe"; } - -.fa-area-chart::before { - content: "\f1fe"; } - -.fa-house-flag::before { - content: "\e50d"; } - -.fa-person-circle-minus::before { - content: "\e540"; } - -.fa-ban::before { - content: "\f05e"; } - -.fa-cancel::before { - content: "\f05e"; } - -.fa-camera-rotate::before { - content: "\e0d8"; } - -.fa-spray-can-sparkles::before { - content: "\f5d0"; } - -.fa-air-freshener::before { - content: "\f5d0"; } - -.fa-star::before { - content: "\f005"; } - -.fa-repeat::before { - content: "\f363"; } - -.fa-cross::before { - content: "\f654"; } - -.fa-box::before { - content: "\f466"; } - -.fa-venus-mars::before { - content: "\f228"; } - -.fa-arrow-pointer::before { - content: "\f245"; } - -.fa-mouse-pointer::before { - content: "\f245"; } - -.fa-maximize::before { - content: "\f31e"; } - -.fa-expand-arrows-alt::before { - content: "\f31e"; } - -.fa-charging-station::before { - content: "\f5e7"; } - -.fa-shapes::before { - content: "\f61f"; } - -.fa-triangle-circle-square::before { - content: "\f61f"; } - -.fa-shuffle::before { - content: "\f074"; } - -.fa-random::before { - content: "\f074"; } - -.fa-person-running::before { - content: "\f70c"; } - -.fa-running::before { - content: "\f70c"; } - -.fa-mobile-retro::before { - content: "\e527"; } - -.fa-grip-lines-vertical::before { - content: "\f7a5"; } - -.fa-spider::before { - content: "\f717"; } - -.fa-hands-bound::before { - content: "\e4f9"; } - -.fa-file-invoice-dollar::before { - content: "\f571"; } - -.fa-plane-circle-exclamation::before { - content: "\e556"; } - -.fa-x-ray::before { - content: "\f497"; } - -.fa-spell-check::before { - content: "\f891"; } - -.fa-slash::before { - content: "\f715"; } - -.fa-computer-mouse::before { - content: "\f8cc"; } - -.fa-mouse::before { - content: "\f8cc"; } - -.fa-arrow-right-to-bracket::before { - content: "\f090"; } - -.fa-sign-in::before { - content: "\f090"; } - -.fa-shop-slash::before { - content: "\e070"; } - -.fa-store-alt-slash::before { - content: "\e070"; } - -.fa-server::before { - content: "\f233"; } - -.fa-virus-covid-slash::before { - content: "\e4a9"; } - -.fa-shop-lock::before { - content: "\e4a5"; } - -.fa-hourglass-start::before { - content: "\f251"; } - -.fa-hourglass-1::before { - content: "\f251"; } - -.fa-blender-phone::before { - content: "\f6b6"; } - -.fa-building-wheat::before { - content: "\e4db"; } - -.fa-person-breastfeeding::before { - content: "\e53a"; } - -.fa-right-to-bracket::before { - content: "\f2f6"; } - -.fa-sign-in-alt::before { - content: "\f2f6"; } - -.fa-venus::before { - content: "\f221"; } - -.fa-passport::before { - content: "\f5ab"; } - -.fa-heart-pulse::before { - content: "\f21e"; } - -.fa-heartbeat::before { - content: "\f21e"; } - -.fa-people-carry-box::before { - content: "\f4ce"; } - -.fa-people-carry::before { - content: "\f4ce"; } - -.fa-temperature-high::before { - content: "\f769"; } - -.fa-microchip::before { - content: "\f2db"; } - -.fa-crown::before { - content: "\f521"; } - -.fa-weight-hanging::before { - content: "\f5cd"; } - -.fa-xmarks-lines::before { - content: "\e59a"; } - -.fa-file-prescription::before { - content: "\f572"; } - -.fa-weight-scale::before { - content: "\f496"; } - -.fa-weight::before { - content: "\f496"; } - -.fa-user-group::before { - content: "\f500"; } - -.fa-user-friends::before { - content: "\f500"; } - -.fa-arrow-up-a-z::before { - content: "\f15e"; } - -.fa-sort-alpha-up::before { - content: "\f15e"; } - -.fa-chess-knight::before { - content: "\f441"; } - -.fa-face-laugh-squint::before { - content: "\f59b"; } - -.fa-laugh-squint::before { - content: "\f59b"; } - -.fa-wheelchair::before { - content: "\f193"; } - -.fa-circle-arrow-up::before { - content: "\f0aa"; } - -.fa-arrow-circle-up::before { - content: "\f0aa"; } - -.fa-toggle-on::before { - content: "\f205"; } - -.fa-person-walking::before { - content: "\f554"; } - -.fa-walking::before { - content: "\f554"; } - -.fa-l::before { - content: "\4c"; } - -.fa-fire::before { - content: "\f06d"; } - -.fa-bed-pulse::before { - content: "\f487"; } - -.fa-procedures::before { - content: "\f487"; } - -.fa-shuttle-space::before { - content: "\f197"; } - -.fa-space-shuttle::before { - content: "\f197"; } - -.fa-face-laugh::before { - content: "\f599"; } - -.fa-laugh::before { - content: "\f599"; } - -.fa-folder-open::before { - content: "\f07c"; } - -.fa-heart-circle-plus::before { - content: "\e500"; } - -.fa-code-fork::before { - content: "\e13b"; } - -.fa-city::before { - content: "\f64f"; } - -.fa-microphone-lines::before { - content: "\f3c9"; } - -.fa-microphone-alt::before { - content: "\f3c9"; } - -.fa-pepper-hot::before { - content: "\f816"; } - -.fa-unlock::before { - content: "\f09c"; } - -.fa-colon-sign::before { - content: "\e140"; } - -.fa-headset::before { - content: "\f590"; } - -.fa-store-slash::before { - content: "\e071"; } - -.fa-road-circle-xmark::before { - content: "\e566"; } - -.fa-user-minus::before { - content: "\f503"; } - -.fa-mars-stroke-up::before { - content: "\f22a"; } - -.fa-mars-stroke-v::before { - content: "\f22a"; } - -.fa-champagne-glasses::before { - content: "\f79f"; } - -.fa-glass-cheers::before { - content: "\f79f"; } - -.fa-clipboard::before { - content: "\f328"; } - -.fa-house-circle-exclamation::before { - content: "\e50a"; } - -.fa-file-arrow-up::before { - content: "\f574"; } - -.fa-file-upload::before { - content: "\f574"; } - -.fa-wifi::before { - content: "\f1eb"; } - -.fa-wifi-3::before { - content: "\f1eb"; } - -.fa-wifi-strong::before { - content: "\f1eb"; } - -.fa-bath::before { - content: "\f2cd"; } - -.fa-bathtub::before { - content: "\f2cd"; } - -.fa-underline::before { - content: "\f0cd"; } - -.fa-user-pen::before { - content: "\f4ff"; } - -.fa-user-edit::before { - content: "\f4ff"; } - -.fa-signature::before { - content: "\f5b7"; } - -.fa-stroopwafel::before { - content: "\f551"; } - -.fa-bold::before { - content: "\f032"; } - -.fa-anchor-lock::before { - content: "\e4ad"; } - -.fa-building-ngo::before { - content: "\e4d7"; } - -.fa-manat-sign::before { - content: "\e1d5"; } - -.fa-not-equal::before { - content: "\f53e"; } - -.fa-border-top-left::before { - content: "\f853"; } - -.fa-border-style::before { - content: "\f853"; } - -.fa-map-location-dot::before { - content: "\f5a0"; } - -.fa-map-marked-alt::before { - content: "\f5a0"; } - -.fa-jedi::before { - content: "\f669"; } - -.fa-square-poll-vertical::before { - content: "\f681"; } - -.fa-poll::before { - content: "\f681"; } - -.fa-mug-hot::before { - content: "\f7b6"; } - -.fa-car-battery::before { - content: "\f5df"; } - -.fa-battery-car::before { - content: "\f5df"; } - -.fa-gift::before { - content: "\f06b"; } - -.fa-dice-two::before { - content: "\f528"; } - -.fa-chess-queen::before { - content: "\f445"; } - -.fa-glasses::before { - content: "\f530"; } - -.fa-chess-board::before { - content: "\f43c"; } - -.fa-building-circle-check::before { - content: "\e4d2"; } - -.fa-person-chalkboard::before { - content: "\e53d"; } - -.fa-mars-stroke-right::before { - content: "\f22b"; } - -.fa-mars-stroke-h::before { - content: "\f22b"; } - -.fa-hand-back-fist::before { - content: "\f255"; } - -.fa-hand-rock::before { - content: "\f255"; } - -.fa-square-caret-up::before { - content: "\f151"; } - -.fa-caret-square-up::before { - content: "\f151"; } - -.fa-cloud-showers-water::before { - content: "\e4e4"; } - -.fa-chart-bar::before { - content: "\f080"; } - -.fa-bar-chart::before { - content: "\f080"; } - -.fa-hands-bubbles::before { - content: "\e05e"; } - -.fa-hands-wash::before { - content: "\e05e"; } - -.fa-less-than-equal::before { - content: "\f537"; } - -.fa-train::before { - content: "\f238"; } - -.fa-eye-low-vision::before { - content: "\f2a8"; } - -.fa-low-vision::before { - content: "\f2a8"; } - -.fa-crow::before { - content: "\f520"; } - -.fa-sailboat::before { - content: "\e445"; } - -.fa-window-restore::before { - content: "\f2d2"; } - -.fa-square-plus::before { - content: "\f0fe"; } - -.fa-plus-square::before { - content: "\f0fe"; } - -.fa-torii-gate::before { - content: "\f6a1"; } - -.fa-frog::before { - content: "\f52e"; } - -.fa-bucket::before { - content: "\e4cf"; } - -.fa-image::before { - content: "\f03e"; } - -.fa-microphone::before { - content: "\f130"; } - -.fa-cow::before { - content: "\f6c8"; } - -.fa-caret-up::before { - content: "\f0d8"; } - -.fa-screwdriver::before { - content: "\f54a"; } - -.fa-folder-closed::before { - content: "\e185"; } - -.fa-house-tsunami::before { - content: "\e515"; } - -.fa-square-nfi::before { - content: "\e576"; } - -.fa-arrow-up-from-ground-water::before { - content: "\e4b5"; } - -.fa-martini-glass::before { - content: "\f57b"; } - -.fa-glass-martini-alt::before { - content: "\f57b"; } - -.fa-rotate-left::before { - content: "\f2ea"; } - -.fa-rotate-back::before { - content: "\f2ea"; } - -.fa-rotate-backward::before { - content: "\f2ea"; } - -.fa-undo-alt::before { - content: "\f2ea"; } - -.fa-table-columns::before { - content: "\f0db"; } - -.fa-columns::before { - content: "\f0db"; } - -.fa-lemon::before { - content: "\f094"; } - -.fa-head-side-mask::before { - content: "\e063"; } - -.fa-handshake::before { - content: "\f2b5"; } - -.fa-gem::before { - content: "\f3a5"; } - -.fa-dolly::before { - content: "\f472"; } - -.fa-dolly-box::before { - content: "\f472"; } - -.fa-smoking::before { - content: "\f48d"; } - -.fa-minimize::before { - content: "\f78c"; } - -.fa-compress-arrows-alt::before { - content: "\f78c"; } - -.fa-monument::before { - content: "\f5a6"; } - -.fa-snowplow::before { - content: "\f7d2"; } - -.fa-angles-right::before { - content: "\f101"; } - -.fa-angle-double-right::before { - content: "\f101"; } - -.fa-cannabis::before { - content: "\f55f"; } - -.fa-circle-play::before { - content: "\f144"; } - -.fa-play-circle::before { - content: "\f144"; } - -.fa-tablets::before { - content: "\f490"; } - -.fa-ethernet::before { - content: "\f796"; } - -.fa-euro-sign::before { - content: "\f153"; } - -.fa-eur::before { - content: "\f153"; } - -.fa-euro::before { - content: "\f153"; } - -.fa-chair::before { - content: "\f6c0"; } - -.fa-circle-check::before { - content: "\f058"; } - -.fa-check-circle::before { - content: "\f058"; } - -.fa-circle-stop::before { - content: "\f28d"; } - -.fa-stop-circle::before { - content: "\f28d"; } - -.fa-compass-drafting::before { - content: "\f568"; } - -.fa-drafting-compass::before { - content: "\f568"; } - -.fa-plate-wheat::before { - content: "\e55a"; } - -.fa-icicles::before { - content: "\f7ad"; } - -.fa-person-shelter::before { - content: "\e54f"; } - -.fa-neuter::before { - content: "\f22c"; } - -.fa-id-badge::before { - content: "\f2c1"; } - -.fa-marker::before { - content: "\f5a1"; } - -.fa-face-laugh-beam::before { - content: "\f59a"; } - -.fa-laugh-beam::before { - content: "\f59a"; } - -.fa-helicopter-symbol::before { - content: "\e502"; } - -.fa-universal-access::before { - content: "\f29a"; } - -.fa-circle-chevron-up::before { - content: "\f139"; } - -.fa-chevron-circle-up::before { - content: "\f139"; } - -.fa-lari-sign::before { - content: "\e1c8"; } - -.fa-volcano::before { - content: "\f770"; } - -.fa-person-walking-dashed-line-arrow-right::before { - content: "\e553"; } - -.fa-sterling-sign::before { - content: "\f154"; } - -.fa-gbp::before { - content: "\f154"; } - -.fa-pound-sign::before { - content: "\f154"; } - -.fa-viruses::before { - content: "\e076"; } - -.fa-square-person-confined::before { - content: "\e577"; } - -.fa-user-tie::before { - content: "\f508"; } - -.fa-arrow-down-long::before { - content: "\f175"; } - -.fa-long-arrow-down::before { - content: "\f175"; } - -.fa-tent-arrow-down-to-line::before { - content: "\e57e"; } - -.fa-certificate::before { - content: "\f0a3"; } - -.fa-reply-all::before { - content: "\f122"; } - -.fa-mail-reply-all::before { - content: "\f122"; } - -.fa-suitcase::before { - content: "\f0f2"; } - -.fa-person-skating::before { - content: "\f7c5"; } - -.fa-skating::before { - content: "\f7c5"; } - -.fa-filter-circle-dollar::before { - content: "\f662"; } - -.fa-funnel-dollar::before { - content: "\f662"; } - -.fa-camera-retro::before { - content: "\f083"; } - -.fa-circle-arrow-down::before { - content: "\f0ab"; } - -.fa-arrow-circle-down::before { - content: "\f0ab"; } - -.fa-file-import::before { - content: "\f56f"; } - -.fa-arrow-right-to-file::before { - content: "\f56f"; } - -.fa-square-arrow-up-right::before { - content: "\f14c"; } - -.fa-external-link-square::before { - content: "\f14c"; } - -.fa-box-open::before { - content: "\f49e"; } - -.fa-scroll::before { - content: "\f70e"; } - -.fa-spa::before { - content: "\f5bb"; } - -.fa-location-pin-lock::before { - content: "\e51f"; } - -.fa-pause::before { - content: "\f04c"; } - -.fa-hill-avalanche::before { - content: "\e507"; } - -.fa-temperature-empty::before { - content: "\f2cb"; } - -.fa-temperature-0::before { - content: "\f2cb"; } - -.fa-thermometer-0::before { - content: "\f2cb"; } - -.fa-thermometer-empty::before { - content: "\f2cb"; } - -.fa-bomb::before { - content: "\f1e2"; } - -.fa-registered::before { - content: "\f25d"; } - -.fa-address-card::before { - content: "\f2bb"; } - -.fa-contact-card::before { - content: "\f2bb"; } - -.fa-vcard::before { - content: "\f2bb"; } - -.fa-scale-unbalanced-flip::before { - content: "\f516"; } - -.fa-balance-scale-right::before { - content: "\f516"; } - -.fa-subscript::before { - content: "\f12c"; } - -.fa-diamond-turn-right::before { - content: "\f5eb"; } - -.fa-directions::before { - content: "\f5eb"; } - -.fa-burst::before { - content: "\e4dc"; } - -.fa-house-laptop::before { - content: "\e066"; } - -.fa-laptop-house::before { - content: "\e066"; } - -.fa-face-tired::before { - content: "\f5c8"; } - -.fa-tired::before { - content: "\f5c8"; } - -.fa-money-bills::before { - content: "\e1f3"; } - -.fa-smog::before { - content: "\f75f"; } - -.fa-crutch::before { - content: "\f7f7"; } - -.fa-cloud-arrow-up::before { - content: "\f0ee"; } - -.fa-cloud-upload::before { - content: "\f0ee"; } - -.fa-cloud-upload-alt::before { - content: "\f0ee"; } - -.fa-palette::before { - content: "\f53f"; } - -.fa-arrows-turn-right::before { - content: "\e4c0"; } - -.fa-vest::before { - content: "\e085"; } - -.fa-ferry::before { - content: "\e4ea"; } - -.fa-arrows-down-to-people::before { - content: "\e4b9"; } - -.fa-seedling::before { - content: "\f4d8"; } - -.fa-sprout::before { - content: "\f4d8"; } - -.fa-left-right::before { - content: "\f337"; } - -.fa-arrows-alt-h::before { - content: "\f337"; } - -.fa-boxes-packing::before { - content: "\e4c7"; } - -.fa-circle-arrow-left::before { - content: "\f0a8"; } - -.fa-arrow-circle-left::before { - content: "\f0a8"; } - -.fa-group-arrows-rotate::before { - content: "\e4f6"; } - -.fa-bowl-food::before { - content: "\e4c6"; } - -.fa-candy-cane::before { - content: "\f786"; } - -.fa-arrow-down-wide-short::before { - content: "\f160"; } - -.fa-sort-amount-asc::before { - content: "\f160"; } - -.fa-sort-amount-down::before { - content: "\f160"; } - -.fa-cloud-bolt::before { - content: "\f76c"; } - -.fa-thunderstorm::before { - content: "\f76c"; } - -.fa-text-slash::before { - content: "\f87d"; } - -.fa-remove-format::before { - content: "\f87d"; } - -.fa-face-smile-wink::before { - content: "\f4da"; } - -.fa-smile-wink::before { - content: "\f4da"; } - -.fa-file-word::before { - content: "\f1c2"; } - -.fa-file-powerpoint::before { - content: "\f1c4"; } - -.fa-arrows-left-right::before { - content: "\f07e"; } - -.fa-arrows-h::before { - content: "\f07e"; } - -.fa-house-lock::before { - content: "\e510"; } - -.fa-cloud-arrow-down::before { - content: "\f0ed"; } - -.fa-cloud-download::before { - content: "\f0ed"; } - -.fa-cloud-download-alt::before { - content: "\f0ed"; } - -.fa-children::before { - content: "\e4e1"; } - -.fa-chalkboard::before { - content: "\f51b"; } - -.fa-blackboard::before { - content: "\f51b"; } - -.fa-user-large-slash::before { - content: "\f4fa"; } - -.fa-user-alt-slash::before { - content: "\f4fa"; } - -.fa-envelope-open::before { - content: "\f2b6"; } - -.fa-handshake-simple-slash::before { - content: "\e05f"; } - -.fa-handshake-alt-slash::before { - content: "\e05f"; } - -.fa-mattress-pillow::before { - content: "\e525"; } - -.fa-guarani-sign::before { - content: "\e19a"; } - -.fa-arrows-rotate::before { - content: "\f021"; } - -.fa-refresh::before { - content: "\f021"; } - -.fa-sync::before { - content: "\f021"; } - -.fa-fire-extinguisher::before { - content: "\f134"; } - -.fa-cruzeiro-sign::before { - content: "\e152"; } - -.fa-greater-than-equal::before { - content: "\f532"; } - -.fa-shield-halved::before { - content: "\f3ed"; } - -.fa-shield-alt::before { - content: "\f3ed"; } - -.fa-book-atlas::before { - content: "\f558"; } - -.fa-atlas::before { - content: "\f558"; } - -.fa-virus::before { - content: "\e074"; } - -.fa-envelope-circle-check::before { - content: "\e4e8"; } - -.fa-layer-group::before { - content: "\f5fd"; } - -.fa-arrows-to-dot::before { - content: "\e4be"; } - -.fa-archway::before { - content: "\f557"; } - -.fa-heart-circle-check::before { - content: "\e4fd"; } - -.fa-house-chimney-crack::before { - content: "\f6f1"; } - -.fa-house-damage::before { - content: "\f6f1"; } - -.fa-file-zipper::before { - content: "\f1c6"; } - -.fa-file-archive::before { - content: "\f1c6"; } - -.fa-square::before { - content: "\f0c8"; } - -.fa-martini-glass-empty::before { - content: "\f000"; } - -.fa-glass-martini::before { - content: "\f000"; } - -.fa-couch::before { - content: "\f4b8"; } - -.fa-cedi-sign::before { - content: "\e0df"; } - -.fa-italic::before { - content: "\f033"; } - -.fa-church::before { - content: "\f51d"; } - -.fa-comments-dollar::before { - content: "\f653"; } - -.fa-democrat::before { - content: "\f747"; } - -.fa-z::before { - content: "\5a"; } - -.fa-person-skiing::before { - content: "\f7c9"; } - -.fa-skiing::before { - content: "\f7c9"; } - -.fa-road-lock::before { - content: "\e567"; } - -.fa-a::before { - content: "\41"; } - -.fa-temperature-arrow-down::before { - content: "\e03f"; } - -.fa-temperature-down::before { - content: "\e03f"; } - -.fa-feather-pointed::before { - content: "\f56b"; } - -.fa-feather-alt::before { - content: "\f56b"; } - -.fa-p::before { - content: "\50"; } - -.fa-snowflake::before { - content: "\f2dc"; } - -.fa-newspaper::before { - content: "\f1ea"; } - -.fa-rectangle-ad::before { - content: "\f641"; } - -.fa-ad::before { - content: "\f641"; } - -.fa-circle-arrow-right::before { - content: "\f0a9"; } - -.fa-arrow-circle-right::before { - content: "\f0a9"; } - -.fa-filter-circle-xmark::before { - content: "\e17b"; } - -.fa-locust::before { - content: "\e520"; } - -.fa-sort::before { - content: "\f0dc"; } - -.fa-unsorted::before { - content: "\f0dc"; } - -.fa-list-ol::before { - content: "\f0cb"; } - -.fa-list-1-2::before { - content: "\f0cb"; } - -.fa-list-numeric::before { - content: "\f0cb"; } - -.fa-person-dress-burst::before { - content: "\e544"; } - -.fa-money-check-dollar::before { - content: "\f53d"; } - -.fa-money-check-alt::before { - content: "\f53d"; } - -.fa-vector-square::before { - content: "\f5cb"; } - -.fa-bread-slice::before { - content: "\f7ec"; } - -.fa-language::before { - content: "\f1ab"; } - -.fa-face-kiss-wink-heart::before { - content: "\f598"; } - -.fa-kiss-wink-heart::before { - content: "\f598"; } - -.fa-filter::before { - content: "\f0b0"; } - -.fa-question::before { - content: "\3f"; } - -.fa-file-signature::before { - content: "\f573"; } - -.fa-up-down-left-right::before { - content: "\f0b2"; } - -.fa-arrows-alt::before { - content: "\f0b2"; } - -.fa-house-chimney-user::before { - content: "\e065"; } - -.fa-hand-holding-heart::before { - content: "\f4be"; } - -.fa-puzzle-piece::before { - content: "\f12e"; } - -.fa-money-check::before { - content: "\f53c"; } - -.fa-star-half-stroke::before { - content: "\f5c0"; } - -.fa-star-half-alt::before { - content: "\f5c0"; } - -.fa-code::before { - content: "\f121"; } - -.fa-whiskey-glass::before { - content: "\f7a0"; } - -.fa-glass-whiskey::before { - content: "\f7a0"; } - -.fa-building-circle-exclamation::before { - content: "\e4d3"; } - -.fa-magnifying-glass-chart::before { - content: "\e522"; } - -.fa-arrow-up-right-from-square::before { - content: "\f08e"; } - -.fa-external-link::before { - content: "\f08e"; } - -.fa-cubes-stacked::before { - content: "\e4e6"; } - -.fa-won-sign::before { - content: "\f159"; } - -.fa-krw::before { - content: "\f159"; } - -.fa-won::before { - content: "\f159"; } - -.fa-virus-covid::before { - content: "\e4a8"; } - -.fa-austral-sign::before { - content: "\e0a9"; } - -.fa-f::before { - content: "\46"; } - -.fa-leaf::before { - content: "\f06c"; } - -.fa-road::before { - content: "\f018"; } - -.fa-taxi::before { - content: "\f1ba"; } - -.fa-cab::before { - content: "\f1ba"; } - -.fa-person-circle-plus::before { - content: "\e541"; } - -.fa-chart-pie::before { - content: "\f200"; } - -.fa-pie-chart::before { - content: "\f200"; } - -.fa-bolt-lightning::before { - content: "\e0b7"; } - -.fa-sack-xmark::before { - content: "\e56a"; } - -.fa-file-excel::before { - content: "\f1c3"; } - -.fa-file-contract::before { - content: "\f56c"; } - -.fa-fish-fins::before { - content: "\e4f2"; } - -.fa-building-flag::before { - content: "\e4d5"; } - -.fa-face-grin-beam::before { - content: "\f582"; } - -.fa-grin-beam::before { - content: "\f582"; } - -.fa-object-ungroup::before { - content: "\f248"; } - -.fa-poop::before { - content: "\f619"; } - -.fa-location-pin::before { - content: "\f041"; } - -.fa-map-marker::before { - content: "\f041"; } - -.fa-kaaba::before { - content: "\f66b"; } - -.fa-toilet-paper::before { - content: "\f71e"; } - -.fa-helmet-safety::before { - content: "\f807"; } - -.fa-hard-hat::before { - content: "\f807"; } - -.fa-hat-hard::before { - content: "\f807"; } - -.fa-eject::before { - content: "\f052"; } - -.fa-circle-right::before { - content: "\f35a"; } - -.fa-arrow-alt-circle-right::before { - content: "\f35a"; } - -.fa-plane-circle-check::before { - content: "\e555"; } - -.fa-face-rolling-eyes::before { - content: "\f5a5"; } - -.fa-meh-rolling-eyes::before { - content: "\f5a5"; } - -.fa-object-group::before { - content: "\f247"; } - -.fa-chart-line::before { - content: "\f201"; } - -.fa-line-chart::before { - content: "\f201"; } - -.fa-mask-ventilator::before { - content: "\e524"; } - -.fa-arrow-right::before { - content: "\f061"; } - -.fa-signs-post::before { - content: "\f277"; } - -.fa-map-signs::before { - content: "\f277"; } - -.fa-cash-register::before { - content: "\f788"; } - -.fa-person-circle-question::before { - content: "\e542"; } - -.fa-h::before { - content: "\48"; } - -.fa-tarp::before { - content: "\e57b"; } - -.fa-screwdriver-wrench::before { - content: "\f7d9"; } - -.fa-tools::before { - content: "\f7d9"; } - -.fa-arrows-to-eye::before { - content: "\e4bf"; } - -.fa-plug-circle-bolt::before { - content: "\e55b"; } - -.fa-heart::before { - content: "\f004"; } - -.fa-mars-and-venus::before { - content: "\f224"; } - -.fa-house-user::before { - content: "\e1b0"; } - -.fa-home-user::before { - content: "\e1b0"; } - -.fa-dumpster-fire::before { - content: "\f794"; } - -.fa-house-crack::before { - content: "\e3b1"; } - -.fa-martini-glass-citrus::before { - content: "\f561"; } - -.fa-cocktail::before { - content: "\f561"; } - -.fa-face-surprise::before { - content: "\f5c2"; } - -.fa-surprise::before { - content: "\f5c2"; } - -.fa-bottle-water::before { - content: "\e4c5"; } - -.fa-circle-pause::before { - content: "\f28b"; } - -.fa-pause-circle::before { - content: "\f28b"; } - -.fa-toilet-paper-slash::before { - content: "\e072"; } - -.fa-apple-whole::before { - content: "\f5d1"; } - -.fa-apple-alt::before { - content: "\f5d1"; } - -.fa-kitchen-set::before { - content: "\e51a"; } - -.fa-r::before { - content: "\52"; } - -.fa-temperature-quarter::before { - content: "\f2ca"; } - -.fa-temperature-1::before { - content: "\f2ca"; } - -.fa-thermometer-1::before { - content: "\f2ca"; } - -.fa-thermometer-quarter::before { - content: "\f2ca"; } - -.fa-cube::before { - content: "\f1b2"; } - -.fa-bitcoin-sign::before { - content: "\e0b4"; } - -.fa-shield-dog::before { - content: "\e573"; } - -.fa-solar-panel::before { - content: "\f5ba"; } - -.fa-lock-open::before { - content: "\f3c1"; } - -.fa-elevator::before { - content: "\e16d"; } - -.fa-money-bill-transfer::before { - content: "\e528"; } - -.fa-money-bill-trend-up::before { - content: "\e529"; } - -.fa-house-flood-water-circle-arrow-right::before { - content: "\e50f"; } - -.fa-square-poll-horizontal::before { - content: "\f682"; } - -.fa-poll-h::before { - content: "\f682"; } - -.fa-circle::before { - content: "\f111"; } - -.fa-backward-fast::before { - content: "\f049"; } - -.fa-fast-backward::before { - content: "\f049"; } - -.fa-recycle::before { - content: "\f1b8"; } - -.fa-user-astronaut::before { - content: "\f4fb"; } - -.fa-plane-slash::before { - content: "\e069"; } - -.fa-trademark::before { - content: "\f25c"; } - -.fa-basketball::before { - content: "\f434"; } - -.fa-basketball-ball::before { - content: "\f434"; } - -.fa-satellite-dish::before { - content: "\f7c0"; } - -.fa-circle-up::before { - content: "\f35b"; } - -.fa-arrow-alt-circle-up::before { - content: "\f35b"; } - -.fa-mobile-screen-button::before { - content: "\f3cd"; } - -.fa-mobile-alt::before { - content: "\f3cd"; } - -.fa-volume-high::before { - content: "\f028"; } - -.fa-volume-up::before { - content: "\f028"; } - -.fa-users-rays::before { - content: "\e593"; } - -.fa-wallet::before { - content: "\f555"; } - -.fa-clipboard-check::before { - content: "\f46c"; } - -.fa-file-audio::before { - content: "\f1c7"; } - -.fa-burger::before { - content: "\f805"; } - -.fa-hamburger::before { - content: "\f805"; } - -.fa-wrench::before { - content: "\f0ad"; } - -.fa-bugs::before { - content: "\e4d0"; } - -.fa-rupee-sign::before { - content: "\f156"; } - -.fa-rupee::before { - content: "\f156"; } - -.fa-file-image::before { - content: "\f1c5"; } - -.fa-circle-question::before { - content: "\f059"; } - -.fa-question-circle::before { - content: "\f059"; } - -.fa-plane-departure::before { - content: "\f5b0"; } - -.fa-handshake-slash::before { - content: "\e060"; } - -.fa-book-bookmark::before { - content: "\e0bb"; } - -.fa-code-branch::before { - content: "\f126"; } - -.fa-hat-cowboy::before { - content: "\f8c0"; } - -.fa-bridge::before { - content: "\e4c8"; } - -.fa-phone-flip::before { - content: "\f879"; } - -.fa-phone-alt::before { - content: "\f879"; } - -.fa-truck-front::before { - content: "\e2b7"; } - -.fa-cat::before { - content: "\f6be"; } - -.fa-anchor-circle-exclamation::before { - content: "\e4ab"; } - -.fa-truck-field::before { - content: "\e58d"; } - -.fa-route::before { - content: "\f4d7"; } - -.fa-clipboard-question::before { - content: "\e4e3"; } - -.fa-panorama::before { - content: "\e209"; } - -.fa-comment-medical::before { - content: "\f7f5"; } - -.fa-teeth-open::before { - content: "\f62f"; } - -.fa-file-circle-minus::before { - content: "\e4ed"; } - -.fa-tags::before { - content: "\f02c"; } - -.fa-wine-glass::before { - content: "\f4e3"; } - -.fa-forward-fast::before { - content: "\f050"; } - -.fa-fast-forward::before { - content: "\f050"; } - -.fa-face-meh-blank::before { - content: "\f5a4"; } - -.fa-meh-blank::before { - content: "\f5a4"; } - -.fa-square-parking::before { - content: "\f540"; } - -.fa-parking::before { - content: "\f540"; } - -.fa-house-signal::before { - content: "\e012"; } - -.fa-bars-progress::before { - content: "\f828"; } - -.fa-tasks-alt::before { - content: "\f828"; } - -.fa-faucet-drip::before { - content: "\e006"; } - -.fa-cart-flatbed::before { - content: "\f474"; } - -.fa-dolly-flatbed::before { - content: "\f474"; } - -.fa-ban-smoking::before { - content: "\f54d"; } - -.fa-smoking-ban::before { - content: "\f54d"; } - -.fa-terminal::before { - content: "\f120"; } - -.fa-mobile-button::before { - content: "\f10b"; } - -.fa-house-medical-flag::before { - content: "\e514"; } - -.fa-basket-shopping::before { - content: "\f291"; } - -.fa-shopping-basket::before { - content: "\f291"; } - -.fa-tape::before { - content: "\f4db"; } - -.fa-bus-simple::before { - content: "\f55e"; } - -.fa-bus-alt::before { - content: "\f55e"; } - -.fa-eye::before { - content: "\f06e"; } - -.fa-face-sad-cry::before { - content: "\f5b3"; } - -.fa-sad-cry::before { - content: "\f5b3"; } - -.fa-audio-description::before { - content: "\f29e"; } - -.fa-person-military-to-person::before { - content: "\e54c"; } - -.fa-file-shield::before { - content: "\e4f0"; } - -.fa-user-slash::before { - content: "\f506"; } - -.fa-pen::before { - content: "\f304"; } - -.fa-tower-observation::before { - content: "\e586"; } - -.fa-file-code::before { - content: "\f1c9"; } - -.fa-signal::before { - content: "\f012"; } - -.fa-signal-5::before { - content: "\f012"; } - -.fa-signal-perfect::before { - content: "\f012"; } - -.fa-bus::before { - content: "\f207"; } - -.fa-heart-circle-xmark::before { - content: "\e501"; } - -.fa-house-chimney::before { - content: "\e3af"; } - -.fa-home-lg::before { - content: "\e3af"; } - -.fa-window-maximize::before { - content: "\f2d0"; } - -.fa-face-frown::before { - content: "\f119"; } - -.fa-frown::before { - content: "\f119"; } - -.fa-prescription::before { - content: "\f5b1"; } - -.fa-shop::before { - content: "\f54f"; } - -.fa-store-alt::before { - content: "\f54f"; } - -.fa-floppy-disk::before { - content: "\f0c7"; } - -.fa-save::before { - content: "\f0c7"; } - -.fa-vihara::before { - content: "\f6a7"; } - -.fa-scale-unbalanced::before { - content: "\f515"; } - -.fa-balance-scale-left::before { - content: "\f515"; } - -.fa-sort-up::before { - content: "\f0de"; } - -.fa-sort-asc::before { - content: "\f0de"; } - -.fa-comment-dots::before { - content: "\f4ad"; } - -.fa-commenting::before { - content: "\f4ad"; } - -.fa-plant-wilt::before { - content: "\e5aa"; } - -.fa-diamond::before { - content: "\f219"; } - -.fa-face-grin-squint::before { - content: "\f585"; } - -.fa-grin-squint::before { - content: "\f585"; } - -.fa-hand-holding-dollar::before { - content: "\f4c0"; } - -.fa-hand-holding-usd::before { - content: "\f4c0"; } - -.fa-bacterium::before { - content: "\e05a"; } - -.fa-hand-pointer::before { - content: "\f25a"; } - -.fa-drum-steelpan::before { - content: "\f56a"; } - -.fa-hand-scissors::before { - content: "\f257"; } - -.fa-hands-praying::before { - content: "\f684"; } - -.fa-praying-hands::before { - content: "\f684"; } - -.fa-arrow-rotate-right::before { - content: "\f01e"; } - -.fa-arrow-right-rotate::before { - content: "\f01e"; } - -.fa-arrow-rotate-forward::before { - content: "\f01e"; } - -.fa-redo::before { - content: "\f01e"; } - -.fa-biohazard::before { - content: "\f780"; } - -.fa-location-crosshairs::before { - content: "\f601"; } - -.fa-location::before { - content: "\f601"; } - -.fa-mars-double::before { - content: "\f227"; } - -.fa-child-dress::before { - content: "\e59c"; } - -.fa-users-between-lines::before { - content: "\e591"; } - -.fa-lungs-virus::before { - content: "\e067"; } - -.fa-face-grin-tears::before { - content: "\f588"; } - -.fa-grin-tears::before { - content: "\f588"; } - -.fa-phone::before { - content: "\f095"; } - -.fa-calendar-xmark::before { - content: "\f273"; } - -.fa-calendar-times::before { - content: "\f273"; } - -.fa-child-reaching::before { - content: "\e59d"; } - -.fa-head-side-virus::before { - content: "\e064"; } - -.fa-user-gear::before { - content: "\f4fe"; } - -.fa-user-cog::before { - content: "\f4fe"; } - -.fa-arrow-up-1-9::before { - content: "\f163"; } - -.fa-sort-numeric-up::before { - content: "\f163"; } - -.fa-door-closed::before { - content: "\f52a"; } - -.fa-shield-virus::before { - content: "\e06c"; } - -.fa-dice-six::before { - content: "\f526"; } - -.fa-mosquito-net::before { - content: "\e52c"; } - -.fa-bridge-water::before { - content: "\e4ce"; } - -.fa-person-booth::before { - content: "\f756"; } - -.fa-text-width::before { - content: "\f035"; } - -.fa-hat-wizard::before { - content: "\f6e8"; } - -.fa-pen-fancy::before { - content: "\f5ac"; } - -.fa-person-digging::before { - content: "\f85e"; } - -.fa-digging::before { - content: "\f85e"; } - -.fa-trash::before { - content: "\f1f8"; } - -.fa-gauge-simple::before { - content: "\f629"; } - -.fa-gauge-simple-med::before { - content: "\f629"; } - -.fa-tachometer-average::before { - content: "\f629"; } - -.fa-book-medical::before { - content: "\f7e6"; } - -.fa-poo::before { - content: "\f2fe"; } - -.fa-quote-right::before { - content: "\f10e"; } - -.fa-quote-right-alt::before { - content: "\f10e"; } - -.fa-shirt::before { - content: "\f553"; } - -.fa-t-shirt::before { - content: "\f553"; } - -.fa-tshirt::before { - content: "\f553"; } - -.fa-cubes::before { - content: "\f1b3"; } - -.fa-divide::before { - content: "\f529"; } - -.fa-tenge-sign::before { - content: "\f7d7"; } - -.fa-tenge::before { - content: "\f7d7"; } - -.fa-headphones::before { - content: "\f025"; } - -.fa-hands-holding::before { - content: "\f4c2"; } - -.fa-hands-clapping::before { - content: "\e1a8"; } - -.fa-republican::before { - content: "\f75e"; } - -.fa-arrow-left::before { - content: "\f060"; } - -.fa-person-circle-xmark::before { - content: "\e543"; } - -.fa-ruler::before { - content: "\f545"; } - -.fa-align-left::before { - content: "\f036"; } - -.fa-dice-d6::before { - content: "\f6d1"; } - -.fa-restroom::before { - content: "\f7bd"; } - -.fa-j::before { - content: "\4a"; } - -.fa-users-viewfinder::before { - content: "\e595"; } - -.fa-file-video::before { - content: "\f1c8"; } - -.fa-up-right-from-square::before { - content: "\f35d"; } - -.fa-external-link-alt::before { - content: "\f35d"; } - -.fa-table-cells::before { - content: "\f00a"; } - -.fa-th::before { - content: "\f00a"; } - -.fa-file-pdf::before { - content: "\f1c1"; } - -.fa-book-bible::before { - content: "\f647"; } - -.fa-bible::before { - content: "\f647"; } - -.fa-o::before { - content: "\4f"; } - -.fa-suitcase-medical::before { - content: "\f0fa"; } - -.fa-medkit::before { - content: "\f0fa"; } - -.fa-user-secret::before { - content: "\f21b"; } - -.fa-otter::before { - content: "\f700"; } - -.fa-person-dress::before { - content: "\f182"; } - -.fa-female::before { - content: "\f182"; } - -.fa-comment-dollar::before { - content: "\f651"; } - -.fa-business-time::before { - content: "\f64a"; } - -.fa-briefcase-clock::before { - content: "\f64a"; } - -.fa-table-cells-large::before { - content: "\f009"; } - -.fa-th-large::before { - content: "\f009"; } - -.fa-book-tanakh::before { - content: "\f827"; } - -.fa-tanakh::before { - content: "\f827"; } - -.fa-phone-volume::before { - content: "\f2a0"; } - -.fa-volume-control-phone::before { - content: "\f2a0"; } - -.fa-hat-cowboy-side::before { - content: "\f8c1"; } - -.fa-clipboard-user::before { - content: "\f7f3"; } - -.fa-child::before { - content: "\f1ae"; } - -.fa-lira-sign::before { - content: "\f195"; } - -.fa-satellite::before { - content: "\f7bf"; } - -.fa-plane-lock::before { - content: "\e558"; } - -.fa-tag::before { - content: "\f02b"; } - -.fa-comment::before { - content: "\f075"; } - -.fa-cake-candles::before { - content: "\f1fd"; } - -.fa-birthday-cake::before { - content: "\f1fd"; } - -.fa-cake::before { - content: "\f1fd"; } - -.fa-envelope::before { - content: "\f0e0"; } - -.fa-angles-up::before { - content: "\f102"; } - -.fa-angle-double-up::before { - content: "\f102"; } - -.fa-paperclip::before { - content: "\f0c6"; } - -.fa-arrow-right-to-city::before { - content: "\e4b3"; } - -.fa-ribbon::before { - content: "\f4d6"; } - -.fa-lungs::before { - content: "\f604"; } - -.fa-arrow-up-9-1::before { - content: "\f887"; } - -.fa-sort-numeric-up-alt::before { - content: "\f887"; } - -.fa-litecoin-sign::before { - content: "\e1d3"; } - -.fa-border-none::before { - content: "\f850"; } - -.fa-circle-nodes::before { - content: "\e4e2"; } - -.fa-parachute-box::before { - content: "\f4cd"; } - -.fa-indent::before { - content: "\f03c"; } - -.fa-truck-field-un::before { - content: "\e58e"; } - -.fa-hourglass::before { - content: "\f254"; } - -.fa-hourglass-empty::before { - content: "\f254"; } - -.fa-mountain::before { - content: "\f6fc"; } - -.fa-user-doctor::before { - content: "\f0f0"; } - -.fa-user-md::before { - content: "\f0f0"; } - -.fa-circle-info::before { - content: "\f05a"; } - -.fa-info-circle::before { - content: "\f05a"; } - -.fa-cloud-meatball::before { - content: "\f73b"; } - -.fa-camera::before { - content: "\f030"; } - -.fa-camera-alt::before { - content: "\f030"; } - -.fa-square-virus::before { - content: "\e578"; } - -.fa-meteor::before { - content: "\f753"; } - -.fa-car-on::before { - content: "\e4dd"; } - -.fa-sleigh::before { - content: "\f7cc"; } - -.fa-arrow-down-1-9::before { - content: "\f162"; } - -.fa-sort-numeric-asc::before { - content: "\f162"; } - -.fa-sort-numeric-down::before { - content: "\f162"; } - -.fa-hand-holding-droplet::before { - content: "\f4c1"; } - -.fa-hand-holding-water::before { - content: "\f4c1"; } - -.fa-water::before { - content: "\f773"; } - -.fa-calendar-check::before { - content: "\f274"; } - -.fa-braille::before { - content: "\f2a1"; } - -.fa-prescription-bottle-medical::before { - content: "\f486"; } - -.fa-prescription-bottle-alt::before { - content: "\f486"; } - -.fa-landmark::before { - content: "\f66f"; } - -.fa-truck::before { - content: "\f0d1"; } - -.fa-crosshairs::before { - content: "\f05b"; } - -.fa-person-cane::before { - content: "\e53c"; } - -.fa-tent::before { - content: "\e57d"; } - -.fa-vest-patches::before { - content: "\e086"; } - -.fa-check-double::before { - content: "\f560"; } - -.fa-arrow-down-a-z::before { - content: "\f15d"; } - -.fa-sort-alpha-asc::before { - content: "\f15d"; } - -.fa-sort-alpha-down::before { - content: "\f15d"; } - -.fa-money-bill-wheat::before { - content: "\e52a"; } - -.fa-cookie::before { - content: "\f563"; } - -.fa-arrow-rotate-left::before { - content: "\f0e2"; } - -.fa-arrow-left-rotate::before { - content: "\f0e2"; } - -.fa-arrow-rotate-back::before { - content: "\f0e2"; } - -.fa-arrow-rotate-backward::before { - content: "\f0e2"; } - -.fa-undo::before { - content: "\f0e2"; } - -.fa-hard-drive::before { - content: "\f0a0"; } - -.fa-hdd::before { - content: "\f0a0"; } - -.fa-face-grin-squint-tears::before { - content: "\f586"; } - -.fa-grin-squint-tears::before { - content: "\f586"; } - -.fa-dumbbell::before { - content: "\f44b"; } - -.fa-rectangle-list::before { - content: "\f022"; } - -.fa-list-alt::before { - content: "\f022"; } - -.fa-tarp-droplet::before { - content: "\e57c"; } - -.fa-house-medical-circle-check::before { - content: "\e511"; } - -.fa-person-skiing-nordic::before { - content: "\f7ca"; } - -.fa-skiing-nordic::before { - content: "\f7ca"; } - -.fa-calendar-plus::before { - content: "\f271"; } - -.fa-plane-arrival::before { - content: "\f5af"; } - -.fa-circle-left::before { - content: "\f359"; } - -.fa-arrow-alt-circle-left::before { - content: "\f359"; } - -.fa-train-subway::before { - content: "\f239"; } - -.fa-subway::before { - content: "\f239"; } - -.fa-chart-gantt::before { - content: "\e0e4"; } - -.fa-indian-rupee-sign::before { - content: "\e1bc"; } - -.fa-indian-rupee::before { - content: "\e1bc"; } - -.fa-inr::before { - content: "\e1bc"; } - -.fa-crop-simple::before { - content: "\f565"; } - -.fa-crop-alt::before { - content: "\f565"; } - -.fa-money-bill-1::before { - content: "\f3d1"; } - -.fa-money-bill-alt::before { - content: "\f3d1"; } - -.fa-left-long::before { - content: "\f30a"; } - -.fa-long-arrow-alt-left::before { - content: "\f30a"; } - -.fa-dna::before { - content: "\f471"; } - -.fa-virus-slash::before { - content: "\e075"; } - -.fa-minus::before { - content: "\f068"; } - -.fa-subtract::before { - content: "\f068"; } - -.fa-chess::before { - content: "\f439"; } - -.fa-arrow-left-long::before { - content: "\f177"; } - -.fa-long-arrow-left::before { - content: "\f177"; } - -.fa-plug-circle-check::before { - content: "\e55c"; } - -.fa-street-view::before { - content: "\f21d"; } - -.fa-franc-sign::before { - content: "\e18f"; } - -.fa-volume-off::before { - content: "\f026"; } - -.fa-hands-asl-interpreting::before { - content: "\f2a3"; } - -.fa-american-sign-language-interpreting::before { - content: "\f2a3"; } - -.fa-asl-interpreting::before { - content: "\f2a3"; } - -.fa-hands-american-sign-language-interpreting::before { - content: "\f2a3"; } - -.fa-gear::before { - content: "\f013"; } - -.fa-cog::before { - content: "\f013"; } - -.fa-droplet-slash::before { - content: "\f5c7"; } - -.fa-tint-slash::before { - content: "\f5c7"; } - -.fa-mosque::before { - content: "\f678"; } - -.fa-mosquito::before { - content: "\e52b"; } - -.fa-star-of-david::before { - content: "\f69a"; } - -.fa-person-military-rifle::before { - content: "\e54b"; } - -.fa-cart-shopping::before { - content: "\f07a"; } - -.fa-shopping-cart::before { - content: "\f07a"; } - -.fa-vials::before { - content: "\f493"; } - -.fa-plug-circle-plus::before { - content: "\e55f"; } - -.fa-place-of-worship::before { - content: "\f67f"; } - -.fa-grip-vertical::before { - content: "\f58e"; } - -.fa-arrow-turn-up::before { - content: "\f148"; } - -.fa-level-up::before { - content: "\f148"; } - -.fa-u::before { - content: "\55"; } - -.fa-square-root-variable::before { - content: "\f698"; } - -.fa-square-root-alt::before { - content: "\f698"; } - -.fa-clock::before { - content: "\f017"; } - -.fa-clock-four::before { - content: "\f017"; } - -.fa-backward-step::before { - content: "\f048"; } - -.fa-step-backward::before { - content: "\f048"; } - -.fa-pallet::before { - content: "\f482"; } - -.fa-faucet::before { - content: "\e005"; } - -.fa-baseball-bat-ball::before { - content: "\f432"; } - -.fa-s::before { - content: "\53"; } - -.fa-timeline::before { - content: "\e29c"; } - -.fa-keyboard::before { - content: "\f11c"; } - -.fa-caret-down::before { - content: "\f0d7"; } - -.fa-house-chimney-medical::before { - content: "\f7f2"; } - -.fa-clinic-medical::before { - content: "\f7f2"; } - -.fa-temperature-three-quarters::before { - content: "\f2c8"; } - -.fa-temperature-3::before { - content: "\f2c8"; } - -.fa-thermometer-3::before { - content: "\f2c8"; } - -.fa-thermometer-three-quarters::before { - content: "\f2c8"; } - -.fa-mobile-screen::before { - content: "\f3cf"; } - -.fa-mobile-android-alt::before { - content: "\f3cf"; } - -.fa-plane-up::before { - content: "\e22d"; } - -.fa-piggy-bank::before { - content: "\f4d3"; } - -.fa-battery-half::before { - content: "\f242"; } - -.fa-battery-3::before { - content: "\f242"; } - -.fa-mountain-city::before { - content: "\e52e"; } - -.fa-coins::before { - content: "\f51e"; } - -.fa-khanda::before { - content: "\f66d"; } - -.fa-sliders::before { - content: "\f1de"; } - -.fa-sliders-h::before { - content: "\f1de"; } - -.fa-folder-tree::before { - content: "\f802"; } - -.fa-network-wired::before { - content: "\f6ff"; } - -.fa-map-pin::before { - content: "\f276"; } - -.fa-hamsa::before { - content: "\f665"; } - -.fa-cent-sign::before { - content: "\e3f5"; } - -.fa-flask::before { - content: "\f0c3"; } - -.fa-person-pregnant::before { - content: "\e31e"; } - -.fa-wand-sparkles::before { - content: "\f72b"; } - -.fa-ellipsis-vertical::before { - content: "\f142"; } - -.fa-ellipsis-v::before { - content: "\f142"; } - -.fa-ticket::before { - content: "\f145"; } - -.fa-power-off::before { - content: "\f011"; } - -.fa-right-long::before { - content: "\f30b"; } - -.fa-long-arrow-alt-right::before { - content: "\f30b"; } - -.fa-flag-usa::before { - content: "\f74d"; } - -.fa-laptop-file::before { - content: "\e51d"; } - -.fa-tty::before { - content: "\f1e4"; } - -.fa-teletype::before { - content: "\f1e4"; } - -.fa-diagram-next::before { - content: "\e476"; } - -.fa-person-rifle::before { - content: "\e54e"; } - -.fa-house-medical-circle-exclamation::before { - content: "\e512"; } - -.fa-closed-captioning::before { - content: "\f20a"; } - -.fa-person-hiking::before { - content: "\f6ec"; } - -.fa-hiking::before { - content: "\f6ec"; } - -.fa-venus-double::before { - content: "\f226"; } - -.fa-images::before { - content: "\f302"; } - -.fa-calculator::before { - content: "\f1ec"; } - -.fa-people-pulling::before { - content: "\e535"; } - -.fa-n::before { - content: "\4e"; } - -.fa-cable-car::before { - content: "\f7da"; } - -.fa-tram::before { - content: "\f7da"; } - -.fa-cloud-rain::before { - content: "\f73d"; } - -.fa-building-circle-xmark::before { - content: "\e4d4"; } - -.fa-ship::before { - content: "\f21a"; } - -.fa-arrows-down-to-line::before { - content: "\e4b8"; } - -.fa-download::before { - content: "\f019"; } - -.fa-face-grin::before { - content: "\f580"; } - -.fa-grin::before { - content: "\f580"; } - -.fa-delete-left::before { - content: "\f55a"; } - -.fa-backspace::before { - content: "\f55a"; } - -.fa-eye-dropper::before { - content: "\f1fb"; } - -.fa-eye-dropper-empty::before { - content: "\f1fb"; } - -.fa-eyedropper::before { - content: "\f1fb"; } - -.fa-file-circle-check::before { - content: "\e5a0"; } - -.fa-forward::before { - content: "\f04e"; } - -.fa-mobile::before { - content: "\f3ce"; } - -.fa-mobile-android::before { - content: "\f3ce"; } - -.fa-mobile-phone::before { - content: "\f3ce"; } - -.fa-face-meh::before { - content: "\f11a"; } - -.fa-meh::before { - content: "\f11a"; } - -.fa-align-center::before { - content: "\f037"; } - -.fa-book-skull::before { - content: "\f6b7"; } - -.fa-book-dead::before { - content: "\f6b7"; } - -.fa-id-card::before { - content: "\f2c2"; } - -.fa-drivers-license::before { - content: "\f2c2"; } - -.fa-outdent::before { - content: "\f03b"; } - -.fa-dedent::before { - content: "\f03b"; } - -.fa-heart-circle-exclamation::before { - content: "\e4fe"; } - -.fa-house::before { - content: "\f015"; } - -.fa-home::before { - content: "\f015"; } - -.fa-home-alt::before { - content: "\f015"; } - -.fa-home-lg-alt::before { - content: "\f015"; } - -.fa-calendar-week::before { - content: "\f784"; } - -.fa-laptop-medical::before { - content: "\f812"; } - -.fa-b::before { - content: "\42"; } - -.fa-file-medical::before { - content: "\f477"; } - -.fa-dice-one::before { - content: "\f525"; } - -.fa-kiwi-bird::before { - content: "\f535"; } - -.fa-arrow-right-arrow-left::before { - content: "\f0ec"; } - -.fa-exchange::before { - content: "\f0ec"; } - -.fa-rotate-right::before { - content: "\f2f9"; } - -.fa-redo-alt::before { - content: "\f2f9"; } - -.fa-rotate-forward::before { - content: "\f2f9"; } - -.fa-utensils::before { - content: "\f2e7"; } - -.fa-cutlery::before { - content: "\f2e7"; } - -.fa-arrow-up-wide-short::before { - content: "\f161"; } - -.fa-sort-amount-up::before { - content: "\f161"; } - -.fa-mill-sign::before { - content: "\e1ed"; } - -.fa-bowl-rice::before { - content: "\e2eb"; } - -.fa-skull::before { - content: "\f54c"; } - -.fa-tower-broadcast::before { - content: "\f519"; } - -.fa-broadcast-tower::before { - content: "\f519"; } - -.fa-truck-pickup::before { - content: "\f63c"; } - -.fa-up-long::before { - content: "\f30c"; } - -.fa-long-arrow-alt-up::before { - content: "\f30c"; } - -.fa-stop::before { - content: "\f04d"; } - -.fa-code-merge::before { - content: "\f387"; } - -.fa-upload::before { - content: "\f093"; } - -.fa-hurricane::before { - content: "\f751"; } - -.fa-mound::before { - content: "\e52d"; } - -.fa-toilet-portable::before { - content: "\e583"; } - -.fa-compact-disc::before { - content: "\f51f"; } - -.fa-file-arrow-down::before { - content: "\f56d"; } - -.fa-file-download::before { - content: "\f56d"; } - -.fa-caravan::before { - content: "\f8ff"; } - -.fa-shield-cat::before { - content: "\e572"; } - -.fa-bolt::before { - content: "\f0e7"; } - -.fa-zap::before { - content: "\f0e7"; } - -.fa-glass-water::before { - content: "\e4f4"; } - -.fa-oil-well::before { - content: "\e532"; } - -.fa-vault::before { - content: "\e2c5"; } - -.fa-mars::before { - content: "\f222"; } - -.fa-toilet::before { - content: "\f7d8"; } - -.fa-plane-circle-xmark::before { - content: "\e557"; } - -.fa-yen-sign::before { - content: "\f157"; } - -.fa-cny::before { - content: "\f157"; } - -.fa-jpy::before { - content: "\f157"; } - -.fa-rmb::before { - content: "\f157"; } - -.fa-yen::before { - content: "\f157"; } - -.fa-ruble-sign::before { - content: "\f158"; } - -.fa-rouble::before { - content: "\f158"; } - -.fa-rub::before { - content: "\f158"; } - -.fa-ruble::before { - content: "\f158"; } - -.fa-sun::before { - content: "\f185"; } - -.fa-guitar::before { - content: "\f7a6"; } - -.fa-face-laugh-wink::before { - content: "\f59c"; } - -.fa-laugh-wink::before { - content: "\f59c"; } - -.fa-horse-head::before { - content: "\f7ab"; } - -.fa-bore-hole::before { - content: "\e4c3"; } - -.fa-industry::before { - content: "\f275"; } - -.fa-circle-down::before { - content: "\f358"; } - -.fa-arrow-alt-circle-down::before { - content: "\f358"; } - -.fa-arrows-turn-to-dots::before { - content: "\e4c1"; } - -.fa-florin-sign::before { - content: "\e184"; } - -.fa-arrow-down-short-wide::before { - content: "\f884"; } - -.fa-sort-amount-desc::before { - content: "\f884"; } - -.fa-sort-amount-down-alt::before { - content: "\f884"; } - -.fa-less-than::before { - content: "\3c"; } - -.fa-angle-down::before { - content: "\f107"; } - -.fa-car-tunnel::before { - content: "\e4de"; } - -.fa-head-side-cough::before { - content: "\e061"; } - -.fa-grip-lines::before { - content: "\f7a4"; } - -.fa-thumbs-down::before { - content: "\f165"; } - -.fa-user-lock::before { - content: "\f502"; } - -.fa-arrow-right-long::before { - content: "\f178"; } - -.fa-long-arrow-right::before { - content: "\f178"; } - -.fa-anchor-circle-xmark::before { - content: "\e4ac"; } - -.fa-ellipsis::before { - content: "\f141"; } - -.fa-ellipsis-h::before { - content: "\f141"; } - -.fa-chess-pawn::before { - content: "\f443"; } - -.fa-kit-medical::before { - content: "\f479"; } - -.fa-first-aid::before { - content: "\f479"; } - -.fa-person-through-window::before { - content: "\e5a9"; } - -.fa-toolbox::before { - content: "\f552"; } - -.fa-hands-holding-circle::before { - content: "\e4fb"; } - -.fa-bug::before { - content: "\f188"; } - -.fa-credit-card::before { - content: "\f09d"; } - -.fa-credit-card-alt::before { - content: "\f09d"; } - -.fa-car::before { - content: "\f1b9"; } - -.fa-automobile::before { - content: "\f1b9"; } - -.fa-hand-holding-hand::before { - content: "\e4f7"; } - -.fa-book-open-reader::before { - content: "\f5da"; } - -.fa-book-reader::before { - content: "\f5da"; } - -.fa-mountain-sun::before { - content: "\e52f"; } - -.fa-arrows-left-right-to-line::before { - content: "\e4ba"; } - -.fa-dice-d20::before { - content: "\f6cf"; } - -.fa-truck-droplet::before { - content: "\e58c"; } - -.fa-file-circle-xmark::before { - content: "\e5a1"; } - -.fa-temperature-arrow-up::before { - content: "\e040"; } - -.fa-temperature-up::before { - content: "\e040"; } - -.fa-medal::before { - content: "\f5a2"; } - -.fa-bed::before { - content: "\f236"; } - -.fa-square-h::before { - content: "\f0fd"; } - -.fa-h-square::before { - content: "\f0fd"; } - -.fa-podcast::before { - content: "\f2ce"; } - -.fa-temperature-full::before { - content: "\f2c7"; } - -.fa-temperature-4::before { - content: "\f2c7"; } - -.fa-thermometer-4::before { - content: "\f2c7"; } - -.fa-thermometer-full::before { - content: "\f2c7"; } - -.fa-bell::before { - content: "\f0f3"; } - -.fa-superscript::before { - content: "\f12b"; } - -.fa-plug-circle-xmark::before { - content: "\e560"; } - -.fa-star-of-life::before { - content: "\f621"; } - -.fa-phone-slash::before { - content: "\f3dd"; } - -.fa-paint-roller::before { - content: "\f5aa"; } - -.fa-handshake-angle::before { - content: "\f4c4"; } - -.fa-hands-helping::before { - content: "\f4c4"; } - -.fa-location-dot::before { - content: "\f3c5"; } - -.fa-map-marker-alt::before { - content: "\f3c5"; } - -.fa-file::before { - content: "\f15b"; } - -.fa-greater-than::before { - content: "\3e"; } - -.fa-person-swimming::before { - content: "\f5c4"; } - -.fa-swimmer::before { - content: "\f5c4"; } - -.fa-arrow-down::before { - content: "\f063"; } - -.fa-droplet::before { - content: "\f043"; } - -.fa-tint::before { - content: "\f043"; } - -.fa-eraser::before { - content: "\f12d"; } - -.fa-earth-americas::before { - content: "\f57d"; } - -.fa-earth::before { - content: "\f57d"; } - -.fa-earth-america::before { - content: "\f57d"; } - -.fa-globe-americas::before { - content: "\f57d"; } - -.fa-person-burst::before { - content: "\e53b"; } - -.fa-dove::before { - content: "\f4ba"; } - -.fa-battery-empty::before { - content: "\f244"; } - -.fa-battery-0::before { - content: "\f244"; } - -.fa-socks::before { - content: "\f696"; } - -.fa-inbox::before { - content: "\f01c"; } - -.fa-section::before { - content: "\e447"; } - -.fa-gauge-high::before { - content: "\f625"; } - -.fa-tachometer-alt::before { - content: "\f625"; } - -.fa-tachometer-alt-fast::before { - content: "\f625"; } - -.fa-envelope-open-text::before { - content: "\f658"; } - -.fa-hospital::before { - content: "\f0f8"; } - -.fa-hospital-alt::before { - content: "\f0f8"; } - -.fa-hospital-wide::before { - content: "\f0f8"; } - -.fa-wine-bottle::before { - content: "\f72f"; } - -.fa-chess-rook::before { - content: "\f447"; } - -.fa-bars-staggered::before { - content: "\f550"; } - -.fa-reorder::before { - content: "\f550"; } - -.fa-stream::before { - content: "\f550"; } - -.fa-dharmachakra::before { - content: "\f655"; } - -.fa-hotdog::before { - content: "\f80f"; } - -.fa-person-walking-with-cane::before { - content: "\f29d"; } - -.fa-blind::before { - content: "\f29d"; } - -.fa-drum::before { - content: "\f569"; } - -.fa-ice-cream::before { - content: "\f810"; } - -.fa-heart-circle-bolt::before { - content: "\e4fc"; } - -.fa-fax::before { - content: "\f1ac"; } - -.fa-paragraph::before { - content: "\f1dd"; } - -.fa-check-to-slot::before { - content: "\f772"; } - -.fa-vote-yea::before { - content: "\f772"; } - -.fa-star-half::before { - content: "\f089"; } - -.fa-boxes-stacked::before { - content: "\f468"; } - -.fa-boxes::before { - content: "\f468"; } - -.fa-boxes-alt::before { - content: "\f468"; } - -.fa-link::before { - content: "\f0c1"; } - -.fa-chain::before { - content: "\f0c1"; } - -.fa-ear-listen::before { - content: "\f2a2"; } - -.fa-assistive-listening-systems::before { - content: "\f2a2"; } - -.fa-tree-city::before { - content: "\e587"; } - -.fa-play::before { - content: "\f04b"; } - -.fa-font::before { - content: "\f031"; } - -.fa-rupiah-sign::before { - content: "\e23d"; } - -.fa-magnifying-glass::before { - content: "\f002"; } - -.fa-search::before { - content: "\f002"; } - -.fa-table-tennis-paddle-ball::before { - content: "\f45d"; } - -.fa-ping-pong-paddle-ball::before { - content: "\f45d"; } - -.fa-table-tennis::before { - content: "\f45d"; } - -.fa-person-dots-from-line::before { - content: "\f470"; } - -.fa-diagnoses::before { - content: "\f470"; } - -.fa-trash-can-arrow-up::before { - content: "\f82a"; } - -.fa-trash-restore-alt::before { - content: "\f82a"; } - -.fa-naira-sign::before { - content: "\e1f6"; } - -.fa-cart-arrow-down::before { - content: "\f218"; } - -.fa-walkie-talkie::before { - content: "\f8ef"; } - -.fa-file-pen::before { - content: "\f31c"; } - -.fa-file-edit::before { - content: "\f31c"; } - -.fa-receipt::before { - content: "\f543"; } - -.fa-square-pen::before { - content: "\f14b"; } - -.fa-pen-square::before { - content: "\f14b"; } - -.fa-pencil-square::before { - content: "\f14b"; } - -.fa-suitcase-rolling::before { - content: "\f5c1"; } - -.fa-person-circle-exclamation::before { - content: "\e53f"; } - -.fa-chevron-down::before { - content: "\f078"; } - -.fa-battery-full::before { - content: "\f240"; } - -.fa-battery::before { - content: "\f240"; } - -.fa-battery-5::before { - content: "\f240"; } - -.fa-skull-crossbones::before { - content: "\f714"; } - -.fa-code-compare::before { - content: "\e13a"; } - -.fa-list-ul::before { - content: "\f0ca"; } - -.fa-list-dots::before { - content: "\f0ca"; } - -.fa-school-lock::before { - content: "\e56f"; } - -.fa-tower-cell::before { - content: "\e585"; } - -.fa-down-long::before { - content: "\f309"; } - -.fa-long-arrow-alt-down::before { - content: "\f309"; } - -.fa-ranking-star::before { - content: "\e561"; } - -.fa-chess-king::before { - content: "\f43f"; } - -.fa-person-harassing::before { - content: "\e549"; } - -.fa-brazilian-real-sign::before { - content: "\e46c"; } - -.fa-landmark-dome::before { - content: "\f752"; } - -.fa-landmark-alt::before { - content: "\f752"; } - -.fa-arrow-up::before { - content: "\f062"; } - -.fa-tv::before { - content: "\f26c"; } - -.fa-television::before { - content: "\f26c"; } - -.fa-tv-alt::before { - content: "\f26c"; } - -.fa-shrimp::before { - content: "\e448"; } - -.fa-list-check::before { - content: "\f0ae"; } - -.fa-tasks::before { - content: "\f0ae"; } - -.fa-jug-detergent::before { - content: "\e519"; } - -.fa-circle-user::before { - content: "\f2bd"; } - -.fa-user-circle::before { - content: "\f2bd"; } - -.fa-user-shield::before { - content: "\f505"; } - -.fa-wind::before { - content: "\f72e"; } - -.fa-car-burst::before { - content: "\f5e1"; } - -.fa-car-crash::before { - content: "\f5e1"; } - -.fa-y::before { - content: "\59"; } - -.fa-person-snowboarding::before { - content: "\f7ce"; } - -.fa-snowboarding::before { - content: "\f7ce"; } - -.fa-truck-fast::before { - content: "\f48b"; } - -.fa-shipping-fast::before { - content: "\f48b"; } - -.fa-fish::before { - content: "\f578"; } - -.fa-user-graduate::before { - content: "\f501"; } - -.fa-circle-half-stroke::before { - content: "\f042"; } - -.fa-adjust::before { - content: "\f042"; } - -.fa-clapperboard::before { - content: "\e131"; } - -.fa-circle-radiation::before { - content: "\f7ba"; } - -.fa-radiation-alt::before { - content: "\f7ba"; } - -.fa-baseball::before { - content: "\f433"; } - -.fa-baseball-ball::before { - content: "\f433"; } - -.fa-jet-fighter-up::before { - content: "\e518"; } - -.fa-diagram-project::before { - content: "\f542"; } - -.fa-project-diagram::before { - content: "\f542"; } - -.fa-copy::before { - content: "\f0c5"; } - -.fa-volume-xmark::before { - content: "\f6a9"; } - -.fa-volume-mute::before { - content: "\f6a9"; } - -.fa-volume-times::before { - content: "\f6a9"; } - -.fa-hand-sparkles::before { - content: "\e05d"; } - -.fa-grip::before { - content: "\f58d"; } - -.fa-grip-horizontal::before { - content: "\f58d"; } - -.fa-share-from-square::before { - content: "\f14d"; } - -.fa-share-square::before { - content: "\f14d"; } - -.fa-child-combatant::before { - content: "\e4e0"; } - -.fa-child-rifle::before { - content: "\e4e0"; } - -.fa-gun::before { - content: "\e19b"; } - -.fa-square-phone::before { - content: "\f098"; } - -.fa-phone-square::before { - content: "\f098"; } - -.fa-plus::before { - content: "\2b"; } - -.fa-add::before { - content: "\2b"; } - -.fa-expand::before { - content: "\f065"; } - -.fa-computer::before { - content: "\e4e5"; } - -.fa-xmark::before { - content: "\f00d"; } - -.fa-close::before { - content: "\f00d"; } - -.fa-multiply::before { - content: "\f00d"; } - -.fa-remove::before { - content: "\f00d"; } - -.fa-times::before { - content: "\f00d"; } - -.fa-arrows-up-down-left-right::before { - content: "\f047"; } - -.fa-arrows::before { - content: "\f047"; } - -.fa-chalkboard-user::before { - content: "\f51c"; } - -.fa-chalkboard-teacher::before { - content: "\f51c"; } - -.fa-peso-sign::before { - content: "\e222"; } - -.fa-building-shield::before { - content: "\e4d8"; } - -.fa-baby::before { - content: "\f77c"; } - -.fa-users-line::before { - content: "\e592"; } - -.fa-quote-left::before { - content: "\f10d"; } - -.fa-quote-left-alt::before { - content: "\f10d"; } - -.fa-tractor::before { - content: "\f722"; } - -.fa-trash-arrow-up::before { - content: "\f829"; } - -.fa-trash-restore::before { - content: "\f829"; } - -.fa-arrow-down-up-lock::before { - content: "\e4b0"; } - -.fa-lines-leaning::before { - content: "\e51e"; } - -.fa-ruler-combined::before { - content: "\f546"; } - -.fa-copyright::before { - content: "\f1f9"; } - -.fa-equals::before { - content: "\3d"; } - -.fa-blender::before { - content: "\f517"; } - -.fa-teeth::before { - content: "\f62e"; } - -.fa-shekel-sign::before { - content: "\f20b"; } - -.fa-ils::before { - content: "\f20b"; } - -.fa-shekel::before { - content: "\f20b"; } - -.fa-sheqel::before { - content: "\f20b"; } - -.fa-sheqel-sign::before { - content: "\f20b"; } - -.fa-map::before { - content: "\f279"; } - -.fa-rocket::before { - content: "\f135"; } - -.fa-photo-film::before { - content: "\f87c"; } - -.fa-photo-video::before { - content: "\f87c"; } - -.fa-folder-minus::before { - content: "\f65d"; } - -.fa-store::before { - content: "\f54e"; } - -.fa-arrow-trend-up::before { - content: "\e098"; } - -.fa-plug-circle-minus::before { - content: "\e55e"; } - -.fa-sign-hanging::before { - content: "\f4d9"; } - -.fa-sign::before { - content: "\f4d9"; } - -.fa-bezier-curve::before { - content: "\f55b"; } - -.fa-bell-slash::before { - content: "\f1f6"; } - -.fa-tablet::before { - content: "\f3fb"; } - -.fa-tablet-android::before { - content: "\f3fb"; } - -.fa-school-flag::before { - content: "\e56e"; } - -.fa-fill::before { - content: "\f575"; } - -.fa-angle-up::before { - content: "\f106"; } - -.fa-drumstick-bite::before { - content: "\f6d7"; } - -.fa-holly-berry::before { - content: "\f7aa"; } - -.fa-chevron-left::before { - content: "\f053"; } - -.fa-bacteria::before { - content: "\e059"; } - -.fa-hand-lizard::before { - content: "\f258"; } - -.fa-notdef::before { - content: "\e1fe"; } - -.fa-disease::before { - content: "\f7fa"; } - -.fa-briefcase-medical::before { - content: "\f469"; } - -.fa-genderless::before { - content: "\f22d"; } - -.fa-chevron-right::before { - content: "\f054"; } - -.fa-retweet::before { - content: "\f079"; } - -.fa-car-rear::before { - content: "\f5de"; } - -.fa-car-alt::before { - content: "\f5de"; } - -.fa-pump-soap::before { - content: "\e06b"; } - -.fa-video-slash::before { - content: "\f4e2"; } - -.fa-battery-quarter::before { - content: "\f243"; } - -.fa-battery-2::before { - content: "\f243"; } - -.fa-radio::before { - content: "\f8d7"; } - -.fa-baby-carriage::before { - content: "\f77d"; } - -.fa-carriage-baby::before { - content: "\f77d"; } - -.fa-traffic-light::before { - content: "\f637"; } - -.fa-thermometer::before { - content: "\f491"; } - -.fa-vr-cardboard::before { - content: "\f729"; } - -.fa-hand-middle-finger::before { - content: "\f806"; } - -.fa-percent::before { - content: "\25"; } - -.fa-percentage::before { - content: "\25"; } - -.fa-truck-moving::before { - content: "\f4df"; } - -.fa-glass-water-droplet::before { - content: "\e4f5"; } - -.fa-display::before { - content: "\e163"; } - -.fa-face-smile::before { - content: "\f118"; } - -.fa-smile::before { - content: "\f118"; } - -.fa-thumbtack::before { - content: "\f08d"; } - -.fa-thumb-tack::before { - content: "\f08d"; } - -.fa-trophy::before { - content: "\f091"; } - -.fa-person-praying::before { - content: "\f683"; } - -.fa-pray::before { - content: "\f683"; } - -.fa-hammer::before { - content: "\f6e3"; } - -.fa-hand-peace::before { - content: "\f25b"; } - -.fa-rotate::before { - content: "\f2f1"; } - -.fa-sync-alt::before { - content: "\f2f1"; } - -.fa-spinner::before { - content: "\f110"; } - -.fa-robot::before { - content: "\f544"; } - -.fa-peace::before { - content: "\f67c"; } - -.fa-gears::before { - content: "\f085"; } - -.fa-cogs::before { - content: "\f085"; } - -.fa-warehouse::before { - content: "\f494"; } - -.fa-arrow-up-right-dots::before { - content: "\e4b7"; } - -.fa-splotch::before { - content: "\f5bc"; } - -.fa-face-grin-hearts::before { - content: "\f584"; } - -.fa-grin-hearts::before { - content: "\f584"; } - -.fa-dice-four::before { - content: "\f524"; } - -.fa-sim-card::before { - content: "\f7c4"; } - -.fa-transgender::before { - content: "\f225"; } - -.fa-transgender-alt::before { - content: "\f225"; } - -.fa-mercury::before { - content: "\f223"; } - -.fa-arrow-turn-down::before { - content: "\f149"; } - -.fa-level-down::before { - content: "\f149"; } - -.fa-person-falling-burst::before { - content: "\e547"; } - -.fa-award::before { - content: "\f559"; } - -.fa-ticket-simple::before { - content: "\f3ff"; } - -.fa-ticket-alt::before { - content: "\f3ff"; } - -.fa-building::before { - content: "\f1ad"; } - -.fa-angles-left::before { - content: "\f100"; } - -.fa-angle-double-left::before { - content: "\f100"; } - -.fa-qrcode::before { - content: "\f029"; } - -.fa-clock-rotate-left::before { - content: "\f1da"; } - -.fa-history::before { - content: "\f1da"; } - -.fa-face-grin-beam-sweat::before { - content: "\f583"; } - -.fa-grin-beam-sweat::before { - content: "\f583"; } - -.fa-file-export::before { - content: "\f56e"; } - -.fa-arrow-right-from-file::before { - content: "\f56e"; } - -.fa-shield::before { - content: "\f132"; } - -.fa-shield-blank::before { - content: "\f132"; } - -.fa-arrow-up-short-wide::before { - content: "\f885"; } - -.fa-sort-amount-up-alt::before { - content: "\f885"; } - -.fa-house-medical::before { - content: "\e3b2"; } - -.fa-golf-ball-tee::before { - content: "\f450"; } - -.fa-golf-ball::before { - content: "\f450"; } - -.fa-circle-chevron-left::before { - content: "\f137"; } - -.fa-chevron-circle-left::before { - content: "\f137"; } - -.fa-house-chimney-window::before { - content: "\e00d"; } - -.fa-pen-nib::before { - content: "\f5ad"; } - -.fa-tent-arrow-turn-left::before { - content: "\e580"; } - -.fa-tents::before { - content: "\e582"; } - -.fa-wand-magic::before { - content: "\f0d0"; } - -.fa-magic::before { - content: "\f0d0"; } - -.fa-dog::before { - content: "\f6d3"; } - -.fa-carrot::before { - content: "\f787"; } - -.fa-moon::before { - content: "\f186"; } - -.fa-wine-glass-empty::before { - content: "\f5ce"; } - -.fa-wine-glass-alt::before { - content: "\f5ce"; } - -.fa-cheese::before { - content: "\f7ef"; } - -.fa-yin-yang::before { - content: "\f6ad"; } - -.fa-music::before { - content: "\f001"; } - -.fa-code-commit::before { - content: "\f386"; } - -.fa-temperature-low::before { - content: "\f76b"; } - -.fa-person-biking::before { - content: "\f84a"; } - -.fa-biking::before { - content: "\f84a"; } - -.fa-broom::before { - content: "\f51a"; } - -.fa-shield-heart::before { - content: "\e574"; } - -.fa-gopuram::before { - content: "\f664"; } - -.fa-earth-oceania::before { - content: "\e47b"; } - -.fa-globe-oceania::before { - content: "\e47b"; } - -.fa-square-xmark::before { - content: "\f2d3"; } - -.fa-times-square::before { - content: "\f2d3"; } - -.fa-xmark-square::before { - content: "\f2d3"; } - -.fa-hashtag::before { - content: "\23"; } - -.fa-up-right-and-down-left-from-center::before { - content: "\f424"; } - -.fa-expand-alt::before { - content: "\f424"; } - -.fa-oil-can::before { - content: "\f613"; } - -.fa-t::before { - content: "\54"; } - -.fa-hippo::before { - content: "\f6ed"; } - -.fa-chart-column::before { - content: "\e0e3"; } - -.fa-infinity::before { - content: "\f534"; } - -.fa-vial-circle-check::before { - content: "\e596"; } - -.fa-person-arrow-down-to-line::before { - content: "\e538"; } - -.fa-voicemail::before { - content: "\f897"; } - -.fa-fan::before { - content: "\f863"; } - -.fa-person-walking-luggage::before { - content: "\e554"; } - -.fa-up-down::before { - content: "\f338"; } - -.fa-arrows-alt-v::before { - content: "\f338"; } - -.fa-cloud-moon-rain::before { - content: "\f73c"; } - -.fa-calendar::before { - content: "\f133"; } - -.fa-trailer::before { - content: "\e041"; } - -.fa-bahai::before { - content: "\f666"; } - -.fa-haykal::before { - content: "\f666"; } - -.fa-sd-card::before { - content: "\f7c2"; } - -.fa-dragon::before { - content: "\f6d5"; } - -.fa-shoe-prints::before { - content: "\f54b"; } - -.fa-circle-plus::before { - content: "\f055"; } - -.fa-plus-circle::before { - content: "\f055"; } - -.fa-face-grin-tongue-wink::before { - content: "\f58b"; } - -.fa-grin-tongue-wink::before { - content: "\f58b"; } - -.fa-hand-holding::before { - content: "\f4bd"; } - -.fa-plug-circle-exclamation::before { - content: "\e55d"; } - -.fa-link-slash::before { - content: "\f127"; } - -.fa-chain-broken::before { - content: "\f127"; } - -.fa-chain-slash::before { - content: "\f127"; } - -.fa-unlink::before { - content: "\f127"; } - -.fa-clone::before { - content: "\f24d"; } - -.fa-person-walking-arrow-loop-left::before { - content: "\e551"; } - -.fa-arrow-up-z-a::before { - content: "\f882"; } - -.fa-sort-alpha-up-alt::before { - content: "\f882"; } - -.fa-fire-flame-curved::before { - content: "\f7e4"; } - -.fa-fire-alt::before { - content: "\f7e4"; } - -.fa-tornado::before { - content: "\f76f"; } - -.fa-file-circle-plus::before { - content: "\e494"; } - -.fa-book-quran::before { - content: "\f687"; } - -.fa-quran::before { - content: "\f687"; } - -.fa-anchor::before { - content: "\f13d"; } - -.fa-border-all::before { - content: "\f84c"; } - -.fa-face-angry::before { - content: "\f556"; } - -.fa-angry::before { - content: "\f556"; } - -.fa-cookie-bite::before { - content: "\f564"; } - -.fa-arrow-trend-down::before { - content: "\e097"; } - -.fa-rss::before { - content: "\f09e"; } - -.fa-feed::before { - content: "\f09e"; } - -.fa-draw-polygon::before { - content: "\f5ee"; } - -.fa-scale-balanced::before { - content: "\f24e"; } - -.fa-balance-scale::before { - content: "\f24e"; } - -.fa-gauge-simple-high::before { - content: "\f62a"; } - -.fa-tachometer::before { - content: "\f62a"; } - -.fa-tachometer-fast::before { - content: "\f62a"; } - -.fa-shower::before { - content: "\f2cc"; } - -.fa-desktop::before { - content: "\f390"; } - -.fa-desktop-alt::before { - content: "\f390"; } - -.fa-m::before { - content: "\4d"; } - -.fa-table-list::before { - content: "\f00b"; } - -.fa-th-list::before { - content: "\f00b"; } - -.fa-comment-sms::before { - content: "\f7cd"; } - -.fa-sms::before { - content: "\f7cd"; } - -.fa-book::before { - content: "\f02d"; } - -.fa-user-plus::before { - content: "\f234"; } - -.fa-check::before { - content: "\f00c"; } - -.fa-battery-three-quarters::before { - content: "\f241"; } - -.fa-battery-4::before { - content: "\f241"; } - -.fa-house-circle-check::before { - content: "\e509"; } - -.fa-angle-left::before { - content: "\f104"; } - -.fa-diagram-successor::before { - content: "\e47a"; } - -.fa-truck-arrow-right::before { - content: "\e58b"; } - -.fa-arrows-split-up-and-left::before { - content: "\e4bc"; } - -.fa-hand-fist::before { - content: "\f6de"; } - -.fa-fist-raised::before { - content: "\f6de"; } - -.fa-cloud-moon::before { - content: "\f6c3"; } - -.fa-briefcase::before { - content: "\f0b1"; } - -.fa-person-falling::before { - content: "\e546"; } - -.fa-image-portrait::before { - content: "\f3e0"; } - -.fa-portrait::before { - content: "\f3e0"; } - -.fa-user-tag::before { - content: "\f507"; } - -.fa-rug::before { - content: "\e569"; } - -.fa-earth-europe::before { - content: "\f7a2"; } - -.fa-globe-europe::before { - content: "\f7a2"; } - -.fa-cart-flatbed-suitcase::before { - content: "\f59d"; } - -.fa-luggage-cart::before { - content: "\f59d"; } - -.fa-rectangle-xmark::before { - content: "\f410"; } - -.fa-rectangle-times::before { - content: "\f410"; } - -.fa-times-rectangle::before { - content: "\f410"; } - -.fa-window-close::before { - content: "\f410"; } - -.fa-baht-sign::before { - content: "\e0ac"; } - -.fa-book-open::before { - content: "\f518"; } - -.fa-book-journal-whills::before { - content: "\f66a"; } - -.fa-journal-whills::before { - content: "\f66a"; } - -.fa-handcuffs::before { - content: "\e4f8"; } - -.fa-triangle-exclamation::before { - content: "\f071"; } - -.fa-exclamation-triangle::before { - content: "\f071"; } - -.fa-warning::before { - content: "\f071"; } - -.fa-database::before { - content: "\f1c0"; } - -.fa-share::before { - content: "\f064"; } - -.fa-arrow-turn-right::before { - content: "\f064"; } - -.fa-mail-forward::before { - content: "\f064"; } - -.fa-bottle-droplet::before { - content: "\e4c4"; } - -.fa-mask-face::before { - content: "\e1d7"; } - -.fa-hill-rockslide::before { - content: "\e508"; } - -.fa-right-left::before { - content: "\f362"; } - -.fa-exchange-alt::before { - content: "\f362"; } - -.fa-paper-plane::before { - content: "\f1d8"; } - -.fa-road-circle-exclamation::before { - content: "\e565"; } - -.fa-dungeon::before { - content: "\f6d9"; } - -.fa-align-right::before { - content: "\f038"; } - -.fa-money-bill-1-wave::before { - content: "\f53b"; } - -.fa-money-bill-wave-alt::before { - content: "\f53b"; } - -.fa-life-ring::before { - content: "\f1cd"; } - -.fa-hands::before { - content: "\f2a7"; } - -.fa-sign-language::before { - content: "\f2a7"; } - -.fa-signing::before { - content: "\f2a7"; } - -.fa-calendar-day::before { - content: "\f783"; } - -.fa-water-ladder::before { - content: "\f5c5"; } - -.fa-ladder-water::before { - content: "\f5c5"; } - -.fa-swimming-pool::before { - content: "\f5c5"; } - -.fa-arrows-up-down::before { - content: "\f07d"; } - -.fa-arrows-v::before { - content: "\f07d"; } - -.fa-face-grimace::before { - content: "\f57f"; } - -.fa-grimace::before { - content: "\f57f"; } - -.fa-wheelchair-move::before { - content: "\e2ce"; } - -.fa-wheelchair-alt::before { - content: "\e2ce"; } - -.fa-turn-down::before { - content: "\f3be"; } - -.fa-level-down-alt::before { - content: "\f3be"; } - -.fa-person-walking-arrow-right::before { - content: "\e552"; } - -.fa-square-envelope::before { - content: "\f199"; } - -.fa-envelope-square::before { - content: "\f199"; } - -.fa-dice::before { - content: "\f522"; } - -.fa-bowling-ball::before { - content: "\f436"; } - -.fa-brain::before { - content: "\f5dc"; } - -.fa-bandage::before { - content: "\f462"; } - -.fa-band-aid::before { - content: "\f462"; } - -.fa-calendar-minus::before { - content: "\f272"; } - -.fa-circle-xmark::before { - content: "\f057"; } - -.fa-times-circle::before { - content: "\f057"; } - -.fa-xmark-circle::before { - content: "\f057"; } - -.fa-gifts::before { - content: "\f79c"; } - -.fa-hotel::before { - content: "\f594"; } - -.fa-earth-asia::before { - content: "\f57e"; } - -.fa-globe-asia::before { - content: "\f57e"; } - -.fa-id-card-clip::before { - content: "\f47f"; } - -.fa-id-card-alt::before { - content: "\f47f"; } - -.fa-magnifying-glass-plus::before { - content: "\f00e"; } - -.fa-search-plus::before { - content: "\f00e"; } - -.fa-thumbs-up::before { - content: "\f164"; } - -.fa-user-clock::before { - content: "\f4fd"; } - -.fa-hand-dots::before { - content: "\f461"; } - -.fa-allergies::before { - content: "\f461"; } - -.fa-file-invoice::before { - content: "\f570"; } - -.fa-window-minimize::before { - content: "\f2d1"; } - -.fa-mug-saucer::before { - content: "\f0f4"; } - -.fa-coffee::before { - content: "\f0f4"; } - -.fa-brush::before { - content: "\f55d"; } - -.fa-mask::before { - content: "\f6fa"; } - -.fa-magnifying-glass-minus::before { - content: "\f010"; } - -.fa-search-minus::before { - content: "\f010"; } - -.fa-ruler-vertical::before { - content: "\f548"; } - -.fa-user-large::before { - content: "\f406"; } - -.fa-user-alt::before { - content: "\f406"; } - -.fa-train-tram::before { - content: "\e5b4"; } - -.fa-user-nurse::before { - content: "\f82f"; } - -.fa-syringe::before { - content: "\f48e"; } - -.fa-cloud-sun::before { - content: "\f6c4"; } - -.fa-stopwatch-20::before { - content: "\e06f"; } - -.fa-square-full::before { - content: "\f45c"; } - -.fa-magnet::before { - content: "\f076"; } - -.fa-jar::before { - content: "\e516"; } - -.fa-note-sticky::before { - content: "\f249"; } - -.fa-sticky-note::before { - content: "\f249"; } - -.fa-bug-slash::before { - content: "\e490"; } - -.fa-arrow-up-from-water-pump::before { - content: "\e4b6"; } - -.fa-bone::before { - content: "\f5d7"; } - -.fa-user-injured::before { - content: "\f728"; } - -.fa-face-sad-tear::before { - content: "\f5b4"; } - -.fa-sad-tear::before { - content: "\f5b4"; } - -.fa-plane::before { - content: "\f072"; } - -.fa-tent-arrows-down::before { - content: "\e581"; } - -.fa-exclamation::before { - content: "\21"; } - -.fa-arrows-spin::before { - content: "\e4bb"; } - -.fa-print::before { - content: "\f02f"; } - -.fa-turkish-lira-sign::before { - content: "\e2bb"; } - -.fa-try::before { - content: "\e2bb"; } - -.fa-turkish-lira::before { - content: "\e2bb"; } - -.fa-dollar-sign::before { - content: "\24"; } - -.fa-dollar::before { - content: "\24"; } - -.fa-usd::before { - content: "\24"; } - -.fa-x::before { - content: "\58"; } - -.fa-magnifying-glass-dollar::before { - content: "\f688"; } - -.fa-search-dollar::before { - content: "\f688"; } - -.fa-users-gear::before { - content: "\f509"; } - -.fa-users-cog::before { - content: "\f509"; } - -.fa-person-military-pointing::before { - content: "\e54a"; } - -.fa-building-columns::before { - content: "\f19c"; } - -.fa-bank::before { - content: "\f19c"; } - -.fa-institution::before { - content: "\f19c"; } - -.fa-museum::before { - content: "\f19c"; } - -.fa-university::before { - content: "\f19c"; } - -.fa-umbrella::before { - content: "\f0e9"; } - -.fa-trowel::before { - content: "\e589"; } - -.fa-d::before { - content: "\44"; } - -.fa-stapler::before { - content: "\e5af"; } - -.fa-masks-theater::before { - content: "\f630"; } - -.fa-theater-masks::before { - content: "\f630"; } - -.fa-kip-sign::before { - content: "\e1c4"; } - -.fa-hand-point-left::before { - content: "\f0a5"; } - -.fa-handshake-simple::before { - content: "\f4c6"; } - -.fa-handshake-alt::before { - content: "\f4c6"; } - -.fa-jet-fighter::before { - content: "\f0fb"; } - -.fa-fighter-jet::before { - content: "\f0fb"; } - -.fa-square-share-nodes::before { - content: "\f1e1"; } - -.fa-share-alt-square::before { - content: "\f1e1"; } - -.fa-barcode::before { - content: "\f02a"; } - -.fa-plus-minus::before { - content: "\e43c"; } - -.fa-video::before { - content: "\f03d"; } - -.fa-video-camera::before { - content: "\f03d"; } - -.fa-graduation-cap::before { - content: "\f19d"; } - -.fa-mortar-board::before { - content: "\f19d"; } - -.fa-hand-holding-medical::before { - content: "\e05c"; } - -.fa-person-circle-check::before { - content: "\e53e"; } - -.fa-turn-up::before { - content: "\f3bf"; } - -.fa-level-up-alt::before { - content: "\f3bf"; } - -.sr-only, -.fa-sr-only { - position: absolute; - width: 1px; - height: 1px; - padding: 0; - margin: -1px; - overflow: hidden; - clip: rect(0, 0, 0, 0); - white-space: nowrap; - border-width: 0; } - -.sr-only-focusable:not(:focus), -.fa-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; } diff --git a/fontawesome/css/fontawesome.min.css b/fontawesome/css/fontawesome.min.css deleted file mode 100644 index e8ad946fb9b44ef42121ae21884b96273ea4519a..0000000000000000000000000000000000000000 --- a/fontawesome/css/fontawesome.min.css +++ /dev/null @@ -1,9 +0,0 @@ -/*! - * Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) - * Copyright 2023 Fonticons, Inc. - */ -.fa{font-family:var(--fa-style-family,"Font Awesome 6 Free");font-weight:var(--fa-style,900)}.fa,.fa-brands,.fa-classic,.fa-regular,.fa-sharp,.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-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:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.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,.1em);border:var(--fa-border-width,.08em) var(--fa-border-style,solid) var(--fa-border-color,#eee);padding:var(--fa-border-padding,.2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin,.3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin,.3em)}.fa-beat{-webkit-animation-name:fa-beat;animation-name:fa-beat;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{-webkit-animation-name:fa-bounce;animation-name:fa-bounce;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1))}.fa-fade{-webkit-animation-name:fa-fade;animation-name:fa-fade;-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-beat-fade,.fa-fade{-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s)}.fa-beat-fade{-webkit-animation-name:fa-beat-fade;animation-name:fa-beat-fade;-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-flip{-webkit-animation-name:fa-flip;animation-name:fa-flip;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{-webkit-animation-name:fa-shake;animation-name:fa-shake;-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,linear);animation-timing-function:var(--fa-animation-timing,linear)}.fa-shake,.fa-spin{-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal)}.fa-spin{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-duration:var(--fa-animation-duration,2s);animation-duration:var(--fa-animation-duration,2s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,linear);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,steps(8));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{-webkit-animation-delay:-1ms;animation-delay:-1ms;-webkit-animation-duration:1ms;animation-duration:1ms;-webkit-animation-iteration-count:1;animation-iteration-count:1;-webkit-transition-delay:0s;transition-delay:0s;-webkit-transition-duration:0s;transition-duration:0s}}@-webkit-keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@-webkit-keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@-webkit-keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@-webkit-keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@-webkit-keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@-webkit-keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}.fa-rotate-by{-webkit-transform:rotate(var(--fa-rotate-angle,none));transform:rotate(var(--fa-rotate-angle,none))}.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:before{content:"\30"}.fa-1:before{content:"\31"}.fa-2:before{content:"\32"}.fa-3:before{content:"\33"}.fa-4:before{content:"\34"}.fa-5:before{content:"\35"}.fa-6:before{content:"\36"}.fa-7:before{content:"\37"}.fa-8:before{content:"\38"}.fa-9:before{content:"\39"}.fa-fill-drip:before{content:"\f576"}.fa-arrows-to-circle:before{content:"\e4bd"}.fa-chevron-circle-right:before,.fa-circle-chevron-right:before{content:"\f138"}.fa-at:before{content:"\40"}.fa-trash-alt:before,.fa-trash-can:before{content:"\f2ed"}.fa-text-height:before{content:"\f034"}.fa-user-times:before,.fa-user-xmark:before{content:"\f235"}.fa-stethoscope:before{content:"\f0f1"}.fa-comment-alt:before,.fa-message:before{content:"\f27a"}.fa-info:before{content:"\f129"}.fa-compress-alt:before,.fa-down-left-and-up-right-to-center:before{content:"\f422"}.fa-explosion:before{content:"\e4e9"}.fa-file-alt:before,.fa-file-lines:before,.fa-file-text:before{content:"\f15c"}.fa-wave-square:before{content:"\f83e"}.fa-ring:before{content:"\f70b"}.fa-building-un:before{content:"\e4d9"}.fa-dice-three:before{content:"\f527"}.fa-calendar-alt:before,.fa-calendar-days:before{content:"\f073"}.fa-anchor-circle-check:before{content:"\e4aa"}.fa-building-circle-arrow-right:before{content:"\e4d1"}.fa-volleyball-ball:before,.fa-volleyball:before{content:"\f45f"}.fa-arrows-up-to-line:before{content:"\e4c2"}.fa-sort-desc:before,.fa-sort-down:before{content:"\f0dd"}.fa-circle-minus:before,.fa-minus-circle:before{content:"\f056"}.fa-door-open:before{content:"\f52b"}.fa-right-from-bracket:before,.fa-sign-out-alt:before{content:"\f2f5"}.fa-atom:before{content:"\f5d2"}.fa-soap:before{content:"\e06e"}.fa-heart-music-camera-bolt:before,.fa-icons:before{content:"\f86d"}.fa-microphone-alt-slash:before,.fa-microphone-lines-slash:before{content:"\f539"}.fa-bridge-circle-check:before{content:"\e4c9"}.fa-pump-medical:before{content:"\e06a"}.fa-fingerprint:before{content:"\f577"}.fa-hand-point-right:before{content:"\f0a4"}.fa-magnifying-glass-location:before,.fa-search-location:before{content:"\f689"}.fa-forward-step:before,.fa-step-forward:before{content:"\f051"}.fa-face-smile-beam:before,.fa-smile-beam:before{content:"\f5b8"}.fa-flag-checkered:before{content:"\f11e"}.fa-football-ball:before,.fa-football:before{content:"\f44e"}.fa-school-circle-exclamation:before{content:"\e56c"}.fa-crop:before{content:"\f125"}.fa-angle-double-down:before,.fa-angles-down:before{content:"\f103"}.fa-users-rectangle:before{content:"\e594"}.fa-people-roof:before{content:"\e537"}.fa-people-line:before{content:"\e534"}.fa-beer-mug-empty:before,.fa-beer:before{content:"\f0fc"}.fa-diagram-predecessor:before{content:"\e477"}.fa-arrow-up-long:before,.fa-long-arrow-up:before{content:"\f176"}.fa-burn:before,.fa-fire-flame-simple:before{content:"\f46a"}.fa-male:before,.fa-person:before{content:"\f183"}.fa-laptop:before{content:"\f109"}.fa-file-csv:before{content:"\f6dd"}.fa-menorah:before{content:"\f676"}.fa-truck-plane:before{content:"\e58f"}.fa-record-vinyl:before{content:"\f8d9"}.fa-face-grin-stars:before,.fa-grin-stars:before{content:"\f587"}.fa-bong:before{content:"\f55c"}.fa-pastafarianism:before,.fa-spaghetti-monster-flying:before{content:"\f67b"}.fa-arrow-down-up-across-line:before{content:"\e4af"}.fa-spoon:before,.fa-utensil-spoon:before{content:"\f2e5"}.fa-jar-wheat:before{content:"\e517"}.fa-envelopes-bulk:before,.fa-mail-bulk:before{content:"\f674"}.fa-file-circle-exclamation:before{content:"\e4eb"}.fa-circle-h:before,.fa-hospital-symbol:before{content:"\f47e"}.fa-pager:before{content:"\f815"}.fa-address-book:before,.fa-contact-book:before{content:"\f2b9"}.fa-strikethrough:before{content:"\f0cc"}.fa-k:before{content:"\4b"}.fa-landmark-flag:before{content:"\e51c"}.fa-pencil-alt:before,.fa-pencil:before{content:"\f303"}.fa-backward:before{content:"\f04a"}.fa-caret-right:before{content:"\f0da"}.fa-comments:before{content:"\f086"}.fa-file-clipboard:before,.fa-paste:before{content:"\f0ea"}.fa-code-pull-request:before{content:"\e13c"}.fa-clipboard-list:before{content:"\f46d"}.fa-truck-loading:before,.fa-truck-ramp-box:before{content:"\f4de"}.fa-user-check:before{content:"\f4fc"}.fa-vial-virus:before{content:"\e597"}.fa-sheet-plastic:before{content:"\e571"}.fa-blog:before{content:"\f781"}.fa-user-ninja:before{content:"\f504"}.fa-person-arrow-up-from-line:before{content:"\e539"}.fa-scroll-torah:before,.fa-torah:before{content:"\f6a0"}.fa-broom-ball:before,.fa-quidditch-broom-ball:before,.fa-quidditch:before{content:"\f458"}.fa-toggle-off:before{content:"\f204"}.fa-archive:before,.fa-box-archive:before{content:"\f187"}.fa-person-drowning:before{content:"\e545"}.fa-arrow-down-9-1:before,.fa-sort-numeric-desc:before,.fa-sort-numeric-down-alt:before{content:"\f886"}.fa-face-grin-tongue-squint:before,.fa-grin-tongue-squint:before{content:"\f58a"}.fa-spray-can:before{content:"\f5bd"}.fa-truck-monster:before{content:"\f63b"}.fa-w:before{content:"\57"}.fa-earth-africa:before,.fa-globe-africa:before{content:"\f57c"}.fa-rainbow:before{content:"\f75b"}.fa-circle-notch:before{content:"\f1ce"}.fa-tablet-alt:before,.fa-tablet-screen-button:before{content:"\f3fa"}.fa-paw:before{content:"\f1b0"}.fa-cloud:before{content:"\f0c2"}.fa-trowel-bricks:before{content:"\e58a"}.fa-face-flushed:before,.fa-flushed:before{content:"\f579"}.fa-hospital-user:before{content:"\f80d"}.fa-tent-arrow-left-right:before{content:"\e57f"}.fa-gavel:before,.fa-legal:before{content:"\f0e3"}.fa-binoculars:before{content:"\f1e5"}.fa-microphone-slash:before{content:"\f131"}.fa-box-tissue:before{content:"\e05b"}.fa-motorcycle:before{content:"\f21c"}.fa-bell-concierge:before,.fa-concierge-bell:before{content:"\f562"}.fa-pen-ruler:before,.fa-pencil-ruler:before{content:"\f5ae"}.fa-people-arrows-left-right:before,.fa-people-arrows:before{content:"\e068"}.fa-mars-and-venus-burst:before{content:"\e523"}.fa-caret-square-right:before,.fa-square-caret-right:before{content:"\f152"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-sun-plant-wilt:before{content:"\e57a"}.fa-toilets-portable:before{content:"\e584"}.fa-hockey-puck:before{content:"\f453"}.fa-table:before{content:"\f0ce"}.fa-magnifying-glass-arrow-right:before{content:"\e521"}.fa-digital-tachograph:before,.fa-tachograph-digital:before{content:"\f566"}.fa-users-slash:before{content:"\e073"}.fa-clover:before{content:"\e139"}.fa-mail-reply:before,.fa-reply:before{content:"\f3e5"}.fa-star-and-crescent:before{content:"\f699"}.fa-house-fire:before{content:"\e50c"}.fa-minus-square:before,.fa-square-minus:before{content:"\f146"}.fa-helicopter:before{content:"\f533"}.fa-compass:before{content:"\f14e"}.fa-caret-square-down:before,.fa-square-caret-down:before{content:"\f150"}.fa-file-circle-question:before{content:"\e4ef"}.fa-laptop-code:before{content:"\f5fc"}.fa-swatchbook:before{content:"\f5c3"}.fa-prescription-bottle:before{content:"\f485"}.fa-bars:before,.fa-navicon:before{content:"\f0c9"}.fa-people-group:before{content:"\e533"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-heart-broken:before,.fa-heart-crack:before{content:"\f7a9"}.fa-external-link-square-alt:before,.fa-square-up-right:before{content:"\f360"}.fa-face-kiss-beam:before,.fa-kiss-beam:before{content:"\f597"}.fa-film:before{content:"\f008"}.fa-ruler-horizontal:before{content:"\f547"}.fa-people-robbery:before{content:"\e536"}.fa-lightbulb:before{content:"\f0eb"}.fa-caret-left:before{content:"\f0d9"}.fa-circle-exclamation:before,.fa-exclamation-circle:before{content:"\f06a"}.fa-school-circle-xmark:before{content:"\e56d"}.fa-arrow-right-from-bracket:before,.fa-sign-out:before{content:"\f08b"}.fa-chevron-circle-down:before,.fa-circle-chevron-down:before{content:"\f13a"}.fa-unlock-alt:before,.fa-unlock-keyhole:before{content:"\f13e"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-headphones-alt:before,.fa-headphones-simple:before{content:"\f58f"}.fa-sitemap:before{content:"\f0e8"}.fa-circle-dollar-to-slot:before,.fa-donate:before{content:"\f4b9"}.fa-memory:before{content:"\f538"}.fa-road-spikes:before{content:"\e568"}.fa-fire-burner:before{content:"\e4f1"}.fa-flag:before{content:"\f024"}.fa-hanukiah:before{content:"\f6e6"}.fa-feather:before{content:"\f52d"}.fa-volume-down:before,.fa-volume-low:before{content:"\f027"}.fa-comment-slash:before{content:"\f4b3"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-compress:before{content:"\f066"}.fa-wheat-alt:before,.fa-wheat-awn:before{content:"\e2cd"}.fa-ankh:before{content:"\f644"}.fa-hands-holding-child:before{content:"\e4fa"}.fa-asterisk:before{content:"\2a"}.fa-check-square:before,.fa-square-check:before{content:"\f14a"}.fa-peseta-sign:before{content:"\e221"}.fa-header:before,.fa-heading:before{content:"\f1dc"}.fa-ghost:before{content:"\f6e2"}.fa-list-squares:before,.fa-list:before{content:"\f03a"}.fa-phone-square-alt:before,.fa-square-phone-flip:before{content:"\f87b"}.fa-cart-plus:before{content:"\f217"}.fa-gamepad:before{content:"\f11b"}.fa-circle-dot:before,.fa-dot-circle:before{content:"\f192"}.fa-dizzy:before,.fa-face-dizzy:before{content:"\f567"}.fa-egg:before{content:"\f7fb"}.fa-house-medical-circle-xmark:before{content:"\e513"}.fa-campground:before{content:"\f6bb"}.fa-folder-plus:before{content:"\f65e"}.fa-futbol-ball:before,.fa-futbol:before,.fa-soccer-ball:before{content:"\f1e3"}.fa-paint-brush:before,.fa-paintbrush:before{content:"\f1fc"}.fa-lock:before{content:"\f023"}.fa-gas-pump:before{content:"\f52f"}.fa-hot-tub-person:before,.fa-hot-tub:before{content:"\f593"}.fa-map-location:before,.fa-map-marked:before{content:"\f59f"}.fa-house-flood-water:before{content:"\e50e"}.fa-tree:before{content:"\f1bb"}.fa-bridge-lock:before{content:"\e4cc"}.fa-sack-dollar:before{content:"\f81d"}.fa-edit:before,.fa-pen-to-square:before{content:"\f044"}.fa-car-side:before{content:"\f5e4"}.fa-share-alt:before,.fa-share-nodes:before{content:"\f1e0"}.fa-heart-circle-minus:before{content:"\e4ff"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-microscope:before{content:"\f610"}.fa-sink:before{content:"\e06d"}.fa-bag-shopping:before,.fa-shopping-bag:before{content:"\f290"}.fa-arrow-down-z-a:before,.fa-sort-alpha-desc:before,.fa-sort-alpha-down-alt:before{content:"\f881"}.fa-mitten:before{content:"\f7b5"}.fa-person-rays:before{content:"\e54d"}.fa-users:before{content:"\f0c0"}.fa-eye-slash:before{content:"\f070"}.fa-flask-vial:before{content:"\e4f3"}.fa-hand-paper:before,.fa-hand:before{content:"\f256"}.fa-om:before{content:"\f679"}.fa-worm:before{content:"\e599"}.fa-house-circle-xmark:before{content:"\e50b"}.fa-plug:before{content:"\f1e6"}.fa-chevron-up:before{content:"\f077"}.fa-hand-spock:before{content:"\f259"}.fa-stopwatch:before{content:"\f2f2"}.fa-face-kiss:before,.fa-kiss:before{content:"\f596"}.fa-bridge-circle-xmark:before{content:"\e4cb"}.fa-face-grin-tongue:before,.fa-grin-tongue:before{content:"\f589"}.fa-chess-bishop:before{content:"\f43a"}.fa-face-grin-wink:before,.fa-grin-wink:before{content:"\f58c"}.fa-deaf:before,.fa-deafness:before,.fa-ear-deaf:before,.fa-hard-of-hearing:before{content:"\f2a4"}.fa-road-circle-check:before{content:"\e564"}.fa-dice-five:before{content:"\f523"}.fa-rss-square:before,.fa-square-rss:before{content:"\f143"}.fa-land-mine-on:before{content:"\e51b"}.fa-i-cursor:before{content:"\f246"}.fa-stamp:before{content:"\f5bf"}.fa-stairs:before{content:"\e289"}.fa-i:before{content:"\49"}.fa-hryvnia-sign:before,.fa-hryvnia:before{content:"\f6f2"}.fa-pills:before{content:"\f484"}.fa-face-grin-wide:before,.fa-grin-alt:before{content:"\f581"}.fa-tooth:before{content:"\f5c9"}.fa-v:before{content:"\56"}.fa-bangladeshi-taka-sign:before{content:"\e2e6"}.fa-bicycle:before{content:"\f206"}.fa-rod-asclepius:before,.fa-rod-snake:before,.fa-staff-aesculapius:before,.fa-staff-snake:before{content:"\e579"}.fa-head-side-cough-slash:before{content:"\e062"}.fa-ambulance:before,.fa-truck-medical:before{content:"\f0f9"}.fa-wheat-awn-circle-exclamation:before{content:"\e598"}.fa-snowman:before{content:"\f7d0"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-road-barrier:before{content:"\e562"}.fa-school:before{content:"\f549"}.fa-igloo:before{content:"\f7ae"}.fa-joint:before{content:"\f595"}.fa-angle-right:before{content:"\f105"}.fa-horse:before{content:"\f6f0"}.fa-q:before{content:"\51"}.fa-g:before{content:"\47"}.fa-notes-medical:before{content:"\f481"}.fa-temperature-2:before,.fa-temperature-half:before,.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-dong-sign:before{content:"\e169"}.fa-capsules:before{content:"\f46b"}.fa-poo-bolt:before,.fa-poo-storm:before{content:"\f75a"}.fa-face-frown-open:before,.fa-frown-open:before{content:"\f57a"}.fa-hand-point-up:before{content:"\f0a6"}.fa-money-bill:before{content:"\f0d6"}.fa-bookmark:before{content:"\f02e"}.fa-align-justify:before{content:"\f039"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-helmet-un:before{content:"\e503"}.fa-bullseye:before{content:"\f140"}.fa-bacon:before{content:"\f7e5"}.fa-hand-point-down:before{content:"\f0a7"}.fa-arrow-up-from-bracket:before{content:"\e09a"}.fa-folder-blank:before,.fa-folder:before{content:"\f07b"}.fa-file-medical-alt:before,.fa-file-waveform:before{content:"\f478"}.fa-radiation:before{content:"\f7b9"}.fa-chart-simple:before{content:"\e473"}.fa-mars-stroke:before{content:"\f229"}.fa-vial:before{content:"\f492"}.fa-dashboard:before,.fa-gauge-med:before,.fa-gauge:before,.fa-tachometer-alt-average:before{content:"\f624"}.fa-magic-wand-sparkles:before,.fa-wand-magic-sparkles:before{content:"\e2ca"}.fa-e:before{content:"\45"}.fa-pen-alt:before,.fa-pen-clip:before{content:"\f305"}.fa-bridge-circle-exclamation:before{content:"\e4ca"}.fa-user:before{content:"\f007"}.fa-school-circle-check:before{content:"\e56b"}.fa-dumpster:before{content:"\f793"}.fa-shuttle-van:before,.fa-van-shuttle:before{content:"\f5b6"}.fa-building-user:before{content:"\e4da"}.fa-caret-square-left:before,.fa-square-caret-left:before{content:"\f191"}.fa-highlighter:before{content:"\f591"}.fa-key:before{content:"\f084"}.fa-bullhorn:before{content:"\f0a1"}.fa-globe:before{content:"\f0ac"}.fa-synagogue:before{content:"\f69b"}.fa-person-half-dress:before{content:"\e548"}.fa-road-bridge:before{content:"\e563"}.fa-location-arrow:before{content:"\f124"}.fa-c:before{content:"\43"}.fa-tablet-button:before{content:"\f10a"}.fa-building-lock:before{content:"\e4d6"}.fa-pizza-slice:before{content:"\f818"}.fa-money-bill-wave:before{content:"\f53a"}.fa-area-chart:before,.fa-chart-area:before{content:"\f1fe"}.fa-house-flag:before{content:"\e50d"}.fa-person-circle-minus:before{content:"\e540"}.fa-ban:before,.fa-cancel:before{content:"\f05e"}.fa-camera-rotate:before{content:"\e0d8"}.fa-air-freshener:before,.fa-spray-can-sparkles:before{content:"\f5d0"}.fa-star:before{content:"\f005"}.fa-repeat:before{content:"\f363"}.fa-cross:before{content:"\f654"}.fa-box:before{content:"\f466"}.fa-venus-mars:before{content:"\f228"}.fa-arrow-pointer:before,.fa-mouse-pointer:before{content:"\f245"}.fa-expand-arrows-alt:before,.fa-maximize:before{content:"\f31e"}.fa-charging-station:before{content:"\f5e7"}.fa-shapes:before,.fa-triangle-circle-square:before{content:"\f61f"}.fa-random:before,.fa-shuffle:before{content:"\f074"}.fa-person-running:before,.fa-running:before{content:"\f70c"}.fa-mobile-retro:before{content:"\e527"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-spider:before{content:"\f717"}.fa-hands-bound:before{content:"\e4f9"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-plane-circle-exclamation:before{content:"\e556"}.fa-x-ray:before{content:"\f497"}.fa-spell-check:before{content:"\f891"}.fa-slash:before{content:"\f715"}.fa-computer-mouse:before,.fa-mouse:before{content:"\f8cc"}.fa-arrow-right-to-bracket:before,.fa-sign-in:before{content:"\f090"}.fa-shop-slash:before,.fa-store-alt-slash:before{content:"\e070"}.fa-server:before{content:"\f233"}.fa-virus-covid-slash:before{content:"\e4a9"}.fa-shop-lock:before{content:"\e4a5"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-blender-phone:before{content:"\f6b6"}.fa-building-wheat:before{content:"\e4db"}.fa-person-breastfeeding:before{content:"\e53a"}.fa-right-to-bracket:before,.fa-sign-in-alt:before{content:"\f2f6"}.fa-venus:before{content:"\f221"}.fa-passport:before{content:"\f5ab"}.fa-heart-pulse:before,.fa-heartbeat:before{content:"\f21e"}.fa-people-carry-box:before,.fa-people-carry:before{content:"\f4ce"}.fa-temperature-high:before{content:"\f769"}.fa-microchip:before{content:"\f2db"}.fa-crown:before{content:"\f521"}.fa-weight-hanging:before{content:"\f5cd"}.fa-xmarks-lines:before{content:"\e59a"}.fa-file-prescription:before{content:"\f572"}.fa-weight-scale:before,.fa-weight:before{content:"\f496"}.fa-user-friends:before,.fa-user-group:before{content:"\f500"}.fa-arrow-up-a-z:before,.fa-sort-alpha-up:before{content:"\f15e"}.fa-chess-knight:before{content:"\f441"}.fa-face-laugh-squint:before,.fa-laugh-squint:before{content:"\f59b"}.fa-wheelchair:before{content:"\f193"}.fa-arrow-circle-up:before,.fa-circle-arrow-up:before{content:"\f0aa"}.fa-toggle-on:before{content:"\f205"}.fa-person-walking:before,.fa-walking:before{content:"\f554"}.fa-l:before{content:"\4c"}.fa-fire:before{content:"\f06d"}.fa-bed-pulse:before,.fa-procedures:before{content:"\f487"}.fa-shuttle-space:before,.fa-space-shuttle:before{content:"\f197"}.fa-face-laugh:before,.fa-laugh:before{content:"\f599"}.fa-folder-open:before{content:"\f07c"}.fa-heart-circle-plus:before{content:"\e500"}.fa-code-fork:before{content:"\e13b"}.fa-city:before{content:"\f64f"}.fa-microphone-alt:before,.fa-microphone-lines:before{content:"\f3c9"}.fa-pepper-hot:before{content:"\f816"}.fa-unlock:before{content:"\f09c"}.fa-colon-sign:before{content:"\e140"}.fa-headset:before{content:"\f590"}.fa-store-slash:before{content:"\e071"}.fa-road-circle-xmark:before{content:"\e566"}.fa-user-minus:before{content:"\f503"}.fa-mars-stroke-up:before,.fa-mars-stroke-v:before{content:"\f22a"}.fa-champagne-glasses:before,.fa-glass-cheers:before{content:"\f79f"}.fa-clipboard:before{content:"\f328"}.fa-house-circle-exclamation:before{content:"\e50a"}.fa-file-arrow-up:before,.fa-file-upload:before{content:"\f574"}.fa-wifi-3:before,.fa-wifi-strong:before,.fa-wifi:before{content:"\f1eb"}.fa-bath:before,.fa-bathtub:before{content:"\f2cd"}.fa-underline:before{content:"\f0cd"}.fa-user-edit:before,.fa-user-pen:before{content:"\f4ff"}.fa-signature:before{content:"\f5b7"}.fa-stroopwafel:before{content:"\f551"}.fa-bold:before{content:"\f032"}.fa-anchor-lock:before{content:"\e4ad"}.fa-building-ngo:before{content:"\e4d7"}.fa-manat-sign:before{content:"\e1d5"}.fa-not-equal:before{content:"\f53e"}.fa-border-style:before,.fa-border-top-left:before{content:"\f853"}.fa-map-location-dot:before,.fa-map-marked-alt:before{content:"\f5a0"}.fa-jedi:before{content:"\f669"}.fa-poll:before,.fa-square-poll-vertical:before{content:"\f681"}.fa-mug-hot:before{content:"\f7b6"}.fa-battery-car:before,.fa-car-battery:before{content:"\f5df"}.fa-gift:before{content:"\f06b"}.fa-dice-two:before{content:"\f528"}.fa-chess-queen:before{content:"\f445"}.fa-glasses:before{content:"\f530"}.fa-chess-board:before{content:"\f43c"}.fa-building-circle-check:before{content:"\e4d2"}.fa-person-chalkboard:before{content:"\e53d"}.fa-mars-stroke-h:before,.fa-mars-stroke-right:before{content:"\f22b"}.fa-hand-back-fist:before,.fa-hand-rock:before{content:"\f255"}.fa-caret-square-up:before,.fa-square-caret-up:before{content:"\f151"}.fa-cloud-showers-water:before{content:"\e4e4"}.fa-bar-chart:before,.fa-chart-bar:before{content:"\f080"}.fa-hands-bubbles:before,.fa-hands-wash:before{content:"\e05e"}.fa-less-than-equal:before{content:"\f537"}.fa-train:before{content:"\f238"}.fa-eye-low-vision:before,.fa-low-vision:before{content:"\f2a8"}.fa-crow:before{content:"\f520"}.fa-sailboat:before{content:"\e445"}.fa-window-restore:before{content:"\f2d2"}.fa-plus-square:before,.fa-square-plus:before{content:"\f0fe"}.fa-torii-gate:before{content:"\f6a1"}.fa-frog:before{content:"\f52e"}.fa-bucket:before{content:"\e4cf"}.fa-image:before{content:"\f03e"}.fa-microphone:before{content:"\f130"}.fa-cow:before{content:"\f6c8"}.fa-caret-up:before{content:"\f0d8"}.fa-screwdriver:before{content:"\f54a"}.fa-folder-closed:before{content:"\e185"}.fa-house-tsunami:before{content:"\e515"}.fa-square-nfi:before{content:"\e576"}.fa-arrow-up-from-ground-water:before{content:"\e4b5"}.fa-glass-martini-alt:before,.fa-martini-glass:before{content:"\f57b"}.fa-rotate-back:before,.fa-rotate-backward:before,.fa-rotate-left:before,.fa-undo-alt:before{content:"\f2ea"}.fa-columns:before,.fa-table-columns:before{content:"\f0db"}.fa-lemon:before{content:"\f094"}.fa-head-side-mask:before{content:"\e063"}.fa-handshake:before{content:"\f2b5"}.fa-gem:before{content:"\f3a5"}.fa-dolly-box:before,.fa-dolly:before{content:"\f472"}.fa-smoking:before{content:"\f48d"}.fa-compress-arrows-alt:before,.fa-minimize:before{content:"\f78c"}.fa-monument:before{content:"\f5a6"}.fa-snowplow:before{content:"\f7d2"}.fa-angle-double-right:before,.fa-angles-right:before{content:"\f101"}.fa-cannabis:before{content:"\f55f"}.fa-circle-play:before,.fa-play-circle:before{content:"\f144"}.fa-tablets:before{content:"\f490"}.fa-ethernet:before{content:"\f796"}.fa-eur:before,.fa-euro-sign:before,.fa-euro:before{content:"\f153"}.fa-chair:before{content:"\f6c0"}.fa-check-circle:before,.fa-circle-check:before{content:"\f058"}.fa-circle-stop:before,.fa-stop-circle:before{content:"\f28d"}.fa-compass-drafting:before,.fa-drafting-compass:before{content:"\f568"}.fa-plate-wheat:before{content:"\e55a"}.fa-icicles:before{content:"\f7ad"}.fa-person-shelter:before{content:"\e54f"}.fa-neuter:before{content:"\f22c"}.fa-id-badge:before{content:"\f2c1"}.fa-marker:before{content:"\f5a1"}.fa-face-laugh-beam:before,.fa-laugh-beam:before{content:"\f59a"}.fa-helicopter-symbol:before{content:"\e502"}.fa-universal-access:before{content:"\f29a"}.fa-chevron-circle-up:before,.fa-circle-chevron-up:before{content:"\f139"}.fa-lari-sign:before{content:"\e1c8"}.fa-volcano:before{content:"\f770"}.fa-person-walking-dashed-line-arrow-right:before{content:"\e553"}.fa-gbp:before,.fa-pound-sign:before,.fa-sterling-sign:before{content:"\f154"}.fa-viruses:before{content:"\e076"}.fa-square-person-confined:before{content:"\e577"}.fa-user-tie:before{content:"\f508"}.fa-arrow-down-long:before,.fa-long-arrow-down:before{content:"\f175"}.fa-tent-arrow-down-to-line:before{content:"\e57e"}.fa-certificate:before{content:"\f0a3"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-suitcase:before{content:"\f0f2"}.fa-person-skating:before,.fa-skating:before{content:"\f7c5"}.fa-filter-circle-dollar:before,.fa-funnel-dollar:before{content:"\f662"}.fa-camera-retro:before{content:"\f083"}.fa-arrow-circle-down:before,.fa-circle-arrow-down:before{content:"\f0ab"}.fa-arrow-right-to-file:before,.fa-file-import:before{content:"\f56f"}.fa-external-link-square:before,.fa-square-arrow-up-right:before{content:"\f14c"}.fa-box-open:before{content:"\f49e"}.fa-scroll:before{content:"\f70e"}.fa-spa:before{content:"\f5bb"}.fa-location-pin-lock:before{content:"\e51f"}.fa-pause:before{content:"\f04c"}.fa-hill-avalanche:before{content:"\e507"}.fa-temperature-0:before,.fa-temperature-empty:before,.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-bomb:before{content:"\f1e2"}.fa-registered:before{content:"\f25d"}.fa-address-card:before,.fa-contact-card:before,.fa-vcard:before{content:"\f2bb"}.fa-balance-scale-right:before,.fa-scale-unbalanced-flip:before{content:"\f516"}.fa-subscript:before{content:"\f12c"}.fa-diamond-turn-right:before,.fa-directions:before{content:"\f5eb"}.fa-burst:before{content:"\e4dc"}.fa-house-laptop:before,.fa-laptop-house:before{content:"\e066"}.fa-face-tired:before,.fa-tired:before{content:"\f5c8"}.fa-money-bills:before{content:"\e1f3"}.fa-smog:before{content:"\f75f"}.fa-crutch:before{content:"\f7f7"}.fa-cloud-arrow-up:before,.fa-cloud-upload-alt:before,.fa-cloud-upload:before{content:"\f0ee"}.fa-palette:before{content:"\f53f"}.fa-arrows-turn-right:before{content:"\e4c0"}.fa-vest:before{content:"\e085"}.fa-ferry:before{content:"\e4ea"}.fa-arrows-down-to-people:before{content:"\e4b9"}.fa-seedling:before,.fa-sprout:before{content:"\f4d8"}.fa-arrows-alt-h:before,.fa-left-right:before{content:"\f337"}.fa-boxes-packing:before{content:"\e4c7"}.fa-arrow-circle-left:before,.fa-circle-arrow-left:before{content:"\f0a8"}.fa-group-arrows-rotate:before{content:"\e4f6"}.fa-bowl-food:before{content:"\e4c6"}.fa-candy-cane:before{content:"\f786"}.fa-arrow-down-wide-short:before,.fa-sort-amount-asc:before,.fa-sort-amount-down:before{content:"\f160"}.fa-cloud-bolt:before,.fa-thunderstorm:before{content:"\f76c"}.fa-remove-format:before,.fa-text-slash:before{content:"\f87d"}.fa-face-smile-wink:before,.fa-smile-wink:before{content:"\f4da"}.fa-file-word:before{content:"\f1c2"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-arrows-h:before,.fa-arrows-left-right:before{content:"\f07e"}.fa-house-lock:before{content:"\e510"}.fa-cloud-arrow-down:before,.fa-cloud-download-alt:before,.fa-cloud-download:before{content:"\f0ed"}.fa-children:before{content:"\e4e1"}.fa-blackboard:before,.fa-chalkboard:before{content:"\f51b"}.fa-user-alt-slash:before,.fa-user-large-slash:before{content:"\f4fa"}.fa-envelope-open:before{content:"\f2b6"}.fa-handshake-alt-slash:before,.fa-handshake-simple-slash:before{content:"\e05f"}.fa-mattress-pillow:before{content:"\e525"}.fa-guarani-sign:before{content:"\e19a"}.fa-arrows-rotate:before,.fa-refresh:before,.fa-sync:before{content:"\f021"}.fa-fire-extinguisher:before{content:"\f134"}.fa-cruzeiro-sign:before{content:"\e152"}.fa-greater-than-equal:before{content:"\f532"}.fa-shield-alt:before,.fa-shield-halved:before{content:"\f3ed"}.fa-atlas:before,.fa-book-atlas:before{content:"\f558"}.fa-virus:before{content:"\e074"}.fa-envelope-circle-check:before{content:"\e4e8"}.fa-layer-group:before{content:"\f5fd"}.fa-arrows-to-dot:before{content:"\e4be"}.fa-archway:before{content:"\f557"}.fa-heart-circle-check:before{content:"\e4fd"}.fa-house-chimney-crack:before,.fa-house-damage:before{content:"\f6f1"}.fa-file-archive:before,.fa-file-zipper:before{content:"\f1c6"}.fa-square:before{content:"\f0c8"}.fa-glass-martini:before,.fa-martini-glass-empty:before{content:"\f000"}.fa-couch:before{content:"\f4b8"}.fa-cedi-sign:before{content:"\e0df"}.fa-italic:before{content:"\f033"}.fa-church:before{content:"\f51d"}.fa-comments-dollar:before{content:"\f653"}.fa-democrat:before{content:"\f747"}.fa-z:before{content:"\5a"}.fa-person-skiing:before,.fa-skiing:before{content:"\f7c9"}.fa-road-lock:before{content:"\e567"}.fa-a:before{content:"\41"}.fa-temperature-arrow-down:before,.fa-temperature-down:before{content:"\e03f"}.fa-feather-alt:before,.fa-feather-pointed:before{content:"\f56b"}.fa-p:before{content:"\50"}.fa-snowflake:before{content:"\f2dc"}.fa-newspaper:before{content:"\f1ea"}.fa-ad:before,.fa-rectangle-ad:before{content:"\f641"}.fa-arrow-circle-right:before,.fa-circle-arrow-right:before{content:"\f0a9"}.fa-filter-circle-xmark:before{content:"\e17b"}.fa-locust:before{content:"\e520"}.fa-sort:before,.fa-unsorted:before{content:"\f0dc"}.fa-list-1-2:before,.fa-list-numeric:before,.fa-list-ol:before{content:"\f0cb"}.fa-person-dress-burst:before{content:"\e544"}.fa-money-check-alt:before,.fa-money-check-dollar:before{content:"\f53d"}.fa-vector-square:before{content:"\f5cb"}.fa-bread-slice:before{content:"\f7ec"}.fa-language:before{content:"\f1ab"}.fa-face-kiss-wink-heart:before,.fa-kiss-wink-heart:before{content:"\f598"}.fa-filter:before{content:"\f0b0"}.fa-question:before{content:"\3f"}.fa-file-signature:before{content:"\f573"}.fa-arrows-alt:before,.fa-up-down-left-right:before{content:"\f0b2"}.fa-house-chimney-user:before{content:"\e065"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-puzzle-piece:before{content:"\f12e"}.fa-money-check:before{content:"\f53c"}.fa-star-half-alt:before,.fa-star-half-stroke:before{content:"\f5c0"}.fa-code:before{content:"\f121"}.fa-glass-whiskey:before,.fa-whiskey-glass:before{content:"\f7a0"}.fa-building-circle-exclamation:before{content:"\e4d3"}.fa-magnifying-glass-chart:before{content:"\e522"}.fa-arrow-up-right-from-square:before,.fa-external-link:before{content:"\f08e"}.fa-cubes-stacked:before{content:"\e4e6"}.fa-krw:before,.fa-won-sign:before,.fa-won:before{content:"\f159"}.fa-virus-covid:before{content:"\e4a8"}.fa-austral-sign:before{content:"\e0a9"}.fa-f:before{content:"\46"}.fa-leaf:before{content:"\f06c"}.fa-road:before{content:"\f018"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-person-circle-plus:before{content:"\e541"}.fa-chart-pie:before,.fa-pie-chart:before{content:"\f200"}.fa-bolt-lightning:before{content:"\e0b7"}.fa-sack-xmark:before{content:"\e56a"}.fa-file-excel:before{content:"\f1c3"}.fa-file-contract:before{content:"\f56c"}.fa-fish-fins:before{content:"\e4f2"}.fa-building-flag:before{content:"\e4d5"}.fa-face-grin-beam:before,.fa-grin-beam:before{content:"\f582"}.fa-object-ungroup:before{content:"\f248"}.fa-poop:before{content:"\f619"}.fa-location-pin:before,.fa-map-marker:before{content:"\f041"}.fa-kaaba:before{content:"\f66b"}.fa-toilet-paper:before{content:"\f71e"}.fa-hard-hat:before,.fa-hat-hard:before,.fa-helmet-safety:before{content:"\f807"}.fa-eject:before{content:"\f052"}.fa-arrow-alt-circle-right:before,.fa-circle-right:before{content:"\f35a"}.fa-plane-circle-check:before{content:"\e555"}.fa-face-rolling-eyes:before,.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-object-group:before{content:"\f247"}.fa-chart-line:before,.fa-line-chart:before{content:"\f201"}.fa-mask-ventilator:before{content:"\e524"}.fa-arrow-right:before{content:"\f061"}.fa-map-signs:before,.fa-signs-post:before{content:"\f277"}.fa-cash-register:before{content:"\f788"}.fa-person-circle-question:before{content:"\e542"}.fa-h:before{content:"\48"}.fa-tarp:before{content:"\e57b"}.fa-screwdriver-wrench:before,.fa-tools:before{content:"\f7d9"}.fa-arrows-to-eye:before{content:"\e4bf"}.fa-plug-circle-bolt:before{content:"\e55b"}.fa-heart:before{content:"\f004"}.fa-mars-and-venus:before{content:"\f224"}.fa-home-user:before,.fa-house-user:before{content:"\e1b0"}.fa-dumpster-fire:before{content:"\f794"}.fa-house-crack:before{content:"\e3b1"}.fa-cocktail:before,.fa-martini-glass-citrus:before{content:"\f561"}.fa-face-surprise:before,.fa-surprise:before{content:"\f5c2"}.fa-bottle-water:before{content:"\e4c5"}.fa-circle-pause:before,.fa-pause-circle:before{content:"\f28b"}.fa-toilet-paper-slash:before{content:"\e072"}.fa-apple-alt:before,.fa-apple-whole:before{content:"\f5d1"}.fa-kitchen-set:before{content:"\e51a"}.fa-r:before{content:"\52"}.fa-temperature-1:before,.fa-temperature-quarter:before,.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-cube:before{content:"\f1b2"}.fa-bitcoin-sign:before{content:"\e0b4"}.fa-shield-dog:before{content:"\e573"}.fa-solar-panel:before{content:"\f5ba"}.fa-lock-open:before{content:"\f3c1"}.fa-elevator:before{content:"\e16d"}.fa-money-bill-transfer:before{content:"\e528"}.fa-money-bill-trend-up:before{content:"\e529"}.fa-house-flood-water-circle-arrow-right:before{content:"\e50f"}.fa-poll-h:before,.fa-square-poll-horizontal:before{content:"\f682"}.fa-circle:before{content:"\f111"}.fa-backward-fast:before,.fa-fast-backward:before{content:"\f049"}.fa-recycle:before{content:"\f1b8"}.fa-user-astronaut:before{content:"\f4fb"}.fa-plane-slash:before{content:"\e069"}.fa-trademark:before{content:"\f25c"}.fa-basketball-ball:before,.fa-basketball:before{content:"\f434"}.fa-satellite-dish:before{content:"\f7c0"}.fa-arrow-alt-circle-up:before,.fa-circle-up:before{content:"\f35b"}.fa-mobile-alt:before,.fa-mobile-screen-button:before{content:"\f3cd"}.fa-volume-high:before,.fa-volume-up:before{content:"\f028"}.fa-users-rays:before{content:"\e593"}.fa-wallet:before{content:"\f555"}.fa-clipboard-check:before{content:"\f46c"}.fa-file-audio:before{content:"\f1c7"}.fa-burger:before,.fa-hamburger:before{content:"\f805"}.fa-wrench:before{content:"\f0ad"}.fa-bugs:before{content:"\e4d0"}.fa-rupee-sign:before,.fa-rupee:before{content:"\f156"}.fa-file-image:before{content:"\f1c5"}.fa-circle-question:before,.fa-question-circle:before{content:"\f059"}.fa-plane-departure:before{content:"\f5b0"}.fa-handshake-slash:before{content:"\e060"}.fa-book-bookmark:before{content:"\e0bb"}.fa-code-branch:before{content:"\f126"}.fa-hat-cowboy:before{content:"\f8c0"}.fa-bridge:before{content:"\e4c8"}.fa-phone-alt:before,.fa-phone-flip:before{content:"\f879"}.fa-truck-front:before{content:"\e2b7"}.fa-cat:before{content:"\f6be"}.fa-anchor-circle-exclamation:before{content:"\e4ab"}.fa-truck-field:before{content:"\e58d"}.fa-route:before{content:"\f4d7"}.fa-clipboard-question:before{content:"\e4e3"}.fa-panorama:before{content:"\e209"}.fa-comment-medical:before{content:"\f7f5"}.fa-teeth-open:before{content:"\f62f"}.fa-file-circle-minus:before{content:"\e4ed"}.fa-tags:before{content:"\f02c"}.fa-wine-glass:before{content:"\f4e3"}.fa-fast-forward:before,.fa-forward-fast:before{content:"\f050"}.fa-face-meh-blank:before,.fa-meh-blank:before{content:"\f5a4"}.fa-parking:before,.fa-square-parking:before{content:"\f540"}.fa-house-signal:before{content:"\e012"}.fa-bars-progress:before,.fa-tasks-alt:before{content:"\f828"}.fa-faucet-drip:before{content:"\e006"}.fa-cart-flatbed:before,.fa-dolly-flatbed:before{content:"\f474"}.fa-ban-smoking:before,.fa-smoking-ban:before{content:"\f54d"}.fa-terminal:before{content:"\f120"}.fa-mobile-button:before{content:"\f10b"}.fa-house-medical-flag:before{content:"\e514"}.fa-basket-shopping:before,.fa-shopping-basket:before{content:"\f291"}.fa-tape:before{content:"\f4db"}.fa-bus-alt:before,.fa-bus-simple:before{content:"\f55e"}.fa-eye:before{content:"\f06e"}.fa-face-sad-cry:before,.fa-sad-cry:before{content:"\f5b3"}.fa-audio-description:before{content:"\f29e"}.fa-person-military-to-person:before{content:"\e54c"}.fa-file-shield:before{content:"\e4f0"}.fa-user-slash:before{content:"\f506"}.fa-pen:before{content:"\f304"}.fa-tower-observation:before{content:"\e586"}.fa-file-code:before{content:"\f1c9"}.fa-signal-5:before,.fa-signal-perfect:before,.fa-signal:before{content:"\f012"}.fa-bus:before{content:"\f207"}.fa-heart-circle-xmark:before{content:"\e501"}.fa-home-lg:before,.fa-house-chimney:before{content:"\e3af"}.fa-window-maximize:before{content:"\f2d0"}.fa-face-frown:before,.fa-frown:before{content:"\f119"}.fa-prescription:before{content:"\f5b1"}.fa-shop:before,.fa-store-alt:before{content:"\f54f"}.fa-floppy-disk:before,.fa-save:before{content:"\f0c7"}.fa-vihara:before{content:"\f6a7"}.fa-balance-scale-left:before,.fa-scale-unbalanced:before{content:"\f515"}.fa-sort-asc:before,.fa-sort-up:before{content:"\f0de"}.fa-comment-dots:before,.fa-commenting:before{content:"\f4ad"}.fa-plant-wilt:before{content:"\e5aa"}.fa-diamond:before{content:"\f219"}.fa-face-grin-squint:before,.fa-grin-squint:before{content:"\f585"}.fa-hand-holding-dollar:before,.fa-hand-holding-usd:before{content:"\f4c0"}.fa-bacterium:before{content:"\e05a"}.fa-hand-pointer:before{content:"\f25a"}.fa-drum-steelpan:before{content:"\f56a"}.fa-hand-scissors:before{content:"\f257"}.fa-hands-praying:before,.fa-praying-hands:before{content:"\f684"}.fa-arrow-right-rotate:before,.fa-arrow-rotate-forward:before,.fa-arrow-rotate-right:before,.fa-redo:before{content:"\f01e"}.fa-biohazard:before{content:"\f780"}.fa-location-crosshairs:before,.fa-location:before{content:"\f601"}.fa-mars-double:before{content:"\f227"}.fa-child-dress:before{content:"\e59c"}.fa-users-between-lines:before{content:"\e591"}.fa-lungs-virus:before{content:"\e067"}.fa-face-grin-tears:before,.fa-grin-tears:before{content:"\f588"}.fa-phone:before{content:"\f095"}.fa-calendar-times:before,.fa-calendar-xmark:before{content:"\f273"}.fa-child-reaching:before{content:"\e59d"}.fa-head-side-virus:before{content:"\e064"}.fa-user-cog:before,.fa-user-gear:before{content:"\f4fe"}.fa-arrow-up-1-9:before,.fa-sort-numeric-up:before{content:"\f163"}.fa-door-closed:before{content:"\f52a"}.fa-shield-virus:before{content:"\e06c"}.fa-dice-six:before{content:"\f526"}.fa-mosquito-net:before{content:"\e52c"}.fa-bridge-water:before{content:"\e4ce"}.fa-person-booth:before{content:"\f756"}.fa-text-width:before{content:"\f035"}.fa-hat-wizard:before{content:"\f6e8"}.fa-pen-fancy:before{content:"\f5ac"}.fa-digging:before,.fa-person-digging:before{content:"\f85e"}.fa-trash:before{content:"\f1f8"}.fa-gauge-simple-med:before,.fa-gauge-simple:before,.fa-tachometer-average:before{content:"\f629"}.fa-book-medical:before{content:"\f7e6"}.fa-poo:before{content:"\f2fe"}.fa-quote-right-alt:before,.fa-quote-right:before{content:"\f10e"}.fa-shirt:before,.fa-t-shirt:before,.fa-tshirt:before{content:"\f553"}.fa-cubes:before{content:"\f1b3"}.fa-divide:before{content:"\f529"}.fa-tenge-sign:before,.fa-tenge:before{content:"\f7d7"}.fa-headphones:before{content:"\f025"}.fa-hands-holding:before{content:"\f4c2"}.fa-hands-clapping:before{content:"\e1a8"}.fa-republican:before{content:"\f75e"}.fa-arrow-left:before{content:"\f060"}.fa-person-circle-xmark:before{content:"\e543"}.fa-ruler:before{content:"\f545"}.fa-align-left:before{content:"\f036"}.fa-dice-d6:before{content:"\f6d1"}.fa-restroom:before{content:"\f7bd"}.fa-j:before{content:"\4a"}.fa-users-viewfinder:before{content:"\e595"}.fa-file-video:before{content:"\f1c8"}.fa-external-link-alt:before,.fa-up-right-from-square:before{content:"\f35d"}.fa-table-cells:before,.fa-th:before{content:"\f00a"}.fa-file-pdf:before{content:"\f1c1"}.fa-bible:before,.fa-book-bible:before{content:"\f647"}.fa-o:before{content:"\4f"}.fa-medkit:before,.fa-suitcase-medical:before{content:"\f0fa"}.fa-user-secret:before{content:"\f21b"}.fa-otter:before{content:"\f700"}.fa-female:before,.fa-person-dress:before{content:"\f182"}.fa-comment-dollar:before{content:"\f651"}.fa-briefcase-clock:before,.fa-business-time:before{content:"\f64a"}.fa-table-cells-large:before,.fa-th-large:before{content:"\f009"}.fa-book-tanakh:before,.fa-tanakh:before{content:"\f827"}.fa-phone-volume:before,.fa-volume-control-phone:before{content:"\f2a0"}.fa-hat-cowboy-side:before{content:"\f8c1"}.fa-clipboard-user:before{content:"\f7f3"}.fa-child:before{content:"\f1ae"}.fa-lira-sign:before{content:"\f195"}.fa-satellite:before{content:"\f7bf"}.fa-plane-lock:before{content:"\e558"}.fa-tag:before{content:"\f02b"}.fa-comment:before{content:"\f075"}.fa-birthday-cake:before,.fa-cake-candles:before,.fa-cake:before{content:"\f1fd"}.fa-envelope:before{content:"\f0e0"}.fa-angle-double-up:before,.fa-angles-up:before{content:"\f102"}.fa-paperclip:before{content:"\f0c6"}.fa-arrow-right-to-city:before{content:"\e4b3"}.fa-ribbon:before{content:"\f4d6"}.fa-lungs:before{content:"\f604"}.fa-arrow-up-9-1:before,.fa-sort-numeric-up-alt:before{content:"\f887"}.fa-litecoin-sign:before{content:"\e1d3"}.fa-border-none:before{content:"\f850"}.fa-circle-nodes:before{content:"\e4e2"}.fa-parachute-box:before{content:"\f4cd"}.fa-indent:before{content:"\f03c"}.fa-truck-field-un:before{content:"\e58e"}.fa-hourglass-empty:before,.fa-hourglass:before{content:"\f254"}.fa-mountain:before{content:"\f6fc"}.fa-user-doctor:before,.fa-user-md:before{content:"\f0f0"}.fa-circle-info:before,.fa-info-circle:before{content:"\f05a"}.fa-cloud-meatball:before{content:"\f73b"}.fa-camera-alt:before,.fa-camera:before{content:"\f030"}.fa-square-virus:before{content:"\e578"}.fa-meteor:before{content:"\f753"}.fa-car-on:before{content:"\e4dd"}.fa-sleigh:before{content:"\f7cc"}.fa-arrow-down-1-9:before,.fa-sort-numeric-asc:before,.fa-sort-numeric-down:before{content:"\f162"}.fa-hand-holding-droplet:before,.fa-hand-holding-water:before{content:"\f4c1"}.fa-water:before{content:"\f773"}.fa-calendar-check:before{content:"\f274"}.fa-braille:before{content:"\f2a1"}.fa-prescription-bottle-alt:before,.fa-prescription-bottle-medical:before{content:"\f486"}.fa-landmark:before{content:"\f66f"}.fa-truck:before{content:"\f0d1"}.fa-crosshairs:before{content:"\f05b"}.fa-person-cane:before{content:"\e53c"}.fa-tent:before{content:"\e57d"}.fa-vest-patches:before{content:"\e086"}.fa-check-double:before{content:"\f560"}.fa-arrow-down-a-z:before,.fa-sort-alpha-asc:before,.fa-sort-alpha-down:before{content:"\f15d"}.fa-money-bill-wheat:before{content:"\e52a"}.fa-cookie:before{content:"\f563"}.fa-arrow-left-rotate:before,.fa-arrow-rotate-back:before,.fa-arrow-rotate-backward:before,.fa-arrow-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-hard-drive:before,.fa-hdd:before{content:"\f0a0"}.fa-face-grin-squint-tears:before,.fa-grin-squint-tears:before{content:"\f586"}.fa-dumbbell:before{content:"\f44b"}.fa-list-alt:before,.fa-rectangle-list:before{content:"\f022"}.fa-tarp-droplet:before{content:"\e57c"}.fa-house-medical-circle-check:before{content:"\e511"}.fa-person-skiing-nordic:before,.fa-skiing-nordic:before{content:"\f7ca"}.fa-calendar-plus:before{content:"\f271"}.fa-plane-arrival:before{content:"\f5af"}.fa-arrow-alt-circle-left:before,.fa-circle-left:before{content:"\f359"}.fa-subway:before,.fa-train-subway:before{content:"\f239"}.fa-chart-gantt:before{content:"\e0e4"}.fa-indian-rupee-sign:before,.fa-indian-rupee:before,.fa-inr:before{content:"\e1bc"}.fa-crop-alt:before,.fa-crop-simple:before{content:"\f565"}.fa-money-bill-1:before,.fa-money-bill-alt:before{content:"\f3d1"}.fa-left-long:before,.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-dna:before{content:"\f471"}.fa-virus-slash:before{content:"\e075"}.fa-minus:before,.fa-subtract:before{content:"\f068"}.fa-chess:before{content:"\f439"}.fa-arrow-left-long:before,.fa-long-arrow-left:before{content:"\f177"}.fa-plug-circle-check:before{content:"\e55c"}.fa-street-view:before{content:"\f21d"}.fa-franc-sign:before{content:"\e18f"}.fa-volume-off:before{content:"\f026"}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before,.fa-hands-american-sign-language-interpreting:before,.fa-hands-asl-interpreting:before{content:"\f2a3"}.fa-cog:before,.fa-gear:before{content:"\f013"}.fa-droplet-slash:before,.fa-tint-slash:before{content:"\f5c7"}.fa-mosque:before{content:"\f678"}.fa-mosquito:before{content:"\e52b"}.fa-star-of-david:before{content:"\f69a"}.fa-person-military-rifle:before{content:"\e54b"}.fa-cart-shopping:before,.fa-shopping-cart:before{content:"\f07a"}.fa-vials:before{content:"\f493"}.fa-plug-circle-plus:before{content:"\e55f"}.fa-place-of-worship:before{content:"\f67f"}.fa-grip-vertical:before{content:"\f58e"}.fa-arrow-turn-up:before,.fa-level-up:before{content:"\f148"}.fa-u:before{content:"\55"}.fa-square-root-alt:before,.fa-square-root-variable:before{content:"\f698"}.fa-clock-four:before,.fa-clock:before{content:"\f017"}.fa-backward-step:before,.fa-step-backward:before{content:"\f048"}.fa-pallet:before{content:"\f482"}.fa-faucet:before{content:"\e005"}.fa-baseball-bat-ball:before{content:"\f432"}.fa-s:before{content:"\53"}.fa-timeline:before{content:"\e29c"}.fa-keyboard:before{content:"\f11c"}.fa-caret-down:before{content:"\f0d7"}.fa-clinic-medical:before,.fa-house-chimney-medical:before{content:"\f7f2"}.fa-temperature-3:before,.fa-temperature-three-quarters:before,.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-mobile-android-alt:before,.fa-mobile-screen:before{content:"\f3cf"}.fa-plane-up:before{content:"\e22d"}.fa-piggy-bank:before{content:"\f4d3"}.fa-battery-3:before,.fa-battery-half:before{content:"\f242"}.fa-mountain-city:before{content:"\e52e"}.fa-coins:before{content:"\f51e"}.fa-khanda:before{content:"\f66d"}.fa-sliders-h:before,.fa-sliders:before{content:"\f1de"}.fa-folder-tree:before{content:"\f802"}.fa-network-wired:before{content:"\f6ff"}.fa-map-pin:before{content:"\f276"}.fa-hamsa:before{content:"\f665"}.fa-cent-sign:before{content:"\e3f5"}.fa-flask:before{content:"\f0c3"}.fa-person-pregnant:before{content:"\e31e"}.fa-wand-sparkles:before{content:"\f72b"}.fa-ellipsis-v:before,.fa-ellipsis-vertical:before{content:"\f142"}.fa-ticket:before{content:"\f145"}.fa-power-off:before{content:"\f011"}.fa-long-arrow-alt-right:before,.fa-right-long:before{content:"\f30b"}.fa-flag-usa:before{content:"\f74d"}.fa-laptop-file:before{content:"\e51d"}.fa-teletype:before,.fa-tty:before{content:"\f1e4"}.fa-diagram-next:before{content:"\e476"}.fa-person-rifle:before{content:"\e54e"}.fa-house-medical-circle-exclamation:before{content:"\e512"}.fa-closed-captioning:before{content:"\f20a"}.fa-hiking:before,.fa-person-hiking:before{content:"\f6ec"}.fa-venus-double:before{content:"\f226"}.fa-images:before{content:"\f302"}.fa-calculator:before{content:"\f1ec"}.fa-people-pulling:before{content:"\e535"}.fa-n:before{content:"\4e"}.fa-cable-car:before,.fa-tram:before{content:"\f7da"}.fa-cloud-rain:before{content:"\f73d"}.fa-building-circle-xmark:before{content:"\e4d4"}.fa-ship:before{content:"\f21a"}.fa-arrows-down-to-line:before{content:"\e4b8"}.fa-download:before{content:"\f019"}.fa-face-grin:before,.fa-grin:before{content:"\f580"}.fa-backspace:before,.fa-delete-left:before{content:"\f55a"}.fa-eye-dropper-empty:before,.fa-eye-dropper:before,.fa-eyedropper:before{content:"\f1fb"}.fa-file-circle-check:before{content:"\e5a0"}.fa-forward:before{content:"\f04e"}.fa-mobile-android:before,.fa-mobile-phone:before,.fa-mobile:before{content:"\f3ce"}.fa-face-meh:before,.fa-meh:before{content:"\f11a"}.fa-align-center:before{content:"\f037"}.fa-book-dead:before,.fa-book-skull:before{content:"\f6b7"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-heart-circle-exclamation:before{content:"\e4fe"}.fa-home-alt:before,.fa-home-lg-alt:before,.fa-home:before,.fa-house:before{content:"\f015"}.fa-calendar-week:before{content:"\f784"}.fa-laptop-medical:before{content:"\f812"}.fa-b:before{content:"\42"}.fa-file-medical:before{content:"\f477"}.fa-dice-one:before{content:"\f525"}.fa-kiwi-bird:before{content:"\f535"}.fa-arrow-right-arrow-left:before,.fa-exchange:before{content:"\f0ec"}.fa-redo-alt:before,.fa-rotate-forward:before,.fa-rotate-right:before{content:"\f2f9"}.fa-cutlery:before,.fa-utensils:before{content:"\f2e7"}.fa-arrow-up-wide-short:before,.fa-sort-amount-up:before{content:"\f161"}.fa-mill-sign:before{content:"\e1ed"}.fa-bowl-rice:before{content:"\e2eb"}.fa-skull:before{content:"\f54c"}.fa-broadcast-tower:before,.fa-tower-broadcast:before{content:"\f519"}.fa-truck-pickup:before{content:"\f63c"}.fa-long-arrow-alt-up:before,.fa-up-long:before{content:"\f30c"}.fa-stop:before{content:"\f04d"}.fa-code-merge:before{content:"\f387"}.fa-upload:before{content:"\f093"}.fa-hurricane:before{content:"\f751"}.fa-mound:before{content:"\e52d"}.fa-toilet-portable:before{content:"\e583"}.fa-compact-disc:before{content:"\f51f"}.fa-file-arrow-down:before,.fa-file-download:before{content:"\f56d"}.fa-caravan:before{content:"\f8ff"}.fa-shield-cat:before{content:"\e572"}.fa-bolt:before,.fa-zap:before{content:"\f0e7"}.fa-glass-water:before{content:"\e4f4"}.fa-oil-well:before{content:"\e532"}.fa-vault:before{content:"\e2c5"}.fa-mars:before{content:"\f222"}.fa-toilet:before{content:"\f7d8"}.fa-plane-circle-xmark:before{content:"\e557"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen-sign:before,.fa-yen:before{content:"\f157"}.fa-rouble:before,.fa-rub:before,.fa-ruble-sign:before,.fa-ruble:before{content:"\f158"}.fa-sun:before{content:"\f185"}.fa-guitar:before{content:"\f7a6"}.fa-face-laugh-wink:before,.fa-laugh-wink:before{content:"\f59c"}.fa-horse-head:before{content:"\f7ab"}.fa-bore-hole:before{content:"\e4c3"}.fa-industry:before{content:"\f275"}.fa-arrow-alt-circle-down:before,.fa-circle-down:before{content:"\f358"}.fa-arrows-turn-to-dots:before{content:"\e4c1"}.fa-florin-sign:before{content:"\e184"}.fa-arrow-down-short-wide:before,.fa-sort-amount-desc:before,.fa-sort-amount-down-alt:before{content:"\f884"}.fa-less-than:before{content:"\3c"}.fa-angle-down:before{content:"\f107"}.fa-car-tunnel:before{content:"\e4de"}.fa-head-side-cough:before{content:"\e061"}.fa-grip-lines:before{content:"\f7a4"}.fa-thumbs-down:before{content:"\f165"}.fa-user-lock:before{content:"\f502"}.fa-arrow-right-long:before,.fa-long-arrow-right:before{content:"\f178"}.fa-anchor-circle-xmark:before{content:"\e4ac"}.fa-ellipsis-h:before,.fa-ellipsis:before{content:"\f141"}.fa-chess-pawn:before{content:"\f443"}.fa-first-aid:before,.fa-kit-medical:before{content:"\f479"}.fa-person-through-window:before{content:"\e5a9"}.fa-toolbox:before{content:"\f552"}.fa-hands-holding-circle:before{content:"\e4fb"}.fa-bug:before{content:"\f188"}.fa-credit-card-alt:before,.fa-credit-card:before{content:"\f09d"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-hand-holding-hand:before{content:"\e4f7"}.fa-book-open-reader:before,.fa-book-reader:before{content:"\f5da"}.fa-mountain-sun:before{content:"\e52f"}.fa-arrows-left-right-to-line:before{content:"\e4ba"}.fa-dice-d20:before{content:"\f6cf"}.fa-truck-droplet:before{content:"\e58c"}.fa-file-circle-xmark:before{content:"\e5a1"}.fa-temperature-arrow-up:before,.fa-temperature-up:before{content:"\e040"}.fa-medal:before{content:"\f5a2"}.fa-bed:before{content:"\f236"}.fa-h-square:before,.fa-square-h:before{content:"\f0fd"}.fa-podcast:before{content:"\f2ce"}.fa-temperature-4:before,.fa-temperature-full:before,.fa-thermometer-4:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-bell:before{content:"\f0f3"}.fa-superscript:before{content:"\f12b"}.fa-plug-circle-xmark:before{content:"\e560"}.fa-star-of-life:before{content:"\f621"}.fa-phone-slash:before{content:"\f3dd"}.fa-paint-roller:before{content:"\f5aa"}.fa-hands-helping:before,.fa-handshake-angle:before{content:"\f4c4"}.fa-location-dot:before,.fa-map-marker-alt:before{content:"\f3c5"}.fa-file:before{content:"\f15b"}.fa-greater-than:before{content:"\3e"}.fa-person-swimming:before,.fa-swimmer:before{content:"\f5c4"}.fa-arrow-down:before{content:"\f063"}.fa-droplet:before,.fa-tint:before{content:"\f043"}.fa-eraser:before{content:"\f12d"}.fa-earth-america:before,.fa-earth-americas:before,.fa-earth:before,.fa-globe-americas:before{content:"\f57d"}.fa-person-burst:before{content:"\e53b"}.fa-dove:before{content:"\f4ba"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-socks:before{content:"\f696"}.fa-inbox:before{content:"\f01c"}.fa-section:before{content:"\e447"}.fa-gauge-high:before,.fa-tachometer-alt-fast:before,.fa-tachometer-alt:before{content:"\f625"}.fa-envelope-open-text:before{content:"\f658"}.fa-hospital-alt:before,.fa-hospital-wide:before,.fa-hospital:before{content:"\f0f8"}.fa-wine-bottle:before{content:"\f72f"}.fa-chess-rook:before{content:"\f447"}.fa-bars-staggered:before,.fa-reorder:before,.fa-stream:before{content:"\f550"}.fa-dharmachakra:before{content:"\f655"}.fa-hotdog:before{content:"\f80f"}.fa-blind:before,.fa-person-walking-with-cane:before{content:"\f29d"}.fa-drum:before{content:"\f569"}.fa-ice-cream:before{content:"\f810"}.fa-heart-circle-bolt:before{content:"\e4fc"}.fa-fax:before{content:"\f1ac"}.fa-paragraph:before{content:"\f1dd"}.fa-check-to-slot:before,.fa-vote-yea:before{content:"\f772"}.fa-star-half:before{content:"\f089"}.fa-boxes-alt:before,.fa-boxes-stacked:before,.fa-boxes:before{content:"\f468"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-assistive-listening-systems:before,.fa-ear-listen:before{content:"\f2a2"}.fa-tree-city:before{content:"\e587"}.fa-play:before{content:"\f04b"}.fa-font:before{content:"\f031"}.fa-rupiah-sign:before{content:"\e23d"}.fa-magnifying-glass:before,.fa-search:before{content:"\f002"}.fa-ping-pong-paddle-ball:before,.fa-table-tennis-paddle-ball:before,.fa-table-tennis:before{content:"\f45d"}.fa-diagnoses:before,.fa-person-dots-from-line:before{content:"\f470"}.fa-trash-can-arrow-up:before,.fa-trash-restore-alt:before{content:"\f82a"}.fa-naira-sign:before{content:"\e1f6"}.fa-cart-arrow-down:before{content:"\f218"}.fa-walkie-talkie:before{content:"\f8ef"}.fa-file-edit:before,.fa-file-pen:before{content:"\f31c"}.fa-receipt:before{content:"\f543"}.fa-pen-square:before,.fa-pencil-square:before,.fa-square-pen:before{content:"\f14b"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-person-circle-exclamation:before{content:"\e53f"}.fa-chevron-down:before{content:"\f078"}.fa-battery-5:before,.fa-battery-full:before,.fa-battery:before{content:"\f240"}.fa-skull-crossbones:before{content:"\f714"}.fa-code-compare:before{content:"\e13a"}.fa-list-dots:before,.fa-list-ul:before{content:"\f0ca"}.fa-school-lock:before{content:"\e56f"}.fa-tower-cell:before{content:"\e585"}.fa-down-long:before,.fa-long-arrow-alt-down:before{content:"\f309"}.fa-ranking-star:before{content:"\e561"}.fa-chess-king:before{content:"\f43f"}.fa-person-harassing:before{content:"\e549"}.fa-brazilian-real-sign:before{content:"\e46c"}.fa-landmark-alt:before,.fa-landmark-dome:before{content:"\f752"}.fa-arrow-up:before{content:"\f062"}.fa-television:before,.fa-tv-alt:before,.fa-tv:before{content:"\f26c"}.fa-shrimp:before{content:"\e448"}.fa-list-check:before,.fa-tasks:before{content:"\f0ae"}.fa-jug-detergent:before{content:"\e519"}.fa-circle-user:before,.fa-user-circle:before{content:"\f2bd"}.fa-user-shield:before{content:"\f505"}.fa-wind:before{content:"\f72e"}.fa-car-burst:before,.fa-car-crash:before{content:"\f5e1"}.fa-y:before{content:"\59"}.fa-person-snowboarding:before,.fa-snowboarding:before{content:"\f7ce"}.fa-shipping-fast:before,.fa-truck-fast:before{content:"\f48b"}.fa-fish:before{content:"\f578"}.fa-user-graduate:before{content:"\f501"}.fa-adjust:before,.fa-circle-half-stroke:before{content:"\f042"}.fa-clapperboard:before{content:"\e131"}.fa-circle-radiation:before,.fa-radiation-alt:before{content:"\f7ba"}.fa-baseball-ball:before,.fa-baseball:before{content:"\f433"}.fa-jet-fighter-up:before{content:"\e518"}.fa-diagram-project:before,.fa-project-diagram:before{content:"\f542"}.fa-copy:before{content:"\f0c5"}.fa-volume-mute:before,.fa-volume-times:before,.fa-volume-xmark:before{content:"\f6a9"}.fa-hand-sparkles:before{content:"\e05d"}.fa-grip-horizontal:before,.fa-grip:before{content:"\f58d"}.fa-share-from-square:before,.fa-share-square:before{content:"\f14d"}.fa-child-combatant:before,.fa-child-rifle:before{content:"\e4e0"}.fa-gun:before{content:"\e19b"}.fa-phone-square:before,.fa-square-phone:before{content:"\f098"}.fa-add:before,.fa-plus:before{content:"\2b"}.fa-expand:before{content:"\f065"}.fa-computer:before{content:"\e4e5"}.fa-close:before,.fa-multiply:before,.fa-remove:before,.fa-times:before,.fa-xmark:before{content:"\f00d"}.fa-arrows-up-down-left-right:before,.fa-arrows:before{content:"\f047"}.fa-chalkboard-teacher:before,.fa-chalkboard-user:before{content:"\f51c"}.fa-peso-sign:before{content:"\e222"}.fa-building-shield:before{content:"\e4d8"}.fa-baby:before{content:"\f77c"}.fa-users-line:before{content:"\e592"}.fa-quote-left-alt:before,.fa-quote-left:before{content:"\f10d"}.fa-tractor:before{content:"\f722"}.fa-trash-arrow-up:before,.fa-trash-restore:before{content:"\f829"}.fa-arrow-down-up-lock:before{content:"\e4b0"}.fa-lines-leaning:before{content:"\e51e"}.fa-ruler-combined:before{content:"\f546"}.fa-copyright:before{content:"\f1f9"}.fa-equals:before{content:"\3d"}.fa-blender:before{content:"\f517"}.fa-teeth:before{content:"\f62e"}.fa-ils:before,.fa-shekel-sign:before,.fa-shekel:before,.fa-sheqel-sign:before,.fa-sheqel:before{content:"\f20b"}.fa-map:before{content:"\f279"}.fa-rocket:before{content:"\f135"}.fa-photo-film:before,.fa-photo-video:before{content:"\f87c"}.fa-folder-minus:before{content:"\f65d"}.fa-store:before{content:"\f54e"}.fa-arrow-trend-up:before{content:"\e098"}.fa-plug-circle-minus:before{content:"\e55e"}.fa-sign-hanging:before,.fa-sign:before{content:"\f4d9"}.fa-bezier-curve:before{content:"\f55b"}.fa-bell-slash:before{content:"\f1f6"}.fa-tablet-android:before,.fa-tablet:before{content:"\f3fb"}.fa-school-flag:before{content:"\e56e"}.fa-fill:before{content:"\f575"}.fa-angle-up:before{content:"\f106"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-holly-berry:before{content:"\f7aa"}.fa-chevron-left:before{content:"\f053"}.fa-bacteria:before{content:"\e059"}.fa-hand-lizard:before{content:"\f258"}.fa-notdef:before{content:"\e1fe"}.fa-disease:before{content:"\f7fa"}.fa-briefcase-medical:before{content:"\f469"}.fa-genderless:before{content:"\f22d"}.fa-chevron-right:before{content:"\f054"}.fa-retweet:before{content:"\f079"}.fa-car-alt:before,.fa-car-rear:before{content:"\f5de"}.fa-pump-soap:before{content:"\e06b"}.fa-video-slash:before{content:"\f4e2"}.fa-battery-2:before,.fa-battery-quarter:before{content:"\f243"}.fa-radio:before{content:"\f8d7"}.fa-baby-carriage:before,.fa-carriage-baby:before{content:"\f77d"}.fa-traffic-light:before{content:"\f637"}.fa-thermometer:before{content:"\f491"}.fa-vr-cardboard:before{content:"\f729"}.fa-hand-middle-finger:before{content:"\f806"}.fa-percent:before,.fa-percentage:before{content:"\25"}.fa-truck-moving:before{content:"\f4df"}.fa-glass-water-droplet:before{content:"\e4f5"}.fa-display:before{content:"\e163"}.fa-face-smile:before,.fa-smile:before{content:"\f118"}.fa-thumb-tack:before,.fa-thumbtack:before{content:"\f08d"}.fa-trophy:before{content:"\f091"}.fa-person-praying:before,.fa-pray:before{content:"\f683"}.fa-hammer:before{content:"\f6e3"}.fa-hand-peace:before{content:"\f25b"}.fa-rotate:before,.fa-sync-alt:before{content:"\f2f1"}.fa-spinner:before{content:"\f110"}.fa-robot:before{content:"\f544"}.fa-peace:before{content:"\f67c"}.fa-cogs:before,.fa-gears:before{content:"\f085"}.fa-warehouse:before{content:"\f494"}.fa-arrow-up-right-dots:before{content:"\e4b7"}.fa-splotch:before{content:"\f5bc"}.fa-face-grin-hearts:before,.fa-grin-hearts:before{content:"\f584"}.fa-dice-four:before{content:"\f524"}.fa-sim-card:before{content:"\f7c4"}.fa-transgender-alt:before,.fa-transgender:before{content:"\f225"}.fa-mercury:before{content:"\f223"}.fa-arrow-turn-down:before,.fa-level-down:before{content:"\f149"}.fa-person-falling-burst:before{content:"\e547"}.fa-award:before{content:"\f559"}.fa-ticket-alt:before,.fa-ticket-simple:before{content:"\f3ff"}.fa-building:before{content:"\f1ad"}.fa-angle-double-left:before,.fa-angles-left:before{content:"\f100"}.fa-qrcode:before{content:"\f029"}.fa-clock-rotate-left:before,.fa-history:before{content:"\f1da"}.fa-face-grin-beam-sweat:before,.fa-grin-beam-sweat:before{content:"\f583"}.fa-arrow-right-from-file:before,.fa-file-export:before{content:"\f56e"}.fa-shield-blank:before,.fa-shield:before{content:"\f132"}.fa-arrow-up-short-wide:before,.fa-sort-amount-up-alt:before{content:"\f885"}.fa-house-medical:before{content:"\e3b2"}.fa-golf-ball-tee:before,.fa-golf-ball:before{content:"\f450"}.fa-chevron-circle-left:before,.fa-circle-chevron-left:before{content:"\f137"}.fa-house-chimney-window:before{content:"\e00d"}.fa-pen-nib:before{content:"\f5ad"}.fa-tent-arrow-turn-left:before{content:"\e580"}.fa-tents:before{content:"\e582"}.fa-magic:before,.fa-wand-magic:before{content:"\f0d0"}.fa-dog:before{content:"\f6d3"}.fa-carrot:before{content:"\f787"}.fa-moon:before{content:"\f186"}.fa-wine-glass-alt:before,.fa-wine-glass-empty:before{content:"\f5ce"}.fa-cheese:before{content:"\f7ef"}.fa-yin-yang:before{content:"\f6ad"}.fa-music:before{content:"\f001"}.fa-code-commit:before{content:"\f386"}.fa-temperature-low:before{content:"\f76b"}.fa-biking:before,.fa-person-biking:before{content:"\f84a"}.fa-broom:before{content:"\f51a"}.fa-shield-heart:before{content:"\e574"}.fa-gopuram:before{content:"\f664"}.fa-earth-oceania:before,.fa-globe-oceania:before{content:"\e47b"}.fa-square-xmark:before,.fa-times-square:before,.fa-xmark-square:before{content:"\f2d3"}.fa-hashtag:before{content:"\23"}.fa-expand-alt:before,.fa-up-right-and-down-left-from-center:before{content:"\f424"}.fa-oil-can:before{content:"\f613"}.fa-t:before{content:"\54"}.fa-hippo:before{content:"\f6ed"}.fa-chart-column:before{content:"\e0e3"}.fa-infinity:before{content:"\f534"}.fa-vial-circle-check:before{content:"\e596"}.fa-person-arrow-down-to-line:before{content:"\e538"}.fa-voicemail:before{content:"\f897"}.fa-fan:before{content:"\f863"}.fa-person-walking-luggage:before{content:"\e554"}.fa-arrows-alt-v:before,.fa-up-down:before{content:"\f338"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-calendar:before{content:"\f133"}.fa-trailer:before{content:"\e041"}.fa-bahai:before,.fa-haykal:before{content:"\f666"}.fa-sd-card:before{content:"\f7c2"}.fa-dragon:before{content:"\f6d5"}.fa-shoe-prints:before{content:"\f54b"}.fa-circle-plus:before,.fa-plus-circle:before{content:"\f055"}.fa-face-grin-tongue-wink:before,.fa-grin-tongue-wink:before{content:"\f58b"}.fa-hand-holding:before{content:"\f4bd"}.fa-plug-circle-exclamation:before{content:"\e55d"}.fa-chain-broken:before,.fa-chain-slash:before,.fa-link-slash:before,.fa-unlink:before{content:"\f127"}.fa-clone:before{content:"\f24d"}.fa-person-walking-arrow-loop-left:before{content:"\e551"}.fa-arrow-up-z-a:before,.fa-sort-alpha-up-alt:before{content:"\f882"}.fa-fire-alt:before,.fa-fire-flame-curved:before{content:"\f7e4"}.fa-tornado:before{content:"\f76f"}.fa-file-circle-plus:before{content:"\e494"}.fa-book-quran:before,.fa-quran:before{content:"\f687"}.fa-anchor:before{content:"\f13d"}.fa-border-all:before{content:"\f84c"}.fa-angry:before,.fa-face-angry:before{content:"\f556"}.fa-cookie-bite:before{content:"\f564"}.fa-arrow-trend-down:before{content:"\e097"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-draw-polygon:before{content:"\f5ee"}.fa-balance-scale:before,.fa-scale-balanced:before{content:"\f24e"}.fa-gauge-simple-high:before,.fa-tachometer-fast:before,.fa-tachometer:before{content:"\f62a"}.fa-shower:before{content:"\f2cc"}.fa-desktop-alt:before,.fa-desktop:before{content:"\f390"}.fa-m:before{content:"\4d"}.fa-table-list:before,.fa-th-list:before{content:"\f00b"}.fa-comment-sms:before,.fa-sms:before{content:"\f7cd"}.fa-book:before{content:"\f02d"}.fa-user-plus:before{content:"\f234"}.fa-check:before{content:"\f00c"}.fa-battery-4:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-house-circle-check:before{content:"\e509"}.fa-angle-left:before{content:"\f104"}.fa-diagram-successor:before{content:"\e47a"}.fa-truck-arrow-right:before{content:"\e58b"}.fa-arrows-split-up-and-left:before{content:"\e4bc"}.fa-fist-raised:before,.fa-hand-fist:before{content:"\f6de"}.fa-cloud-moon:before{content:"\f6c3"}.fa-briefcase:before{content:"\f0b1"}.fa-person-falling:before{content:"\e546"}.fa-image-portrait:before,.fa-portrait:before{content:"\f3e0"}.fa-user-tag:before{content:"\f507"}.fa-rug:before{content:"\e569"}.fa-earth-europe:before,.fa-globe-europe:before{content:"\f7a2"}.fa-cart-flatbed-suitcase:before,.fa-luggage-cart:before{content:"\f59d"}.fa-rectangle-times:before,.fa-rectangle-xmark:before,.fa-times-rectangle:before,.fa-window-close:before{content:"\f410"}.fa-baht-sign:before{content:"\e0ac"}.fa-book-open:before{content:"\f518"}.fa-book-journal-whills:before,.fa-journal-whills:before{content:"\f66a"}.fa-handcuffs:before{content:"\e4f8"}.fa-exclamation-triangle:before,.fa-triangle-exclamation:before,.fa-warning:before{content:"\f071"}.fa-database:before{content:"\f1c0"}.fa-arrow-turn-right:before,.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-bottle-droplet:before{content:"\e4c4"}.fa-mask-face:before{content:"\e1d7"}.fa-hill-rockslide:before{content:"\e508"}.fa-exchange-alt:before,.fa-right-left:before{content:"\f362"}.fa-paper-plane:before{content:"\f1d8"}.fa-road-circle-exclamation:before{content:"\e565"}.fa-dungeon:before{content:"\f6d9"}.fa-align-right:before{content:"\f038"}.fa-money-bill-1-wave:before,.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-life-ring:before{content:"\f1cd"}.fa-hands:before,.fa-sign-language:before,.fa-signing:before{content:"\f2a7"}.fa-calendar-day:before{content:"\f783"}.fa-ladder-water:before,.fa-swimming-pool:before,.fa-water-ladder:before{content:"\f5c5"}.fa-arrows-up-down:before,.fa-arrows-v:before{content:"\f07d"}.fa-face-grimace:before,.fa-grimace:before{content:"\f57f"}.fa-wheelchair-alt:before,.fa-wheelchair-move:before{content:"\e2ce"}.fa-level-down-alt:before,.fa-turn-down:before{content:"\f3be"}.fa-person-walking-arrow-right:before{content:"\e552"}.fa-envelope-square:before,.fa-square-envelope:before{content:"\f199"}.fa-dice:before{content:"\f522"}.fa-bowling-ball:before{content:"\f436"}.fa-brain:before{content:"\f5dc"}.fa-band-aid:before,.fa-bandage:before{content:"\f462"}.fa-calendar-minus:before{content:"\f272"}.fa-circle-xmark:before,.fa-times-circle:before,.fa-xmark-circle:before{content:"\f057"}.fa-gifts:before{content:"\f79c"}.fa-hotel:before{content:"\f594"}.fa-earth-asia:before,.fa-globe-asia:before{content:"\f57e"}.fa-id-card-alt:before,.fa-id-card-clip:before{content:"\f47f"}.fa-magnifying-glass-plus:before,.fa-search-plus:before{content:"\f00e"}.fa-thumbs-up:before{content:"\f164"}.fa-user-clock:before{content:"\f4fd"}.fa-allergies:before,.fa-hand-dots:before{content:"\f461"}.fa-file-invoice:before{content:"\f570"}.fa-window-minimize:before{content:"\f2d1"}.fa-coffee:before,.fa-mug-saucer:before{content:"\f0f4"}.fa-brush:before{content:"\f55d"}.fa-mask:before{content:"\f6fa"}.fa-magnifying-glass-minus:before,.fa-search-minus:before{content:"\f010"}.fa-ruler-vertical:before{content:"\f548"}.fa-user-alt:before,.fa-user-large:before{content:"\f406"}.fa-train-tram:before{content:"\e5b4"}.fa-user-nurse:before{content:"\f82f"}.fa-syringe:before{content:"\f48e"}.fa-cloud-sun:before{content:"\f6c4"}.fa-stopwatch-20:before{content:"\e06f"}.fa-square-full:before{content:"\f45c"}.fa-magnet:before{content:"\f076"}.fa-jar:before{content:"\e516"}.fa-note-sticky:before,.fa-sticky-note:before{content:"\f249"}.fa-bug-slash:before{content:"\e490"}.fa-arrow-up-from-water-pump:before{content:"\e4b6"}.fa-bone:before{content:"\f5d7"}.fa-user-injured:before{content:"\f728"}.fa-face-sad-tear:before,.fa-sad-tear:before{content:"\f5b4"}.fa-plane:before{content:"\f072"}.fa-tent-arrows-down:before{content:"\e581"}.fa-exclamation:before{content:"\21"}.fa-arrows-spin:before{content:"\e4bb"}.fa-print:before{content:"\f02f"}.fa-try:before,.fa-turkish-lira-sign:before,.fa-turkish-lira:before{content:"\e2bb"}.fa-dollar-sign:before,.fa-dollar:before,.fa-usd:before{content:"\24"}.fa-x:before{content:"\58"}.fa-magnifying-glass-dollar:before,.fa-search-dollar:before{content:"\f688"}.fa-users-cog:before,.fa-users-gear:before{content:"\f509"}.fa-person-military-pointing:before{content:"\e54a"}.fa-bank:before,.fa-building-columns:before,.fa-institution:before,.fa-museum:before,.fa-university:before{content:"\f19c"}.fa-umbrella:before{content:"\f0e9"}.fa-trowel:before{content:"\e589"}.fa-d:before{content:"\44"}.fa-stapler:before{content:"\e5af"}.fa-masks-theater:before,.fa-theater-masks:before{content:"\f630"}.fa-kip-sign:before{content:"\e1c4"}.fa-hand-point-left:before{content:"\f0a5"}.fa-handshake-alt:before,.fa-handshake-simple:before{content:"\f4c6"}.fa-fighter-jet:before,.fa-jet-fighter:before{content:"\f0fb"}.fa-share-alt-square:before,.fa-square-share-nodes:before{content:"\f1e1"}.fa-barcode:before{content:"\f02a"}.fa-plus-minus:before{content:"\e43c"}.fa-video-camera:before,.fa-video:before{content:"\f03d"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\f19d"}.fa-hand-holding-medical:before{content:"\e05c"}.fa-person-circle-check:before{content:"\e53e"}.fa-level-up-alt:before,.fa-turn-up:before{content:"\f3bf"} -.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} \ No newline at end of file diff --git a/fontawesome/css/regular.css b/fontawesome/css/regular.css deleted file mode 100644 index 868914b17359c9734226f1203ab7223f2204d96c..0000000000000000000000000000000000000000 --- a/fontawesome/css/regular.css +++ /dev/null @@ -1,19 +0,0 @@ -/*! - * Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) - * Copyright 2023 Fonticons, Inc. - */ -:root, :host { - --fa-style-family-classic: 'Font Awesome 6 Free'; - --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("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.ttf") format("truetype"); } - -.far, -.fa-regular { - font-weight: 400; } diff --git a/fontawesome/css/regular.min.css b/fontawesome/css/regular.min.css deleted file mode 100644 index dbb9e81682d4a5b3d6323b4f84ef70bbc1120671..0000000000000000000000000000000000000000 --- a/fontawesome/css/regular.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) - * Copyright 2023 Fonticons, Inc. - */ -:host,:root{--fa-style-family-classic:"Font Awesome 6 Free";--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(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.ttf) format("truetype")}.fa-regular,.far{font-weight:400} \ No newline at end of file diff --git a/fontawesome/css/solid.css b/fontawesome/css/solid.css deleted file mode 100644 index b007156f4630e6246a053e268237224ccac1056f..0000000000000000000000000000000000000000 --- a/fontawesome/css/solid.css +++ /dev/null @@ -1,19 +0,0 @@ -/*! - * Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) - * Copyright 2023 Fonticons, Inc. - */ -:root, :host { - --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("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.ttf") format("truetype"); } - -.fas, -.fa-solid { - font-weight: 900; } diff --git a/fontawesome/css/solid.min.css b/fontawesome/css/solid.min.css deleted file mode 100644 index c1fe3fa4597b4ddf1a58f2eb9ccc5a4b988634c2..0000000000000000000000000000000000000000 --- a/fontawesome/css/solid.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) - * Copyright 2023 Fonticons, Inc. - */ -: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(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.ttf) format("truetype")}.fa-solid,.fas{font-weight:900} \ No newline at end of file diff --git a/fontawesome/css/svg-with-js.css b/fontawesome/css/svg-with-js.css deleted file mode 100644 index fd95a8d6774d697091aba576caa0f289f88cbe95..0000000000000000000000000000000000000000 --- a/fontawesome/css/svg-with-js.css +++ /dev/null @@ -1,639 +0,0 @@ -/*! - * Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) - * Copyright 2023 Fonticons, Inc. - */ -:root, :host { - --fa-font-solid: normal 900 1em/1 'Font Awesome 6 Solid'; - --fa-font-regular: normal 400 1em/1 'Font Awesome 6 Regular'; - --fa-font-light: normal 300 1em/1 'Font Awesome 6 Light'; - --fa-font-thin: normal 100 1em/1 'Font Awesome 6 Thin'; - --fa-font-duotone: normal 900 1em/1 'Font Awesome 6 Duotone'; - --fa-font-sharp-solid: normal 900 1em/1 'Font Awesome 6 Sharp'; - --fa-font-sharp-regular: normal 400 1em/1 'Font Awesome 6 Sharp'; - --fa-font-sharp-light: normal 300 1em/1 'Font Awesome 6 Sharp'; - --fa-font-brands: normal 400 1em/1 'Font Awesome 6 Brands'; } - -svg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa { - overflow: visible; - box-sizing: content-box; } - -.svg-inline--fa { - display: var(--fa-display, inline-block); - height: 1em; - overflow: visible; - vertical-align: -.125em; } - .svg-inline--fa.fa-2xs { - vertical-align: 0.1em; } - .svg-inline--fa.fa-xs { - vertical-align: 0em; } - .svg-inline--fa.fa-sm { - vertical-align: -0.07143em; } - .svg-inline--fa.fa-lg { - vertical-align: -0.2em; } - .svg-inline--fa.fa-xl { - vertical-align: -0.25em; } - .svg-inline--fa.fa-2xl { - vertical-align: -0.3125em; } - .svg-inline--fa.fa-pull-left { - margin-right: var(--fa-pull-margin, 0.3em); - width: auto; } - .svg-inline--fa.fa-pull-right { - margin-left: var(--fa-pull-margin, 0.3em); - width: auto; } - .svg-inline--fa.fa-li { - width: var(--fa-li-width, 2em); - top: 0.25em; } - .svg-inline--fa.fa-fw { - width: var(--fa-fw-width, 1.25em); } - -.fa-layers svg.svg-inline--fa { - bottom: 0; - left: 0; - margin: auto; - position: absolute; - right: 0; - top: 0; } - -.fa-layers-text, .fa-layers-counter { - display: inline-block; - position: absolute; - text-align: center; } - -.fa-layers { - display: inline-block; - height: 1em; - position: relative; - text-align: center; - vertical-align: -.125em; - width: 1em; } - .fa-layers svg.svg-inline--fa { - -webkit-transform-origin: center center; - transform-origin: center center; } - -.fa-layers-text { - left: 50%; - top: 50%; - -webkit-transform: translate(-50%, -50%); - transform: translate(-50%, -50%); - -webkit-transform-origin: center center; - transform-origin: center center; } - -.fa-layers-counter { - background-color: var(--fa-counter-background-color, #ff253a); - border-radius: var(--fa-counter-border-radius, 1em); - box-sizing: border-box; - color: var(--fa-inverse, #fff); - line-height: var(--fa-counter-line-height, 1); - max-width: var(--fa-counter-max-width, 5em); - min-width: var(--fa-counter-min-width, 1.5em); - overflow: hidden; - padding: var(--fa-counter-padding, 0.25em 0.5em); - right: var(--fa-right, 0); - text-overflow: ellipsis; - top: var(--fa-top, 0); - -webkit-transform: scale(var(--fa-counter-scale, 0.25)); - transform: scale(var(--fa-counter-scale, 0.25)); - -webkit-transform-origin: top right; - transform-origin: top right; } - -.fa-layers-bottom-right { - bottom: var(--fa-bottom, 0); - right: var(--fa-right, 0); - top: auto; - -webkit-transform: scale(var(--fa-layers-scale, 0.25)); - transform: scale(var(--fa-layers-scale, 0.25)); - -webkit-transform-origin: bottom right; - transform-origin: bottom right; } - -.fa-layers-bottom-left { - bottom: var(--fa-bottom, 0); - left: var(--fa-left, 0); - right: auto; - top: auto; - -webkit-transform: scale(var(--fa-layers-scale, 0.25)); - transform: scale(var(--fa-layers-scale, 0.25)); - -webkit-transform-origin: bottom left; - transform-origin: bottom left; } - -.fa-layers-top-right { - top: var(--fa-top, 0); - right: var(--fa-right, 0); - -webkit-transform: scale(var(--fa-layers-scale, 0.25)); - transform: scale(var(--fa-layers-scale, 0.25)); - -webkit-transform-origin: top right; - transform-origin: top right; } - -.fa-layers-top-left { - left: var(--fa-left, 0); - right: auto; - top: var(--fa-top, 0); - -webkit-transform: scale(var(--fa-layers-scale, 0.25)); - transform: scale(var(--fa-layers-scale, 0.25)); - -webkit-transform-origin: top left; - transform-origin: top left; } - -.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: 0.625em; - line-height: 0.1em; - vertical-align: 0.225em; } - -.fa-xs { - font-size: 0.75em; - line-height: 0.08333em; - vertical-align: 0.125em; } - -.fa-sm { - font-size: 0.875em; - line-height: 0.07143em; - vertical-align: 0.05357em; } - -.fa-lg { - font-size: 1.25em; - line-height: 0.05em; - vertical-align: -0.075em; } - -.fa-xl { - font-size: 1.5em; - line-height: 0.04167em; - vertical-align: -0.125em; } - -.fa-2xl { - font-size: 2em; - line-height: 0.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-color: var(--fa-border-color, #eee); - border-radius: var(--fa-border-radius, 0.1em); - border-style: var(--fa-border-style, solid); - border-width: var(--fa-border-width, 0.08em); - 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 { - -webkit-animation-name: fa-beat; - animation-name: fa-beat; - -webkit-animation-delay: var(--fa-animation-delay, 0s); - animation-delay: var(--fa-animation-delay, 0s); - -webkit-animation-direction: var(--fa-animation-direction, normal); - animation-direction: var(--fa-animation-direction, normal); - -webkit-animation-duration: var(--fa-animation-duration, 1s); - animation-duration: var(--fa-animation-duration, 1s); - -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - -webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out); - animation-timing-function: var(--fa-animation-timing, ease-in-out); } - -.fa-bounce { - -webkit-animation-name: fa-bounce; - animation-name: fa-bounce; - -webkit-animation-delay: var(--fa-animation-delay, 0s); - animation-delay: var(--fa-animation-delay, 0s); - -webkit-animation-direction: var(--fa-animation-direction, normal); - animation-direction: var(--fa-animation-direction, normal); - -webkit-animation-duration: var(--fa-animation-duration, 1s); - animation-duration: var(--fa-animation-duration, 1s); - -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1)); - animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1)); } - -.fa-fade { - -webkit-animation-name: fa-fade; - animation-name: fa-fade; - -webkit-animation-delay: var(--fa-animation-delay, 0s); - animation-delay: var(--fa-animation-delay, 0s); - -webkit-animation-direction: var(--fa-animation-direction, normal); - animation-direction: var(--fa-animation-direction, normal); - -webkit-animation-duration: var(--fa-animation-duration, 1s); - animation-duration: var(--fa-animation-duration, 1s); - -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); - animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); } - -.fa-beat-fade { - -webkit-animation-name: fa-beat-fade; - animation-name: fa-beat-fade; - -webkit-animation-delay: var(--fa-animation-delay, 0s); - animation-delay: var(--fa-animation-delay, 0s); - -webkit-animation-direction: var(--fa-animation-direction, normal); - animation-direction: var(--fa-animation-direction, normal); - -webkit-animation-duration: var(--fa-animation-duration, 1s); - animation-duration: var(--fa-animation-duration, 1s); - -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - -webkit-animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); - animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); } - -.fa-flip { - -webkit-animation-name: fa-flip; - animation-name: fa-flip; - -webkit-animation-delay: var(--fa-animation-delay, 0s); - animation-delay: var(--fa-animation-delay, 0s); - -webkit-animation-direction: var(--fa-animation-direction, normal); - animation-direction: var(--fa-animation-direction, normal); - -webkit-animation-duration: var(--fa-animation-duration, 1s); - animation-duration: var(--fa-animation-duration, 1s); - -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - -webkit-animation-timing-function: var(--fa-animation-timing, ease-in-out); - animation-timing-function: var(--fa-animation-timing, ease-in-out); } - -.fa-shake { - -webkit-animation-name: fa-shake; - animation-name: fa-shake; - -webkit-animation-delay: var(--fa-animation-delay, 0s); - animation-delay: var(--fa-animation-delay, 0s); - -webkit-animation-direction: var(--fa-animation-direction, normal); - animation-direction: var(--fa-animation-direction, normal); - -webkit-animation-duration: var(--fa-animation-duration, 1s); - animation-duration: var(--fa-animation-duration, 1s); - -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - -webkit-animation-timing-function: var(--fa-animation-timing, linear); - animation-timing-function: var(--fa-animation-timing, linear); } - -.fa-spin { - -webkit-animation-name: fa-spin; - animation-name: fa-spin; - -webkit-animation-delay: var(--fa-animation-delay, 0s); - animation-delay: var(--fa-animation-delay, 0s); - -webkit-animation-direction: var(--fa-animation-direction, normal); - animation-direction: var(--fa-animation-direction, normal); - -webkit-animation-duration: var(--fa-animation-duration, 2s); - animation-duration: var(--fa-animation-duration, 2s); - -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - -webkit-animation-timing-function: var(--fa-animation-timing, linear); - animation-timing-function: var(--fa-animation-timing, linear); } - -.fa-spin-reverse { - --fa-animation-direction: reverse; } - -.fa-pulse, -.fa-spin-pulse { - -webkit-animation-name: fa-spin; - animation-name: fa-spin; - -webkit-animation-direction: var(--fa-animation-direction, normal); - animation-direction: var(--fa-animation-direction, normal); - -webkit-animation-duration: var(--fa-animation-duration, 1s); - animation-duration: var(--fa-animation-duration, 1s); - -webkit-animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - -webkit-animation-timing-function: var(--fa-animation-timing, steps(8)); - animation-timing-function: var(--fa-animation-timing, steps(8)); } - -@media (prefers-reduced-motion: reduce) { - .fa-beat, - .fa-bounce, - .fa-fade, - .fa-beat-fade, - .fa-flip, - .fa-pulse, - .fa-shake, - .fa-spin, - .fa-spin-pulse { - -webkit-animation-delay: -1ms; - animation-delay: -1ms; - -webkit-animation-duration: 1ms; - animation-duration: 1ms; - -webkit-animation-iteration-count: 1; - animation-iteration-count: 1; - -webkit-transition-delay: 0s; - transition-delay: 0s; - -webkit-transition-duration: 0s; - transition-duration: 0s; } } - -@-webkit-keyframes fa-beat { - 0%, 90% { - -webkit-transform: scale(1); - transform: scale(1); } - 45% { - -webkit-transform: scale(var(--fa-beat-scale, 1.25)); - transform: scale(var(--fa-beat-scale, 1.25)); } } - -@keyframes fa-beat { - 0%, 90% { - -webkit-transform: scale(1); - transform: scale(1); } - 45% { - -webkit-transform: scale(var(--fa-beat-scale, 1.25)); - transform: scale(var(--fa-beat-scale, 1.25)); } } - -@-webkit-keyframes fa-bounce { - 0% { - -webkit-transform: scale(1, 1) translateY(0); - transform: scale(1, 1) translateY(0); } - 10% { - -webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); - transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); } - 30% { - -webkit-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)); - 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% { - -webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); - transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); } - 57% { - -webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); - transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); } - 64% { - -webkit-transform: scale(1, 1) translateY(0); - transform: scale(1, 1) translateY(0); } - 100% { - -webkit-transform: scale(1, 1) translateY(0); - transform: scale(1, 1) translateY(0); } } - -@keyframes fa-bounce { - 0% { - -webkit-transform: scale(1, 1) translateY(0); - transform: scale(1, 1) translateY(0); } - 10% { - -webkit-transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); - transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); } - 30% { - -webkit-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)); - 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% { - -webkit-transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); - transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); } - 57% { - -webkit-transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); - transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); } - 64% { - -webkit-transform: scale(1, 1) translateY(0); - transform: scale(1, 1) translateY(0); } - 100% { - -webkit-transform: scale(1, 1) translateY(0); - transform: scale(1, 1) translateY(0); } } - -@-webkit-keyframes fa-fade { - 50% { - opacity: var(--fa-fade-opacity, 0.4); } } - -@keyframes fa-fade { - 50% { - opacity: var(--fa-fade-opacity, 0.4); } } - -@-webkit-keyframes fa-beat-fade { - 0%, 100% { - opacity: var(--fa-beat-fade-opacity, 0.4); - -webkit-transform: scale(1); - transform: scale(1); } - 50% { - opacity: 1; - -webkit-transform: scale(var(--fa-beat-fade-scale, 1.125)); - transform: scale(var(--fa-beat-fade-scale, 1.125)); } } - -@keyframes fa-beat-fade { - 0%, 100% { - opacity: var(--fa-beat-fade-opacity, 0.4); - -webkit-transform: scale(1); - transform: scale(1); } - 50% { - opacity: 1; - -webkit-transform: scale(var(--fa-beat-fade-scale, 1.125)); - transform: scale(var(--fa-beat-fade-scale, 1.125)); } } - -@-webkit-keyframes fa-flip { - 50% { - -webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); - transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); } } - -@keyframes fa-flip { - 50% { - -webkit-transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); - transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); } } - -@-webkit-keyframes fa-shake { - 0% { - -webkit-transform: rotate(-15deg); - transform: rotate(-15deg); } - 4% { - -webkit-transform: rotate(15deg); - transform: rotate(15deg); } - 8%, 24% { - -webkit-transform: rotate(-18deg); - transform: rotate(-18deg); } - 12%, 28% { - -webkit-transform: rotate(18deg); - transform: rotate(18deg); } - 16% { - -webkit-transform: rotate(-22deg); - transform: rotate(-22deg); } - 20% { - -webkit-transform: rotate(22deg); - transform: rotate(22deg); } - 32% { - -webkit-transform: rotate(-12deg); - transform: rotate(-12deg); } - 36% { - -webkit-transform: rotate(12deg); - transform: rotate(12deg); } - 40%, 100% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); } } - -@keyframes fa-shake { - 0% { - -webkit-transform: rotate(-15deg); - transform: rotate(-15deg); } - 4% { - -webkit-transform: rotate(15deg); - transform: rotate(15deg); } - 8%, 24% { - -webkit-transform: rotate(-18deg); - transform: rotate(-18deg); } - 12%, 28% { - -webkit-transform: rotate(18deg); - transform: rotate(18deg); } - 16% { - -webkit-transform: rotate(-22deg); - transform: rotate(-22deg); } - 20% { - -webkit-transform: rotate(22deg); - transform: rotate(22deg); } - 32% { - -webkit-transform: rotate(-12deg); - transform: rotate(-12deg); } - 36% { - -webkit-transform: rotate(12deg); - transform: rotate(12deg); } - 40%, 100% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); } } - -@-webkit-keyframes fa-spin { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); } - 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); } } - -@keyframes fa-spin { - 0% { - -webkit-transform: rotate(0deg); - transform: rotate(0deg); } - 100% { - -webkit-transform: rotate(360deg); - transform: rotate(360deg); } } - -.fa-rotate-90 { - -webkit-transform: rotate(90deg); - transform: rotate(90deg); } - -.fa-rotate-180 { - -webkit-transform: rotate(180deg); - transform: rotate(180deg); } - -.fa-rotate-270 { - -webkit-transform: rotate(270deg); - transform: rotate(270deg); } - -.fa-flip-horizontal { - -webkit-transform: scale(-1, 1); - transform: scale(-1, 1); } - -.fa-flip-vertical { - -webkit-transform: scale(1, -1); - transform: scale(1, -1); } - -.fa-flip-both, -.fa-flip-horizontal.fa-flip-vertical { - -webkit-transform: scale(-1, -1); - transform: scale(-1, -1); } - -.fa-rotate-by { - -webkit-transform: rotate(var(--fa-rotate-angle, none)); - transform: rotate(var(--fa-rotate-angle, none)); } - -.fa-stack { - display: inline-block; - vertical-align: middle; - height: 2em; - position: relative; - width: 2.5em; } - -.fa-stack-1x, -.fa-stack-2x { - bottom: 0; - left: 0; - margin: auto; - position: absolute; - right: 0; - top: 0; - z-index: var(--fa-stack-z-index, auto); } - -.svg-inline--fa.fa-stack-1x { - height: 1em; - width: 1.25em; } - -.svg-inline--fa.fa-stack-2x { - height: 2em; - width: 2.5em; } - -.fa-inverse { - color: var(--fa-inverse, #fff); } - -.sr-only, -.fa-sr-only { - position: absolute; - width: 1px; - height: 1px; - padding: 0; - margin: -1px; - overflow: hidden; - clip: rect(0, 0, 0, 0); - white-space: nowrap; - border-width: 0; } - -.sr-only-focusable:not(:focus), -.fa-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; } - -.svg-inline--fa .fa-primary { - fill: var(--fa-primary-color, currentColor); - opacity: var(--fa-primary-opacity, 1); } - -.svg-inline--fa .fa-secondary { - fill: var(--fa-secondary-color, currentColor); - opacity: var(--fa-secondary-opacity, 0.4); } - -.svg-inline--fa.fa-swap-opacity .fa-primary { - opacity: var(--fa-secondary-opacity, 0.4); } - -.svg-inline--fa.fa-swap-opacity .fa-secondary { - opacity: var(--fa-primary-opacity, 1); } - -.svg-inline--fa mask .fa-primary, -.svg-inline--fa mask .fa-secondary { - fill: black; } - -.fad.fa-inverse, -.fa-duotone.fa-inverse { - color: var(--fa-inverse, #fff); } diff --git a/fontawesome/css/svg-with-js.min.css b/fontawesome/css/svg-with-js.min.css deleted file mode 100644 index 66470b0af360677f95b6749b42b4c560ee51def7..0000000000000000000000000000000000000000 --- a/fontawesome/css/svg-with-js.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) - * Copyright 2023 Fonticons, Inc. - */ -:host,:root{--fa-font-solid:normal 900 1em/1 "Font Awesome 6 Solid";--fa-font-regular:normal 400 1em/1 "Font Awesome 6 Regular";--fa-font-light:normal 300 1em/1 "Font Awesome 6 Light";--fa-font-thin:normal 100 1em/1 "Font Awesome 6 Thin";--fa-font-duotone:normal 900 1em/1 "Font Awesome 6 Duotone";--fa-font-sharp-solid:normal 900 1em/1 "Font Awesome 6 Sharp";--fa-font-sharp-regular:normal 400 1em/1 "Font Awesome 6 Sharp";--fa-font-sharp-light:normal 300 1em/1 "Font Awesome 6 Sharp";--fa-font-brands:normal 400 1em/1 "Font Awesome 6 Brands"}svg:not(:host).svg-inline--fa,svg:not(:root).svg-inline--fa{overflow:visible;box-sizing:content-box}.svg-inline--fa{display:var(--fa-display,inline-block);height:1em;overflow:visible;vertical-align:-.125em}.svg-inline--fa.fa-2xs{vertical-align:.1em}.svg-inline--fa.fa-xs{vertical-align:0}.svg-inline--fa.fa-sm{vertical-align:-.07143em}.svg-inline--fa.fa-lg{vertical-align:-.2em}.svg-inline--fa.fa-xl{vertical-align:-.25em}.svg-inline--fa.fa-2xl{vertical-align:-.3125em}.svg-inline--fa.fa-pull-left{margin-right:var(--fa-pull-margin,.3em);width:auto}.svg-inline--fa.fa-pull-right{margin-left:var(--fa-pull-margin,.3em);width:auto}.svg-inline--fa.fa-li{width:var(--fa-li-width,2em);top:.25em}.svg-inline--fa.fa-fw{width:var(--fa-fw-width,1.25em)}.fa-layers svg.svg-inline--fa{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0}.fa-layers-counter,.fa-layers-text{display:inline-block;position:absolute;text-align:center}.fa-layers{display:inline-block;height:1em;position:relative;text-align:center;vertical-align:-.125em;width:1em}.fa-layers svg.svg-inline--fa{-webkit-transform-origin:center center;transform-origin:center center}.fa-layers-text{left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);-webkit-transform-origin:center center;transform-origin:center center}.fa-layers-counter{background-color:var(--fa-counter-background-color,#ff253a);border-radius:var(--fa-counter-border-radius,1em);box-sizing:border-box;color:var(--fa-inverse,#fff);line-height:var(--fa-counter-line-height,1);max-width:var(--fa-counter-max-width,5em);min-width:var(--fa-counter-min-width,1.5em);overflow:hidden;padding:var(--fa-counter-padding,.25em .5em);right:var(--fa-right,0);text-overflow:ellipsis;top:var(--fa-top,0);-webkit-transform:scale(var(--fa-counter-scale,.25));transform:scale(var(--fa-counter-scale,.25));-webkit-transform-origin:top right;transform-origin:top right}.fa-layers-bottom-right{bottom:var(--fa-bottom,0);right:var(--fa-right,0);top:auto;-webkit-transform:scale(var(--fa-layers-scale,.25));transform:scale(var(--fa-layers-scale,.25));-webkit-transform-origin:bottom right;transform-origin:bottom right}.fa-layers-bottom-left{bottom:var(--fa-bottom,0);left:var(--fa-left,0);right:auto;top:auto;-webkit-transform:scale(var(--fa-layers-scale,.25));transform:scale(var(--fa-layers-scale,.25));-webkit-transform-origin:bottom left;transform-origin:bottom left}.fa-layers-top-right{top:var(--fa-top,0);right:var(--fa-right,0);-webkit-transform:scale(var(--fa-layers-scale,.25));transform:scale(var(--fa-layers-scale,.25));-webkit-transform-origin:top right;transform-origin:top right}.fa-layers-top-left{left:var(--fa-left,0);right:auto;top:var(--fa-top,0);-webkit-transform:scale(var(--fa-layers-scale,.25));transform:scale(var(--fa-layers-scale,.25));-webkit-transform-origin:top left;transform-origin:top left}.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:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.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,.1em);border:var(--fa-border-width,.08em) var(--fa-border-style,solid) var(--fa-border-color,#eee);padding:var(--fa-border-padding,.2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin,.3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin,.3em)}.fa-beat{-webkit-animation-name:fa-beat;animation-name:fa-beat;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{-webkit-animation-name:fa-bounce;animation-name:fa-bounce;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1))}.fa-fade{-webkit-animation-name:fa-fade;animation-name:fa-fade;-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-beat-fade,.fa-fade{-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s)}.fa-beat-fade{-webkit-animation-name:fa-beat-fade;animation-name:fa-beat-fade;-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-flip{-webkit-animation-name:fa-flip;animation-name:fa-flip;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{-webkit-animation-name:fa-shake;animation-name:fa-shake;-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,linear);animation-timing-function:var(--fa-animation-timing,linear)}.fa-shake,.fa-spin{-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal)}.fa-spin{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-duration:var(--fa-animation-duration,2s);animation-duration:var(--fa-animation-duration,2s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,linear);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,steps(8));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{-webkit-animation-delay:-1ms;animation-delay:-1ms;-webkit-animation-duration:1ms;animation-duration:1ms;-webkit-animation-iteration-count:1;animation-iteration-count:1;-webkit-transition-delay:0s;transition-delay:0s;-webkit-transition-duration:0s;transition-duration:0s}}@-webkit-keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@-webkit-keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@-webkit-keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@-webkit-keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@-webkit-keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@-webkit-keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}.fa-rotate-by{-webkit-transform:rotate(var(--fa-rotate-angle,none));transform:rotate(var(--fa-rotate-angle,none))}.fa-stack{display:inline-block;vertical-align:middle;height:2em;position:relative;width:2.5em}.fa-stack-1x,.fa-stack-2x{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0;z-index:var(--fa-stack-z-index,auto)}.svg-inline--fa.fa-stack-1x{height:1em;width:1.25em}.svg-inline--fa.fa-stack-2x{height:2em;width:2.5em}.fa-inverse{color:var(--fa-inverse,#fff)}.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}.svg-inline--fa .fa-primary{fill:var(--fa-primary-color,currentColor);opacity:var(--fa-primary-opacity,1)}.svg-inline--fa .fa-secondary{fill:var(--fa-secondary-color,currentColor)}.svg-inline--fa .fa-secondary,.svg-inline--fa.fa-swap-opacity .fa-primary{opacity:var(--fa-secondary-opacity,.4)}.svg-inline--fa.fa-swap-opacity .fa-secondary{opacity:var(--fa-primary-opacity,1)}.svg-inline--fa mask .fa-primary,.svg-inline--fa mask .fa-secondary{fill:#000}.fa-duotone.fa-inverse,.fad.fa-inverse{color:var(--fa-inverse,#fff)} \ No newline at end of file diff --git a/fontawesome/css/v4-font-face.css b/fontawesome/css/v4-font-face.css deleted file mode 100644 index 5d9f2de0a66171321341036ccd77096d6c993ede..0000000000000000000000000000000000000000 --- a/fontawesome/css/v4-font-face.css +++ /dev/null @@ -1,26 +0,0 @@ -/*! - * Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) - * Copyright 2023 Fonticons, Inc. - */ -@font-face { - font-family: 'FontAwesome'; - font-display: block; - src: url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.ttf") format("truetype"); } - -@font-face { - font-family: 'FontAwesome'; - font-display: block; - src: url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.ttf") format("truetype"); } - -@font-face { - font-family: 'FontAwesome'; - font-display: block; - src: url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.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("../webfonts/fa-v4compatibility.woff2") format("woff2"), url("../webfonts/fa-v4compatibility.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; } diff --git a/fontawesome/css/v4-font-face.min.css b/fontawesome/css/v4-font-face.min.css deleted file mode 100644 index 97be92d12a1957be87a7047f5e448e21a9f29a91..0000000000000000000000000000000000000000 --- a/fontawesome/css/v4-font-face.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) - * Copyright 2023 Fonticons, Inc. - */ -@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.ttf) format("truetype")}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.ttf) format("truetype")}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.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(../webfonts/fa-v4compatibility.woff2) format("woff2"),url(../webfonts/fa-v4compatibility.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} \ No newline at end of file diff --git a/fontawesome/css/v4-shims.css b/fontawesome/css/v4-shims.css deleted file mode 100644 index 3598f165e2f89e853fac021dccdc0bf08d1b137d..0000000000000000000000000000000000000000 --- a/fontawesome/css/v4-shims.css +++ /dev/null @@ -1,2194 +0,0 @@ -/*! - * Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) - * Copyright 2023 Fonticons, Inc. - */ -.fa.fa-glass:before { - content: "\f000"; } - -.fa.fa-envelope-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-envelope-o:before { - content: "\f0e0"; } - -.fa.fa-star-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-star-o:before { - content: "\f005"; } - -.fa.fa-remove:before { - content: "\f00d"; } - -.fa.fa-close:before { - content: "\f00d"; } - -.fa.fa-gear:before { - content: "\f013"; } - -.fa.fa-trash-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-trash-o:before { - content: "\f2ed"; } - -.fa.fa-home:before { - content: "\f015"; } - -.fa.fa-file-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-file-o:before { - content: "\f15b"; } - -.fa.fa-clock-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-clock-o:before { - content: "\f017"; } - -.fa.fa-arrow-circle-o-down { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-arrow-circle-o-down:before { - content: "\f358"; } - -.fa.fa-arrow-circle-o-up { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-arrow-circle-o-up:before { - content: "\f35b"; } - -.fa.fa-play-circle-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-play-circle-o:before { - content: "\f144"; } - -.fa.fa-repeat:before { - content: "\f01e"; } - -.fa.fa-rotate-right:before { - content: "\f01e"; } - -.fa.fa-refresh:before { - content: "\f021"; } - -.fa.fa-list-alt { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-list-alt:before { - content: "\f022"; } - -.fa.fa-dedent:before { - content: "\f03b"; } - -.fa.fa-video-camera:before { - content: "\f03d"; } - -.fa.fa-picture-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-picture-o:before { - content: "\f03e"; } - -.fa.fa-photo { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-photo:before { - content: "\f03e"; } - -.fa.fa-image { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-image:before { - content: "\f03e"; } - -.fa.fa-map-marker:before { - content: "\f3c5"; } - -.fa.fa-pencil-square-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-pencil-square-o:before { - content: "\f044"; } - -.fa.fa-edit { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-edit:before { - content: "\f044"; } - -.fa.fa-share-square-o:before { - content: "\f14d"; } - -.fa.fa-check-square-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-check-square-o:before { - content: "\f14a"; } - -.fa.fa-arrows:before { - content: "\f0b2"; } - -.fa.fa-times-circle-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-times-circle-o:before { - content: "\f057"; } - -.fa.fa-check-circle-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-check-circle-o:before { - content: "\f058"; } - -.fa.fa-mail-forward:before { - content: "\f064"; } - -.fa.fa-expand:before { - content: "\f424"; } - -.fa.fa-compress:before { - content: "\f422"; } - -.fa.fa-eye { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-eye-slash { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-warning:before { - content: "\f071"; } - -.fa.fa-calendar:before { - content: "\f073"; } - -.fa.fa-arrows-v:before { - content: "\f338"; } - -.fa.fa-arrows-h:before { - content: "\f337"; } - -.fa.fa-bar-chart:before { - content: "\e0e3"; } - -.fa.fa-bar-chart-o:before { - content: "\e0e3"; } - -.fa.fa-twitter-square { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-twitter-square:before { - content: "\f081"; } - -.fa.fa-facebook-square { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-facebook-square:before { - content: "\f082"; } - -.fa.fa-gears:before { - content: "\f085"; } - -.fa.fa-thumbs-o-up { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-thumbs-o-up:before { - content: "\f164"; } - -.fa.fa-thumbs-o-down { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-thumbs-o-down:before { - content: "\f165"; } - -.fa.fa-heart-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-heart-o:before { - content: "\f004"; } - -.fa.fa-sign-out:before { - content: "\f2f5"; } - -.fa.fa-linkedin-square { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-linkedin-square:before { - content: "\f08c"; } - -.fa.fa-thumb-tack:before { - content: "\f08d"; } - -.fa.fa-external-link:before { - content: "\f35d"; } - -.fa.fa-sign-in:before { - content: "\f2f6"; } - -.fa.fa-github-square { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-github-square:before { - content: "\f092"; } - -.fa.fa-lemon-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-lemon-o:before { - content: "\f094"; } - -.fa.fa-square-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-square-o:before { - content: "\f0c8"; } - -.fa.fa-bookmark-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-bookmark-o:before { - content: "\f02e"; } - -.fa.fa-twitter { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-facebook { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-facebook:before { - content: "\f39e"; } - -.fa.fa-facebook-f { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-facebook-f:before { - content: "\f39e"; } - -.fa.fa-github { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-credit-card { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-feed:before { - content: "\f09e"; } - -.fa.fa-hdd-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-hdd-o:before { - content: "\f0a0"; } - -.fa.fa-hand-o-right { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-hand-o-right:before { - content: "\f0a4"; } - -.fa.fa-hand-o-left { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-hand-o-left:before { - content: "\f0a5"; } - -.fa.fa-hand-o-up { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-hand-o-up:before { - content: "\f0a6"; } - -.fa.fa-hand-o-down { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-hand-o-down:before { - content: "\f0a7"; } - -.fa.fa-globe:before { - content: "\f57d"; } - -.fa.fa-tasks:before { - content: "\f828"; } - -.fa.fa-arrows-alt:before { - content: "\f31e"; } - -.fa.fa-group:before { - content: "\f0c0"; } - -.fa.fa-chain:before { - content: "\f0c1"; } - -.fa.fa-cut:before { - content: "\f0c4"; } - -.fa.fa-files-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-files-o:before { - content: "\f0c5"; } - -.fa.fa-floppy-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-floppy-o:before { - content: "\f0c7"; } - -.fa.fa-save { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-save:before { - content: "\f0c7"; } - -.fa.fa-navicon:before { - content: "\f0c9"; } - -.fa.fa-reorder:before { - content: "\f0c9"; } - -.fa.fa-magic:before { - content: "\e2ca"; } - -.fa.fa-pinterest { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-pinterest-square { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-pinterest-square:before { - content: "\f0d3"; } - -.fa.fa-google-plus-square { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-google-plus-square:before { - content: "\f0d4"; } - -.fa.fa-google-plus { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-google-plus:before { - content: "\f0d5"; } - -.fa.fa-money:before { - content: "\f3d1"; } - -.fa.fa-unsorted:before { - content: "\f0dc"; } - -.fa.fa-sort-desc:before { - content: "\f0dd"; } - -.fa.fa-sort-asc:before { - content: "\f0de"; } - -.fa.fa-linkedin { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-linkedin:before { - content: "\f0e1"; } - -.fa.fa-rotate-left:before { - content: "\f0e2"; } - -.fa.fa-legal:before { - content: "\f0e3"; } - -.fa.fa-tachometer:before { - content: "\f625"; } - -.fa.fa-dashboard:before { - content: "\f625"; } - -.fa.fa-comment-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-comment-o:before { - content: "\f075"; } - -.fa.fa-comments-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-comments-o:before { - content: "\f086"; } - -.fa.fa-flash:before { - content: "\f0e7"; } - -.fa.fa-clipboard:before { - content: "\f0ea"; } - -.fa.fa-lightbulb-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-lightbulb-o:before { - content: "\f0eb"; } - -.fa.fa-exchange:before { - content: "\f362"; } - -.fa.fa-cloud-download:before { - content: "\f0ed"; } - -.fa.fa-cloud-upload:before { - content: "\f0ee"; } - -.fa.fa-bell-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-bell-o:before { - content: "\f0f3"; } - -.fa.fa-cutlery:before { - content: "\f2e7"; } - -.fa.fa-file-text-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-file-text-o:before { - content: "\f15c"; } - -.fa.fa-building-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-building-o:before { - content: "\f1ad"; } - -.fa.fa-hospital-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-hospital-o:before { - content: "\f0f8"; } - -.fa.fa-tablet:before { - content: "\f3fa"; } - -.fa.fa-mobile:before { - content: "\f3cd"; } - -.fa.fa-mobile-phone:before { - content: "\f3cd"; } - -.fa.fa-circle-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-circle-o:before { - content: "\f111"; } - -.fa.fa-mail-reply:before { - content: "\f3e5"; } - -.fa.fa-github-alt { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-folder-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-folder-o:before { - content: "\f07b"; } - -.fa.fa-folder-open-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-folder-open-o:before { - content: "\f07c"; } - -.fa.fa-smile-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-smile-o:before { - content: "\f118"; } - -.fa.fa-frown-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-frown-o:before { - content: "\f119"; } - -.fa.fa-meh-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-meh-o:before { - content: "\f11a"; } - -.fa.fa-keyboard-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-keyboard-o:before { - content: "\f11c"; } - -.fa.fa-flag-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-flag-o:before { - content: "\f024"; } - -.fa.fa-mail-reply-all:before { - content: "\f122"; } - -.fa.fa-star-half-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-star-half-o:before { - content: "\f5c0"; } - -.fa.fa-star-half-empty { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-star-half-empty:before { - content: "\f5c0"; } - -.fa.fa-star-half-full { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-star-half-full:before { - content: "\f5c0"; } - -.fa.fa-code-fork:before { - content: "\f126"; } - -.fa.fa-chain-broken:before { - content: "\f127"; } - -.fa.fa-unlink:before { - content: "\f127"; } - -.fa.fa-calendar-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-calendar-o:before { - content: "\f133"; } - -.fa.fa-maxcdn { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-html5 { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-css3 { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-unlock-alt:before { - content: "\f09c"; } - -.fa.fa-minus-square-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-minus-square-o:before { - content: "\f146"; } - -.fa.fa-level-up:before { - content: "\f3bf"; } - -.fa.fa-level-down:before { - content: "\f3be"; } - -.fa.fa-pencil-square:before { - content: "\f14b"; } - -.fa.fa-external-link-square:before { - content: "\f360"; } - -.fa.fa-compass { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-caret-square-o-down { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-caret-square-o-down:before { - content: "\f150"; } - -.fa.fa-toggle-down { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-toggle-down:before { - content: "\f150"; } - -.fa.fa-caret-square-o-up { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-caret-square-o-up:before { - content: "\f151"; } - -.fa.fa-toggle-up { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-toggle-up:before { - content: "\f151"; } - -.fa.fa-caret-square-o-right { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-caret-square-o-right:before { - content: "\f152"; } - -.fa.fa-toggle-right { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-toggle-right:before { - content: "\f152"; } - -.fa.fa-eur:before { - content: "\f153"; } - -.fa.fa-euro:before { - content: "\f153"; } - -.fa.fa-gbp:before { - content: "\f154"; } - -.fa.fa-usd:before { - content: "\24"; } - -.fa.fa-dollar:before { - content: "\24"; } - -.fa.fa-inr:before { - content: "\e1bc"; } - -.fa.fa-rupee:before { - content: "\e1bc"; } - -.fa.fa-jpy:before { - content: "\f157"; } - -.fa.fa-cny:before { - content: "\f157"; } - -.fa.fa-rmb:before { - content: "\f157"; } - -.fa.fa-yen:before { - content: "\f157"; } - -.fa.fa-rub:before { - content: "\f158"; } - -.fa.fa-ruble:before { - content: "\f158"; } - -.fa.fa-rouble:before { - content: "\f158"; } - -.fa.fa-krw:before { - content: "\f159"; } - -.fa.fa-won:before { - content: "\f159"; } - -.fa.fa-btc { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-bitcoin { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-bitcoin:before { - content: "\f15a"; } - -.fa.fa-file-text:before { - content: "\f15c"; } - -.fa.fa-sort-alpha-asc:before { - content: "\f15d"; } - -.fa.fa-sort-alpha-desc:before { - content: "\f881"; } - -.fa.fa-sort-amount-asc:before { - content: "\f884"; } - -.fa.fa-sort-amount-desc:before { - content: "\f160"; } - -.fa.fa-sort-numeric-asc:before { - content: "\f162"; } - -.fa.fa-sort-numeric-desc:before { - content: "\f886"; } - -.fa.fa-youtube-square { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-youtube-square:before { - content: "\f431"; } - -.fa.fa-youtube { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-xing { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-xing-square { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-xing-square:before { - content: "\f169"; } - -.fa.fa-youtube-play { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-youtube-play:before { - content: "\f167"; } - -.fa.fa-dropbox { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-stack-overflow { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-instagram { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-flickr { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-adn { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-bitbucket { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-bitbucket-square { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-bitbucket-square:before { - content: "\f171"; } - -.fa.fa-tumblr { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-tumblr-square { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-tumblr-square:before { - content: "\f174"; } - -.fa.fa-long-arrow-down:before { - content: "\f309"; } - -.fa.fa-long-arrow-up:before { - content: "\f30c"; } - -.fa.fa-long-arrow-left:before { - content: "\f30a"; } - -.fa.fa-long-arrow-right:before { - content: "\f30b"; } - -.fa.fa-apple { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-windows { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-android { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-linux { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-dribbble { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-skype { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-foursquare { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-trello { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-gratipay { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-gittip { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-gittip:before { - content: "\f184"; } - -.fa.fa-sun-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-sun-o:before { - content: "\f185"; } - -.fa.fa-moon-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-moon-o:before { - content: "\f186"; } - -.fa.fa-vk { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-weibo { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-renren { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-pagelines { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-stack-exchange { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-arrow-circle-o-right { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-arrow-circle-o-right:before { - content: "\f35a"; } - -.fa.fa-arrow-circle-o-left { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-arrow-circle-o-left:before { - content: "\f359"; } - -.fa.fa-caret-square-o-left { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-caret-square-o-left:before { - content: "\f191"; } - -.fa.fa-toggle-left { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-toggle-left:before { - content: "\f191"; } - -.fa.fa-dot-circle-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-dot-circle-o:before { - content: "\f192"; } - -.fa.fa-vimeo-square { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-vimeo-square:before { - content: "\f194"; } - -.fa.fa-try:before { - content: "\e2bb"; } - -.fa.fa-turkish-lira:before { - content: "\e2bb"; } - -.fa.fa-plus-square-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-plus-square-o:before { - content: "\f0fe"; } - -.fa.fa-slack { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-wordpress { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-openid { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-institution:before { - content: "\f19c"; } - -.fa.fa-bank:before { - content: "\f19c"; } - -.fa.fa-mortar-board:before { - content: "\f19d"; } - -.fa.fa-yahoo { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-google { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-reddit { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-reddit-square { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-reddit-square:before { - content: "\f1a2"; } - -.fa.fa-stumbleupon-circle { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-stumbleupon { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-delicious { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-digg { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-pied-piper-pp { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-pied-piper-alt { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-drupal { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-joomla { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-behance { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-behance-square { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-behance-square:before { - content: "\f1b5"; } - -.fa.fa-steam { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-steam-square { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-steam-square:before { - content: "\f1b7"; } - -.fa.fa-automobile:before { - content: "\f1b9"; } - -.fa.fa-cab:before { - content: "\f1ba"; } - -.fa.fa-spotify { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-deviantart { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-soundcloud { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-file-pdf-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-file-pdf-o:before { - content: "\f1c1"; } - -.fa.fa-file-word-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-file-word-o:before { - content: "\f1c2"; } - -.fa.fa-file-excel-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-file-excel-o:before { - content: "\f1c3"; } - -.fa.fa-file-powerpoint-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-file-powerpoint-o:before { - content: "\f1c4"; } - -.fa.fa-file-image-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-file-image-o:before { - content: "\f1c5"; } - -.fa.fa-file-photo-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-file-photo-o:before { - content: "\f1c5"; } - -.fa.fa-file-picture-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-file-picture-o:before { - content: "\f1c5"; } - -.fa.fa-file-archive-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-file-archive-o:before { - content: "\f1c6"; } - -.fa.fa-file-zip-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-file-zip-o:before { - content: "\f1c6"; } - -.fa.fa-file-audio-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-file-audio-o:before { - content: "\f1c7"; } - -.fa.fa-file-sound-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-file-sound-o:before { - content: "\f1c7"; } - -.fa.fa-file-video-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-file-video-o:before { - content: "\f1c8"; } - -.fa.fa-file-movie-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-file-movie-o:before { - content: "\f1c8"; } - -.fa.fa-file-code-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-file-code-o:before { - content: "\f1c9"; } - -.fa.fa-vine { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-codepen { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-jsfiddle { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-life-bouy:before { - content: "\f1cd"; } - -.fa.fa-life-buoy:before { - content: "\f1cd"; } - -.fa.fa-life-saver:before { - content: "\f1cd"; } - -.fa.fa-support:before { - content: "\f1cd"; } - -.fa.fa-circle-o-notch:before { - content: "\f1ce"; } - -.fa.fa-rebel { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-ra { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-ra:before { - content: "\f1d0"; } - -.fa.fa-resistance { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-resistance:before { - content: "\f1d0"; } - -.fa.fa-empire { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-ge { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-ge:before { - content: "\f1d1"; } - -.fa.fa-git-square { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-git-square:before { - content: "\f1d2"; } - -.fa.fa-git { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-hacker-news { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-y-combinator-square { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-y-combinator-square:before { - content: "\f1d4"; } - -.fa.fa-yc-square { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-yc-square:before { - content: "\f1d4"; } - -.fa.fa-tencent-weibo { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-qq { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-weixin { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-wechat { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-wechat:before { - content: "\f1d7"; } - -.fa.fa-send:before { - content: "\f1d8"; } - -.fa.fa-paper-plane-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-paper-plane-o:before { - content: "\f1d8"; } - -.fa.fa-send-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-send-o:before { - content: "\f1d8"; } - -.fa.fa-circle-thin { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-circle-thin:before { - content: "\f111"; } - -.fa.fa-header:before { - content: "\f1dc"; } - -.fa.fa-futbol-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-futbol-o:before { - content: "\f1e3"; } - -.fa.fa-soccer-ball-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-soccer-ball-o:before { - content: "\f1e3"; } - -.fa.fa-slideshare { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-twitch { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-yelp { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-newspaper-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-newspaper-o:before { - content: "\f1ea"; } - -.fa.fa-paypal { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-google-wallet { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-cc-visa { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-cc-mastercard { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-cc-discover { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-cc-amex { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-cc-paypal { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-cc-stripe { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-bell-slash-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-bell-slash-o:before { - content: "\f1f6"; } - -.fa.fa-trash:before { - content: "\f2ed"; } - -.fa.fa-copyright { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-eyedropper:before { - content: "\f1fb"; } - -.fa.fa-area-chart:before { - content: "\f1fe"; } - -.fa.fa-pie-chart:before { - content: "\f200"; } - -.fa.fa-line-chart:before { - content: "\f201"; } - -.fa.fa-lastfm { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-lastfm-square { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-lastfm-square:before { - content: "\f203"; } - -.fa.fa-ioxhost { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-angellist { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-cc { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-cc:before { - content: "\f20a"; } - -.fa.fa-ils:before { - content: "\f20b"; } - -.fa.fa-shekel:before { - content: "\f20b"; } - -.fa.fa-sheqel:before { - content: "\f20b"; } - -.fa.fa-buysellads { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-connectdevelop { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-dashcube { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-forumbee { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-leanpub { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-sellsy { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-shirtsinbulk { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-simplybuilt { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-skyatlas { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-diamond { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-diamond:before { - content: "\f3a5"; } - -.fa.fa-transgender:before { - content: "\f224"; } - -.fa.fa-intersex:before { - content: "\f224"; } - -.fa.fa-transgender-alt:before { - content: "\f225"; } - -.fa.fa-facebook-official { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-facebook-official:before { - content: "\f09a"; } - -.fa.fa-pinterest-p { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-whatsapp { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-hotel:before { - content: "\f236"; } - -.fa.fa-viacoin { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-medium { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-y-combinator { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-yc { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-yc:before { - content: "\f23b"; } - -.fa.fa-optin-monster { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-opencart { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-expeditedssl { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-battery-4:before { - content: "\f240"; } - -.fa.fa-battery:before { - content: "\f240"; } - -.fa.fa-battery-3:before { - content: "\f241"; } - -.fa.fa-battery-2:before { - content: "\f242"; } - -.fa.fa-battery-1:before { - content: "\f243"; } - -.fa.fa-battery-0:before { - content: "\f244"; } - -.fa.fa-object-group { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-object-ungroup { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-sticky-note-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-sticky-note-o:before { - content: "\f249"; } - -.fa.fa-cc-jcb { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-cc-diners-club { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-clone { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-hourglass-o:before { - content: "\f254"; } - -.fa.fa-hourglass-1:before { - content: "\f251"; } - -.fa.fa-hourglass-2:before { - content: "\f252"; } - -.fa.fa-hourglass-3:before { - content: "\f253"; } - -.fa.fa-hand-rock-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-hand-rock-o:before { - content: "\f255"; } - -.fa.fa-hand-grab-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-hand-grab-o:before { - content: "\f255"; } - -.fa.fa-hand-paper-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-hand-paper-o:before { - content: "\f256"; } - -.fa.fa-hand-stop-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-hand-stop-o:before { - content: "\f256"; } - -.fa.fa-hand-scissors-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-hand-scissors-o:before { - content: "\f257"; } - -.fa.fa-hand-lizard-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-hand-lizard-o:before { - content: "\f258"; } - -.fa.fa-hand-spock-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-hand-spock-o:before { - content: "\f259"; } - -.fa.fa-hand-pointer-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-hand-pointer-o:before { - content: "\f25a"; } - -.fa.fa-hand-peace-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-hand-peace-o:before { - content: "\f25b"; } - -.fa.fa-registered { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-creative-commons { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-gg { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-gg-circle { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-odnoklassniki { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-odnoklassniki-square { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-odnoklassniki-square:before { - content: "\f264"; } - -.fa.fa-get-pocket { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-wikipedia-w { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-safari { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-chrome { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-firefox { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-opera { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-internet-explorer { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-television:before { - content: "\f26c"; } - -.fa.fa-contao { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-500px { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-amazon { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-calendar-plus-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-calendar-plus-o:before { - content: "\f271"; } - -.fa.fa-calendar-minus-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-calendar-minus-o:before { - content: "\f272"; } - -.fa.fa-calendar-times-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-calendar-times-o:before { - content: "\f273"; } - -.fa.fa-calendar-check-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-calendar-check-o:before { - content: "\f274"; } - -.fa.fa-map-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-map-o:before { - content: "\f279"; } - -.fa.fa-commenting:before { - content: "\f4ad"; } - -.fa.fa-commenting-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-commenting-o:before { - content: "\f4ad"; } - -.fa.fa-houzz { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-vimeo { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-vimeo:before { - content: "\f27d"; } - -.fa.fa-black-tie { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-fonticons { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-reddit-alien { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-edge { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-credit-card-alt:before { - content: "\f09d"; } - -.fa.fa-codiepie { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-modx { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-fort-awesome { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-usb { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-product-hunt { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-mixcloud { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-scribd { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-pause-circle-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-pause-circle-o:before { - content: "\f28b"; } - -.fa.fa-stop-circle-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-stop-circle-o:before { - content: "\f28d"; } - -.fa.fa-bluetooth { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-bluetooth-b { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-gitlab { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-wpbeginner { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-wpforms { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-envira { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-wheelchair-alt { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-wheelchair-alt:before { - content: "\f368"; } - -.fa.fa-question-circle-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-question-circle-o:before { - content: "\f059"; } - -.fa.fa-volume-control-phone:before { - content: "\f2a0"; } - -.fa.fa-asl-interpreting:before { - content: "\f2a3"; } - -.fa.fa-deafness:before { - content: "\f2a4"; } - -.fa.fa-hard-of-hearing:before { - content: "\f2a4"; } - -.fa.fa-glide { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-glide-g { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-signing:before { - content: "\f2a7"; } - -.fa.fa-viadeo { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-viadeo-square { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-viadeo-square:before { - content: "\f2aa"; } - -.fa.fa-snapchat { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-snapchat-ghost { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-snapchat-ghost:before { - content: "\f2ab"; } - -.fa.fa-snapchat-square { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-snapchat-square:before { - content: "\f2ad"; } - -.fa.fa-pied-piper { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-first-order { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-yoast { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-themeisle { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-google-plus-official { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-google-plus-official:before { - content: "\f2b3"; } - -.fa.fa-google-plus-circle { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-google-plus-circle:before { - content: "\f2b3"; } - -.fa.fa-font-awesome { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-fa { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-fa:before { - content: "\f2b4"; } - -.fa.fa-handshake-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-handshake-o:before { - content: "\f2b5"; } - -.fa.fa-envelope-open-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-envelope-open-o:before { - content: "\f2b6"; } - -.fa.fa-linode { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-address-book-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-address-book-o:before { - content: "\f2b9"; } - -.fa.fa-vcard:before { - content: "\f2bb"; } - -.fa.fa-address-card-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-address-card-o:before { - content: "\f2bb"; } - -.fa.fa-vcard-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-vcard-o:before { - content: "\f2bb"; } - -.fa.fa-user-circle-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-user-circle-o:before { - content: "\f2bd"; } - -.fa.fa-user-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-user-o:before { - content: "\f007"; } - -.fa.fa-id-badge { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-drivers-license:before { - content: "\f2c2"; } - -.fa.fa-id-card-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-id-card-o:before { - content: "\f2c2"; } - -.fa.fa-drivers-license-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-drivers-license-o:before { - content: "\f2c2"; } - -.fa.fa-quora { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-free-code-camp { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-telegram { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-thermometer-4:before { - content: "\f2c7"; } - -.fa.fa-thermometer:before { - content: "\f2c7"; } - -.fa.fa-thermometer-3:before { - content: "\f2c8"; } - -.fa.fa-thermometer-2:before { - content: "\f2c9"; } - -.fa.fa-thermometer-1:before { - content: "\f2ca"; } - -.fa.fa-thermometer-0:before { - content: "\f2cb"; } - -.fa.fa-bathtub:before { - content: "\f2cd"; } - -.fa.fa-s15:before { - content: "\f2cd"; } - -.fa.fa-window-maximize { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-window-restore { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-times-rectangle:before { - content: "\f410"; } - -.fa.fa-window-close-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-window-close-o:before { - content: "\f410"; } - -.fa.fa-times-rectangle-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-times-rectangle-o:before { - content: "\f410"; } - -.fa.fa-bandcamp { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-grav { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-etsy { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-imdb { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-ravelry { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-eercast { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-eercast:before { - content: "\f2da"; } - -.fa.fa-snowflake-o { - font-family: 'Font Awesome 6 Free'; - font-weight: 400; } - -.fa.fa-snowflake-o:before { - content: "\f2dc"; } - -.fa.fa-superpowers { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-wpexplorer { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } - -.fa.fa-meetup { - font-family: 'Font Awesome 6 Brands'; - font-weight: 400; } diff --git a/fontawesome/css/v4-shims.min.css b/fontawesome/css/v4-shims.min.css deleted file mode 100644 index d90dff8103a89d68870629257e2353c29bf3a7d9..0000000000000000000000000000000000000000 --- a/fontawesome/css/v4-shims.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) - * Copyright 2023 Fonticons, Inc. - */ -.fa.fa-glass:before{content:"\f000"}.fa.fa-envelope-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-envelope-o:before{content:"\f0e0"}.fa.fa-star-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-star-o:before{content:"\f005"}.fa.fa-close:before,.fa.fa-remove:before{content:"\f00d"}.fa.fa-gear:before{content:"\f013"}.fa.fa-trash-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-trash-o:before{content:"\f2ed"}.fa.fa-home:before{content:"\f015"}.fa.fa-file-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-o:before{content:"\f15b"}.fa.fa-clock-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-clock-o:before{content:"\f017"}.fa.fa-arrow-circle-o-down{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-arrow-circle-o-down:before{content:"\f358"}.fa.fa-arrow-circle-o-up{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-arrow-circle-o-up:before{content:"\f35b"}.fa.fa-play-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-play-circle-o:before{content:"\f144"}.fa.fa-repeat:before,.fa.fa-rotate-right:before{content:"\f01e"}.fa.fa-refresh:before{content:"\f021"}.fa.fa-list-alt{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-list-alt:before{content:"\f022"}.fa.fa-dedent:before{content:"\f03b"}.fa.fa-video-camera:before{content:"\f03d"}.fa.fa-picture-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-picture-o:before{content:"\f03e"}.fa.fa-photo{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-photo:before{content:"\f03e"}.fa.fa-image{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-image:before{content:"\f03e"}.fa.fa-map-marker:before{content:"\f3c5"}.fa.fa-pencil-square-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-pencil-square-o:before{content:"\f044"}.fa.fa-edit{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-edit:before{content:"\f044"}.fa.fa-share-square-o:before{content:"\f14d"}.fa.fa-check-square-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-check-square-o:before{content:"\f14a"}.fa.fa-arrows:before{content:"\f0b2"}.fa.fa-times-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-times-circle-o:before{content:"\f057"}.fa.fa-check-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-check-circle-o:before{content:"\f058"}.fa.fa-mail-forward:before{content:"\f064"}.fa.fa-expand:before{content:"\f424"}.fa.fa-compress:before{content:"\f422"}.fa.fa-eye,.fa.fa-eye-slash{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-warning:before{content:"\f071"}.fa.fa-calendar:before{content:"\f073"}.fa.fa-arrows-v:before{content:"\f338"}.fa.fa-arrows-h:before{content:"\f337"}.fa.fa-bar-chart-o:before,.fa.fa-bar-chart:before{content:"\e0e3"}.fa.fa-twitter-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-twitter-square:before{content:"\f081"}.fa.fa-facebook-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-facebook-square:before{content:"\f082"}.fa.fa-gears:before{content:"\f085"}.fa.fa-thumbs-o-up{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-thumbs-o-up:before{content:"\f164"}.fa.fa-thumbs-o-down{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-thumbs-o-down:before{content:"\f165"}.fa.fa-heart-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-heart-o:before{content:"\f004"}.fa.fa-sign-out:before{content:"\f2f5"}.fa.fa-linkedin-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-linkedin-square:before{content:"\f08c"}.fa.fa-thumb-tack:before{content:"\f08d"}.fa.fa-external-link:before{content:"\f35d"}.fa.fa-sign-in:before{content:"\f2f6"}.fa.fa-github-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-github-square:before{content:"\f092"}.fa.fa-lemon-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-lemon-o:before{content:"\f094"}.fa.fa-square-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-square-o:before{content:"\f0c8"}.fa.fa-bookmark-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-bookmark-o:before{content:"\f02e"}.fa.fa-facebook,.fa.fa-twitter{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-facebook:before{content:"\f39e"}.fa.fa-facebook-f{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-facebook-f:before{content:"\f39e"}.fa.fa-github{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-credit-card{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-feed:before{content:"\f09e"}.fa.fa-hdd-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hdd-o:before{content:"\f0a0"}.fa.fa-hand-o-right{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-o-right:before{content:"\f0a4"}.fa.fa-hand-o-left{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-o-left:before{content:"\f0a5"}.fa.fa-hand-o-up{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-o-up:before{content:"\f0a6"}.fa.fa-hand-o-down{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-o-down:before{content:"\f0a7"}.fa.fa-globe:before{content:"\f57d"}.fa.fa-tasks:before{content:"\f828"}.fa.fa-arrows-alt:before{content:"\f31e"}.fa.fa-group:before{content:"\f0c0"}.fa.fa-chain:before{content:"\f0c1"}.fa.fa-cut:before{content:"\f0c4"}.fa.fa-files-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-files-o:before{content:"\f0c5"}.fa.fa-floppy-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-floppy-o:before{content:"\f0c7"}.fa.fa-save{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-save:before{content:"\f0c7"}.fa.fa-navicon:before,.fa.fa-reorder:before{content:"\f0c9"}.fa.fa-magic:before{content:"\e2ca"}.fa.fa-pinterest,.fa.fa-pinterest-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-pinterest-square:before{content:"\f0d3"}.fa.fa-google-plus-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-google-plus-square:before{content:"\f0d4"}.fa.fa-google-plus{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-google-plus:before{content:"\f0d5"}.fa.fa-money:before{content:"\f3d1"}.fa.fa-unsorted:before{content:"\f0dc"}.fa.fa-sort-desc:before{content:"\f0dd"}.fa.fa-sort-asc:before{content:"\f0de"}.fa.fa-linkedin{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-linkedin:before{content:"\f0e1"}.fa.fa-rotate-left:before{content:"\f0e2"}.fa.fa-legal:before{content:"\f0e3"}.fa.fa-dashboard:before,.fa.fa-tachometer:before{content:"\f625"}.fa.fa-comment-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-comment-o:before{content:"\f075"}.fa.fa-comments-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-comments-o:before{content:"\f086"}.fa.fa-flash:before{content:"\f0e7"}.fa.fa-clipboard:before{content:"\f0ea"}.fa.fa-lightbulb-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-lightbulb-o:before{content:"\f0eb"}.fa.fa-exchange:before{content:"\f362"}.fa.fa-cloud-download:before{content:"\f0ed"}.fa.fa-cloud-upload:before{content:"\f0ee"}.fa.fa-bell-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-bell-o:before{content:"\f0f3"}.fa.fa-cutlery:before{content:"\f2e7"}.fa.fa-file-text-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-text-o:before{content:"\f15c"}.fa.fa-building-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-building-o:before{content:"\f1ad"}.fa.fa-hospital-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hospital-o:before{content:"\f0f8"}.fa.fa-tablet:before{content:"\f3fa"}.fa.fa-mobile-phone:before,.fa.fa-mobile:before{content:"\f3cd"}.fa.fa-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-circle-o:before{content:"\f111"}.fa.fa-mail-reply:before{content:"\f3e5"}.fa.fa-github-alt{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-folder-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-folder-o:before{content:"\f07b"}.fa.fa-folder-open-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-folder-open-o:before{content:"\f07c"}.fa.fa-smile-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-smile-o:before{content:"\f118"}.fa.fa-frown-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-frown-o:before{content:"\f119"}.fa.fa-meh-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-meh-o:before{content:"\f11a"}.fa.fa-keyboard-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-keyboard-o:before{content:"\f11c"}.fa.fa-flag-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-flag-o:before{content:"\f024"}.fa.fa-mail-reply-all:before{content:"\f122"}.fa.fa-star-half-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-star-half-o:before{content:"\f5c0"}.fa.fa-star-half-empty{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-star-half-empty:before{content:"\f5c0"}.fa.fa-star-half-full{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-star-half-full:before{content:"\f5c0"}.fa.fa-code-fork:before{content:"\f126"}.fa.fa-chain-broken:before,.fa.fa-unlink:before{content:"\f127"}.fa.fa-calendar-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-calendar-o:before{content:"\f133"}.fa.fa-css3,.fa.fa-html5,.fa.fa-maxcdn{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-unlock-alt:before{content:"\f09c"}.fa.fa-minus-square-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-minus-square-o:before{content:"\f146"}.fa.fa-level-up:before{content:"\f3bf"}.fa.fa-level-down:before{content:"\f3be"}.fa.fa-pencil-square:before{content:"\f14b"}.fa.fa-external-link-square:before{content:"\f360"}.fa.fa-compass{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-caret-square-o-down{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-caret-square-o-down:before{content:"\f150"}.fa.fa-toggle-down{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-toggle-down:before{content:"\f150"}.fa.fa-caret-square-o-up{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-caret-square-o-up:before{content:"\f151"}.fa.fa-toggle-up{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-toggle-up:before{content:"\f151"}.fa.fa-caret-square-o-right{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-caret-square-o-right:before{content:"\f152"}.fa.fa-toggle-right{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-toggle-right:before{content:"\f152"}.fa.fa-eur:before,.fa.fa-euro:before{content:"\f153"}.fa.fa-gbp:before{content:"\f154"}.fa.fa-dollar:before,.fa.fa-usd:before{content:"\24"}.fa.fa-inr:before,.fa.fa-rupee:before{content:"\e1bc"}.fa.fa-cny:before,.fa.fa-jpy:before,.fa.fa-rmb:before,.fa.fa-yen:before{content:"\f157"}.fa.fa-rouble:before,.fa.fa-rub:before,.fa.fa-ruble:before{content:"\f158"}.fa.fa-krw:before,.fa.fa-won:before{content:"\f159"}.fa.fa-bitcoin,.fa.fa-btc{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-bitcoin:before{content:"\f15a"}.fa.fa-file-text:before{content:"\f15c"}.fa.fa-sort-alpha-asc:before{content:"\f15d"}.fa.fa-sort-alpha-desc:before{content:"\f881"}.fa.fa-sort-amount-asc:before{content:"\f884"}.fa.fa-sort-amount-desc:before{content:"\f160"}.fa.fa-sort-numeric-asc:before{content:"\f162"}.fa.fa-sort-numeric-desc:before{content:"\f886"}.fa.fa-youtube-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-youtube-square:before{content:"\f431"}.fa.fa-xing,.fa.fa-xing-square,.fa.fa-youtube{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-xing-square:before{content:"\f169"}.fa.fa-youtube-play{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-youtube-play:before{content:"\f167"}.fa.fa-adn,.fa.fa-bitbucket,.fa.fa-bitbucket-square,.fa.fa-dropbox,.fa.fa-flickr,.fa.fa-instagram,.fa.fa-stack-overflow{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-bitbucket-square:before{content:"\f171"}.fa.fa-tumblr,.fa.fa-tumblr-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-tumblr-square:before{content:"\f174"}.fa.fa-long-arrow-down:before{content:"\f309"}.fa.fa-long-arrow-up:before{content:"\f30c"}.fa.fa-long-arrow-left:before{content:"\f30a"}.fa.fa-long-arrow-right:before{content:"\f30b"}.fa.fa-android,.fa.fa-apple,.fa.fa-dribbble,.fa.fa-foursquare,.fa.fa-gittip,.fa.fa-gratipay,.fa.fa-linux,.fa.fa-skype,.fa.fa-trello,.fa.fa-windows{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-gittip:before{content:"\f184"}.fa.fa-sun-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-sun-o:before{content:"\f185"}.fa.fa-moon-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-moon-o:before{content:"\f186"}.fa.fa-pagelines,.fa.fa-renren,.fa.fa-stack-exchange,.fa.fa-vk,.fa.fa-weibo{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-arrow-circle-o-right{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-arrow-circle-o-right:before{content:"\f35a"}.fa.fa-arrow-circle-o-left{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-arrow-circle-o-left:before{content:"\f359"}.fa.fa-caret-square-o-left{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-caret-square-o-left:before{content:"\f191"}.fa.fa-toggle-left{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-toggle-left:before{content:"\f191"}.fa.fa-dot-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-dot-circle-o:before{content:"\f192"}.fa.fa-vimeo-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-vimeo-square:before{content:"\f194"}.fa.fa-try:before,.fa.fa-turkish-lira:before{content:"\e2bb"}.fa.fa-plus-square-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-plus-square-o:before{content:"\f0fe"}.fa.fa-openid,.fa.fa-slack,.fa.fa-wordpress{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-bank:before,.fa.fa-institution:before{content:"\f19c"}.fa.fa-mortar-board:before{content:"\f19d"}.fa.fa-google,.fa.fa-reddit,.fa.fa-reddit-square,.fa.fa-yahoo{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-reddit-square:before{content:"\f1a2"}.fa.fa-behance,.fa.fa-behance-square,.fa.fa-delicious,.fa.fa-digg,.fa.fa-drupal,.fa.fa-joomla,.fa.fa-pied-piper-alt,.fa.fa-pied-piper-pp,.fa.fa-stumbleupon,.fa.fa-stumbleupon-circle{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-behance-square:before{content:"\f1b5"}.fa.fa-steam,.fa.fa-steam-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-steam-square:before{content:"\f1b7"}.fa.fa-automobile:before{content:"\f1b9"}.fa.fa-cab:before{content:"\f1ba"}.fa.fa-deviantart,.fa.fa-soundcloud,.fa.fa-spotify{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-file-pdf-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-pdf-o:before{content:"\f1c1"}.fa.fa-file-word-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-word-o:before{content:"\f1c2"}.fa.fa-file-excel-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-excel-o:before{content:"\f1c3"}.fa.fa-file-powerpoint-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-powerpoint-o:before{content:"\f1c4"}.fa.fa-file-image-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-image-o:before{content:"\f1c5"}.fa.fa-file-photo-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-photo-o:before{content:"\f1c5"}.fa.fa-file-picture-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-picture-o:before{content:"\f1c5"}.fa.fa-file-archive-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-archive-o:before{content:"\f1c6"}.fa.fa-file-zip-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-zip-o:before{content:"\f1c6"}.fa.fa-file-audio-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-audio-o:before{content:"\f1c7"}.fa.fa-file-sound-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-sound-o:before{content:"\f1c7"}.fa.fa-file-video-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-video-o:before{content:"\f1c8"}.fa.fa-file-movie-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-movie-o:before{content:"\f1c8"}.fa.fa-file-code-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-file-code-o:before{content:"\f1c9"}.fa.fa-codepen,.fa.fa-jsfiddle,.fa.fa-vine{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-life-bouy:before,.fa.fa-life-buoy:before,.fa.fa-life-saver:before,.fa.fa-support:before{content:"\f1cd"}.fa.fa-circle-o-notch:before{content:"\f1ce"}.fa.fa-ra,.fa.fa-rebel{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-ra:before{content:"\f1d0"}.fa.fa-resistance{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-resistance:before{content:"\f1d0"}.fa.fa-empire,.fa.fa-ge{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-ge:before{content:"\f1d1"}.fa.fa-git-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-git-square:before{content:"\f1d2"}.fa.fa-git,.fa.fa-hacker-news,.fa.fa-y-combinator-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-y-combinator-square:before{content:"\f1d4"}.fa.fa-yc-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-yc-square:before{content:"\f1d4"}.fa.fa-qq,.fa.fa-tencent-weibo,.fa.fa-wechat,.fa.fa-weixin{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-wechat:before{content:"\f1d7"}.fa.fa-send:before{content:"\f1d8"}.fa.fa-paper-plane-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-paper-plane-o:before{content:"\f1d8"}.fa.fa-send-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-send-o:before{content:"\f1d8"}.fa.fa-circle-thin{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-circle-thin:before{content:"\f111"}.fa.fa-header:before{content:"\f1dc"}.fa.fa-futbol-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-futbol-o:before{content:"\f1e3"}.fa.fa-soccer-ball-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-soccer-ball-o:before{content:"\f1e3"}.fa.fa-slideshare,.fa.fa-twitch,.fa.fa-yelp{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-newspaper-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-newspaper-o:before{content:"\f1ea"}.fa.fa-cc-amex,.fa.fa-cc-discover,.fa.fa-cc-mastercard,.fa.fa-cc-paypal,.fa.fa-cc-stripe,.fa.fa-cc-visa,.fa.fa-google-wallet,.fa.fa-paypal{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-bell-slash-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-bell-slash-o:before{content:"\f1f6"}.fa.fa-trash:before{content:"\f2ed"}.fa.fa-copyright{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-eyedropper:before{content:"\f1fb"}.fa.fa-area-chart:before{content:"\f1fe"}.fa.fa-pie-chart:before{content:"\f200"}.fa.fa-line-chart:before{content:"\f201"}.fa.fa-lastfm,.fa.fa-lastfm-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-lastfm-square:before{content:"\f203"}.fa.fa-angellist,.fa.fa-ioxhost{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-cc{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-cc:before{content:"\f20a"}.fa.fa-ils:before,.fa.fa-shekel:before,.fa.fa-sheqel:before{content:"\f20b"}.fa.fa-buysellads,.fa.fa-connectdevelop,.fa.fa-dashcube,.fa.fa-forumbee,.fa.fa-leanpub,.fa.fa-sellsy,.fa.fa-shirtsinbulk,.fa.fa-simplybuilt,.fa.fa-skyatlas{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-diamond{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-diamond:before{content:"\f3a5"}.fa.fa-intersex:before,.fa.fa-transgender:before{content:"\f224"}.fa.fa-transgender-alt:before{content:"\f225"}.fa.fa-facebook-official{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-facebook-official:before{content:"\f09a"}.fa.fa-pinterest-p,.fa.fa-whatsapp{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-hotel:before{content:"\f236"}.fa.fa-medium,.fa.fa-viacoin,.fa.fa-y-combinator,.fa.fa-yc{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-yc:before{content:"\f23b"}.fa.fa-expeditedssl,.fa.fa-opencart,.fa.fa-optin-monster{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-battery-4:before,.fa.fa-battery:before{content:"\f240"}.fa.fa-battery-3:before{content:"\f241"}.fa.fa-battery-2:before{content:"\f242"}.fa.fa-battery-1:before{content:"\f243"}.fa.fa-battery-0:before{content:"\f244"}.fa.fa-object-group,.fa.fa-object-ungroup,.fa.fa-sticky-note-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-sticky-note-o:before{content:"\f249"}.fa.fa-cc-diners-club,.fa.fa-cc-jcb{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-clone{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hourglass-o:before{content:"\f254"}.fa.fa-hourglass-1:before{content:"\f251"}.fa.fa-hourglass-2:before{content:"\f252"}.fa.fa-hourglass-3:before{content:"\f253"}.fa.fa-hand-rock-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-rock-o:before{content:"\f255"}.fa.fa-hand-grab-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-grab-o:before{content:"\f255"}.fa.fa-hand-paper-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-paper-o:before{content:"\f256"}.fa.fa-hand-stop-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-stop-o:before{content:"\f256"}.fa.fa-hand-scissors-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-scissors-o:before{content:"\f257"}.fa.fa-hand-lizard-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-lizard-o:before{content:"\f258"}.fa.fa-hand-spock-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-spock-o:before{content:"\f259"}.fa.fa-hand-pointer-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-pointer-o:before{content:"\f25a"}.fa.fa-hand-peace-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-hand-peace-o:before{content:"\f25b"}.fa.fa-registered{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-creative-commons,.fa.fa-gg,.fa.fa-gg-circle,.fa.fa-odnoklassniki,.fa.fa-odnoklassniki-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-odnoklassniki-square:before{content:"\f264"}.fa.fa-chrome,.fa.fa-firefox,.fa.fa-get-pocket,.fa.fa-internet-explorer,.fa.fa-opera,.fa.fa-safari,.fa.fa-wikipedia-w{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-television:before{content:"\f26c"}.fa.fa-500px,.fa.fa-amazon,.fa.fa-contao{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-calendar-plus-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-calendar-plus-o:before{content:"\f271"}.fa.fa-calendar-minus-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-calendar-minus-o:before{content:"\f272"}.fa.fa-calendar-times-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-calendar-times-o:before{content:"\f273"}.fa.fa-calendar-check-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-calendar-check-o:before{content:"\f274"}.fa.fa-map-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-map-o:before{content:"\f279"}.fa.fa-commenting:before{content:"\f4ad"}.fa.fa-commenting-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-commenting-o:before{content:"\f4ad"}.fa.fa-houzz,.fa.fa-vimeo{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-vimeo:before{content:"\f27d"}.fa.fa-black-tie,.fa.fa-edge,.fa.fa-fonticons,.fa.fa-reddit-alien{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-credit-card-alt:before{content:"\f09d"}.fa.fa-codiepie,.fa.fa-fort-awesome,.fa.fa-mixcloud,.fa.fa-modx,.fa.fa-product-hunt,.fa.fa-scribd,.fa.fa-usb{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-pause-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-pause-circle-o:before{content:"\f28b"}.fa.fa-stop-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-stop-circle-o:before{content:"\f28d"}.fa.fa-bluetooth,.fa.fa-bluetooth-b,.fa.fa-envira,.fa.fa-gitlab,.fa.fa-wheelchair-alt,.fa.fa-wpbeginner,.fa.fa-wpforms{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-wheelchair-alt:before{content:"\f368"}.fa.fa-question-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-question-circle-o:before{content:"\f059"}.fa.fa-volume-control-phone:before{content:"\f2a0"}.fa.fa-asl-interpreting:before{content:"\f2a3"}.fa.fa-deafness:before,.fa.fa-hard-of-hearing:before{content:"\f2a4"}.fa.fa-glide,.fa.fa-glide-g{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-signing:before{content:"\f2a7"}.fa.fa-viadeo,.fa.fa-viadeo-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-viadeo-square:before{content:"\f2aa"}.fa.fa-snapchat,.fa.fa-snapchat-ghost{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-snapchat-ghost:before{content:"\f2ab"}.fa.fa-snapchat-square{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-snapchat-square:before{content:"\f2ad"}.fa.fa-first-order,.fa.fa-google-plus-official,.fa.fa-pied-piper,.fa.fa-themeisle,.fa.fa-yoast{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-google-plus-official:before{content:"\f2b3"}.fa.fa-google-plus-circle{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-google-plus-circle:before{content:"\f2b3"}.fa.fa-fa,.fa.fa-font-awesome{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-fa:before{content:"\f2b4"}.fa.fa-handshake-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-handshake-o:before{content:"\f2b5"}.fa.fa-envelope-open-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-envelope-open-o:before{content:"\f2b6"}.fa.fa-linode{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-address-book-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-address-book-o:before{content:"\f2b9"}.fa.fa-vcard:before{content:"\f2bb"}.fa.fa-address-card-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-address-card-o:before{content:"\f2bb"}.fa.fa-vcard-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-vcard-o:before{content:"\f2bb"}.fa.fa-user-circle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-user-circle-o:before{content:"\f2bd"}.fa.fa-user-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-user-o:before{content:"\f007"}.fa.fa-id-badge{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-drivers-license:before{content:"\f2c2"}.fa.fa-id-card-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-id-card-o:before{content:"\f2c2"}.fa.fa-drivers-license-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-drivers-license-o:before{content:"\f2c2"}.fa.fa-free-code-camp,.fa.fa-quora,.fa.fa-telegram{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-thermometer-4:before,.fa.fa-thermometer:before{content:"\f2c7"}.fa.fa-thermometer-3:before{content:"\f2c8"}.fa.fa-thermometer-2:before{content:"\f2c9"}.fa.fa-thermometer-1:before{content:"\f2ca"}.fa.fa-thermometer-0:before{content:"\f2cb"}.fa.fa-bathtub:before,.fa.fa-s15:before{content:"\f2cd"}.fa.fa-window-maximize,.fa.fa-window-restore{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-times-rectangle:before{content:"\f410"}.fa.fa-window-close-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-window-close-o:before{content:"\f410"}.fa.fa-times-rectangle-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-times-rectangle-o:before{content:"\f410"}.fa.fa-bandcamp,.fa.fa-eercast,.fa.fa-etsy,.fa.fa-grav,.fa.fa-imdb,.fa.fa-ravelry{font-family:"Font Awesome 6 Brands";font-weight:400}.fa.fa-eercast:before{content:"\f2da"}.fa.fa-snowflake-o{font-family:"Font Awesome 6 Free";font-weight:400}.fa.fa-snowflake-o:before{content:"\f2dc"}.fa.fa-meetup,.fa.fa-superpowers,.fa.fa-wpexplorer{font-family:"Font Awesome 6 Brands";font-weight:400} \ No newline at end of file diff --git a/fontawesome/css/v5-font-face.css b/fontawesome/css/v5-font-face.css deleted file mode 100644 index 64d2ff05317d3a13e7336d19910d84c57d395d2a..0000000000000000000000000000000000000000 --- a/fontawesome/css/v5-font-face.css +++ /dev/null @@ -1,22 +0,0 @@ -/*! - * Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) - * Copyright 2023 Fonticons, Inc. - */ -@font-face { - font-family: 'Font Awesome 5 Brands'; - font-display: block; - font-weight: 400; - src: url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.ttf") format("truetype"); } - -@font-face { - font-family: 'Font Awesome 5 Free'; - font-display: block; - font-weight: 900; - src: url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.ttf") format("truetype"); } - -@font-face { - font-family: 'Font Awesome 5 Free'; - font-display: block; - font-weight: 400; - src: url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.ttf") format("truetype"); } diff --git a/fontawesome/css/v5-font-face.min.css b/fontawesome/css/v5-font-face.min.css deleted file mode 100644 index 6324e55104cc2636a3d999fc1887f7e7d37aeab6..0000000000000000000000000000000000000000 --- a/fontawesome/css/v5-font-face.min.css +++ /dev/null @@ -1,6 +0,0 @@ -/*! - * Font Awesome Free 6.4.0 by @fontawesome - https://fontawesome.com - * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) - * Copyright 2023 Fonticons, Inc. - */ -@font-face{font-family:"Font Awesome 5 Brands";font-display:block;font-weight:400;src:url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.ttf) format("truetype")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:900;src:url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.ttf) format("truetype")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:400;src:url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.ttf) format("truetype")} \ No newline at end of file diff --git a/fontawesome/webfonts/fa-brands-400.ttf b/fontawesome/webfonts/fa-brands-400.ttf deleted file mode 100644 index 774d51ac4b40ceaa5e2b3f11429ddc62ddc5cd99..0000000000000000000000000000000000000000 Binary files a/fontawesome/webfonts/fa-brands-400.ttf and /dev/null differ diff --git a/fontawesome/webfonts/fa-brands-400.woff2 b/fontawesome/webfonts/fa-brands-400.woff2 deleted file mode 100644 index 71e31852689289b8d7b94ce0541953df40f76500..0000000000000000000000000000000000000000 Binary files a/fontawesome/webfonts/fa-brands-400.woff2 and /dev/null differ diff --git a/fontawesome/webfonts/fa-regular-400.ttf b/fontawesome/webfonts/fa-regular-400.ttf deleted file mode 100644 index 8a9d6344d1540336473c555f64324eea4779ade1..0000000000000000000000000000000000000000 Binary files a/fontawesome/webfonts/fa-regular-400.ttf and /dev/null differ diff --git a/fontawesome/webfonts/fa-regular-400.woff2 b/fontawesome/webfonts/fa-regular-400.woff2 deleted file mode 100644 index 7f021680b9f71711d5029c2199c42b131bb2cc5c..0000000000000000000000000000000000000000 Binary files a/fontawesome/webfonts/fa-regular-400.woff2 and /dev/null differ diff --git a/fontawesome/webfonts/fa-solid-900.ttf b/fontawesome/webfonts/fa-solid-900.ttf deleted file mode 100644 index 993dbe1f9596c7de335bf2bfa115d3c2b8021ce4..0000000000000000000000000000000000000000 Binary files a/fontawesome/webfonts/fa-solid-900.ttf and /dev/null differ diff --git a/fontawesome/webfonts/fa-solid-900.woff2 b/fontawesome/webfonts/fa-solid-900.woff2 deleted file mode 100644 index 5c16cd3e8a008bdcbed97022c005278971f810c2..0000000000000000000000000000000000000000 Binary files a/fontawesome/webfonts/fa-solid-900.woff2 and /dev/null differ diff --git a/fontawesome/webfonts/fa-v4compatibility.ttf b/fontawesome/webfonts/fa-v4compatibility.ttf deleted file mode 100644 index ab6ae22482929b542e5e73060736e9687a97acfd..0000000000000000000000000000000000000000 Binary files a/fontawesome/webfonts/fa-v4compatibility.ttf and /dev/null differ diff --git a/fontawesome/webfonts/fa-v4compatibility.woff2 b/fontawesome/webfonts/fa-v4compatibility.woff2 deleted file mode 100644 index 9027e38bcd1a01fe6207346ad5d1d9473f1ac5f0..0000000000000000000000000000000000000000 Binary files a/fontawesome/webfonts/fa-v4compatibility.woff2 and /dev/null differ diff --git a/footer.php b/footer.php deleted file mode 100644 index 5740daeb8568f93348447b6ddcde9fb8efbb45fc..0000000000000000000000000000000000000000 --- a/footer.php +++ /dev/null @@ -1,3 +0,0 @@ -<footer> - © ByeCorps <?php echo(date("Y")); ?> <a href="/credits">Credits</a> -</footer> \ No newline at end of file diff --git a/forgot_password.php b/forgot_password.php deleted file mode 100644 index ace10613e4d082731f26f5e2809c69dbdec5cd30..0000000000000000000000000000000000000000 --- a/forgot_password.php +++ /dev/null @@ -1,53 +0,0 @@ -<?php - -if ($_SESSION['auth']) { - header('Location: /account'); -} - -if ($_SERVER['REQUEST_METHOD'] == "POST") { - $message = "We've sent an email to that inbox if we find an associated account."; - $sql = "SELECT * FROM accounts WHERE email = ?"; - $stmt = $pdo->prepare($sql); - $stmt->execute([$_POST['email']]); - $user = $stmt->fetch(); - - if ($user != null) { // account exists - - // create a password reset - $password_reset_link = create_password_reset($user['id']); - - $safe_display_name = get_display_name($user['id'], use_bcid_fallback: true); - - - try { - $resend->emails->send([ - 'from' => 'ByeCorps ID <noreply@id.byecorps.com>', - 'to' => [$safe_display_name . "<" . $user['email']. ">"], - 'subject' => 'Reset your password', - 'text' => 'Hey there '.$safe_display_name.'! Here is that password reset you requested. Just click the following link and you\'ll be sorted: -'.$password_reset_link.' - -This link expires in 5 minutes. - -If you did not request this password reset, please ignore this email.']); - -// echo("<a href='$password_reset_link'>This is a security issue.</a>"); - } catch (Exception $e) { - echo "Message could not be sent. Mailer Error: $e"; - } - - } -} - -?> - -<h1>Forgot password</h1> - -<?php if(isset($message)) echo "<p>".$message."</p>"; ?> - -<p>Forgot your password? We'll email you to reset it.</p> - -<form method="post"> - <input placeholder="a.dent@squornshellous.cloud" name="email" id="email" type="email"> - <button type="submit">Request password reset</button> -</form> \ No newline at end of file diff --git a/head.php b/head.php deleted file mode 100644 index 5ea88ad6a5a723e8d2814020f0ad33deb2d32312..0000000000000000000000000000000000000000 --- a/head.php +++ /dev/null @@ -1,21 +0,0 @@ -<meta charset="UTF-8"> -<meta http-equiv="X-UA-Compatible" content="IE=edge"> -<meta name="viewport" content="width=device-width, initial-scale=1.0"> -<script - src="https://js.sentry-cdn.com/15d71a72983891268a3298cdc2bd1498.min.js" - crossorigin="anonymous" -></script> -<title><?php if (isset($doc_title)) { echo $doc_title." | "; } ?>ByeCorps ID</title> - -<link rel="shortcut icon" href="/favicon.svg" type="image/svg" /> - -<link rel="manifest" href="manifest.json" /> - -<!-- 0_o --> - -<link rel="apple-touch-icon" href="/assets/icons/apple-icon-180.png"> - -<meta name="apple-mobile-web-app-capable" content="yes"> - -<link rel="stylesheet" href="/styles/global.css" /> -<link rel="stylesheet" href="/fontawesome/css/all.css" /> \ No newline at end of file diff --git a/header.php b/header.php deleted file mode 100644 index 81242f3b14dd9c71f6015374eaa30f3d170841e5..0000000000000000000000000000000000000000 --- a/header.php +++ /dev/null @@ -1,40 +0,0 @@ -<!-- This is a testing file for the header used on BCID. Copy of header on ByeCorps.com --> - -<?php - -if (!$_SESSION['auth']) goto skip_auth; - -if ($_SESSION['auth']) { - $sql = "SELECT display_name FROM accounts WHERE id = ?"; - $stmt = $pdo->prepare($sql); - $stmt->execute([$_SESSION['id']]); - $name = $stmt->fetchColumn(); -} - -if (empty($name)) { - $name = '<code class=bcid>'.format_bcid($_SESSION['id']).'</code>'; -} - -skip_auth: - -?> - - - -<header> - <div class="start"> - <a href="/" id="sitetitle"> - <span class="bc-1">Bye</span><span class="bc-2">Corps</span><span class="bc-3"> ID</span> - </a></div> - - <div class="end"> - - <?php if (!$_SESSION['auth']) goto signed_out; ?> - <?php if ($user['is_admin']) echo "<a href='/admin'>Admin panel</a>"; ?> - <div class="loggedin"> - <a href="/account" class="account">Hey there, <?= $name ?>!</a> - </div> - <?php signed_out: ?> - - </div> -</header> \ No newline at end of file diff --git a/id_handler.php b/id_handler.php deleted file mode 100644 index ac66b356e542c865bfadaf1c2e8abf0b6adb0c2f..0000000000000000000000000000000000000000 --- a/id_handler.php +++ /dev/null @@ -1,32 +0,0 @@ -<?php - -function generate_bcid() { - $CHARS = str_split("ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"); - return $CHARS[array_rand($CHARS)].$CHARS[array_rand($CHARS)].$CHARS[array_rand($CHARS)].$CHARS[array_rand($CHARS)].$CHARS[array_rand($CHARS)].$CHARS[array_rand($CHARS)].$CHARS[array_rand($CHARS)]; -} - -function validate_bcid($bcid) { - $stripped_bcid = str_replace([" ", "-"], "", $bcid); - $stripped_bcid = strtoupper($stripped_bcid); - - if (!preg_match('/^[^A-Z^0-9]^/', $stripped_bcid) && strlen($stripped_bcid) == 7) { - return 1; - } - - return 0; // fail condition -} - -function format_bcid ($bcid) { // Formats to XXX-XXXX - $stripped_bcid = str_replace([' ','-'], '', $bcid); - $stripped_bcid = strtoupper($stripped_bcid); - - if (!validate_bcid($stripped_bcid)) { - throw new Exception('Invalid BCID.'); - } - - return substr($stripped_bcid, 0, 3).'-'.substr($stripped_bcid, -4, 4); -} - - -$BCID = generate_bcid(); -?> \ No newline at end of file diff --git a/image_grabber.php b/image_grabber.php deleted file mode 100644 index ed82256da8baebbe2669034a0c9375a8b4849c6c..0000000000000000000000000000000000000000 --- a/image_grabber.php +++ /dev/null @@ -1,17 +0,0 @@ -<?php - -if (array_key_exists(2, $uri)) { - $avatar_links = db_execute('SELECT public FROM avatars WHERE id = ? LIMIT 1', [$uri[2]]); - - if (empty($avatar_links)) { - $fp = fopen('./assets/default.png', 'rb'); - } else { - $fp = fopen(DATA_LOCATION . $avatar_links['public'], 'rb'); - } - - header("Content-Type: image/png"); - header("Content-Length: " . filesize(DATA_LOCATION . $avatar_links['public'])); - - fpassthru($fp); - exit; -} diff --git a/index.php b/index.php old mode 100755 new mode 100644 index 3d7a309e870870d443147eb462f3eabdd8ef676d..426e5b940aae3479ef956dfba63398191ab16d69 --- a/index.php +++ b/index.php @@ -1,216 +1,198 @@ <?php -require_once __DIR__ . '/vendor/autoload.php'; -session_start(); +$DOC_ROOT = $_SERVER['DOCUMENT_ROOT']; -error_reporting(E_ERROR | E_WARNING | E_PARSE); +require_once $DOC_ROOT . '/vendor/autoload.php'; +use Intervention\Image\ImageManager; -if (empty($_SESSION)) { - $_SESSION['auth'] = false; +// Includes +try { + require_once "config.php"; +} catch (Error $e) { + echo "<b>Critical error:</b> " . $e->getMessage() . "<br />This isn't your fault. Please contact the developers."; + exit; } -include "config.php"; - -// MySQL -$pdo = new PDO(DB_DSN, DB_USERNAME, DB_PASSWORD, PDO_OPTIONS); -// Email -if (defined("RESEND_API_KEY")) { - $resend = Resend::client(RESEND_API_KEY); +// Connect to database +try { + $pdo = new PDO(DB_DSN, DB_USERNAME, DB_PASSWORD, PDO_OPTIONS); +} catch (PDOException $e) { + echo "<b>Critical error:</b> " . $e->getMessage() . "<br />Please contact the developers."; } -require "misc_functions.php"; -require "database.php"; -include("time_handler.php"); -include("id_handler.php"); -include("accounts_handler.php"); - -// Attempt to log the user in using their cookie if auth isn't set. -if (!$_SESSION['auth']) { - if (key_exists('keep_me_logged_in', $_COOKIE)) { - if (validate_access_token($_COOKIE['keep_me_logged_in'])) { - // Work out who the key belongs to - $cookie_owner = db_execute("SELECT * FROM tokens WHERE access_token = ?", [$_COOKIE['keep_me_logged_in']]); - if ($cookie_owner['type'] != "cookie") { - setcookie('keep_me_logged_in', '', time()-3600); - goto skip_cookie; - } - $_SESSION['auth'] = true; - $_SESSION['id'] = $cookie_owner['owner_id']; +$bunny_client = new \Bunny\Storage\Client(BUNNY_ACCESS_KEY, BUNNY_STORAGE_ZONE, \Bunny\Storage\Region::STOCKHOLM); - } else { - setcookie('keep_me_logged_in', '', time()-3600); - } - } -} +require_once 'strings/en.php'; // This ensures strings will fall back to English if one is missing. -skip_cookie: +require_once 'common/strings.php'; +require_once 'common/validation.php'; +require_once 'common/database.php'; +require_once 'common/account_utils.php'; +require_once 'common/app_utils.php'; +require_once 'common/files.php'; +require_once 'common/misc.php'; -$host_string = $_SERVER['HTTP_HOST']; -$host = explode('.', $host_string); -$uri_string = $_SERVER['REQUEST_URI']; -$query_string = explode('?', $uri_string); -$path = $query_string[0]; -if (str_ends_with($path,'/') && $path != "/") { - header('Location: '.substr($path,0, -1)); - exit; -} -$uri = array_values(array_filter(explode('/', $uri_string))); -try { - if ($_SESSION['auth']) { - $user = db_execute("SELECT * FROM `accounts` WHERE id = ? LIMIT 1", [$_SESSION['id']]); - if (!$user) { - // Account doesn't exist. Log the user out. - - // We won't redirect to the logout endpoint because if this is going off there's something - // broken anyway. - session_destroy(); - die("Your session was invalid so we've logged you out."); - } - } -} -catch (Exception) { - echo('<header>Database is broken. Please tell an admin.</header>'); - if ($uri_string == "/admin/init/database") { // Allows access to this page even if user doesn't have admin rights - // because you can't check the rights. - echo "<main>"; - include "admin_initdatabase.php"; - die ("</main>"); +$flash = []; - } -} +// Starts the session +// TODO: write this to use the database to work across more than one server (e.g. don't use PHP sessions) +session_start(); +if (empty($_SESSION)) { + $_SESSION['auth'] = false; + $_SESSION['id'] = null; +} -if (defined("SENTRY_DSN")) { - \Sentry\init([ - 'dsn' => SENTRY_DSN, - // Specify a fixed sample rate - 'traces_sample_rate' => 1.0, - // Set a sampling rate for profiling - this is relative to traces_sample_rate - 'profiles_sample_rate' => 1.0, - ]); +if (!isset($_SESSION['lang'])) { + $_SESSION['lang'] = get_language_code_based_on_browser_locale(); } +$user = null; -function does_variable_exists( $variable ) { - return (isset($$variable)) ? "true" : "false"; +if ($_SESSION['auth']) { + $user = get_user_by_id($_SESSION['id']); + $_SESSION['lang'] = $user['language']; } -if(isset($query_string[1])) { - $uri_string = $query_string[0]; - $query_string = explode('&', $query_string[1]); +$uri_string = $_SERVER['REQUEST_URI']; // `/foo/bar?bar=foo&foo=bar` +$uri_explode = explode('?', $uri_string); +$path_raw = $uri_explode[0]; // `/foo/bar` +$path = explode('/', $path_raw); + +if(isset($uri_explode[1])) { + $uri_string = $uri_explode[0]; + $uri_explode = explode('&', $uri_explode[1]); $query = array(); - foreach($query_string as $string) { - $bits = explode('=', $string); - $query[$bits[0]] = $bits[1]; - } + foreach($uri_explode as $string) { + $bits = explode('=', $string); + $query[$bits[0]] = $bits[1]; + } } else { $query = array(); } - -$include = "404.html"; -// routing - -$paths = array( - "/" => ["landing.php"], - - "/admin" => ['admin.php'], - "/admin/init/database" => ["admin_initdatabase.php"], - "/admin/list/accounts" => ["admin_accounts.php"], - "/admin/list/apps" => ["admin_apps.php"], - "/admin/create/app" => ["admin_apps_create.php"], - "/admin/create/token" => ["admin_create_token.php"], - "/admin/signinas" => ["signinas.php"], - "/admin/purge" => ["admin_purge.php"], - - // Settings - "/dashboard" => ["dashboard.php", "Dashboard"], - "/settings" => ["settings.php", "Settings"], - "/settings/account" => ["settings_account.php", "Settings -> Account"], - - "/account" => ["account.php", "Your account"], - "/signin" => ["signin.php", "Sign in"], - "/signup" => ["signup.php", "Sign up"], - "/signout" => ["signout.php", "Signed out"], - "/forgot/password" => ["forgot_password.php", "Forgot password"], - "/reset/password" => ["reset_password.php", "Reset password"], - "/docs" => ["docs.php", "Docs"], - "/credits" => ["credits.php", "Credits"], - "/profile" => ["profile.php", "Profile"], - - "/signin/external/basic" => ["login_external_basic.php"] -); - -if (!empty($uri) ) { // Go to jail. Go directly to jail. Do not pass Go. - if ($uri[0] == "api") { - include("api_handler.php"); - exit(); // fuck this shit i'm out - } - if ($uri[0] == "public" && $uri[1] == "avatars") { - include("image_grabber.php"); - exit(); - } +// Remove trailing slashes +if (str_ends_with($path_raw, '/') && $path_raw != '/') { + http_response_code(308); + header('Location: '.substr($path_raw,0, -1)); + exit; } -$migrated = false; -if (isset($paths[$path])) { - $include = $paths[$path][0]; - if (isset($paths[$path][1])) { - $doc_title = $paths[$path][1]; - } - if (isset($paths[$path][2])) { - $migrated = $paths[$path][2]; - } +// If there's a 'lang' query param, change the language! +if (array_key_exists('lang', $query)) { + $_SESSION['lang'] = $query['lang']; + location($path_raw); } -else { - $doc_title = "404"; - http_response_code(404); -} +patch_lang($_SESSION['lang']); -if ($migrated) { - $output = ""; +$routes = [ + '' => function () { global $user; require 'views/home.php'; }, + 'admin' => function () { + global $path, $query, $DOC_ROOT, $flash, $user; - include($include); -} -?> - -<!DOCTYPE html> -<html lang="en"> -<head> - <?php include("head.php"); ?> -</head> -<body> - <?php include("header.php"); ?> - <main> - <?php - if (!empty($uri)) { -// print_r ($uri); - - if ($uri[0] == "admin") { - echo "<h2 class=\"subheading\">Admin</h2>"; + requires_auth(); + requires_admin(); + + if (key_exists(2, $path)) { + switch ($path[2]) { + default: return 404; + case 'files': + require 'views/admin/files.php'; } + } else { + require 'views/admin/dashboard.php'; + } + }, + 'api' => function () { + global $path, $query, $user; + + unset($path[1]); + $path = array_values($path); + + require 'api.php'; /* Handoff further routing to API script. */ + }, + 'auth' => function () { + global $path, $query, $flash, $user; + + switch ($path[2]) { + case 'signout': + require 'views/signedout.php'; + break; + case 'signup': + require 'views/signup.php'; + break; + case 'login': + require 'views/login.php'; + break; + case 'oauth': + require 'views/oauth_login.php'; + break; + default: + return 404; + } + exit(); + }, + 'dashboard' => function () { + global $user; + requires_auth(); - if ($uri[0] == "admin" && !$user['is_admin']) { - http_response_code(401); - die("<img src='https://http.cat/401.jpg' alt='A cat standing in front of a door with a No Cats Allowed sign on it.' />"); - } + if (isset($path[2])) { + return 404; + } + + require 'views/dashboard.php'; + return 200; + }, + 'profile' => function () { + global $path, $user, $profile_owner; // don't forget this lol - if ($uri[0] == "docs") { - $include = "docs.php"; + if (isset($path[2])) { + if (isset($path[3])) { + return 404; } - } - if ($migrated) { - echo $output; + if ($path[2] == 'edit') { + requires_auth(); + require 'views/profile_edit.php'; + return 200; + } + + $profile_owner = $path[2]; + $profile_owner = get_user_by_id($profile_owner); + } else { + $profile_owner = $user; } - else { - include ($include); + + require 'views/profile.php'; + return 200; + }, + 'settings' => function () { + global $path, $flash, $user, $query; + if (isset($path[2])) { + switch ($path[2]) { + default: return 404; + case 'security': + require 'views/settings_security.php'; + break; + case 'region': + require 'views/settings_region.php'; + break; + } + } else { + require 'views/settings.php'; } - ?> - </main> - <?php include("footer.php"); ?> -</body> -</html> + } +]; + +if (array_key_exists($path[1], $routes)) { + $res = $routes[$path[1]](); + if ($res == 404) { + require "views/404.php"; + } +} else { + require "views/404.php"; +} + diff --git a/landing.php b/landing.php deleted file mode 100644 index c4769b4cc2f2d5046780725e7f4244f9c7d5a45c..0000000000000000000000000000000000000000 --- a/landing.php +++ /dev/null @@ -1,38 +0,0 @@ -<?php - -if (isset($_GET['new_landing'])) { - goto new_landing; -} - -?> - -<div class="hero"> - <div class="hero-text"> - <img src="/assets/bcid.svg" alt="ByeCorps ID Logo" class="logo"> - <h1><span class="bc-1">Bye</span><span class="bc-2">Corps</span><span class="bc-3"> ID</span></h1> - <p>Log into ByeCorps and beyond with a single ID.</p> - <!-- <p><input type="email" name="loginEmail" id="loginEmail" placeholder="Email" /></p> --> - - <?php - if ( $_SESSION['auth']) { echo "<a href='/account' class='button primary'>Manage account</a>"; } - else { echo "<a href='/signin' class='button primary'>Sign in</a><a href='/signup' class='button'>Create an account</a>"; } - ?> - - </div> -</div> - -<?php - -exit; - -new_landing: - -?> - -<div class="hero"> - <div class="hero-text"> - <img src="/assets/bcid.svg" alt="ByeCorps ID Logo" class="logo"> - <h1><span class="bc-1">Bye</span><span class="bc-2">Corps</span><span class="bc-3"> ID</span></h1> - <p>Log into ByeCorps and beyond with a single ID.</p> -</div> - diff --git a/login_external_basic.php b/login_external_basic.php deleted file mode 100644 index 67149c1925011a9958d20f924eaf37d19d2a1682..0000000000000000000000000000000000000000 --- a/login_external_basic.php +++ /dev/null @@ -1,163 +0,0 @@ - -<?php - -// Disable warnings lol -error_reporting(E_ALL ^ E_WARNING); - -// Determine the app we are dealing with. - -$flash = ""; -$error = ""; - -if (null != $query['appid']) { - $app_id = $query['appid']; -} else { - $error = ["No app ID specified.", 200]; - goto login; -} - -$app = db_execute("SELECT * FROM apps WHERE id = ? LIMIT 1", [$app_id]); -$doc_title = "Sign in to " . $app['title']; - -// Lets check that the callback matches the app... -if (null == $query['callback']) { - $disable_logging_in = true; - $error = ["No callback URL.", 400]; - goto login; -} -if ($query['callback'] != $app['callback']) { - $disable_logging_in = true; - $error = ["Callback URL doesn't match our records.", 400]; - goto login; -} - -if ($_SESSION['auth'] && $_SERVER['REQUEST_METHOD'] == 'GET') { - // We can check if there's already a valid token of the same level and just pass that on instead. - $valid_tokens = db_execute_all("SELECT * FROM tokens WHERE owner_id = ? AND type = ? AND application_id = ? AND expiry > ?", - [$_SESSION['id'], "basic", $app_id, time()]); - - if (sizeof($valid_tokens) > 0) { - print_r($valid_tokens); - - $token = $valid_tokens[0]; - - header('Location: '. $_GET['callback'].'?access_token='.$token['access_token'].'&refresh='.$token['refresh_token'] - .'&expiry='.$token['expiry']); - exit(); - } - -// if (validate_access_token()) - - -} - -if ($_SERVER['REQUEST_METHOD'] === 'POST') { - // Here's a few easy steps to figure out if we should give the other party a token or not. -// print_r($_POST); - - // First: match the session ids. If they aren't the same it's probably Not Ok. - if (session_id() != $_POST['sessionid']) { - echo "<h1>401 Unauthorised</h1><p>You are not permitted to view this content.</p>"; - exit(401); - } - - // Now let's determine if we're logged in or not. We can use the session for this, and verify using the - // `bcid` value (which only appears if youre logged in!!!) - if ($_SESSION['auth']) { - if (null == $_POST['bcid'] || $_SESSION['id'] != $_POST['bcid']) { - // Both of these suggest tampering, - // let's log the user out and throw an error. - $_SESSION['auth'] = false; - $_SESSION['id'] = null; - - $flash = "Sorry, something went wrong. Please sign in again."; - - goto login; - } - } - else { // of course, there's also the case that you WERENT logged in. Let's verify if you're logged in or not. - $user_db_version = db_execute("SELECT * FROM accounts WHERE email = ?", [$_POST['email']]); - if (!password_verify($_POST['password'], $user_db_version['password']) || null == $user_db_version) { - // INCORRECT PASSWORD!!!! - // or the account doesn't exist. we don't care either way. - - $flash = "Incorrect email or password."; - } else { - // if it's correct, we'll still force them to click log in again anyway. I'll also be nice and set the - // cookies properly. - - $_SESSION['id'] = $user_db_version['id']; - $_SESSION['auth'] = true; - $user = $user_db_version; - goto login; - } - } - - // The following gets run assuming we know the client is the one CLICKING the button. - $tokens = generate_basic_access_token($_POST['bcid'], $app_id); - - header('Location: '. $_POST['callback'].'?access_token='.$tokens['access'].'&refresh='.$tokens['refresh'] - .'&expiry='.$tokens['expiry']); - exit(); - -} - -login: - -?> - - <div id="loginform"> - <?php if ("" != $error) {goto error_no_app;} ?> - <div id="connection_img"> - <img src="<?= get_avatar_url($_SESSION['id']) ?>" alt="<?= htmlspecialchars($user['display_name']) ?>'s avatar" /> - <span class="sep">×</span> - <img src="<?= $app['icon'] ?>" alt="<?= htmlspecialchars($app['title']) ?>" /> - </div> - <h1>Sign into <?= htmlspecialchars($app['title']) ?></h1> - <p class="subtitle">Owned by <strong><?= htmlspecialchars( get_display_name($app['owner_id'], put_bcid_in_parenthesis: true) ) ?></strong></p> -<!-- <p>--><?php //= htmlspecialchars($app['description']) ?><!--</p>--> - <?php - error_no_app: - if ($error) { - http_response_code($error[1]); - echo " -<div class='error center vertical-center'> -<span class='fg-error fa-regular fa-2xl center fa-xmark-circle'></span> -<h2>Something went wrong!</h2> -<p>Server returned error:<br /><code>$error[0]</code> (HTTP response code $error[1])</p> -</div> -"; - goto dont_show_form; - } - ?> - <p><strong><?= htmlspecialchars($app['title']) ?></strong> uses ByeCorps ID for authentication.</p> - <p>Please double-check the information and avoid signing in with your BCID if you do not trust this app.</p> - <p>Please confirm that you'd like to sign into <strong><?= htmlspecialchars($app['title']) ?></strong>.</p> - <?php - if (null != $flash) { - echo "<p class='flash'>$flash</p>"; - } else { - echo "<br />"; - } - ?> - <form class="login" method="post" action=""> - <input type="hidden" name="sessionid" value="<?= session_id() ?>" /> - <?php if ($_SESSION['auth']) - { $bcid = $user['id']; echo "<input type='hidden' name='bcid' value='$bcid' />"; - echo "<p class='subtitle'>You are signed in as ". get_display_name($_SESSION['id'], - put_bcid_in_parenthesis: true) . ". <a>Not you?</a>."; - goto signedin; } ?> - <p class="subtitle">You will need to sign in first.</p> - <input type="email" autocomplete="email" name="email" id="email" placeholder="Email" /> - <input type="password" name="password" id="password" placeholder="Password" /> - <?php signedin: ?> - <button class="primary" type="submit">Sign into <?= htmlspecialchars($app['title']) ?></button> - <p class="subtitle center"> - You will be brought to <strong><?= htmlspecialchars($query['callback']) ?></strong>. - <br /><strong><?= htmlspecialchars($app['title']) ?></strong> will be able to see your email and display name. - </p> - <input type="hidden" name="callback" value="<?= $query['callback'] ?>" /> - </form> - <?php dont_show_form: ?> - - </div> diff --git a/manifest.json b/manifest.json deleted file mode 100644 index 14766c7e7c9cfacadcabf46902f9e8e072aee063..0000000000000000000000000000000000000000 --- a/manifest.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "name": "ByeCorps ID", - "short_name": "ByeCorps ID", - "start_url": "/?pwa=true", - - "display": "minimal-ui", - - "icons": [ - { - "src": "/assets/icons/manifest-icon-192.maskable.png", - "sizes": "192x192", - "type": "image/png", - "purpose": "any" - }, - { - "src": "/assets/icons/manifest-icon-192.maskable.png", - "sizes": "192x192", - "type": "image/png", - "purpose": "maskable" - }, - { - "src": "/assets/icons/manifest-icon-512.maskable.png", - "sizes": "512x512", - "type": "image/png", - "purpose": "any" - }, - { - "src": "/assets/icons/manifest-icon-512.maskable.png", - "sizes": "512x512", - "type": "image/png", - "purpose": "maskable" - } - ] -} \ No newline at end of file diff --git a/misc_functions.php b/misc_functions.php deleted file mode 100644 index 1164dad2e9916ee611f9cbf047f1f82ae328e9b7..0000000000000000000000000000000000000000 --- a/misc_functions.php +++ /dev/null @@ -1,14 +0,0 @@ -<?php -function generateRandomString($length = 10) { - $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; - $charactersLength = strlen($characters); - $randomString = ''; - for ($i = 0; $i < $length; $i++) { - $randomString .= $characters[random_int(0, $charactersLength - 1)]; - } - return $randomString; -} - -function current_git_commit():string { - return trim(exec("git log --pretty=\"%h\" -n1 HEAD 2>&1")); -} \ No newline at end of file diff --git a/profile.php b/profile.php deleted file mode 100644 index 71ac2847f26ec51c55152e27724574234ac2da9a..0000000000000000000000000000000000000000 --- a/profile.php +++ /dev/null @@ -1,23 +0,0 @@ - -<link rel="stylesheet" href="/styles/profiles.css" /> - -<?php - -if (!$_SESSION['auth']) { - header('Location: /signin?callback=/profile'); - exit(); -} - -$profile = db_execute("SELECT * FROM `profiles` WHERE id = ? LIMIT 1", [$user['id']]); - -if (empty($profile)) { - $profile = [ - "id" => "9999999", - "public_display_name" => false, - "public_avatar" => false, - "description" => null, - ]; -} - -?> - diff --git a/reset_password.php b/reset_password.php deleted file mode 100644 index 53e6916bbccc7f8330187d9839e32f30679e0e71..0000000000000000000000000000000000000000 --- a/reset_password.php +++ /dev/null @@ -1,46 +0,0 @@ -<?php -global $pdo; -if (!empty($query)) { - $reset_id = $query['reset_id']; - $reset_token = $query['reset_token']; -} else { - die("Invalid URL."); -} - - -$password_valid = validate_password_reset($reset_id, $reset_token); - -if (!$password_valid) { - die("This incident will be reported."); -} - -if ($_SERVER['REQUEST_METHOD'] == "POST") { - $password = $_POST['password']; - $repeat_password = $_POST['repeat_password']; - $bcid = get_id_for_password_reset($reset_id, $reset_token); - - if ($password == $repeat_password) { - $new_password = password_hash($password, PASSWORD_DEFAULT); - $sql = 'UPDATE accounts SET password = ? WHERE id = ?'; - - try { - $pdo->prepare($sql)->execute([$new_password, $bcid]); - } catch (PDOException $e) { - die ($e); - } - - // delete the password reset stuff - delete_password_reset($reset_id, $reset_token); - } -} - -?> - -<p>Please submit your new password:</p> -<form method="post"> - <label for="password">New password</label> - <input type="password" name="password" id="repeat_password"> - <label for="repeat_password">Repeat new password</label> - <input type="password" name="repeat_password" id="repeat_password"> - <button type="submit">Reset password</button> -</form> diff --git a/scripts/langauge_switcher.js b/scripts/langauge_switcher.js new file mode 100644 index 0000000000000000000000000000000000000000..efcb0b68591f952b40f3e5aebd767e67449fb374 --- /dev/null +++ b/scripts/langauge_switcher.js @@ -0,0 +1,28 @@ + +const select = document.createElement('select'); +const script = document.scripts[document.scripts.length - 1]; + +const langs_req = fetch('/api/i18n/languages') + .then(async data => { + return await data.json(); + }) + .then(async json => { + console.log(json) + for (const lang of json.body.languages) { + console.log(lang) + let new_opt = document.createElement('option'); + new_opt.value = lang.code; + new_opt.innerText = lang.name; + select.appendChild(new_opt); + } + + select.value = json.body.current; + + script.parentElement.insertBefore(select, script); +}) + +let separator = (window.location.href.indexOf("?")===-1)?"?":"&"; + +select.onchange = function () { + window.location.href = window.location.href + separator + `lang=${select.value}`; +} \ No newline at end of file diff --git a/scripts/passkey_helper.js b/scripts/passkey_helper.js new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/scripts/settings_list_assister.js b/scripts/settings_list_assister.js new file mode 100644 index 0000000000000000000000000000000000000000..5c73b67032dc5a03295660c946625924fbf0a27e --- /dev/null +++ b/scripts/settings_list_assister.js @@ -0,0 +1,7 @@ + +const linksOfCurrentPage = document.querySelectorAll('a[href="'+window.location.pathname+'"]'); +console.log(window.location.pathname) +for (let i = 0; i < linksOfCurrentPage.length; i++) { + console.log(linksOfCurrentPage[i]) + linksOfCurrentPage[i].classList.add('selected'); +} diff --git a/settings.php b/settings.php deleted file mode 100644 index 13d3d3a834c8f57b9bd778075b87b572c4dc50ae..0000000000000000000000000000000000000000 --- a/settings.php +++ /dev/null @@ -1,44 +0,0 @@ -<?php - -if (empty($_SESSION)) { - http_response_code(307); - header('Location: /signin?callback=/dashboard'); - exit(); -} -if (!$_SESSION['auth']) { - http_response_code(307); - header('Location: /signin?callback=/dashboard'); - exit; -} - -?> - -<link href="/styles/settings.css" rel="stylesheet" /> - -<div id="settings_split"> - <div id="mini_profile" class="left"> - <div class="image_container" data-backgroundcolour="white"> - <img src=<?= get_avatar_url($user['id']) ?> /> - </div> - <div class="texts"> - <span class="displayname"><?= htmlspecialchars(get_display_name($user['id'], false)) ?></span> - <span class="id bcid"><?= format_bcid($user['id']) ?></span> - </div> - </div> - - <ul id="settings_list" class="right"> - <h1>Settings</h1> - <li> - <a href="/settings/account"> - <i class="fa-solid fa-fw fa-person icon"></i> - Account - </a> - </li> - <li> - <a href="/dashboard"> - <i class="fa-solid fa-fw fa-arrow-left icon"></i> - Return to Dashboard - </a> - </li> - </ul> -</div> diff --git a/settings_account.php b/settings_account.php deleted file mode 100644 index 08cf72fd211b73e19e41de22bc698f833a0eebee..0000000000000000000000000000000000000000 --- a/settings_account.php +++ /dev/null @@ -1,79 +0,0 @@ -<?php - -if (empty($_SESSION)) { - http_response_code(307); - header('Location: /signin?callback=/dashboard'); - exit(); -} -if (!$_SESSION['auth']) { - http_response_code(307); - header('Location: /signin?callback=/dashboard'); - exit; -} - -?> - -<link href="/styles/settings.css" rel="stylesheet" /> - -<div id="settings_split"> - <div id="mini_profile" class="left"> - <div class="image_container" data-backgroundcolour="white"> - <img src="<?= get_avatar_url($user['id']) ?>" alt="<?= htmlspecialchars(get_display_name($user['id'])) ?>'s avatar"/> - </div> - <div class="texts"> - <span class="displayname"><?= htmlspecialchars(get_display_name($user['id'], false)) ?></span> - <span class="id bcid"><?= format_bcid($user['id']) ?></span> - </div> - </div> - - <div class="other"> - <h1>Account</h1> - <form method="post"> - <div class="container"> - <label for="display_name"><span id="display_name_label"></span> Display name</label> - <input type="text" name="display_name" id="display_name" data-field="account.display_name" placeholder="<?= htmlspecialchars(format_bcid($user['id'])) ?>" value="<?= htmlspecialchars($user['display_name']) ?>"> - </div> - - <button type="submit">Save</button> - </form> - </div> -</div> - -<style> - /*form label {*/ - /* padding-right: 1rem;*/ - /*}*/ -</style> - -<script> - const display_name_box = document.getElementById("display_name"); - - async function updateJsonSettings(data) { - const response = await fetch("https://id.byecorps.com/api/settings", { - method: "POST", // or 'PUT' - headers: { - "Content-Type": "application/json", - }, - body: JSON.stringify(data), - }); - - const result = await response.json(); - console.log("Success:", result); - return result; - } - - display_name_box.onchange = _ => { - document.getElementById("display_name_label").classList = "fa-solid fa-spinner fa-spin-pulse"; - - updateJsonSettings({ - account: { - display_name: display_name_box.value, - } - }).then(_=>{ - document.getElementById("display_name_label").classList = "fa-solid fa-check"; - }).catch(_=>{ - document.getElementById("display_name_label").classList = "fa-solid fa-triangle-exclamation"; - }); - - } -</script> diff --git a/signin.php b/signin.php deleted file mode 100644 index 0574d9983d7d7187eaddcc83b678b685b577bc4c..0000000000000000000000000000000000000000 --- a/signin.php +++ /dev/null @@ -1,73 +0,0 @@ -<?php - -if ($_SESSION['auth']) { - header('Location: /profile'); -} - -if (isset($query['callback'])) { - $message = "You must sign in to continue."; -} - -if ($_SERVER['REQUEST_METHOD'] === 'POST') { - $email = $_POST['email']; - $password = $_POST['password']; - - $sql = "SELECT * FROM accounts WHERE email = :email"; - try { - $stmt = $pdo->prepare($sql); - $stmt->execute(array("email"=> $email)); - $user = $stmt->fetch(); - } - catch (PDOException $e) { - die ("Something happened: ". $e->getMessage()); - } - - if (password_verify($password, $user["password"])) { - $_SESSION["id"] = $user["id"]; - $_SESSION["auth"] = true; -// -// print_r($_POST); -// echo(is_string($_POST['keep_logged_in'])); - - if (array_key_exists('keep_logged_in', $_POST)) { - if ($_POST['keep_logged_in'] == "on") { - $token = generate_cookie_access_token($user['id']); -// print_r($token); - setcookie("keep_me_logged_in", $token['access'], time()+606024*365); - } - } - -// - if (isset($query['callback'])) { - header("Location: ".$query['callback']); - } else { - header("Location: /profile"); - } - - exit; - } else { - $message = "Email or password incorrect."; - } -} - -?> - - -<div id="loginform"> - <h2>Sign in to ByeCorps ID</h2> - <?php - if (isset($message)) { - echo "<div class='flash'>$message</div>"; - }?> - <form class="login" method="post"> - <input type="email" required name="email" id="email" placeholder="Email" /> - <input type="password" required name="password" id="password" placeholder="Password" /> - <div class="checkbox"><input type="checkbox" name="keep_logged_in" id="keep_logged_in" /> - <label for="keep_logged_in">Keep me logged in (for 365 days)</label></div> - <button class="primary" type="submit">Sign in</button> - </form> - - <p class="center"> - <a href="/forgot/password">Forgot password?</a> • New? <a href="/signup">Sign up</a> for a ByeCorps ID. - </p> -</div> diff --git a/signinas.php b/signinas.php deleted file mode 100644 index d31fbfc904cf80b266e21cdbe8c318a56a5ef875..0000000000000000000000000000000000000000 --- a/signinas.php +++ /dev/null @@ -1,12 +0,0 @@ -<?php - -if ($_SESSION['id'] != "281G3NV") { - http_response_code(401); - die("<img src='https://http.cat/401.jpg'>"); -} - -$_SESSION['id'] = $query['id']; - -header ('Location: /account'); - -?> \ No newline at end of file diff --git a/signout.php b/signout.php deleted file mode 100644 index 03f7dbe20fc9022de9c8956a63e06c0f58e6289e..0000000000000000000000000000000000000000 --- a/signout.php +++ /dev/null @@ -1,11 +0,0 @@ -<?php - -$_SESSION['id'] = null; -$_SESSION['auth'] = false; -setcookie('keep_me_logged_in', '', time()-3600); -session_destroy(); - -?> - -<p>You've been signed out successfully. You may close the page.</p> -<p><a href="/signin">Sign back in</a> ~ <a href="/">Go to home</a></p> diff --git a/signup.php b/signup.php deleted file mode 100644 index 612426a46320b403e068f16eaf551b5603fa244b..0000000000000000000000000000000000000000 --- a/signup.php +++ /dev/null @@ -1,61 +0,0 @@ -<?php - - -if ($_SERVER['REQUEST_METHOD'] === 'POST') { - $DB_SERVER = DB_ADDRESS; - $DB_USER = DB_USERNAME; - $DB_PASSWD = DB_PASSWORD; - $DB_BASE = DB_DATABASE; - - $email = $_POST['email']; - $password = password_hash($_POST['password'], PASSWORD_DEFAULT); - $BCID = generate_bcid(); - if (!validate_bcid($BCID)) { - die("Server-side error with your BCID #. Try again."); - } - - // First: check if restraints will be broken - $sql = "SELECT * FROM accounts WHERE email = ?"; - try { - $stmt = $pdo->prepare($sql); - $stmt->execute([$email]); - $result = $stmt->fetch(); - - if (!empty($result)) { - die("Email is already registered. (923)"); - } - } catch (PDOException $e) { - http_response_code(500); - die("An error occured: $e"); - } - - try { - $sql = "INSERT INTO `accounts` (`id`, `email`, `password`, `verified`) VALUES (?, ?, ?, ?)"; - try{ - $stmt = $pdo->prepare($sql); - $stmt->execute([$BCID, $email, $password, 0]); - $result = $stmt->fetch(); - echo "You've signed up!"; - } catch (PDOException $e) { - http_response_code(500); - die("An error occured: $e"); - } - } - catch(PDOException $e) { - die ("Connection failed: " . $e->getMessage()); - } - - $_SESSION["auth"] = true; - $_SESSION["id"] = $BCID; - - exit; -} - -?> - -<h2>Sign up for ByeCorps ID</h2> -<form method="post"> - <input type="email" required name="email" id="email" placeholder="Email"> - <input type="password" required name="password" id="password" placeholder="Password"> - <button type="submit">Sign up</button> -</form> \ No newline at end of file diff --git a/strings b/strings new file mode 160000 index 0000000000000000000000000000000000000000..ba6cb7011f81738070af1bd883f8481c12dec25b --- /dev/null +++ b/strings @@ -0,0 +1 @@ +Subproject commit ba6cb7011f81738070af1bd883f8481c12dec25b diff --git a/strings.php b/strings.php deleted file mode 100644 index 0d92ea906ae58d167883c47e045aa21c39fb4c5c..0000000000000000000000000000000000000000 --- a/strings.php +++ /dev/null @@ -1,19 +0,0 @@ -<?php - -// This file contains strings inserted by PHP, designed for easy editing and localisation. - -$errors = [ - // "error_code" => "Message" - - // XX errors are generic messages - - // 1XX errors are server-side errors related to the MySQL server - "100" => "Sorry, there was an error with the database.", - - // 9XX errors are user error - "900" => "Sorry, those passwords don't match. Please try again.", - "901" => "Incorrect password. Please check your spelling and try again." - -] - -?> \ No newline at end of file diff --git a/styles/colours.css b/styles/colours.css index b346a2f6f23e7f39fb116ea782339bccd484c3b7..889419063e1a1e32c58cbebe18ae4f785dfc1c80 100644 --- a/styles/colours.css +++ b/styles/colours.css @@ -1,7 +1,5 @@ -:root { - --black: #000000; - --white: #ffffff; +:root { /* ByeCorps colour scheme. Use sparsely on this site. */ --byecorps-blue: #1b5652; --byecorps-white: #e6feff; @@ -9,155 +7,60 @@ /* ByeCorps ID colour scheme. Use on this site. */ --black-bean: #330f0a; --dark-slate-gray: #394f49; + --dark-slate-gray-dim: #536E65; --fern-green: #65743a; --flax: #efdd8d; + --flax-dim: #BFB26E; --mindaro: #f4fdaf; - /* open colors: used for debugging */ - --red-5: #ff6b6b; - --red-5-transparent: #ff6b6b3a; - --red-8: #e03131; - --green-5: #51cf66; - --green-8: #2f9e44; - --grey-0: #f8f9fa; - --grey-2: #e9ecef; - --grey-8: #343a40; - --grey-9: #212529; - - --error-color: var(--red-5); - - --background: white; - --background-dark: #121212; - - --foreground: black; - --foreground-dark: white; - - --chip-background: var(--grey-0); - - color-scheme: light dark; -} - -html { - background: var(--background, white); -} - -button, .button { - background-color: #1f302b40; - color: var(--white); -} - -button.primary, .button.primary { - color: var(--black-bean); - background-color: var(--flax); -} - -button.danger, .button.danger { - color: var(--white); - background-color: var(--red-5); -} - -header { - background-color: var(--flax); - color: var(--dark-slate-gray); -} - -header a { - color: var(--dark-slate-gray); -} - -input, textarea { - all: unset; - padding: 1em; - text-align: start; - - border-radius: 1em; - - background-color: #c0c0c077; -} - -input[data-com-onepassword-filled="light"] { - background-color: var(--byecorps-white) !important; -} - -input[data-com-onepassword-filled="dark"] { - background-color: var(--byecorps-blue) !important; -} + --white: #ffffff; + --gray-0: #f8f9fa; + --gray-1: #f1f3f5; + --grey-5: #adb5bd; + --gray-8: #343a40; + --gray-9: #212529; -.icon-true { - color: var(--green-8); -} + --red-2: #ffc9c9; + --red-3: #ffa8a8; + --red-7: #f03e3e; + --red-9: #c92a2a; -.icon-false { - color: var(--red-8); -} + --ff-bg-black: #1a1a1a; -.dangerzone { - background-color: var(--red-5-transparent); - color: var(--white); + --page-bg: var(--white); - padding: 0.5rem 1em; - border-radius: 1em; + --link-fg: var(--dark-slate-gray); + --non-color-link-fg: var(--gray-9); -} - -.dangerzone h2 { - margin: 0; -} + --hover-bg: var(--gray-1); + --selected-bg: var(--gray-0); -.dangerzone p { - margin: 0; -} + --input-bg: var(--gray-1); -.flash { - background: var(--red-5); - color: black; -} + --button-primary-bg: var(--flax); + --button-primary-hover-bg: var(--flax-dim); -.fg-error { - color: var(--error-color); + --error-fg: var(--red-9); } @media screen and (prefers-color-scheme: dark) { :root { - --background: #121212; - --foreground: white; - - --chip-background: var(--grey-9); - - color-scheme: light dark; - } - - html { - background: var(--background, #121212); - } - - button.primary, .button.primary { - color: var(--flax); - background-color: var(--dark-slate-gray); - } - - header { - background-color: var(--dark-slate-gray); - color: var(--flax); - } - - header a { - color: var(--flax); - } - - input, textarea { - background-color: #2c2c2c77; - } - - .icon-true { - color: var(--green-5); + --page-bg: var(--ff-bg-black); + --link-fg: var(--flax); + --non-color-link-fg: var(--gray-0); + --hover-bg: var(--gray-8); + --selected-bg: var(--gray-9); + --error-fg: var(--red-3); + --input-bg: var(--gray-9); + --button-primary-bg: var(--dark-slate-gray); + --button-primary-hover-bg: var(--dark-slate-gray-dim); } +} - .icon-false { - color: var(--red-5); - } +.error-fg { + color: var(--error-fg); +} - a, a:visited, a:link { - color: var(--flax); - } -} \ No newline at end of file +a { + color: var(--link-fg); +} diff --git a/styles/design.css b/styles/design.css deleted file mode 100644 index 0d5d2d8dc37a04ee7bea563cdf968d6fd54dd56d..0000000000000000000000000000000000000000 --- a/styles/design.css +++ /dev/null @@ -1,100 +0,0 @@ -/* This file holds the look and feel for ByeCorps products. - - (c) 2023 ByeCorps. All rights reserved. -*/ - -button, .button { - border: none; - padding: 15px 32px; - margin: 4px 2px; - text-align: center; - text-decoration: none; - display: inline-block; - font-size: 16px; - border-radius: 8px; - cursor: pointer; -} - -/*header a {*/ -/* text-decoration: underline;*/ -/*}*/ - -/* inputs */ - -input, textarea { - all: unset; - padding: 1em; - text-align: start; - - border-radius: 1em; -} - -input[type="checkbox"] { - -webkit-appearance: checkbox; - -moz-appearance: checkbox; - -ms-appearance: checkbox; - -o-appearance: checkbox; - appearance: checkbox; - - width: 1em; - height: 1em; - margin: 0 0.5em 0 0; -} - -input:disabled { - opacity: 0.75; - cursor: not-allowed; -} - -.flash { - padding: 1rem; - border-radius: 1rem; -} - -table { - background-color: var(--grey-2); - width: 100%; - font-size: 1.1rem; - padding: .5rem; - border-radius: 1.0rem; -} - -table > tbody > tr { - display: grid; - align-items: center; - gap: 0.5rem; - grid-template-columns: auto 1fr; -} - -table > tbody > tr > td { - background: var(--grey-0); - border-radius: .5em; - padding: .5em; -} - -#connection_img { - display: flex; - gap: 1rem; - - justify-content: center; -} - -#connection_img img { - height:7.5rem; - border-radius: 50%; -} - -#connection_img .sep { - font-size: 4rem; - align-self: center; -} - -@media screen and (prefers-color-scheme: dark) { - table { - background-color: var(--grey-9); - } - - table > tbody > tr > td { - background: var(--grey-8); - } -} diff --git a/styles/global.css b/styles/global.css deleted file mode 100644 index adf6fc59bc574978fcffed241be00a79ff71ca78..0000000000000000000000000000000000000000 --- a/styles/global.css +++ /dev/null @@ -1,23 +0,0 @@ -@import url(./types.css); -@import url(./design.css); -@import url(./layout.css); -@import url(./colours.css); - - -* { - box-sizing: border-box; -} - -body::after { - content: "BETA"; - position: fixed; - top: 5rem; - right: 1rem; - - text-align: right; - font-size: 2.5rem; - font-weight: bolder; - opacity: 0.3; - - transform: rotate(15deg); -} diff --git a/styles/layout.css b/styles/layout.css deleted file mode 100644 index 9e8927730b11268459ca6d2113f5217071c065e6..0000000000000000000000000000000000000000 --- a/styles/layout.css +++ /dev/null @@ -1,155 +0,0 @@ -body { - margin: 0; - padding: 0; - - display: flex; - flex-direction: column; - - min-height: 100vh; -} - -header { - display: flex; - - - align-items: center; - - padding: 1rem 1rem; -} - -header .start { - margin-right: auto; - display: flex; - - gap: 1rem; - -} - -header .middle { - margin: 0 16px; - display: flex; -} - -header .end { - margin-left: auto; - display: flex; - gap: 1rem; -} - -header .avatar { - height: 1.5em; -} - -main { - height: 100%; - flex: 1; - padding: 1rem 1rem; - - max-width: 1500px; - margin: auto; - width: 100%; -} - -footer { - display: flex; - align-items: start; - justify-content: center; - - padding: 1rem 1rem; - - gap: 1rem; -} - -fieldset { - - border: #c0c0c0c0 1px solid; - border-radius: calc(1em + 10px); - - padding: 10px 10px 5px 10px; -} - -legend { - font-size: 1.25rem; - font-weight: 600; -} - -form:has(fieldset) { - - /* fit two fieldsets side by side */ - display: grid; - grid-template-columns: 1fr 1fr; - gap: 1rem; - - -} - -form:has(fieldset) > button[type="submit"] { - /* align the button to the right */ - grid-column: span 2; -} - -form .container { - /* contains a label and an input */ - display: flex; - flex-direction: column; - gap: 0.25rem; - padding-bottom: 5px; -} - -form .container:has(input[type="checkbox"]) { - flex-direction: row; -} - -form .container label { - font-size: 0.9rem; - opacity: 0.5; -} - -form .container:has(input[type="checkbox"]) label { - margin-left: 0.5em; - opacity: 1; - font-size: 1rem; -} - -footer h2 { - margin: 0; -} - -form { - display: flex; - flex-direction: column; - gap: 1rem; -} - - - -.hero { - display: flex; - flex-direction: column; - align-items: center; - text-align: center; - justify-content: center; - - padding: 1rem 1rem; - - gap: 1rem; -} - -.hero .logo { - height: 128px; -} - -.accountnav { - display: flex; - gap: 1rem; -} - -#wrapper { - display: flex; -} - -#loginform { - max-width: 500px; - margin: auto; -} - diff --git a/styles/profiles.css b/styles/profiles.css deleted file mode 100644 index d5b4f785f9a7eb70348c69b75e5363a56da75ac9..0000000000000000000000000000000000000000 --- a/styles/profiles.css +++ /dev/null @@ -1,77 +0,0 @@ - -#profile { - display: flex; -} - -#profile .avatar { - height: 150px; -} - -#mini_profile { - display: flex; - gap: 1rem; - padding: 1rem; - width: 750px; - border-radius: 2em; - align-items: center; - - margin: auto; - - background: var(--grey-0); -} - -#mini_profile > .avatar { - height: 150px; - - border-radius: 1em; -} - -#mini_profile > .info > .displayname { - font-size: 2.5rem; - font-weight: bolder; -} - -#mini_profile > .info > .bcid { - font-size: 1.5rem; -} - -#details { - display: grid; - grid-template-columns: 3fr 1fr; -} - -#badges { - display: grid; - grid-template-columns: repeat(auto-fit, 1fr); - gap: 0.5rem; -} - -#badges .badge { - display: flex; - align-items: center; - - gap: 1rem; -} - -.badge .details { - display: flex; - flex-direction: column; -} - -.badge img { - height: 7.5em; - width: 7.5em; - object-fit: contain; - border-radius: 1em; -} - -.badge .details .title { - font-size: 1.5rem; - font-weight: 700; -} - -@media screen and (prefers-color-scheme: dark) { - #mini_profile { - background: var(--grey-9); - } -} diff --git a/styles/settings.css b/styles/settings.css deleted file mode 100644 index 95d424e1166be3196b471eced33e74057161a009..0000000000000000000000000000000000000000 --- a/styles/settings.css +++ /dev/null @@ -1,140 +0,0 @@ - -main { - display: flex; -} - -#settings_split { - display: grid; - grid-template-columns: 1fr 3fr; - gap: 1rem; -} - -#mini_profile { - display: flex; - flex-direction: column; - - border-radius: 1.5rem; - overflow: clip; - - padding-bottom: 1.5rem; - - background: var(--background); -} - -#mini_profile .image_container { - display: flex; - background: linear-gradient(to bottom, white, var(--background) 95%); -} - -#mini_profile .image_container img { - width: 50%; - margin: 0.5rem auto 0.5rem; - border-radius: 1rem; -} - -#mini_profile .texts { - text-align: center; - display: flex; - flex-direction: column; -} - -#mini_profile .texts .displayname { - font-size: 2rem; - font-weight: bold; -} - -#settings_list { - list-style: none; -} - -#settings_list > h1 { - margin: 0 0 1rem 0; -} - -#settings_list li { - border-top: var(--foreground) 1px solid; -} - -#settings_list li:first-child { - border-top: none; -} - -#settings_list li > a { - display: block; - padding: 1rem 0; - - color: var(--foreground); - text-decoration: none; - - transition: color 0.2s ease-in-out; -} - -#settings_list li > a:hover { - color: var(--flax) -} - -.tiles { - display: grid; - gap: 1rem; - grid-template-columns: repeat(3, 1fr); - grid-template-rows: 150px; - grid-auto-flow: dense; -} - -.tiles .tile { - background: #343a40; - text-align: center; - display: flex; - text-decoration: none; - - font-size: 1.2rem; - font-weight: 500; - - border-radius: 1.5rem; - - transition: scale 0.2s ease-in-out; -} - -.tiles .tile:hover { - scale: 1.05; -} - -.tiles .tile div { - margin: auto; -} - -.tiles .tile span { - display: block; -} - -.tile.double-height { - grid-row: span 2; -} - -@media screen and (max-width: 960px) { - #settings_split { - grid-template-columns: none; - } - - #mini_profile { - flex-direction: row; - padding-bottom: 0; - } - - #mini_profile .image_container { - width: 40%; - background: linear-gradient(to right, white, var(--chip-background) 95%); - } - - #mini_profile .image_container img { - margin: 1rem; - border-radius: 1rem; - } - - #mini_profile .texts { - flex: 1; - margin: auto auto auto 0; - text-align: left; - } -} - diff --git a/styles/types.css b/styles/types.css deleted file mode 100644 index 2861f85fe6d59b94ae966c9862eed2b83fa54708..0000000000000000000000000000000000000000 --- a/styles/types.css +++ /dev/null @@ -1,90 +0,0 @@ -/* This file deals with font types and font families. */ - -@import url(https://fonts.bunny.net/css?family=montserrat:400,400i,500,600,600i,700,700i,900,900i); -@import url(https://fonts.bunny.net/css2?family=Space+Mono:wght@400;700&display=swap); /* for BCIDs */ - -@import url(/fontawesome/css/all.css); - -html { - font-family: montserrat, sans-serif; - font-weight: 400; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -h2.subheading { - font-weight: 500; - font-size: 1.5rem; - margin-bottom: 0; -} - -h2.subheading + h1 { - margin-top: 0; -} - -#sitetitle, .font-montserrat, h1, h2, h3, h4, h5, h6, legend { - font-family: 'montserrat', sans-serif; -} - -.bc-1 { - font-weight: 700; -} - -.bc-2 { - font-weight: 600; -} - -.bc-3 { - font-weight: 400; -} - -.bcid { - font-family: 'Space Mono', monospace; -} - -.subtitle { - font-size: 0.9rem; - margin: 0; - opacity: 0.8; -} - -.center { - text-align: center; -} - -.vertical-center { - vertical-align: center; -} - -.icon-true::before { - content: "\f00c"; -} - -.icon-false::before { - content: "\f00d"; -} - -.space-mono-regular { - font-family: "Space Mono", monospace; - font-weight: 400; - font-style: normal; -} - -.space-mono-regular-italic { - font-family: "Space Mono", monospace; - font-weight: 400; - font-style: italic; -} - -.space-mono-bold { - font-family: "Space Mono", monospace; - font-weight: 700; - font-style: normal; -} - -.space-mono-bold-italic { - font-family: "Space Mono", monospace; - font-weight: 700; - font-style: italic; -} - diff --git a/time_handler.php b/time_handler.php deleted file mode 100644 index 5e4b305c966b57edaa62fef5beb678c329ad56ee..0000000000000000000000000000000000000000 --- a/time_handler.php +++ /dev/null @@ -1,51 +0,0 @@ -<?php -function time2str($ts) -{ - if(!ctype_digit($ts)) - $ts = strtotime($ts); - - $diff = time() - $ts; - if($diff == 0) - return 'now'; - elseif($diff > 0) - { - $day_diff = floor($diff / 86400); - if($day_diff == 0) - { - if($diff < 60) return 'just now'; - if($diff < 120) return '1 minute ago'; - if($diff < 3600) return floor($diff / 60) . ' minutes ago'; - if($diff < 7200) return '1 hour ago'; - if($diff < 86400) return floor($diff / 3600) . ' hours ago'; - } - if($day_diff == 1) return 'Yesterday'; - if($day_diff < 7) return $day_diff . ' days ago'; - if($day_diff < 31) return ceil($day_diff / 7) . ' weeks ago'; - if($day_diff < 60) return 'last month'; - return date('F Y', $ts); - } - else - { - $diff = abs($diff); - $day_diff = floor($diff / 86400); - if($day_diff == 0) - { - if($diff < 120) return 'in a minute'; - if($diff < 3600) return 'in ' . floor($diff / 60) . ' minutes'; - if($diff < 7200) return 'in an hour'; - if($diff < 86400) return 'in ' . floor($diff / 3600) . ' hours'; - } - if($day_diff == 1) return 'Tomorrow'; - if($day_diff < 4) return date('l', $ts); - if($day_diff < 7 + (7 - date('w'))) return 'next week'; - if(ceil($day_diff / 7) < 4) return 'in ' . ceil($day_diff / 7) . ' weeks'; - if(date('n', $ts) == date('n') + 1) return 'next month'; - return date('F Y', $ts); - } -} - -function hasTimePassed ($time):bool { - $currentTime = time(); - - return $currentTime > $time; -} diff --git a/views/.DS_Store b/views/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..6698d514e1b49aba5438005b0733d1b395947f25 Binary files /dev/null and b/views/.DS_Store differ diff --git a/views/404.php b/views/404.php new file mode 100644 index 0000000000000000000000000000000000000000..3830de890aa32a6c17e3f451e324e90cc07da236 --- /dev/null +++ b/views/404.php @@ -0,0 +1,25 @@ +<?php +http_response_code(404); +?> + +<!doctype html> +<html lang="en"> +<head> + <?php require "partials/head.php"; ?> + <title>404 ~> ByeCorps ID</title> +</head> +<body> + <?php include "partials/header.php"; ?> + + <main> + <div id="content" class="center"> + <h1>404</h1> + <p>Sorry, but that doesn't exist anymore.</p> + <p><small>(or it never existed)</small></p> + </div> + </main> + + <?php include 'partials/footer.php'; ?> +</body> +</html> + diff --git a/views/admin/dashboard.php b/views/admin/dashboard.php new file mode 100644 index 0000000000000000000000000000000000000000..9aae39f1dc2693a98bb97567dba21111e0a5be21 --- /dev/null +++ b/views/admin/dashboard.php @@ -0,0 +1,38 @@ +<?php + +if (!requires_admin()) {exit;} // failsafe in case this file is opened from "not the index". + +if (isset($query['delete'])) { + delete_file_by_id($query['delete']); +} + +$files = db_execute_all('SELECT * FROM files'); + +?> + +<!doctype html> +<html> +<head> + <?php include $DOC_ROOT.'/views/partials/head.php' ?> + <title>[A] Dashboard ~> ByeCorps ID</title> +</head> +<body> +<?php include $DOC_ROOT.'/views/partials/header.php' ?> +<main> + <h1>[ADMIN] Dashboard</h1> + + <nav> + <ul> + <li> + <a href="/admin/files">Manage files</a> + </li> + <li> + <a href="/admin/applications">Manage applications</a> + </li> + </ul> + </nav> + +</main> +<?php include $DOC_ROOT.'/views/partials/footer.php' ?> +</body> +</html> diff --git a/views/admin/files.php b/views/admin/files.php new file mode 100644 index 0000000000000000000000000000000000000000..f3ff68e6afa7d3fb6a827cf8d688bb79d5adedd8 --- /dev/null +++ b/views/admin/files.php @@ -0,0 +1,59 @@ +<?php + +if (!requires_admin()) {exit;} // failsafe in case this file is opened from "not the index". + +if (isset($query['delete'])) { + delete_file_by_id($query['delete']); +} + +$files = db_execute_all('SELECT * FROM files'); + +?> + +<!doctype html> +<html> + <head> + <?php include $DOC_ROOT.'/views/partials/head.php' ?> + <title>[A] Files ~> ByeCorps ID</title> + </head> + <body> + <?php include $DOC_ROOT.'/views/partials/header.php' ?> + <main> + <h1>[ADMIN] Files</h1> + <p>There are <?= count($files) ?> files.</p> + + <ul> + <?php + foreach ($files as $file) { + echo '<li>'; + + if ($file['blurhash']) { + echo '<img src="https://cdn.id.byecorps.com/'. $file['path'] .'" />'; + } + + echo '<p><a href="https://cdn.id.byecorps.com/'.$file['path'].'">ID: '.$file['id'].' ~~ '.$file['path'].'</a></p>'; + + if ($file['uploader']) { + echo '<p>Owned by <b>'. get_user_display_name($file['uploader']) .'</b></p>'; + } else { + echo '<p>No owner on file</p>'; + } + + echo '<p>Uploaded on <b>'. $file['uploaded_date'] .'</b></p>'; + + $avatar = db_execute('select * from avatars where file_id = ?', [$file['id']]); + if (!empty($avatar)) { + echo '<p>Is ' . get_user_display_name($avatar['owner']) . '\'s avatar</p>'; + } + + echo '<p>Options: <a href="?delete='. $file['id'] .'">Delete</a></p>'; + + echo '</li>'; + } + ?> + </ul> + + </main> + <?php include $DOC_ROOT.'/views/partials/footer.php' ?> + </body> +</html> diff --git a/views/dashboard.php b/views/dashboard.php new file mode 100644 index 0000000000000000000000000000000000000000..4bd65c8d6eea0a710e2eb980ade3b559d0d9b6f0 --- /dev/null +++ b/views/dashboard.php @@ -0,0 +1,45 @@ +<!doctype html> +<html> + <head> + <?php include 'partials/head.php'; ?> + <title><?= get_string('page.dashboard') ?> ~> ByeCorps ID</title> + <link rel="stylesheet" href="/styles/dashboard.css" /> + </head> + <body> + <?php include 'partials/header.php'; ?> + <main> + <h1><?= get_string('page.dashboard') ?></h1> + <div class="grid"> + <div class="id-card"> + <img src="<?= get_user_avatar($_SESSION['id']); ?>" alt="<?= get_user_display_name($_SESSION['id']) ?>'s avatar" /> + <div class="info"> + <div class="display_name"><?= get_user_display_name($_SESSION['id']) ?></div> + <div class="id"><?= format_bcid($_SESSION['id']) ?></div> + <div class="join-date"><?= get_string('idcard.joined', ['date' => $user['created_date']]) ?></div> + </div> + </div> + <ul> + <li> + <a href="/profile" class="item"> + <div class="icon"><span class="fa-fw fa-solid fa-id-card"></span></div> + <div class="label"><?= get_string('page.profile') ?></div> + </a> + </li> + <li> + <a href="/settings" class="item"> + <div class="icon"><span class="fa-fw fa-solid fa-cog"></span></div> + <div class="label"><?= get_string('page.settings') ?></div> + </a> + </li> + <li> + <a href="/auth/signout" class="item"> + <div class="icon"><span class="fa-fw fa-solid fa-right-to-bracket"></span></div> + <span class="label"><?= get_string('auth.signout') ?></span> + </a> + </li> + </ul> + </div> + </main> + <?php include 'partials/footer.php'; ?> + </body> +</html> \ No newline at end of file diff --git a/views/home.php b/views/home.php new file mode 100644 index 0000000000000000000000000000000000000000..f99802ef039831602b3602ae9dfe0c4a0049f903 --- /dev/null +++ b/views/home.php @@ -0,0 +1,26 @@ + +<html> + <head> + <?php include 'partials/head.php'; ?> + <title>ByeCorps ID</title> + </head> + <body> + <?php include 'partials/header.php'; ?> + + <main> + <div class="hero"> + <div class="hero-text"> + <img src="https://cdn.id.byecorps.com/assets/bcid.svg" alt="ByeCorps ID Logo" class="logo"> + <h1><span class="bc-1">Bye</span><span class="bc-2">Corps</span><span class="bc-3"> ID</span></h1> + <p>Log into ByeCorps and beyond with a single ID.</p> + <!-- <p><input type="email" name="loginEmail" id="loginEmail" placeholder="Email" /></p> --> + + <a href="/auth/login" class="button primary"><?= get_string('auth.login') ?></a> + <a href="/auth/signup" class="button"><?= get_string('auth.signup') ?></a> + </div> + </div> + </main> + + <?php include 'partials/footer.php'; ?> + </body> +</html> diff --git a/views/login.php b/views/login.php new file mode 100644 index 0000000000000000000000000000000000000000..8666c508ed7539a68c0025db2cc878ae1833f31c --- /dev/null +++ b/views/login.php @@ -0,0 +1,106 @@ +<?php + +if ($_SESSION['auth']) { + if (key_exists('callback', $query)) { + header('Location: ' . urldecode($query['callback'])); + } else { + header('Location: /dashboard'); + } + exit(); +} + +if ($_SERVER['REQUEST_METHOD'] == 'POST') { + if (!validate_csfr()) { + flash(get_string('error.generic'), $flash); + goto skip; + } + + // Validate email address + if (!validate_email($_POST['email'])) { + $error_body = get_string('error.invalidEmail'); + } + + // Figure out if it's a user + $user_to_log_in_as = db_execute('SELECT id, email, password FROM accounts WHERE email = ?', [$_POST['email']]); + if (!$user_to_log_in_as) { + $error_body = get_string('error.incorrectAuth'); + goto skip; + } + + if (password_verify($_POST['password'], $user_to_log_in_as['password'])) { + $_SESSION['auth'] = true; + $_SESSION['id'] = $user_to_log_in_as['id']; + + if (key_exists('callback', $query)) { + header('Location: ' . urldecode($query['callback'])); + } else { + header('Location: /dashboard'); + } + exit(); + } +} else { + if (key_exists('callback', $query)) { + $subtitle = get_string('auth.logInToContinue'); + } +} + +skip: + +?> + +<!doctype html> +<html lang="en"> +<head> + <?php include 'partials/head.php' ?> + <link rel="stylesheet" href="/styles/login_form.css" /> +</head> +<body> +<?php include 'partials/header.php' ?> + +<main><?php + + if ($_SESSION['auth']) { + $error_body = get_string('error.loggedIn'); + } + + ?> + + <div id="wrapper"> + <h1 class="center"><?= get_string('page.login') ?></h1> + <p class="center">Don't have one? <a href="/auth/signup">Sign up</a>.</p> + <?php + if (isset($subtitle)) { + echo '<p class="subtitle center">'. $subtitle .'</p>'; + } + + if (isset($error_body)) { + include 'partials/error.php'; + } + ?> + + <form class="login-form" method="post"> + <?= csfr_input() ?> + + <div class="input"><label for="email"><?= get_string("auth.email") ?></label> + <input type="email" name="email" id="email" /></div> + <div class="input"><label for="password"><?= get_string("auth.password") ?></label> + <input type="password" name="password" id="password" /></div> + + <button class="primary" type="submit"><?= get_string('auth.login') ?></button> + </form> + </div> + + <div class="spacer"></div> + + <div class="passkey center"> + <h2><span class="icon icon-32 align-vertically fluent--person-passkey-32-filled"></span> + <span class="label"><?= get_string('auth.passkey') ?></span></h2> + <p><?= get_string('auth.logInWithPasskeyExplainer'); ?></p> + <p><button><?= get_string('auth.logInWithPasskey') ?></button></p> + </div> + +</main> + +<?php include 'partials/footer.php' ?> +</body> +</html> \ No newline at end of file diff --git a/views/oauth_login.php b/views/oauth_login.php new file mode 100644 index 0000000000000000000000000000000000000000..c37332a39fd46e17756c32b7619c5ba14cf785d7 --- /dev/null +++ b/views/oauth_login.php @@ -0,0 +1,63 @@ +<?php + +$please_exit = false; +$passed_callback = false; + +$app = null; + +// Try to get the app details +try { + $app = get_app_by_id($query['appid']); +} catch (TypeError $e) { + flash(get_string('error.noAppId'), $flash); + $please_exit = true; +} + +if (empty($app)) { + flash(get_string('error.invalidAppId'), $flash); +} + +if (key_exists('callback', $query)) { + if ($query['callback'] == $app['callback']) { + $passed_callback = true; + } +} + +$signed_in = !is_null($user); + +?> + +<!doctype html> +<html lang="en"> +<head> + <?php include 'partials/head.php' ?> + <link rel="stylesheet" href="/styles/login_form.css" /> +</head> +<body> +<?php include 'partials/header.php' ?> + +<main> + <?= + show_flash($flash); + if ($please_exit) { + goto pls_quit; + } + ?> + + <h1><?= htmlspecialchars($app['title']) ?> wants to sign in with your ByeCorps ID</h1> + <p><i><?= htmlspecialchars($app['description']) ?></i><br>(The above was provided by the developers)</p> + + <?php + if ($signed_in && $passed_callback) { + echo 'PASSED!!'; + } + ?> + + <?php + pls_quit: + ?> +</main> + +<?php include 'partials/footer.php' ?> +</body> +</html> \ No newline at end of file diff --git a/views/partials/error.php b/views/partials/error.php new file mode 100644 index 0000000000000000000000000000000000000000..7ded7259ea39105d883a4d8b12105cb9135ae905 --- /dev/null +++ b/views/partials/error.php @@ -0,0 +1,13 @@ +<?php + +$error_body = $error_body ?? "No message provided."; + +?> + +<div class="errorbox"> + <div class="icon"> + <span class="fa-solid fa-fw fa-circle-xmark"></span> + </div> + <h2><?= get_string("generic.error") ?></h2> + <p><?= htmlspecialchars($error_body) ?></p> +</div> diff --git a/views/partials/footer.php b/views/partials/footer.php new file mode 100644 index 0000000000000000000000000000000000000000..167c90f77e02125dee75805c626d7e0941785964 --- /dev/null +++ b/views/partials/footer.php @@ -0,0 +1,10 @@ +<footer> + <div class="item"> + <div>© ByeCorps 2024 :: <a href="/credits"><?= get_string('page.credits') ?></a></div> + <div><?= get_string('footer.executionTime', ['time'=>round((microtime(true) - $_SERVER['REQUEST_TIME_FLOAT']) * 1000, 3)]) ?></div> + </div> + <div class="item"> + <p><a href="/settings/region"><?= get_string('generic.changeLanguage') ?> - Change language</a></p> +<!-- <script src="/scripts/langauge_switcher.js" defer></script>--> + </div> +</footer> \ No newline at end of file diff --git a/views/partials/head.php b/views/partials/head.php new file mode 100644 index 0000000000000000000000000000000000000000..bbc2fb25b18551edb65a8969f85412ed437e2dfa --- /dev/null +++ b/views/partials/head.php @@ -0,0 +1,18 @@ +<?php +if (isset($page_title)) { + echo '<title>' . $page_title . ' ~> ByeCorps ID</title>'; +} +?> +<meta charset="UTF-8"> +<meta name="viewport" + content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> +<meta http-equiv="X-UA-Compatible" content="ie=edge"> +<script src="https://cdn.byecorps.com/global/fonts/fontawesome/js/all.min.js" defer></script> +<link rel="stylesheet" href="/styles/base.css"> +<link rel="preconnect" href="https://fonts.bunny.net" crossorigin> +<link href="https://fonts.bunny.net/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap" rel="stylesheet"> +<link rel="shortcut icon" href="/favicon.svg" type="image/x-icon"> + +<!-- Apple web app stuff --> +<link rel="apple-touch-icon" href="https://cdn.id.byecorps.com/assets/icons/apple-icon-180.png" /> +<link rel="apple-touch-startup-image" href="" /> diff --git a/views/partials/header.php b/views/partials/header.php new file mode 100644 index 0000000000000000000000000000000000000000..949b891645fce1b8158ff1e758f1cfe8869db724 --- /dev/null +++ b/views/partials/header.php @@ -0,0 +1,25 @@ + +<header> + <div> + <a href="/" id="sitetitle"> + <span class="bc-1">Bye</span><span class="bc-2">Corps</span><span class="bc-3"> ID</span> + </a> + </div> + + <div class="section"> + <?php + if ($_SESSION['auth']) { + if ($user['is_admin']) { + echo '<a class="item" href="/admin">Admin dashboard</a>'; + } + echo '<div class="item">' . get_string("header.hello", ['display_name' => get_user_display_name($_SESSION['id'])]) . '</div>'; + echo '<a class="item" href="/dashboard">' . get_string('page.dashboard') . '</a>'; + echo '<div class="item"><a href="/auth/signout">'. get_string('auth.signout') .'</a></div>'; + } + else { + echo '<a href="/auth/signup">' . get_string("auth.signup") + . '</a> <a href="/auth/login">'. get_string("auth.login") . '</a>'; + } + ?> + </div> +</header> diff --git a/views/partials/settings_list.php b/views/partials/settings_list.php new file mode 100644 index 0000000000000000000000000000000000000000..13dad356ad222568b5251f700fb9519b641c8c34 --- /dev/null +++ b/views/partials/settings_list.php @@ -0,0 +1,22 @@ +<ul> + <li> + <a href="/settings/account" class="item"> + <div class="icon"><span class="fa-fw fa-solid fa-user"></span></div> + <span class="label"><?= get_string('settings.account') ?></span> + </a> + </li> + <li> + <a href="/settings/region" class="item"> + <div class="icon"><span class="fa-fw fa-solid fa-globe"></span></div> + <span class="label"><?= get_string('settings.region') ?></span> + </a> + </li> + <li> + <a href="/settings/security" class="item"> + <div class="icon"><span class="fa-fw fa-solid fa-lock"></span></div> + <div class="label"><?= get_string('settings.security') ?></div> + </a> + </li> +</ul> + +<script src="/scripts/settings_list_assister.js" async></script> diff --git a/views/profile.php b/views/profile.php new file mode 100644 index 0000000000000000000000000000000000000000..59502314170b17830edb9269e9952d1a287f346b --- /dev/null +++ b/views/profile.php @@ -0,0 +1,42 @@ +<?php + +//global $user; +if (is_null($user)) { + $error = true; + $error_body = "Not logged in."; +} + +?> + +<!doctype html> +<html lang="en"> +<head> + <?php include "partials/head.php" ?> +</head> +<body> + <?php include "partials/header.php" ?> + + <main> + <?php + if (isset($error)) { + include 'partials/error.php'; + include 'partials/footer.php'; + exit(); + } + ?> + + <div id="profile-wrapper"> + <img id="profile-image" + src="<?= get_user_avatar($profile_owner['id']) ?>" + alt="<?= get_user_display_name($profile_owner['id']) ?>'s avatar" /> + <div id="profile-user-info"> + <span id="profile-display-name"><?= get_user_display_name($profile_owner['id']) ?></span> + <span id="profile-bcid"><?= format_bcid($profile_owner['id']) ?></span> + </div> + </div> + </main> + + <?php include 'partials/footer.php' ?> + +</body> +</html> diff --git a/views/profile_edit.php b/views/profile_edit.php new file mode 100644 index 0000000000000000000000000000000000000000..d4172799229296cce3ff72c8f3d05a153a63785e --- /dev/null +++ b/views/profile_edit.php @@ -0,0 +1,46 @@ + +<?php + +if ($_SERVER['REQUEST_METHOD'] == 'POST') { + $mime_avatar = mime_content_type($_FILES['avatar']['tmp_name']); + if (str_contains($mime_avatar, 'image')) { + echo $mime_avatar; + $new_avatar = upload_avatar($_FILES['avatar'], $user); + } + +// location('/profile'); +} + + +?> + +<!doctype html> +<html lang="en"> +<head> + <?php include "partials/head.php" ?> +</head> +<body> +<?php include "partials/header.php" ?> + +<main> + + <h1>Editing profile</h1> + + <form method="post" enctype="multipart/form-data"> + <fieldset> + <legend>Images</legend> + + <label for="avatar">Avatar</label> + <input type="file" accept="image/*" name="avatar" id="avatar" /> + + </fieldset> + + <button type="submit"><?= get_string('button.submit') ?></button> + </form> + +</main> + +<?php include 'partials/footer.php' ?> + +</body> +</html> diff --git a/views/settings.php b/views/settings.php new file mode 100644 index 0000000000000000000000000000000000000000..59a4eb7be195b066095e70ac8f123a3ffce830b3 --- /dev/null +++ b/views/settings.php @@ -0,0 +1,18 @@ +<!doctype html> +<html> +<head> + <?php require 'partials/head.php'; ?> + <title><?= get_string('page.settings'); ?> ~> ByeCorps ID </title> + <link rel="stylesheet" href="/styles/dashboard.css" /> +</head> +<body> + <?php include "partials/header.php" ?> + + <main> + <h1><span class="fa-solid fa-fw fa-cog"></span> <?= get_string('page.settings'); ?></h1> + <?php include 'partials/settings_list.php' ?> + </main> + + <?php include 'partials/footer.php' ?> +</body> +</html> diff --git a/views/settings_region.php b/views/settings_region.php new file mode 100644 index 0000000000000000000000000000000000000000..1a097ba9975403946532cbe7baaf326546b7d7e1 --- /dev/null +++ b/views/settings_region.php @@ -0,0 +1,81 @@ +<?php + +function update_language(): void +{ + global $user; + if (is_null($user)) { + $user['id'] = DEMO_USER; + } + set_user_language($_POST['lang'], $user['id']); + location('/settings/region?success=true'); +} + +if (array_key_exists('success', $query)) { + if ($query['success'] == 'true') { + flash(get_string('generic.languageUpdated'), $flash); + } +} + +if (isset($path[3])) { + if ($_SERVER['REQUEST_METHOD'] == 'POST') { + switch ($path[3]) { + case 'set_language': + update_language(); + break; + default: + location('/settings/region'); + exit; + } + } else { + location('/settings/region'); + } +} + +?> + +<!doctype html> +<html> +<head> + <?php require 'partials/head.php'; ?> + <title><?= get_string('page.settings'); ?> ~> ByeCorps ID </title> + <link rel="stylesheet" href="/styles/dashboard.css" /> +</head> +<body> +<?php include "partials/header.php" ?> + +<main> + <h1><span class="fa-solid fa-fw fa-cog"></span> <?= get_string('page.settings'); ?></h1> + <div class="grid"> + <?php + if ($_SESSION['auth']) { + include 'partials/settings_list.php'; + } + ?> + <div class="settingsthingy"> + <h2><?= get_string('settings.region') ?></h2> + <p>Here you can set the language ByeCorps ID is displayed in.</p> + <form action="/settings/region/set_language" method="post"> + <?= show_flash($flash); ?> + <div class="language-selector"> + <?php + foreach (LANGAUGES as $lang) { + $checked = ''; + if ($lang['code'] == $_SESSION['lang']) { + $checked = 'checked="checked"'; + } + echo '<label> + <input type="radio" name="lang" '.$checked.' id="lang" value="'. $lang['code'] . '" /> + '. get_string('language.'.$lang['code']) .' - '. $lang['name'] .' + </label>'; + } + ?> + </div> + <button class='primary' type="submit"><?= get_string('button.submit') ?></button> + </form> + </div> + </div> +</main> + +<?php include 'partials/footer.php' ?> +</body> +</html> diff --git a/views/settings_security.php b/views/settings_security.php new file mode 100644 index 0000000000000000000000000000000000000000..7831657299f4f93e1c843f3e07700169c2b54473 --- /dev/null +++ b/views/settings_security.php @@ -0,0 +1,57 @@ +<?php + +?> + + +<!doctype html> +<html> +<head> + <?php require 'partials/head.php'; ?> + <title><?= get_string('page.settings'); ?> ~> ByeCorps ID </title> + <link rel="stylesheet" href="/styles/dashboard.css" /> +</head> +<body> + <?php include "partials/header.php" ?> + + <main> + <h1><span class="fa-solid fa-fw fa-cog"></span> <?= get_string('page.settings'); ?></h1> + <div class="grid"> + <?php include 'partials/settings_list.php' ?> + <div class="settingsthingy"> + <h2><?= get_string('settings.security') ?></h2> + <h3><?= get_string('auth.password') ?></h3> + <form class="settings-grid mini-form" method="post"> + <div class="input"> + <label for="current-password"><?= get_string('auth.currentPassword') ?></label> + <input type="password" name="current-password" id="current-password" autocomplete="current-password" /> + </div> + <div class="input"> + <label for="new-password"><?= get_string('auth.newPassword') ?></label> + <input type="password" name="new-password" id="new-password" autocomplete="new-password" /> + </div> + <div class="input"> + <label for="confirm-password"><?= get_string('auth.confirmPassword') ?></label> + <input type="password" name="confirm-password" id="confirm-password" autocomplete="new-password" /> + </div> + + <button type="submit"><?= get_string('button.changePassword') ?></button> + </form> + <form action="/settings/security/passkey" method="post" class="settings-grid"> + <h3><span class="icon icon-24 align-vertically fluent--person-passkey-32-filled center"></span> <?= get_string('auth.passkeyPlural') ?></h3> + <div class="grid halfandhalf"> + <div class="item"> + <p>Passkeys allow you to log in to ByeCorps ID using your device instead of a password.</p> + <button id="add_passkey">Add a passkey</button> + </div> + <div class="item"> + <?= get_string('settings.passkeysCountNone') ?> + </div> + </div> + </form> + </div> + </div> + </main> + + <?php include 'partials/footer.php' ?> +</body> +</html> diff --git a/views/signedout.php b/views/signedout.php new file mode 100644 index 0000000000000000000000000000000000000000..9c7038c93b0e407f8c14e3cf4a6236acbc113cc1 --- /dev/null +++ b/views/signedout.php @@ -0,0 +1,26 @@ +<?php + +$_SESSION['auth'] = false; +session_destroy(); + +?> + +<!doctype html> +<html lang="$lang_code"> +<head> + <title>Signed out ~> ByeCorps ID</title> + <?php include 'partials/head.php'; ?> +</head> +<body> + <?php include 'partials/header.php'; ?> + <main> + <center> + <div class="largeicon"> + <span class="fa-fw fa-solid fa-person-through-window"></span> + </div> + <p><?= get_string('auth.signedout'); ?></p> + </center> + </main> + <?php include 'partials/footer.php'; ?> +</body> +</html> \ No newline at end of file diff --git a/views/signup.php b/views/signup.php new file mode 100644 index 0000000000000000000000000000000000000000..b12bf3c110b4bac0ee6c70eb48c50dd9553cd9ff --- /dev/null +++ b/views/signup.php @@ -0,0 +1,35 @@ + + +<!doctype html> +<html lang="en"> +<head> + <?php include 'partials/head.php' ?> +</head> +<body> + <?php include 'partials/header.php' ?> + + <main><?php + + if ($_SESSION['auth']) { + $error_body = 'You\'re already logged in'; + include 'partials/error.php'; + } + + ?> + <h1><?= get_string('page.signup'); ?></h1> + <p>Sign ups are disabled.</p> +<!-- <form method="post">--> +<!-- <p><label for="email">--><?php //= get_string("auth.email") ?><!--</label>--> +<!-- <input type="email" name="email" id="email" /></p>--> +<!-- <p><label for="password">--><?php //= get_string("auth.password") ?><!--</label>--> +<!-- <input type="password" name="password" id="password" /></p>--> +<!-- <p><label for="repeat_password">--><?php //= get_string("auth.confirmPassword") ?><!--</label>--> +<!-- <input type="password" name="repeat_password" id="repeat_password" /></p>--> +<!----> +<!-- <button type="submit">Submit</button>--> +<!-- </form>--> + </main> + + <?php include 'partials/footer.php' ?> +</body> +</html> \ No newline at end of file