/*!
 * Font Awesome Free 6.5.1 - Subset for TextTools.cc
 * Contains all icons actually used in the codebase
 */

/* Font Face Declarations */
@font-face {
  font-family: 'Font Awesome 6 Free';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url('../webfonts/fa-solid-900.woff2') format('woff2');
}

@font-face {
  font-family: 'Font Awesome 6 Brands';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../webfonts/fa-brands-400.woff2') format('woff2');
}

/* Base Icon Styles */
.fa,
.fas,
.fa-solid,
.fab,
.fa-brands {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  text-rendering: auto;
}

.fa,
.fas,
.fa-solid {
  font-family: 'Font Awesome 6 Free';
  font-weight: 900;
}

.fab,
.fa-brands {
  font-family: 'Font Awesome 6 Brands';
  font-weight: 400;
}

/* Animation Utilities */
.fa-spin {
  animation: fa-spin 2s infinite linear;
}

@keyframes fa-spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* Size Utilities */
.fa-xs { font-size: .75em; }
.fa-sm { font-size: .875em; }
.fa-lg { font-size: 1.25em; line-height: .05em; vertical-align: -.075em; }
.fa-xl { font-size: 1.5em; line-height: .04167em; vertical-align: -.125em; }
.fa-2x { font-size: 2em; }
.fa-3x { font-size: 3em; }
.fa-fw { text-align: center; width: 1.25em; }

