Repository: cocktailpeanut/dalai Branch: main Commit: e4f678efa274 Files: 43 Total size: 426.2 KB Directory structure: gitextract_qvsfy1wk/ ├── .gitignore ├── .npmrc ├── .prettierignore ├── .prettierrc.json ├── Dockerfile ├── alpaca.js ├── bin/ │ ├── cli.js │ └── web/ │ ├── index.js │ ├── prompts/ │ │ ├── ai-dialog.txt │ │ ├── chatbot.txt │ │ ├── default.txt │ │ ├── instruction-alpaca.txt │ │ ├── rewrite-alpaca.txt │ │ ├── translate.txt │ │ └── tweet-sentiment.txt │ ├── public/ │ │ └── css/ │ │ ├── all.css │ │ ├── brands.css │ │ ├── fontawesome.css │ │ ├── regular.css │ │ ├── solid.css │ │ ├── svg-with-js.css │ │ ├── v4-font-face.css │ │ ├── v4-shims.css │ │ └── v5-font-face.css │ └── views/ │ └── index.ejs ├── cmds/ │ └── stop.js ├── dalai ├── demo/ │ ├── client.js │ ├── debug.js │ ├── install.js │ ├── localrequest.js │ ├── query.js │ └── server.js ├── docker-compose.yml ├── docs/ │ ├── README.md │ ├── index.html │ ├── style.css │ └── vue.css ├── index.js ├── llama.js ├── package.json ├── setup.js └── torrent.js ================================================ FILE CONTENTS ================================================ ================================================ FILE: .gitignore ================================================ .env .DS_Store venv node_modules llama.cpp package-lock.json yarn.lock llama/ alpaca/ ================================================ FILE: .npmrc ================================================ engine-strict=true ================================================ FILE: .prettierignore ================================================ * ================================================ FILE: .prettierrc.json ================================================ { "semi": true } ================================================ FILE: Dockerfile ================================================ FROM python:3.10-slim-buster # The dalai server runs on port 3000 EXPOSE 3000 # Install dependencies RUN apt-get update \ && apt-get install -y \ build-essential \ curl \ g++ \ git \ make \ python3-venv \ software-properties-common # Add NodeSource PPA to get Node.js 18.x RUN curl -fsSL https://deb.nodesource.com/setup_18.x | bash - # Install Node.js 18.x RUN apt-get update \ && apt-get install -y nodejs WORKDIR /root/dalai # Install dalai and its dependencies RUN npm install dalai@0.3.1 RUN npx dalai alpaca setup # Run the dalai server CMD [ "npx", "dalai", "serve" ] ================================================ FILE: alpaca.js ================================================ const path = require('path'); const term = require( 'terminal-kit' ).terminal; const git = require('isomorphic-git'); const Downloader = require("nodejs-file-downloader"); const http = require('isomorphic-git/http/node'); const os = require('os'); const fs = require("fs"); const platform = os.platform() class Alpaca { constructor(root) { this.root = root this.home = path.resolve(this.root.home, "alpaca") //this.url = "https://github.com/candywrap/alpaca.cpp.git" this.url = "https://github.com/ItsPi3141/alpaca.cpp" } async make() { let success if (platform === "win32") { // CMake on Windows const venv_path = path.join(this.root.home, "venv") const cmake_path = path.join(venv_path, "Scripts", "cmake") await this.root.exec("mkdir build", this.home) await this.root.exec(`Remove-Item -path ${path.resolve(this.home, "build", "CMakeCache.txt")}`, this.home) let PS_COUNTER = 0 await this.root.exec(`${cmake_path} ..`, path.resolve(this.home, "build"), (proc, data) => { console.log("#", data); if (/^PS .*/.test(data)) { PS_COUNTER++; if (PS_COUNTER >= 2) { console.log("KILL") proc.kill() } } }) PS_COUNTER = 0; await this.root.exec(`${cmake_path} --build . --config Release`, path.resolve(this.home, "build"), (proc, data) => { console.log("#", data); if (/^PS .*/.test(data)) { PS_COUNTER++; if (PS_COUNTER >= 2) { console.log("KILL2") proc.kill() } } }) } else { // Make on linux + mac success = await this.root.exec(`make`, this.home) if (!success) { throw new Error("running 'make' failed") } } } async add (...models) { models = models.map((m) => { return m.toUpperCase() }) console.log("alpaca.add", models) for(let model of models) { const venv_path = path.join(this.root.home, "venv") const python_path = platform == "win32" ? path.join(venv_path, "Scripts", "python.exe") : path.join(venv_path, 'bin', 'python') /************************************************************************************************************** * * 5. Download models + convert + quantize * **************************************************************************************************************/ const outputFile = path.resolve(this.home, 'models', model, 'ggml-model-q4_0.bin') if (fs.existsSync(outputFile)) { console.log(`Skip conversion, file already exists: ${outputFile}`) } else { const dir = path.resolve(this.home, "models", model) console.log("dir", dir) await fs.promises.mkdir(dir, { recursive: true }).catch((e) => { console.log("mkdir", e) }) console.log("downloading torrent") let url switch (model) { case "7B": //await this.root.torrent.add('magnet:?xt=urn:btih:5aaceaec63b03e51a98f04fd5c42320b2a033010&dn=ggml-alpaca-7b-q4.bin&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=udp%3A%2F%2Fopentracker.i2p.rocks%3A6969%2Fannounce', dir) //console.log("renaming") //await fs.promises.rename( // path.resolve(dir, "ggml-alpaca-7b-q4.bin"), // path.resolve(dir, "ggml-model-q4_0.bin") //) url = "https://huggingface.co/Pi3141/alpaca-7B-ggml/resolve/main/ggml-model-q4_0.bin" await this.root.down(url, path.resolve(dir, "ggml-model-q4_0.bin")) break; case "13B": /* await this.root.torrent.add('magnet:?xt=urn:btih:053b3d54d2e77ff020ebddf51dad681f2a651071&dn=ggml-alpaca-13b-q4.bin&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=udp%3A%2F%2Fopentracker.i2p.rocks%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A6969%2Fannounce&tr=udp%3A%2F%2F9.rarbg.com%3A2810%2Fannounce', dir) console.log("renaming") await fs.promises.rename( path.resolve(dir, "ggml-alpaca-13b-q4.bin"), path.resolve(dir, "ggml-model-q4_0.bin") ) */ url = "https://huggingface.co/Pi3141/alpaca-13B-ggml/resolve/main/ggml-model-q4_0.bin" await this.root.down(url, path.resolve(dir, "ggml-model-q4_0.bin")) break; case "30B": url = "https://huggingface.co/Pi3141/alpaca-30B-ggml/resolve/main/ggml-model-q4_0.bin" await this.root.down(url, path.resolve(dir, "ggml-model-q4_0.bin")) break; default: console.log("Select either model 7B, 13B, or 30B") break; } } } } } module.exports = Alpaca ================================================ FILE: bin/cli.js ================================================ #! /usr/bin/env node const yargs = require('yargs/yargs'); const { hideBin } = require('yargs/helpers'); const argv = yargs(hideBin(process.argv)).argv; const Dalai = require("../index") const Web = require("./web/index") let cmd = argv._[0] if (argv._.length > 0) { let args = argv._.slice(1) let home = argv.home let fresh = argv.fresh if (cmd === "serve") { const port = (args.length > 0 ? args[0] : 3000) Web(port, home) } else if (cmd === "setup") { new Dalai(home).setup().then(() => { process.exit(0) }).catch((e) => { console.log("Error", e) process.exit(1) }) } else { if (args.length > 0) { let core = cmd let [method, ...callparams] = args let dalai = new Dalai(home) console.log({ method, callparams }) // 1. install => install the core module // 2. get => get models dalai[method](core, ...callparams).then(() => { process.exit(0) }).catch((e) => { console.log("ERROR", e) process.exit(1) }) } else { console.log("############################################") console.log("#") console.log("# Supported Commands:") console.log("#") console.log("# 1. System command") console.log("#") console.log("# dalai serve ") console.log("#") console.log("# 2. Model command") console.log("#") console.log("# dalai llama get ") console.log("#") console.log("############################################") } } } else { console.log("ERROR: Please pass a command") process.exit(1) } //if (process.argv.length > 0) { // let [cmd, ...args] = process.argv.slice(2) // if (cmd === "serve") { // const port = (args.length > 0 ? parseInt(args[0]) : 3000) // Web(port) // } else if (cmd === "setup") { // new Dalai().setup().then(() => { // process.exit(0) // }).catch((e) => { // console.log("Error", e) // process.exit(1) // }) // } else { // if (args.length > 0) { // let core = cmd // let [method, ...callparams] = args // let dalai = new Dalai() // console.log({ method, callparams }) // // 1. install => install the core module // // 2. get => get models // dalai[method](core, ...callparams).then(() => { // process.exit(0) // }).catch((e) => { // console.log("ERROR", e) // process.exit(1) // }) // } else { // console.log("############################################") // console.log("#") // console.log("# Supported Commands:") // console.log("#") // console.log("# 1. System command") // console.log("#") // console.log("# dalai serve ") // console.log("#") // console.log("# 2. Model command") // console.log("#") // console.log("# dalai llama get ") // console.log("#") // console.log("############################################") // } // } //} else { // console.log("ERROR: Please pass a command") // process.exit(1) //} ================================================ FILE: bin/web/index.js ================================================ const express = require('express') const os = require("os"); const http = require('http') const path = require('path') const fs = require('fs') const Dalai = require("../../index") const app = express() const httpServer = http.Server(app); const start = (port, home) => { const dalai = new Dalai(home) dalai.http(httpServer) app.use(express.static(path.resolve(__dirname, 'public'))) app.use(express.json()); app.use(express.urlencoded({ extended: true })); app.set('view engine', 'ejs'); app.set('views', path.resolve(__dirname, "views")) app.get("/", (req, res) => { res.render("index", { threads: os.cpus().length }) }) const defaultDir = path.join(__dirname, "prompts"); const customDir = path.join(os.homedir(), "dalai", "config", "prompts"); if (!fs.existsSync(customDir)) { fs.mkdirSync(customDir, { recursive: true }); console.log(`Created custom directory: ${customDir}`); } app.get("/prompts", (req, res) => { let prompts = []; const filesToPrompts = (files, directory, editable) => files.flatMap((file) => { const filePath = path.join(directory, file); const stats = fs.statSync(filePath, "utf8"); // Filter out directories and non .txt files if (!stats.isFile() || !file.endsWith('.txt')) { return [] } const promptName = path.basename(file, ".txt"); const promptValue = fs.readFileSync(filePath, "utf8"); return { name: promptName, value: promptValue, editable }; }); // Read default prompts fs.readdir(defaultDir, (err, files) => { if (err) { console.error(err); return res.status(500).json({ error: "Internal server error" }); } prompts = filesToPrompts(files, defaultDir, false); // Read custom prompts fs.readdir(customDir, (err, files) => { if (err) { console.error(err); return res.status(500).json({ error: "Internal server error" }); } prompts = prompts.concat(filesToPrompts(files, customDir, true)); res.json(prompts); }); }); }); httpServer.listen(port, () => { console.log(`Server running on http://localhost:${port}/`) }) } module.exports = start ================================================ FILE: bin/web/prompts/ai-dialog.txt ================================================ Below is a dialog, where User interacts with AI. AI is helpful, kind, obedient, honest, and knows its own limits. Instruction Write the last AI response to complete the dialog. Dialog User: Hello, AI. AI: Hello! How can I assist you today? User: >PROMPT Response AI: ================================================ FILE: bin/web/prompts/chatbot.txt ================================================ The expected response for a highly intelligent chatbot to ">PROMPT" is " ================================================ FILE: bin/web/prompts/default.txt ================================================ Below is an instruction that describes a task, paired with an input that provides further context. Write a response that appropriately completes the request. ### Instruction: >PROMPT ### Response: ================================================ FILE: bin/web/prompts/instruction-alpaca.txt ================================================ Below is an instruction that describes a task, paired with an input that provides further context. Write a response that appropriately completes the request. ### Instruction: >PROMPT ### Input: >PROMPT ### Response: ================================================ FILE: bin/web/prompts/rewrite-alpaca.txt ================================================ Below is an instruction that describes a task, paired with an input that provides further context. Write a response that appropriately completes the request. ### Instruction: Rephrase the sentence. ### Input: >PROMPT ### Response: ================================================ FILE: bin/web/prompts/translate.txt ================================================ Here is how a professional Translator accurately translates the following English text to a grammatically correct >LANGUAGE text: English: >PROMPT >LANGUAGE: ================================================ FILE: bin/web/prompts/tweet-sentiment.txt ================================================ Tweet: 'I hate it when my phone battery dies.' Sentiment: Negative ### Tweet: 'My day has been 👍' Sentiment: Positive ### Tweet: 'This is the link to the article' Sentiment: Neutral ### Tweet: '>PROMPT' Sentiment: ================================================ FILE: bin/web/public/css/all.css ================================================ /*! * Font Awesome Free 6.3.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; } ================================================ FILE: bin/web/public/css/brands.css ================================================ /*! * Font Awesome Free 6.3.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"; } ================================================ FILE: bin/web/public/css/fontawesome.css ================================================ /*! * Font Awesome Free 6.3.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; } ================================================ FILE: bin/web/public/css/regular.css ================================================ /*! * Font Awesome Free 6.3.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; } ================================================ FILE: bin/web/public/css/solid.css ================================================ /*! * Font Awesome Free 6.3.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; } ================================================ FILE: bin/web/public/css/svg-with-js.css ================================================ /*! * Font Awesome Free 6.3.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-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); } ================================================ FILE: bin/web/public/css/v4-font-face.css ================================================ /*! * Font Awesome Free 6.3.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; } ================================================ FILE: bin/web/public/css/v4-shims.css ================================================ /*! * Font Awesome Free 6.3.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; } ================================================ FILE: bin/web/public/css/v5-font-face.css ================================================ /*! * Font Awesome Free 6.3.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"); } ================================================ FILE: bin/web/views/index.ejs ================================================ Dalai LLaMA
TIP: shift+enter for multiple lines
    ================================================ FILE: cmds/stop.js ================================================ module.exports = (app) => { app.ptyProcess.onData((data) => { // nothing }) //app.ptyProcess.write('\u0003') app.ptyProcess.kill() app.ptyProcess = null } ================================================ FILE: dalai ================================================ #!/bin/bash node bin/cli.js $@ ================================================ FILE: demo/client.js ================================================ const Dalai = require('../index') new Dalai().request({ model: "7B", prompt: "If aliens were actually time travlers from the future,", n_predict: 400 }, (msg) => { process.stdout.write(msg) }) ================================================ FILE: demo/debug.js ================================================ // Return the full response (not just the answer) => need to pass "full: true" in the request const Dalai = require('../index') new Dalai().request({ full: true, model: "7B", prompt: "If aliens were actually time travelers from the future,", n_predict: 400 }, (msg) => { process.stdout.write(msg) }) ================================================ FILE: demo/install.js ================================================ const L = require("../index") const l = new L(); (async () => { await l.install("7B") })(); ================================================ FILE: demo/localrequest.js ================================================ const Dalai = require('../index') new Dalai().request({ model: "7B", prompt: "If aliens were actually time travlers from the future,", n_predict: 400 }, (msg) => { process.stdout.write(msg) }) ================================================ FILE: demo/query.js ================================================ const Dalai = require("../index") const dalai = new Dalai(); const prompts = [ `Here's a sentence: I doesn't know how he is a president of the united states A more sophisticated and grammatically correct version of above sentence would be:`, `here are some crazy ideas for an app that uses AI`, `1, 2, 3, 5, 8, 13, 21,`, `The following is a sequence of notes from a jazz improvisation:` ]; (async () => { await dalai.request({ model: "7B", prompt: prompts[3], n_predict: 1000, }, (str) => { process.stdout.write(str) }) })(); ================================================ FILE: demo/server.js ================================================ const Dalai = require("../index") new Dalai().serve(3000) ================================================ FILE: docker-compose.yml ================================================ version: '3.7' services: dalai: build: . ports: - 3000:3000 volumes: - ./models/alpaca:/root/dalai/alpaca - ./models/llama:/root/dalai/llama ================================================ FILE: docs/README.md ================================================ # Dalai Run LLaMA and Alpaca on your computer. GitHub Twitter Discord --- ## JUST RUN THIS ## TO GET Both alpaca and llama working on your computer! ![alpaca.gif](alpaca.gif) --- 1. Powered by [llama.cpp](https://github.com/ggerganov/llama.cpp), [llama-dl CDN](https://github.com/shawwn/llama-dl), and [alpaca.cpp](https://github.com/antimatter15/alpaca.cpp) 2. Hackable web app included 3. Ships with JavaScript API 4. Ships with [Socket.io](https://socket.io/) API --- # Intro ## 1. Cross platform Dalai runs on all of the following operating systems: 1. Linux 2. Mac 3. Windows ## 2. Memory Requirements Runs on most modern computers. Unless your computer is very very old, it should work. According to [a llama.cpp discussion thread](https://github.com/ggerganov/llama.cpp/issues/13), here are the memory requirements: - 7B => ~4 GB - 13B => ~8 GB - 30B => ~16 GB - 65B => ~32 GB ## 3. Disk Space Requirements ### Alpaca Currently 7B and 13B models are available via [alpaca.cpp](https://github.com/antimatter15/alpaca.cpp) #### 7B Alpaca comes fully quantized (compressed), and the only space you need for the 7B model is 4.21GB: ![alpaca_7b.png](alpaca_7b.png) #### 13B Alpaca comes fully quantized (compressed), and the only space you need for the 13B model is 8.14GB: ![alpaca_13b.png](alpaca_13b.png) ### LLaMA You need a lot of space for storing the models. **The model name must be one of: 7B, 13B, 30B, and 65B.** You do NOT have to install all models, you can install one by one. Let's take a look at how much space each model takes up: > NOTE > > The following numbers assume that you DO NOT touch the original model files and keep BOTH the original model files AND the quantized versions. > > You can optimize this if you delete the original models (which are much larger) after installation and keep only the quantized versions. #### 7B - Full: The model takes up 31.17GB - Quantized: 4.21GB ![7b.png](7b.png) #### 13B - Full: The model takes up 60.21GB - Quantized: 4.07GB * 2 = 8.14GB ![13b.png](13b.png) #### 30B - Full: The model takes up 150.48GB - Quantized: 5.09GB * 4 = 20.36GB ![30b.png](30b.png) #### 65B - Full: The model takes up 432.64GB - Quantized: 5.11GB * 8 = 40.88GB ![65b.png](65b.png) --- # Quickstart ## Docker compose Requires that you have docker installed and running. ``` docker compose build docker compose run dalai npx dalai alpaca install 7B # or a different model docker compose up -d ``` This will dave the models in the `./models` folder View the site at http://127.0.0.1:3000/ ## Mac ### Step 1. Install node.js >= 18 If your mac doesn't have node.js installed yet, make sure to install node.js >= 18 Install Node.js ### Step 2.1. Install models Currently supported engines are `llama` and `alpaca`. #### Add alpaca models To download alpaca models, you can run: ``` npx dalai alpaca install 7B ``` #### Add llama models To download llama models, you can run: ``` npx dalai llama install 7B ``` or to download multiple models: ``` npx dalai llama install 7B 13B ``` Now go to step 3. ### Step 2.2. Troubleshoot Normally you don't need this step, but if running the commands above don't do anything and immediately end, it means something went wrong because some of the required modules are not installed on your system. In that case, try the following steps: #### 1. Install homebrew In case homebrew is not installed on your computer, install it by running: ``` /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" ``` > Or you can find the same instruction on the homebrew hompage: https://brew.sh/ #### 2. Install dependencies Once homebrew is installed, install these dependencies: ``` brew install cmake brew install pkg-config ``` #### 3. Update NPM Just to make sure we cover every vector, let's update NPM as well: ``` npm install -g npm@latest ``` Now go back to step 2.1 and try running the `npx dalai` commands again. ### Step 3. Run Web UI After everything has been installed, run the following command to launch the web UI server: ``` npx dalai serve ``` and open http://localhost:3000 in your browser. Have fun! --- ## Windows ### Step 1. Install Visual Studio On windows, you need to install Visual Studio before installing Dalai. Press the button below to visit the Visual Studio downloads page and download: Download Microsoft Visual Studio **IMPORTANT!!!** When installing Visual Studio, make sure to check the 3 options as highlighted below: 1. Python development 2. Node.js development 3. Desktop development with C++ ![vs.png](vs.png) --- ### Step 2.1. Install models > **IMPORTANT** > > On Windows, make sure to run all commands in **cmd**. > > DO NOT run in **powershell**. Powershell has unnecessarily strict permissions and makes the script fail silently. Currently supported engines are `llama` and `alpaca`. #### Install alpaca To download alpaca models. Open your `cmd` application and enter: ``` npx dalai alpaca install 7B ``` #### Add llama models To download llama models. Open your `cmd` application and enter: ``` npx dalai llama install 7B ``` or to download multiple models: ``` npx dalai llama install 7B 13B ``` --- ### Step 2.2. Troubleshoot (optional) In case above steps fail, try installing Node.js and Python separately. Install Python: Download Python Install Node.js >= 18: Download Node.js After both have been installed, open powershell and type `python` to see if the application exists. And also type `node` to see if the application exists as well. Once you've checked that they both exist, try again. ### Step 3. Run Web UI After everything has been installed, run the following command to launch the web UI server (Make sure to run in `cmd` and not powershell!): ``` npx dalai serve ``` and open http://localhost:3000 in your browser. Have fun! --- ## Linux ### Step 1. Install Dependencies You need to make sure you have the correct version of Python and Node.js installed. #### Step 1.1. Python <= 3.10 Download Python > Make sure the version is 3.10 or lower (not 3.11) Python must be 3.10 or below (pytorch and other libraries are not supported yet on the latest) #### Step 1.2. Node.js >= 18 Download node.js > Make sure the version is 18 or higher --- ### Step 2.1. Install models Currently supported engines are `llama` and `alpaca`. #### Add alpaca models To download alpaca models, you can run: ``` npx dalai alpaca install 7B ``` #### Add llama models To download llama models, you can run: ``` npx dalai llama install 7B ``` or to download multiple models: ``` npx dalai llama install 7B 13B ``` ### Step 2.2. Troubleshoot In case the model install silently fails or hangs forever, try the following command, and try running the npx command again: On ubuntu/debian/etc.: ``` sudo apt-get install build-essential python3-venv -y ``` On fedora/etc.: ``` dnf install make automake gcc gcc-c++ kernel-devel python3-virtualenv -y ``` ### Step 3. Run Web UI After everything has been installed, run the following command to launch the web UI server: ``` npx dalai serve ``` and open http://localhost:3000 in your browser. Have fun! --- # API Dalai is also an NPM package: 1. programmatically install 2. locally make requests to the model 3. run a dalai server (powered by socket.io) 3. programmatically make requests to a remote dalai server (via socket.io) Dalai is an NPM package. You can install it using: ``` npm install dalai ``` --- ## 1. constructor() ### Syntax ```javascript const dalai = new Dalai(home) ``` - `home`: (optional) manually specify the [llama.cpp](https://github.com/ggerganov/llama.cpp) folder By default, Dalai automatically stores the entire `llama.cpp` repository under `~/llama.cpp`. However, often you may already have a `llama.cpp` repository somewhere else on your machine and want to just use that folder. In this case you can pass in the `home` attribute. ### Examples #### Basic Creates a workspace at `~/llama.cpp` ```javascript const dalai = new Dalai() ``` #### Custom path Manually set the `llama.cpp` path: ```javascript const dalai = new Dalai("/Documents/llama.cpp") ``` --- ## 2. request() ### Syntax ```javascript dalai.request(req, callback) ``` - `req`: a request object. made up of the following attributes: - `prompt`: **(required)** The prompt string - `model`: **(required)** The model type + model name to query. Takes the following form: `.` - Example: `alpaca.7B`, `llama.13B`, ... - `url`: only needed if connecting to a remote dalai server - if unspecified, it uses the node.js API to directly run dalai locally - if specified (for example `ws://localhost:3000`) it looks for a socket.io endpoint at the URL and connects to it. - `threads`: The number of threads to use (The default is 8 if unspecified) - `n_predict`: The number of tokens to return (The default is 128 if unspecified) - `seed`: The seed. The default is -1 (none) - `top_k` - `top_p` - `repeat_last_n` - `repeat_penalty` - `temp`: temperature - `batch_size`: batch size - `skip_end`: by default, every session ends with `\n\n`, which can be used as a marker to know when the full response has returned. However sometimes you may not want this suffix. Set `skip_end: true` and the response will no longer end with `\n\n` - `callback`: the streaming callback function that gets called every time the client gets any token response back from the model ### Examples #### 1. Node.js Using node.js, you just need to initialize a Dalai object with `new Dalai()` and then use it. ```javascript const Dalai = require('dalai') new Dalai().request({ model: "7B", prompt: "The following is a conversation between a boy and a girl:", }, (token) => { process.stdout.write(token) }) ``` #### 2. Non node.js (socket.io) To make use of this in a browser or any other language, you can use thie socket.io API. ##### Step 1. start a server First you need to run a Dalai socket server: ```javascript // server.js const Dalai = require('dalai') new Dalai().serve(3000) // port 3000 ``` ##### Step 2. connect to the server Then once the server is running, simply make requests to it by passing the `ws://localhost:3000` socket url when initializing the Dalai object: ```javascript const Dalai = require("dalai") new Dalai().request({ url: "ws://localhost:3000", model: "7B", prompt: "The following is a conversation between a boy and a girl:", }, (token) => { console.log("token", token) }) ``` --- ## 3. serve() ### Syntax Starts a socket.io server at `port` ```javascript dalai.serve(port) ``` ### Examples ```javascript const Dalai = require("dalai") new Dalai().serve(3000) ``` --- ## 4. http() ### Syntax connect with an existing `http` instance (The `http` npm package) ```javascript dalai.http(http) ``` - `http`: The [http](https://nodejs.org/api/http.html) object ### Examples This is useful when you're trying to plug dalai into an existing node.js web app ```javascript const app = require('express')(); const http = require('http').Server(app); dalai.http(http) http.listen(3000, () => { console.log("server started") }) ``` ## 5. install() ### Syntax ```javascript await dalai.install(model_type, model_name1, model_name2, ...) ``` - `model_type`: the name of the model. currently supports: - "alpaca" - "llama" - `model1`, `model2`, ...: the model names to install ("7B"`, "13B", "30B", "65B", etc) ### Examples Install Llama "7B" and "13B" models: ```javascript const Dalai = require("dalai"); const dalai = new Dalai() await dalai.install("llama", "7B", "13B") ``` Install alpaca 7B model: ```javascript const Dalai = require("dalai"); const dalai = new Dalai() await dalai.install("alpaca", "7B") ``` --- ## 6. installed() returns the array of installed models ### Syntax ```javascript const models = await dalai.installed() ``` ### Examples ```javascript const Dalai = require("dalai"); const dalai = new Dalai() const models = await dalai.installed() console.log(models) // prints ["7B", "13B"] ``` --- # FAQ ## Using a different home folder By default Dalai uses your home directory to store the entire repository (`~/dalai`). However sometimes you may want to store the archive elsewhere. In this case you can call all CLI methods using the `--home` flag: ### 1. Installing models to a custom path ``` npx dalai llama install 7B --home ~/test_dir ``` ### 2. Serving from the custom path ``` npx dalai serve --home ~/test_dir ``` ## Updating to the latest To make sure you update to the latest, first find the latest version at https://www.npmjs.com/package/dalai Let's say the latest version is `0.3.0`. To update the dalai version, run: ``` npx dalai@0.3.0 setup ``` ## Staying up to date Have questions or feedback? Follow the project through the following outlets: GitHub Twitter Discord --- ================================================ FILE: docs/index.html ================================================ dalai
    ================================================ FILE: docs/style.css ================================================ :root { --theme-color: rgb(154, 205, 50); --theme-color-light: rgba(154, 205, 50, 0.05); --theme-color-medium: rgba(154, 205, 50, 0.1); --dark-color: rgba(0,0,0,0.8); --dark-focused: rgb(154, 205, 50); } * { word-wrap: break-word; } img.round { border-radius: 20px; width: 100%; } body { font-family: "Helvetica Neue", helvetica, arial, "sans serif"; margin: 0; } section.cover .cover-main { margin: 0 auto; box-sizing: border-box; padding-top: 50px; height: 100%; max-width: 1000px; text-align: center; } .cover-main blockquote { font-size: 14px; margin: 0; text-transform: uppercase; font-family: Sans-serif !important; } .cover-main blockquote { margin: 0 0 10px; text-transform: uppercase; font-family: Sans-serif !important; font-size: 14px !important; } section.cover h1 img { vertical-align: text-bottom; height: 45px; width: 45px; } section.cover h1 { margin: 0 !important; color: black; } section.cover p { font-size: 14px; margin: 0; } section.cover p a { background: black; color: white; text-decoration: none; display: inline-block; padding: 5px 10px; border-radius: 2px; } /* section.cover p { margin: 0; font-size: 14px; } */ section.cover .cover-main>p:last-child a { margin: 20px 0 !important; } .sidebar { border: none; color: rgba(0,0,0,0.8); background: rgba(0,0,100,0.05); } .sidebar li { margin: 0; } .sidebar ul li a { color: rgba(0,0,0,0.8); line-height: 19px; font-size: 13px; } .sidebar ul li.active>a { color: var(--theme-color); border: none !important; } .markdown-section { max-width: 1000px; margin: 20px; } .markdown-section blockquote { padding: 5px 20px; border: none !important; background: rgba(0,0,100,0.05); } .cover-main h1 { font-size: 40px !important; letter-spacing: -2px; font-weight: bold !important; } .cover-main img { width: 50px; } section.cover .cover-main>p:last-child a, section.cover .btn { padding: 2px 10px; font-weight: bold; margin: 5px 0; border-radius: 2px; background: black !important; color: white; border: none; display: inline-block; } .markdown-section code, .markdown-section pre { font-size: 12px; line-height: 16px; } h1, h2, h3, h4, h5 { } .content { padding-top: 0; } .markdown-section h1 { font-size: 60px; letter-spacing: -4px; } .markdown-section h2 { font-size: 40px; letter-spacing: -2px; } .markdown-section h3 { font-size: 30px; /* border-left: 10px solid black; padding-left: 15px; */ } .anchor span { color: var(--dark-color); } .markdown-section ol, .markdown-section p, .markdown-section ul { line-height: 1.4rem; } .markdown-section textarea { width: 100%; box-sizing: border-box; padding: 20px; height: 400px; font-size: 12px; border: none; background: rgba(0,0,0,0.8); color: white; } .home { max-width: 800px; margin: 0 auto; padding: 100px 0; text-align: center; color: rgba(255,255,255,0.9); background: rgba(0,0,0,0.9); } .home .item { font-size: 12px; font-weight: bold; color: rgba(255,255,255,0.8); padding: 10px 20px; background: rgba(0,0,0,0.2); text-decoration: none; border-radius: 2px; display: inline-block; } .home #title i { font-size: 80px; } .home #title { font-size: 35px; letter-spacing: -1px; } a.btn { display: inline-block; background: var(--theme-color); color: white; padding: 5px 20px; border-radius: 5px; color: white; text-decoration: none; border: 2px solid black; } .btn.inverse { border: 2px solid black; color: black; background: white; } section.cover.show { background: rgba(0,0,100,0.05) !important; } .videoWrapper { position: relative; padding-bottom: 56.25%; /* 16:9 */ height: 0; margin-top: 10px; } .videoWrapper iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } @media screen and (max-width: 840px){ a.btn { display: block; margin-bottom: 10px; text-align: center; width: 150px; padding: 5px; } .markdown-section { margin: 0; } } ================================================ FILE: docs/vue.css ================================================ @import url("https://fonts.googleapis.com/css?family=Roboto+Mono|Source+Sans+Pro:300,400,600");*{-webkit-font-smoothing:antialiased;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-webkit-touch-callout:none;box-sizing:border-box}body:not(.ready){overflow:hidden}body:not(.ready) .app-nav,body:not(.ready)>nav,body:not(.ready) [data-cloak]{display:none}div#app{font-size:30px;font-weight:lighter;margin:40vh auto;text-align:center}.emoji{height:1.2rem;vertical-align:middle}.progress{background-color:var(--theme-color,#42b983);height:2px;left:0;position:fixed;right:0;top:0;transition:width .2s,opacity .4s;width:0;z-index:999999}.search a:hover{color:var(--theme-color,#42b983)}.search .search-keyword{color:var(--theme-color,#42b983);font-style:normal;font-weight:700}body,html{height:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;color:#34495e;font-family:Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:15px;letter-spacing:0;margin:0;overflow-x:hidden}img{max-width:100%}a[disabled]{cursor:not-allowed;opacity:.6}kbd{border:1px solid #ccc;border-radius:3px;display:inline-block;font-size:12px!important;line-height:12px;margin-bottom:3px;padding:3px 5px;vertical-align:middle}li input[type=checkbox]{margin:0 .2em .25em 0;vertical-align:middle}.app-nav{margin:25px 60px 0 0;position:absolute;right:0;text-align:right;z-index:10}.app-nav.no-badge{margin-right:25px}.app-nav p{margin:0}.app-nav>a{margin:0 1rem;padding:5px 0}.app-nav li,.app-nav ul{display:inline-block;list-style:none;margin:0}.app-nav a{color:inherit;font-size:16px;text-decoration:none;transition:color .3s}.app-nav a:hover{color:var(--theme-color,#42b983)}.app-nav a.active{border-bottom:2px solid var(--theme-color,#42b983);color:var(--theme-color,#42b983)}.app-nav li{display:inline-block;margin:0 1rem;padding:5px 0;position:relative;cursor:pointer}.app-nav li ul{background-color:#fff;border:1px solid;border-color:#ddd #ddd #ccc;border-radius:4px;box-sizing:border-box;display:none;max-height:calc(100vh - 61px);overflow-y:auto;padding:10px 0;position:absolute;right:-15px;text-align:left;top:100%;white-space:nowrap}.app-nav li ul li{display:block;font-size:14px;line-height:1rem;margin:8px 14px;white-space:nowrap}.app-nav li ul a{display:block;font-size:inherit;margin:0;padding:0}.app-nav li ul a.active{border-bottom:0}.app-nav li:hover ul{display:block}.github-corner{border-bottom:0;position:fixed;right:0;text-decoration:none;top:0;z-index:1}.github-corner:hover .octo-arm{-webkit-animation:octocat-wave .56s ease-in-out;animation:octocat-wave .56s ease-in-out}.github-corner svg{color:#fff;fill:var(--theme-color,#42b983);height:80px;width:80px}main{display:block;position:relative;width:100vw;height:100%;z-index:0}main.hidden{display:none}.anchor{display:inline-block;text-decoration:none;transition:all .3s}.anchor span{color:#34495e}.anchor:hover{text-decoration:underline}.sidebar{border-right:1px solid rgba(0,0,0,.07);overflow-y:auto;padding:40px 0 0;position:absolute;top:0;bottom:0;left:0;transition:transform .25s ease-out;width:300px;z-index:20}.sidebar>h1{margin:0 auto 1rem;font-size:1.5rem;font-weight:300;text-align:center}.sidebar>h1 a{color:inherit;text-decoration:none}.sidebar>h1 .app-nav{display:block;position:static}.sidebar .sidebar-nav{line-height:2em;padding-bottom:40px}.sidebar li.collapse .app-sub-sidebar{display:none}.sidebar ul{margin:0 0 0 15px;padding:0}.sidebar li>p{font-weight:700;margin:0}.sidebar ul,.sidebar ul li{list-style:none}.sidebar ul li a{border-bottom:none;display:block}.sidebar ul li ul{padding-left:20px}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-thumb{background:transparent;border-radius:4px}.sidebar:hover::-webkit-scrollbar-thumb{background:hsla(0,0%,53.3%,.4)}.sidebar:hover::-webkit-scrollbar-track{background:hsla(0,0%,53.3%,.1)}.sidebar-toggle{background-color:transparent;background-color:hsla(0,0%,100%,.8);border:0;outline:none;padding:10px;position:absolute;bottom:0;left:0;text-align:center;transition:opacity .3s;width:284px;z-index:30;cursor:pointer}.sidebar-toggle:hover .sidebar-toggle-button{opacity:.4}.sidebar-toggle span{background-color:var(--theme-color,#42b983);display:block;margin-bottom:4px;width:16px;height:2px}body.sticky .sidebar,body.sticky .sidebar-toggle{position:fixed}.content{padding-top:60px;position:absolute;top:0;right:0;bottom:0;left:300px;transition:left .25s ease}.markdown-section{margin:0 auto;max-width:80%;padding:30px 15px 40px;position:relative}.markdown-section>*{box-sizing:border-box;font-size:inherit}.markdown-section>:first-child{margin-top:0!important}.markdown-section hr{border:none;border-bottom:1px solid #eee;margin:2em 0}.markdown-section iframe{border:1px solid #eee;width:1px;min-width:100%}.markdown-section table{border-collapse:collapse;border-spacing:0;display:block;margin-bottom:1rem;overflow:auto;width:100%}.markdown-section th{font-weight:700}.markdown-section td,.markdown-section th{border:1px solid #ddd;padding:6px 13px}.markdown-section tr{border-top:1px solid #ccc}.markdown-section tr:nth-child(2n){background-color:#f8f8f8}.markdown-section p.tip{background-color:#f8f8f8;border-bottom-right-radius:2px;border-left:4px solid #f66;border-top-right-radius:2px;margin:2em 0;padding:12px 24px 12px 30px;position:relative}.markdown-section p.tip:before{background-color:#f66;border-radius:100%;color:#fff;content:"!";font-family:Dosis,Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:14px;font-weight:700;left:-12px;line-height:20px;position:absolute;height:20px;width:20px;text-align:center;top:14px}.markdown-section p.tip code{background-color:#efefef}.markdown-section p.tip em{color:#34495e}.markdown-section p.warn{background:rgba(66,185,131,.1);border-radius:2px;padding:1rem}.markdown-section ul.task-list>li{list-style-type:none}body.close .sidebar{transform:translateX(-300px)}body.close .sidebar-toggle{width:auto}body.close .content{left:0}@media print{.app-nav,.github-corner,.sidebar,.sidebar-toggle{display:none}}@media screen and (max-width:768px){.github-corner,.sidebar,.sidebar-toggle{position:fixed}.app-nav{margin-top:16px}.app-nav li ul{top:30px}main{height:auto;min-height:100vh;overflow-x:hidden}.sidebar{left:-300px;transition:transform .25s ease-out}.content{left:0;max-width:100vw;position:static;padding-top:20px;transition:transform .25s ease}.app-nav,.github-corner{transition:transform .25s ease-out}.sidebar-toggle{background-color:transparent;width:auto;padding:30px 30px 10px 10px}body.close .sidebar{transform:translateX(300px)}body.close .sidebar-toggle{background-color:hsla(0,0%,100%,.8);transition:background-color 1s;width:284px;padding:10px}body.close .content{transform:translateX(300px)}body.close .app-nav,body.close .github-corner{display:none}.github-corner:hover .octo-arm{-webkit-animation:none;animation:none}.github-corner .octo-arm{-webkit-animation:octocat-wave .56s ease-in-out;animation:octocat-wave .56s ease-in-out}}@-webkit-keyframes octocat-wave{0%,to{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}@keyframes octocat-wave{0%,to{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}section.cover{align-items:center;background-position:50%;background-repeat:no-repeat;background-size:cover;height:100vh;width:100vw;display:none}section.cover.show{display:flex}section.cover.has-mask .mask{background-color:#fff;opacity:.8;position:absolute;top:0;height:100%;width:100%}section.cover .cover-main{flex:1;margin:-20px 16px 0;text-align:center;position:relative}section.cover a{color:inherit;text-decoration:none}section.cover a:hover{text-decoration:none}section.cover p{line-height:1.5rem;margin:1em 0}section.cover h1{color:inherit;font-size:2.5rem;font-weight:300;margin:.625rem 0 2.5rem;position:relative;text-align:center}section.cover h1 a{display:block}section.cover h1 small{bottom:-.4375rem;font-size:1rem;position:absolute}section.cover blockquote{font-size:1.5rem;text-align:center}section.cover ul{line-height:1.8;list-style-type:none;margin:1em auto;max-width:500px;padding:0}section.cover .cover-main>p:last-child a{border-radius:2rem;border:1px solid var(--theme-color,#42b983);box-sizing:border-box;color:var(--theme-color,#42b983);display:inline-block;font-size:1.05rem;letter-spacing:.1rem;margin:.5rem 1rem;padding:.75em 2rem;text-decoration:none;transition:all .15s ease}section.cover .cover-main>p:last-child a:last-child{background-color:var(--theme-color,#42b983);color:#fff}section.cover .cover-main>p:last-child a:last-child:hover{color:inherit;opacity:.8}section.cover .cover-main>p:last-child a:hover{color:inherit}section.cover blockquote>p>a{border-bottom:2px solid var(--theme-color,#42b983);transition:color .3s}section.cover blockquote>p>a:hover{color:var(--theme-color,#42b983)}.sidebar,body{background-color:#fff}.sidebar{color:#364149}.sidebar li{margin:6px 0}.sidebar ul li a{color:#505d6b;font-size:14px;font-weight:400;overflow:hidden;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.sidebar ul li a:hover{text-decoration:underline}.sidebar ul li ul{padding:0}.sidebar ul li.active>a{border-right:2px solid;color:var(--theme-color,#42b983);font-weight:600}.app-sub-sidebar li:before{content:"-";padding-right:4px;float:left}.markdown-section h1,.markdown-section h2,.markdown-section h3,.markdown-section h4,.markdown-section strong{color:#2c3e50;font-weight:600}.markdown-section a{color:var(--theme-color,#42b983);font-weight:600}.markdown-section h1{font-size:2rem;margin:0 0 1rem}.markdown-section h2{font-size:1.75rem;margin:45px 0 .8rem}.markdown-section h3{font-size:1.5rem;margin:40px 0 .6rem}.markdown-section h4{font-size:1.25rem}.markdown-section h5{font-size:1rem}.markdown-section h6{color:#777;font-size:1rem}.markdown-section figure,.markdown-section p{margin:1.2em 0}.markdown-section ol,.markdown-section p,.markdown-section ul{line-height:1.6rem;word-spacing:.05rem}.markdown-section ol,.markdown-section ul{padding-left:1.5rem}.markdown-section blockquote{border-left:4px solid var(--theme-color,#42b983);color:#858585;margin:2em 0;padding-left:20px}.markdown-section blockquote p{font-weight:600;margin-left:0}.markdown-section iframe{margin:1em 0}.markdown-section em{color:#7f8c8d}.markdown-section code,.markdown-section output:after,.markdown-section pre{font-family:Roboto Mono,Monaco,courier,monospace}.markdown-section code,.markdown-section pre{background-color:#f8f8f8}.markdown-section output,.markdown-section pre{margin:1.2em 0;position:relative}.markdown-section output,.markdown-section pre>code{border-radius:2px;display:block}.markdown-section output:after,.markdown-section pre>code{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial}.markdown-section code{border-radius:2px;color:#e96900;margin:0 2px;padding:3px 5px;white-space:pre-wrap}.markdown-section>:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) code{font-size:.8rem}.markdown-section pre{padding:0 1.4rem;line-height:1.5rem;overflow:auto;word-wrap:normal}.markdown-section pre>code{color:#525252;font-size:.8rem;padding:2.2em 5px;line-height:inherit;margin:0 2px;max-width:inherit;overflow:inherit;white-space:inherit}.markdown-section output{padding:1.7rem 1.4rem;border:1px dotted #ccc}.markdown-section output>:first-child{margin-top:0}.markdown-section output>:last-child{margin-bottom:0}.markdown-section code:after,.markdown-section code:before,.markdown-section output:after,.markdown-section output:before{letter-spacing:.05rem}.markdown-section output:after,.markdown-section pre:after{color:#ccc;font-size:.6rem;font-weight:600;height:15px;line-height:15px;padding:5px 10px 0;position:absolute;right:0;text-align:right;top:0}.markdown-section output:after,.markdown-section pre:after{content:attr(data-lang)}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#8e908c}.token.namespace{opacity:.7}.token.boolean,.token.number{color:#c76b29}.token.punctuation{color:#525252}.token.property{color:#c08b30}.token.tag{color:#2973b7}.token.string{color:var(--theme-color,#42b983)}.token.selector{color:#6679cc}.token.attr-name{color:#2973b7}.language-css .token.string,.style .token.string,.token.entity,.token.url{color:#22a2c9}.token.attr-value,.token.control,.token.directive,.token.unit{color:var(--theme-color,#42b983)}.token.function,.token.keyword{color:#e96900}.token.atrule,.token.regex,.token.statement{color:#22a2c9}.token.placeholder,.token.variable{color:#3d8fd1}.token.deleted{text-decoration:line-through}.token.inserted{border-bottom:1px dotted #202746;text-decoration:none}.token.italic{font-style:italic}.token.bold,.token.important{font-weight:700}.token.important{color:#c94922}.token.entity{cursor:help}code .token{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;min-height:1.5rem;position:relative;left:auto} ================================================ FILE: index.js ================================================ const os = require('os'); const pty = require('node-pty'); //const pty = require('@cdktf/node-pty-prebuilt-multiarch'); const git = require('isomorphic-git'); const http = require('isomorphic-git/http/node'); const Http = require("http") const path = require('path'); const fs = require("fs"); const tar = require('tar'); const { createServer } = require("http"); const { Server } = require("socket.io"); const { io } = require("socket.io-client"); const term = require( 'terminal-kit' ).terminal; const Downloader = require("nodejs-file-downloader"); const semver = require('semver'); //const _7z = require('7zip-min'); const axios = require('axios') const platform = os.platform() const shell = platform === 'win32' ? 'powershell.exe' : 'bash'; const L = require("./llama") const A = require("./alpaca") const TorrentDownloader = require("./torrent") const exists = s => new Promise(r=>fs.access(s, fs.constants.F_OK, e => r(!e))) const escapeNewLine = (platform, arg) => platform === 'win32' ? arg.replaceAll(/\n/g, "\\n").replaceAll(/\r/g, "\\r") : arg const escapeDoubleQuotes = (platform, arg) => platform === 'win32' ? arg.replaceAll(/"/g, '`"') : arg.replaceAll(/"/g, '\\"') const stripAnsi = (str) => { const pattern = [ '[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)', '(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))' ].join('|'); const regex = new RegExp(pattern, 'g') return str.replace(regex, ''); } const winEscape = (str) => { return str .replaceAll(/\\n/g, "\n") .replaceAll(/\\r/g, "\r") .replaceAll(/\\t/g, "\t") .replaceAll(/\\b/g, "\b") .replaceAll(/\\f/g, "\f") .replaceAll(/\\/g, "") } class Dalai { constructor(home) { //////////////////////////////////////////////////////////////////////////////////////////////////////////// // // 1. manually set llama.cpp home // 2. otherwise store llama.cpp at ~/llama.cpp // // # NOTE // Could have used process.cwd() (The current execution directory) to download llama.cpp // but this makes it cumbersome as you try to build multiple apps, because by default Dalai client will // look for the current execution directory for llama.cpp. // It's simpler to set the ~/llama.cpp as the default directory and use that path as the single source // of truth and let multiple apps all connect to that path // Otherwise if you want to customize the path you can just pass in the "home" attribute to manually set it. // //////////////////////////////////////////////////////////////////////////////////////////////////////////// this.home = home ? path.resolve(home) : path.resolve(os.homedir(), "dalai") try { console.log("mkdir", this.home) fs.mkdirSync(this.home, { recursive: true }) } catch (e) { console.log("E", e) } this.torrent = new TorrentDownloader() this.config = { name: 'xterm-color', cols: 1000, rows: 30, } this.cores = { llama: new L(this), alpaca: new A(this), } } htmlencode (str) { let encodedStr = ''; for (let i = 0; i < str.length; i++) { let charCode = str.charCodeAt(i); if (charCode < 128) { // ASCII characters switch (str[i]) { case '<': encodedStr += '<'; break; case '>': encodedStr += '>'; break; case '&': encodedStr += '&'; break; case '"': encodedStr += '"'; break; case '\'': encodedStr += '''; break; case '\n': encodedStr += '
    '; break; case '\r': break; // ignore case '\t': encodedStr += '    '; break; case '\b': encodedStr += ' '; break; case '\f': encodedStr += ' '; break; default: encodedStr += String.fromCharCode(charCode); break; } } else { // Non-ASCII characters encodedStr += "&#" + charCode + ";"; } } return encodedStr; } down(url, dest, headers) { return new Promise((resolve, reject) => { const task = path.basename(dest) this.startProgress(task) axios({ url, method: 'GET', responseType: 'stream', maxContentLength: Infinity, headers, onDownloadProgress: progressEvent => { const progress = (progressEvent.loaded / progressEvent.total) * 100; this.progress(task, progress) } }).then(response => { const writer = fs.createWriteStream(dest); response.data.pipe(writer); writer.on('finish', () => { this.progressBar.update(1); term("\n") resolve() }); }).catch(error => { reject(error) }); }) } async python () { // install self-contained python => only for windows for now // 1. download // 2. unzip const filename = "cpython-3.10.9+20230116-x86_64-pc-windows-msvc-shared-install_only.tar.gz" const task = "downloading self contained python" const downloader = new Downloader({ url: `https://github.com/indygreg/python-build-standalone/releases/download/20230116/${filename}`, directory: this.home, onProgress: (percentage, chunk, remainingSize) => { this.progress(task, percentage) }, }); try { await this.startProgress(task) await downloader.download(); } catch (error) { console.log(error); } this.progressBar.update(1); console.log("extracting python") await tar.x({ file: path.resolve(this.home, filename), C: this.home, strict: true }) console.log("cleaning up temp files") await fs.promises.rm(path.resolve(this.home, filename)) } // async mingw() { // const mingw = "https://github.com/niXman/mingw-builds-binaries/releases/download/12.2.0-rt_v10-rev2/x86_64-12.2.0-release-win32-seh-msvcrt-rt_v10-rev2.7z" // const downloader = new Downloader({ // url: mingw, // directory: this.home, // onProgress: (percentage, chunk, remainingSize) => { // this.progress("download mingw", percentage) // }, // }); // try { // await this.startProgress("download mingw") // await downloader.download(); // } catch (error) { // console.log(error); // } // this.progressBar.update(1); // await new Promise((resolve, reject) => { // _7z.unpack(path.resolve(this.home, "x86_64-12.2.0-release-win32-seh-msvcrt-rt_v10-rev2.7z"), this.home, (err) => { // if (err) { // reject(err) // } else { // resolve() // } // }) // }) // console.log("cleaning up temp files") // await fs.promises.rm(path.resolve(this.home, "x86_64-12.2.0-release-win32-seh-msvcrt-rt_v10-rev2.7z")) // } async query(req, cb) { console.log(`> query:`, req) if (req.method === "installed") { let models = await this.installed() for(let model of models) { cb(model) } cb('\n\n') return } if (req.prompt && req.prompt.startsWith("/")) { try { const mod = require(`./cmds/${req.prompt.slice(1)}`) if (mod) { mod(this) return } } catch (e) { console.log("require log", e) } } if (!req.prompt) { return } let [Core, Model] = req.model.split(".") Model = Model.toUpperCase() console.log( { Core, Model } ) let o = { seed: req.seed || -1, threads: req.threads || 8, n_predict: req.n_predict || 128, model: `models/${Model || "7B"}/ggml-model-q4_0.bin`, } let e = await exists(path.resolve(this.home, Core, "models", Model)) if (!e) { cb(`File does not exist: ${Model}. Try "dalai ${Core} get ${Model}" first.`) return } if (req.top_k) o.top_k = req.top_k if (req.top_p) o.top_p = req.top_p if (req.temp) o.temp = req.temp if (req.batch_size) o.batch_size = req.batch_size if (req.repeat_last_n) o.repeat_last_n = req.repeat_last_n if (req.repeat_penalty) o.repeat_penalty = req.repeat_penalty if (typeof req.interactive !== "undefined") o.interactive = req.interactive let chunks = [] for(let key in o) { chunks.push(`--${key} ${escapeDoubleQuotes(platform, o[key].toString())}`) } const escaped = escapeNewLine(platform, req.prompt) const prompt = `"${escapeDoubleQuotes(platform, escaped)}"` chunks.push(`-p ${prompt}`) const main_bin_path = platform === "win32" ? path.resolve(this.home, Core, "build", "Release", "main") : path.resolve(this.home, Core, "main") this.sessionBuffer = ""; this.bufferStarted = false; if (req.full) { await this.exec(`${main_bin_path} ${chunks.join(" ")}`, this.cores[Core].home, cb) } else { const startpattern = /.*sampling parameters:.*/g const endpattern = /.*mem per token.*/g let started = req.debug let ended = false let writeEnd = !req.skip_end await this.exec(`${main_bin_path} ${chunks.join(" ")}`, this.cores[Core].home, (proc, msg) => { if (endpattern.test(msg)) ended = true if (started && !ended) { this.buffer(req, msg, cb) } else if (ended && writeEnd) { cb('\n\n') writeEnd = false } if (startpattern.test(msg)) started = true }) } } buffer(req, msg, cb) { if (!this.queue) this.queue = [] if (platform === "win32") { for(let i=0;i 0) { // delete the model folder const modelsPath = path.resolve(this.home, core, "models") for(let model of models) { const modelPath = path.resolve(modelsPath, model) console.log("rm", modelPath) await fs.promises.rm(modelPath, { recursive: true, force: true }).catch((e) => { console.log("rm", modelPath, e) }) } } } async install(core, ...models) { let engine = this.cores[core] const venv_path = path.join(this.home, "venv") let ve = await exists(venv_path) if (!ve) { await this.setup() } // temporary let models_path = path.resolve(engine.home, "models") let temp_path = path.resolve(this.home, "tmp") let temp_models_path = path.resolve(temp_path, "models") await fs.promises.mkdir(temp_path, { recursive: true }).catch((e) => { console.log("1", e) }) // 1. move the models folder to ../tmp await fs.promises.rename(models_path, temp_models_path).catch((e) => { console.log("2", e) }) // 2. wipe out the folder await fs.promises.rm(engine.home, { recursive: true }).catch((e) => { console.log("3", e) }) // 3. install engine await this.add(core) // 4. move back the files inside /tmp await fs.promises.rename(temp_models_path, models_path).catch((e) => { console.log("4", e) }) // next add the models let res = await this.cores[core].add(...models) return res } async installed() { // get cores const modelNames = [] for(let core of ["alpaca", "llama"]) { const modelsPath = path.resolve(this.home, core, "models") console.log("modelsPath", modelsPath) let modelFolders = [] try { modelFolders = (await fs.promises.readdir(modelsPath, { withFileTypes: true })) .filter(dirent => dirent.isDirectory()) .map(dirent => dirent.name) } catch (e) { } console.log({ modelFolders }) for(let modelFolder of modelFolders) { let e = await exists(path.resolve(modelsPath, modelFolder, 'ggml-model-q4_0.bin')) if (e) { modelNames.push(`${core}.${modelFolder}`) console.log("exists", modelFolder) } } } return modelNames } async add (core) { /************************************************************************************************************** * * 2. Download Core * **************************************************************************************************************/ let engine = this.cores[core] let e = await exists(path.resolve(engine.home)); console.log("mkdir", path.resolve(engine.home)) await fs.promises.mkdir(path.resolve(engine.home), { recursive: true }).catch((e) => { console.log("ERROR" ,e) }) try { console.log("try fetching", engine.home, engine.url) await git.pull({ fs, http, dir: engine.home, url: engine.url }) } catch (e) { console.log("[E] Pull", e) try { console.log("try cloning", engine.home, engine.url) await git.clone({ fs, http, dir: engine.home, url: engine.url }) } catch (e2) { console.log("[E] Clone", e2) } } console.log("next", core, engine.make); /************************************************************************************************************** * * 4. Compile & Build * - make: linux + mac * - cmake: windows * **************************************************************************************************************/ await engine.make() } async setup() { let success; /************************************************************************************************************** * * 1. Validate * **************************************************************************************************************/ // Check if current version is greater than or equal to 18 const node_version = process.version; if (!semver.gte(node_version, '18.0.0')) { throw new Error("outdated Node version, please install Node 18 or newer") } /************************************************************************************************************** * * 3. Download Global Dependencies * - Python (windows only) * - build-essential (linux only) * - virtualenv * - torch, numpy, etc. * **************************************************************************************************************/ // 3.1. Python: Windows doesn't ship with python, so install a dedicated self-contained python if (platform === "win32") { await this.python() } const root_python_paths = (platform === "win32" ? ["python3", "python", path.resolve(this.home, "python", "python.exe")] : ["python3", "python"]) const root_pip_paths = (platform === "win32" ? ["pip3", "pip", path.resolve(this.home, "python", "python -m pip")] : ["pip3", "pip"]) // 3.2. Build tools if (platform === "linux") { // ubuntu debian success = await this.exec("apt-get install build-essential python3-venv -y") if (!success) { // fefdora success = await this.exec("dnf install make automake gcc gcc-c++ kernel-devel python3-virtualenv -y") } } else { // for win32 / darwin for(let root_pip_path of root_pip_paths) { success = await this.exec(`${root_pip_path} install --user virtualenv`) if (success) { break; } success = await this.exec(`${root_pip_path} install virtualenv`) if (success) { break; } } if (!success) { throw new Error("cannot install virtualenv") } } // 3.3. virtualenv const venv_path = path.join(this.home, "venv") for(let root_python_path of root_python_paths) { console.log("trying with", root_python_path) let code = await this.exec(`${root_python_path} -m venv ${venv_path}`) console.log({ code }) } /* if (!success) { throw new Error("cannot execute python3 or python") return } */ // 3.4. Python libraries const pip_path = platform === "win32" ? path.join(venv_path, "Scripts", "pip.exe") : path.join(venv_path, "bin", "pip") const python_path = platform == "win32" ? path.join(venv_path, "Scripts", "python.exe") : path.join(venv_path, 'bin', 'python') // cmake (only on windows. the rest platforms use make) if (platform === "win32") { success = await this.exec(`${pip_path} install cmake`) if (!success) { throw new Error("cmake installation failed") return } } success = await this.exec(`${pip_path} install --upgrade pip setuptools wheel`) if (!success) { success = await this.exec(`${pip_path} install --user --upgrade pip setuptools wheel`) if (!success) { throw new Error("pip setuptools wheel upgrade failed") return } } success = await this.exec(`${pip_path} install torch torchvision torchaudio sentencepiece numpy`) //success = await this.exec(`${pip_path} install torch torchvision torchaudio sentencepiece numpy wget`) if (!success) { success = await this.exec(`${pip_path} install --user torch torchvision torchaudio sentencepiece numpy`) if (!success) { throw new Error("dependency installation failed") return } } } serve(port, options) { const httpServer = createServer(); const io = new Server(httpServer) io.on("connection", (socket) => { socket.on('request', async (req) => { await this.query(req, (str) => { io.emit("result", { response: str, request: req }) }) }); }); httpServer.listen(port) } http(httpServer) { const io = new Server(httpServer) io.on("connection", (socket) => { socket.on('request', async (req) => { req.models = Array.from(new Set(req.models)) await this.query(req, (str) => { io.emit("result", { response: str, request: req }) }) }); }); } async request(req, cb) { if (req.url) { await this.connect(req, cb) } else { await this.query(req, cb) } } connect(req, cb) { const socket = io(req.url) socket.emit('request', req) socket.on('response', cb) socket.on('error', function(e) { throw e }); } exec(cmd, cwd, cb) { return new Promise((resolve, reject) => { try { const config = Object.assign({}, this.config) if (cwd) { config.cwd = path.resolve(cwd) } console.log(`exec: ${cmd} in ${config.cwd}`) this.ptyProcess = pty.spawn(shell, [], config) this.ptyProcess.onData((data) => { if (cb) { cb(this.ptyProcess, stripAnsi(data)) } else { process.stdout.write(data); } }); this.ptyProcess.onExit((res) => { if (res.exitCode === 0) { // successful resolve(true) } else { // something went wrong resolve(false) } }); if (platform === "win32") { this.ptyProcess.write(`[System.Console]::OutputEncoding=[System.Console]::InputEncoding=[System.Text.Encoding]::UTF8; ${cmd}\r`) } else { this.ptyProcess.write(`${cmd}\r`) } this.ptyProcess.write("exit\r") } catch (e) { console.log("caught error", e) this.ptyProcess.kill() // ptyProcess.write("exit\r") } }) } progress(task, percent) { this.progressBar.update(percent/100); //if (percent >= 100) { // setTimeout(() => { // term("\n") // }, 200) //} } startProgress(title) { this.progressBar = term.progressBar({ width: 120, title, eta: true , percent: true }); } } module.exports = Dalai ================================================ FILE: llama.js ================================================ const path = require('path'); const term = require( 'terminal-kit' ).terminal; const git = require('isomorphic-git'); const Downloader = require("nodejs-file-downloader"); const http = require('isomorphic-git/http/node'); const os = require('os'); const fs = require("fs"); const platform = os.platform() class LLaMA { constructor(root) { this.root = root this.home = path.resolve(this.root.home, "llama") this.url = "https://github.com/candywrap/llama.cpp.git" } async make() { console.log("make") let success if (platform === "win32") { // CMake on Windows const venv_path = path.join(this.root.home, "venv") const cmake_path = path.join(venv_path, "Scripts", "cmake") await this.root.exec("mkdir build", this.home) await this.root.exec(`Remove-Item -path ${path.resolve(this.home, "build", "CMakeCache.txt")}`, this.home) let PS_COUNTER = 0 await this.root.exec(`${cmake_path} ..`, path.resolve(this.home, "build"), (proc, data) => { console.log("# data", data); if (/^PS .*/.test(data)) { PS_COUNTER++; if (PS_COUNTER >= 2) { console.log("KILL") proc.kill() } } }) PS_COUNTER = 0; await this.root.exec(`${cmake_path} --build . --config Release`, path.resolve(this.home, "build"), (proc, data) => { console.log("# data", data); if (/^PS .*/.test(data)) { PS_COUNTER++; if (PS_COUNTER >= 2) { console.log("KILL2") proc.kill() } } }) } else { // Make on linux + mac success = await this.root.exec(`make`, this.home) if (!success) { throw new Error("running 'make' failed") return } } } async add (...models) { if (models.length === 0) models = ["7B"] models = models.map((m) => { return m.toUpperCase() }) for(let model of models) { if (!["7B", "13B", "30B", "65B"].includes(model)) { console.log(`########################################################## # # ERROR # The arguments must be one or more of the following: # # 7B, 13B, 30B, 65B # ########################################################## [Example] # install just 7B (default) npx dalai install # install 7B manually npx dalai install 7B # install 7B and 13B npx dalai install 7B 13B `) throw new Error("The model name must be one of: 7B, 13B, 30B, and 65B") return } } const venv_path = path.join(this.root.home, "venv") const python_path = platform == "win32" ? path.join(venv_path, "Scripts", "python.exe") : path.join(venv_path, 'bin', 'python') /************************************************************************************************************** * * 5. Download models + convert + quantize * **************************************************************************************************************/ for(let model of models) { await this.download(model) const outputFile = path.resolve(this.home, 'models', model, 'ggml-model-f16.bin') // if (fs.existsSync(outputFile)) { // console.log(`Skip conversion, file already exists: ${outputFile}`) // } else { await this.root.exec(`${python_path} convert-pth-to-ggml.py models/${model}/ 1`, this.home) // } await this.quantize(model) } } async quantize(model) { let num = { "7B": 1, "13B": 2, "30B": 4, "65B": 8, } for(let i=0; i { }) for(let file of files) { if (fs.existsSync(path.resolve(resolvedPath, file))) { console.log(`Skip file download, it already exists: ${file}`) continue; } const url = `https://agi.gpt4.org/llama/LLaMA/${model}/${file}` await this.root.down(url, path.resolve(resolvedPath, file), { "User-Agent": "Mozilla/5.0" }) } const files2 = ["tokenizer_checklist.chk", "tokenizer.model"] for(let file of files2) { // if (fs.existsSync(path.resolve(this.home, "models", file))) { // console.log(`Skip file download, it already exists: ${file}`) // continue; // } const url = `https://agi.gpt4.org/llama/LLaMA/${file}` const dir = path.resolve(this.home, "models") await this.root.down(url, path.resolve(dir, file), { "User-Agent": "Mozilla/5.0" }) } } } module.exports = LLaMA ================================================ FILE: package.json ================================================ { "name": "dalai", "version": "0.3.1", "description": "", "main": "index.js", "author": "cocktailpeanut", "license": "MIT", "engines": { "node": ">=18.0.0" }, "scripts": { "dalai:llama": "./dalai llama", "start": "./dalai serve", "just:run": "wrap () { yarn && yarn dalai:llama $1 && yarn start; }; wrap", "just:fix": "npx prettier --write .", "postinstall": "node setup" }, "dependencies": { "axios": "^1.3.4", "ejs": "^3.1.8", "express": "^4.18.2", "isomorphic-git": "^1.22.0", "node-pty": "^0.10.1", "nodejs-file-downloader": "^4.10.6", "semver": "^7.3.8", "socket.io": "^4.6.1", "socket.io-client": "^4.6.1", "tar": "^6.1.13", "terminal-kit": "^3.0.0", "webtorrent": "1.9.7", "yargs": "^17.7.1" }, "devDependencies": { "prettier": "^2.8.4" }, "bin": { "dalai": "bin/cli.js" } } ================================================ FILE: setup.js ================================================ const Dalai = require("./index") new Dalai().setup().then(() => { console.log("executed setup") process.exit(0) }).catch((e) => { console.log("Error", e) process.exit(1) }) ================================================ FILE: torrent.js ================================================ const WebTorrent = require('webtorrent') const term = require( 'terminal-kit' ).terminal; const path = require('path') const fs = require('fs') class TorrentDownloader { constructor() { this.client = new WebTorrent() this.start = {} this.progressbar = {} } add(url, folder, cb) { return new Promise((resolve, reject) => { let e = fs.existsSync(folder) if (!e) { fs.mkdirSync(folder, { recursive: true }) } this.client.add(url, { path: folder }, (torrent) => { this.progressbar[url] = term.progressBar({ width: 120, title: torrent.name, eta: true, percent: true }); torrent.on('metadata', (m) => { this.start[torrent.name] = Date.now() console.log({ metadata: m }) term("\n") }) torrent.on('download', bytes => { if (cb) { cb({ progress: torrent.progress, speed: torrent.downloadSpeed, downloaded: torrent.downloaded }) } this.progressbar[url].update(torrent.progress) }) torrent.on('done', () => { console.log('torrent download finished') const end = Date.now() const elapsed = end - this.start[torrent.name] console.log({ start: this.start[torrent.name], end: end, elapsed }) this.progressbar[url].update(1) term("\n") resolve(torrent) for (const file of torrent.files) { // do something with file console.log("file", file.name, file.size) } }) }) }) } } module.exports = TorrentDownloader