/* Solid Icons (fas) - Alphabetically sorted */
.fa-ad::before { content: "\f641"; }
.fa-align-left::before { content: "\f036"; }
.fa-align-right::before { content: "\f038"; }
.fa-arrow-down::before { content: "\f063"; }
.fa-arrow-down-a-z::before { content: "\f15d"; }
.fa-arrow-down-z-a::before { content: "\f881"; }
.fa-arrow-left::before { content: "\f060"; }
.fa-arrow-right::before { content: "\f061"; }
.fa-arrow-right-arrow-left::before { content: "\f0ec"; }
.fa-arrow-up::before { content: "\f062"; }
.fa-arrows-alt-h::before { content: "\f337"; }
.fa-arrows-up-down::before { content: "\f07d"; }
.fa-at::before { content: "\40"; }
.fa-backward::before { content: "\f04a"; }
.fa-ban::before { content: "\f05e"; }
.fa-bars::before { content: "\f0c9"; }
.fa-bell::before { content: "\f0f3"; }
.fa-bold::before { content: "\f032"; }
.fa-bolt::before { content: "\f0e7"; }
.fa-book-open::before { content: "\f518"; }
.fa-book-reader::before { content: "\f5da"; }
.fa-broadcast-tower::before { content: "\f519"; }
.fa-broom::before { content: "\f51a"; }
.fa-bullhorn::before { content: "\f0a1"; }
.fa-calculator::before { content: "\f1ec"; }
.fa-calendar::before { content: "\f133"; }
.fa-calendar-alt::before { content: "\f073"; }
.fa-chart-area::before { content: "\f1fe"; }
.fa-chart-bar::before { content: "\f080"; }
.fa-chart-line::before { content: "\f201"; }
.fa-chart-pie::before { content: "\f200"; }
.fa-check::before { content: "\f00c"; }
.fa-check-circle::before { content: "\f058"; }
.fa-chevron-down::before { content: "\f078"; }
.fa-chevron-left::before { content: "\f053"; }
.fa-chevron-right::before { content: "\f054"; }
.fa-chevron-up::before { content: "\f077"; }
.fa-circle::before { content: "\f111"; }
.fa-circle-notch::before { content: "\f1ce"; }
.fa-clock::before { content: "\f017"; }
.fa-clone::before { content: "\f24d"; }
.fa-cloud-upload-alt::before { content: "\f382"; }
.fa-code::before { content: "\f121"; }
.fa-code-compare::before { content: "\e13a"; }
.fa-cog::before { content: "\f013"; }
.fa-cogs::before { content: "\f085"; }
.fa-columns::before { content: "\f0db"; }
.fa-comments::before { content: "\f086"; }
.fa-compress-alt::before { content: "\f422"; }
.fa-compress-arrows-alt::before { content: "\f78c"; }
.fa-cookie::before { content: "\f563"; }
.fa-cookie-bite::before { content: "\f564"; }
.fa-copy::before { content: "\f0c5"; }
.fa-crown::before { content: "\f521"; }
.fa-cube::before { content: "\f1b2"; }
.fa-database::before { content: "\f1c0"; }
.fa-desktop::before { content: "\f108"; }
.fa-dice::before { content: "\f522"; }
.fa-directions::before { content: "\f5eb"; }
.fa-download::before { content: "\f019"; }
.fa-edit::before { content: "\f044"; }
.fa-envelope::before { content: "\f0e0"; }
.fa-envelope-open-text::before { content: "\f658"; }
.fa-equals::before { content: "\3d"; }
.fa-eraser::before { content: "\f12d"; }
.fa-exchange-alt::before { content: "\f362"; }
.fa-exclamation-circle::before { content: "\f06a"; }
.fa-exclamation-triangle::before { content: "\f071"; }
.fa-external-link-alt::before { content: "\f35d"; }
.fa-eye::before { content: "\f06e"; }
.fa-eye-slash::before { content: "\f070"; }
.fa-file::before { content: "\f15b"; }
.fa-file-alt::before { content: "\f15c"; }
.fa-file-archive::before { content: "\f1c6"; }
.fa-file-code::before { content: "\f1c9"; }
.fa-file-contract::before { content: "\f56c"; }
.fa-file-excel::before { content: "\f1c3"; }
.fa-file-pdf::before { content: "\f1c1"; }
.fa-file-upload::before { content: "\f574"; }
.fa-file-video::before { content: "\f1c8"; }
.fa-file-word::before { content: "\f1c2"; }
.fa-filter::before { content: "\f0b0"; }
.fa-filter-circle-xmark::before { content: "\e17b"; }
.fa-fingerprint::before { content: "\f577"; }
.fa-fire::before { content: "\f06d"; }
.fa-folder::before { content: "\f07b"; }
.fa-folder-open::before { content: "\f07c"; }
.fa-folder-plus::before { content: "\f65e"; }
.fa-font::before { content: "\f031"; }
.fa-gamepad::before { content: "\f11b"; }
.fa-globe::before { content: "\f0ac"; }
.fa-graduation-cap::before { content: "\f19d"; }
.fa-grip-vertical::before { content: "\f58e"; }
.fa-hashtag::before { content: "\23"; }
.fa-history::before { content: "\f1da"; }
.fa-home::before { content: "\f015"; }
.fa-i-cursor::before { content: "\f246"; }
.fa-id-card::before { content: "\f2c2"; }
.fa-image::before { content: "\f03e"; }
.fa-images::before { content: "\f302"; }
.fa-inbox::before { content: "\f01c"; }
.fa-indent::before { content: "\f03c"; }
.fa-infinity::before { content: "\f534"; }
.fa-info-circle::before { content: "\f05a"; }
.fa-italic::before { content: "\f033"; }
.fa-key::before { content: "\f084"; }
.fa-keyboard::before { content: "\f11c"; }
.fa-layer-group::before { content: "\f5fd"; }
.fa-lightbulb::before { content: "\f0eb"; }
.fa-link::before { content: "\f0c1"; }
.fa-list::before { content: "\f03a"; }
.fa-list-alt::before { content: "\f022"; }
.fa-list-ol::before { content: "\f0cb"; }
.fa-list-ul::before { content: "\f0ca"; }
.fa-lock::before { content: "\f023"; }
.fa-magic::before { content: "\f0d0"; }
.fa-magnifying-glass-arrow-right::before { content: "\e521"; }
.fa-meh-rolling-eyes::before { content: "\f5a5"; }
.fa-microphone::before { content: "\f130"; }
.fa-microscope::before { content: "\f610"; }
.fa-minus::before { content: "\f068"; }
.fa-mobile-alt::before { content: "\f3cd"; }
.fa-mobile-screen::before { content: "\f3cf"; }
.fa-moon::before { content: "\f186"; }
.fa-music::before { content: "\f001"; }
.fa-network-wired::before { content: "\f6ff"; }
.fa-newspaper::before { content: "\f1ea"; }
.fa-not-equal::before { content: "\f53e"; }
.fa-outdent::before { content: "\f03b"; }
.fa-paint-brush::before { content: "\f1fc"; }
.fa-palette::before { content: "\f53f"; }
.fa-paper-plane::before { content: "\f1d8"; }
.fa-paragraph::before { content: "\f1dd"; }
.fa-paste::before { content: "\f0ea"; }
.fa-pen::before { content: "\f304"; }
.fa-pen-fancy::before { content: "\f5ac"; }
.fa-percent::before { content: "\25"; }
.fa-percentage::before { content: "\25"; }
.fa-photo-video::before { content: "\f87c"; }
.fa-piggy-bank::before { content: "\f4d3"; }
.fa-plug::before { content: "\f1e6"; }
.fa-plus::before { content: "\2b"; }
.fa-plus-circle::before { content: "\f055"; }
.fa-project-diagram::before { content: "\f542"; }
.fa-puzzle-piece::before { content: "\f12e"; }
.fa-question-circle::before { content: "\f059"; }
.fa-quote-left::before { content: "\f10d"; }
.fa-quote-right::before { content: "\f10e"; }
.fa-random::before { content: "\f074"; }
.fa-redo::before { content: "\f01e"; }
.fa-reply::before { content: "\f3e5"; }
.fa-rotate-left::before { content: "\f2ea"; }
.fa-ruler-horizontal::before { content: "\f547"; }
.fa-save::before { content: "\f0c7"; }
.fa-scissors::before { content: "\f0c4"; }
.fa-search::before { content: "\f002"; }
.fa-search-plus::before { content: "\f00e"; }
.fa-server::before { content: "\f233"; }
.fa-share-alt::before { content: "\f1e0"; }
.fa-shield-alt::before { content: "\f3ed"; }
.fa-shuffle::before { content: "\f074"; }
.fa-sign-out-alt::before { content: "\f2f5"; }
.fa-signature::before { content: "\f5b7"; }
.fa-sitemap::before { content: "\f0e8"; }
.fa-skull::before { content: "\f54c"; }
.fa-sliders-h::before { content: "\f1de"; }
.fa-smile::before { content: "\f118"; }
.fa-smile-slash::before { content: "\f119"; }
.fa-sort::before { content: "\f0dc"; }
.fa-sort-alpha-down::before { content: "\f15d"; }
.fa-sort-amount-down::before { content: "\f160"; }
.fa-sort-numeric-down::before { content: "\f162"; }
.fa-sort-numeric-up::before { content: "\f163"; }
.fa-spell-check::before { content: "\f891"; }
.fa-spinner::before { content: "\f110"; }
.fa-square::before { content: "\f0c8"; }
.fa-star::before { content: "\f005"; }
.fa-strikethrough::before { content: "\f0cc"; }
.fa-subscript::before { content: "\f12c"; }
.fa-sun::before { content: "\f185"; }
.fa-superscript::before { content: "\f12b"; }
.fa-sync::before { content: "\f021"; }
.fa-sync-alt::before { content: "\f2f1"; }
.fa-table::before { content: "\f0ce"; }
.fa-tablet-alt::before { content: "\f3fa"; }
.fa-tachometer-alt::before { content: "\f3fd"; }
.fa-tag::before { content: "\f02b"; }
.fa-tags::before { content: "\f02c"; }
.fa-text-height::before { content: "\f034"; }
.fa-text-width::before { content: "\f035"; }
.fa-th::before { content: "\f00a"; }
.fa-th-large::before { content: "\f009"; }
.fa-th-list::before { content: "\f00b"; }
.fa-times::before { content: "\f00d"; }
.fa-times-circle::before { content: "\f057"; }
.fa-toolbox::before { content: "\f552"; }
.fa-tools::before { content: "\f7d9"; }
.fa-trash::before { content: "\f1f8"; }
.fa-undo::before { content: "\f0e2"; }
.fa-unlink::before { content: "\f127"; }
.fa-upload::before { content: "\f093"; }
.fa-user::before { content: "\f007"; }
.fa-user-cog::before { content: "\f4fe"; }
.fa-user-edit::before { content: "\f4ff"; }
.fa-user-ninja::before { content: "\f504"; }
.fa-user-plus::before { content: "\f234"; }
.fa-user-shield::before { content: "\f505"; }
.fa-user-tag::before { content: "\f507"; }
.fa-users::before { content: "\f0c0"; }
.fa-volume-up::before { content: "\f028"; }
.fa-wand-magic-sparkles::before { content: "\e2ca"; }
.fa-wave-square::before { content: "\f83e"; }
.fa-window-maximize::before { content: "\f2d0"; }
.fa-wrench::before { content: "\f0ad"; }
.fa-xmark::before { content: "\f00d"; }

/* Brand Icons (fab) */
.fa-facebook::before { content: "\f09a"; }
.fa-facebook-f::before { content: "\f39e"; }
.fa-github::before { content: "\f09b"; }
.fa-google::before { content: "\f1a0"; }
.fa-instagram::before { content: "\f16d"; }
.fa-linkedin::before { content: "\f08c"; }
.fa-linkedin-in::before { content: "\f0e1"; }
.fa-microsoft::before { content: "\f3ca"; }
.fa-reddit-alien::before { content: "\f281"; }
.fa-twitter::before { content: "\f099"; }
.fa-x-twitter::before { content: "\e61b"; }
.fa-youtube::before { content: "\f167"; }
