/* Font Awesome 6.5.0 - Lokale Version (nur Icons, die verwendet werden) */
/* DSGVO-konform: Alle Ressourcen werden lokal gehostet */

/* === FONT DEFINITIONS === */
@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");
}

@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");
}

@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");
}

/* === BASE STYLES === */
.fa, .fab, .fad, .fal, .far, .fas, .fasr, .fast {
    -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, .far, .fas {
    font-family: "Font Awesome 6 Free";
}

.fab {
    font-family: "Font Awesome 6 Brands";
}

.far {
    font-weight: 400;
}

.fas {
    font-weight: 900;
}

.fab {
    font-weight: 400;
}

/* === ICON DEFINITIONS === */
/* Navigation & UI */
.fa-bars::before { content: "\f0c9"; }
.fa-xmark::before, .fa-times::before { content: "\f00d"; }
.fa-chevron-left::before { content: "\f053"; }
.fa-chevron-right::before { content: "\f054"; }
.fa-chevron-down::before { content: "\f078"; }
.fa-chevron-up::before { content: "\f077"; }
.fa-arrow-right::before { content: "\f061"; }
.fa-arrow-left::before { content: "\f060"; }
.fa-check::before { content: "\f00c"; }
.fa-check-circle::before { content: "\f058"; }
.fa-circle-check::before { content: "\f058"; }
.fa-circle::before { content: "\f111"; }
.fa-times-circle::before { content: "\f057"; }
.fa-plus::before { content: "\f067"; }
.fa-minus::before { content: "\f068"; }
.fa-expand::before { content: "\f065"; }
.fa-compress::before { content: "\f066"; }

/* Actions */
.fa-download::before { content: "\f019"; }
.fa-play::before { content: "\f04b"; }
.fa-play-circle::before { content: "\f144"; }
.fa-pause::before { content: "\f04c"; }
.fa-stop::before { content: "\f04d"; }
.fa-search::before { content: "\f002"; }
.fa-copy::before { content: "\f0c5"; }
.fa-trash::before { content: "\f1f8"; }
.fa-edit::before, .fa-pen::before { content: "\f303"; }
.fa-save::before { content: "\f0c7"; }
.fa-upload::before { content: "\f093"; }
.fa-sync::before, .fa-rotate::before { content: "\f021"; }
.fa-refresh::before { content: "\f021"; }

/* Communication */
.fa-envelope::before { content: "\f0e0"; }
.fa-phone::before { content: "\f095"; }
.fa-comment::before { content: "\f075"; }
.fa-comments::before { content: "\f086"; }
.fa-paper-plane::before { content: "\f1d8"; }

/* Security & Tech */
.fa-lock::before { content: "\f023"; }
.fa-unlock::before { content: "\f09c"; }
.fa-key::before { content: "\f084"; }
.fa-shield::before, .fa-shield-halved::before { content: "\f3ed"; }
.fa-shield-alt::before { content: "\f3ed"; }
.fa-fingerprint::before { content: "\f577"; }
.fa-user-secret::before { content: "\f21b"; }
.fa-user-shield::before { content: "\f505"; }

/* Hardware & Computing */
.fa-microchip::before { content: "\f2db"; }
.fa-server::before { content: "\f233"; }
.fa-database::before { content: "\f1c0"; }
.fa-hdd::before, .fa-hard-drive::before { content: "\f0a0"; }
.fa-desktop::before { content: "\f108"; }
.fa-laptop::before { content: "\f109"; }
.fa-mobile::before, .fa-mobile-alt::before { content: "\f3cd"; }
.fa-network-wired::before { content: "\f6ff"; }
.fa-wifi::before { content: "\f1eb"; }
.fa-bolt::before { content: "\f0e7"; }
.fa-memory::before { content: "\f538"; }
.fa-gpu-card::before { content: "\f8d5"; }
.fa-tachometer-alt::before, .fa-gauge::before { content: "\f625"; }

/* Files & Folders */
.fa-file::before { content: "\f15b"; }
.fa-file-alt::before, .fa-file-lines::before { content: "\f15c"; }
.fa-file-pdf::before { content: "\f1c1"; }
.fa-file-code::before { content: "\f1c9"; }
.fa-file-excel::before { content: "\f1c3"; }
.fa-file-word::before { content: "\f1c2"; }
.fa-file-archive::before, .fa-file-zipper::before { content: "\f1c6"; }
.fa-folder::before { content: "\f07b"; }
.fa-folder-open::before { content: "\f07c"; }

/* People & Users */
.fa-user::before { content: "\f007"; }
.fa-users::before { content: "\f0c0"; }
.fa-user-tie::before { content: "\f508"; }
.fa-user-check::before { content: "\f4fc"; }
.fa-user-plus::before { content: "\f234"; }
.fa-building::before { content: "\f1ad"; }

/* Status & Info */
.fa-info::before { content: "\f129"; }
.fa-info-circle::before, .fa-circle-info::before { content: "\f05a"; }
.fa-question::before { content: "\f128"; }
.fa-question-circle::before, .fa-circle-question::before { content: "\f059"; }
.fa-exclamation::before { content: "\f12a"; }
.fa-exclamation-circle::before, .fa-circle-exclamation::before { content: "\f06a"; }
.fa-exclamation-triangle::before, .fa-triangle-exclamation::before { content: "\f071"; }
.fa-bell::before { content: "\f0f3"; }
.fa-lightbulb::before { content: "\f0eb"; }

/* Misc */
.fa-cog::before, .fa-gear::before { content: "\f013"; }
.fa-cogs::before, .fa-gears::before { content: "\f085"; }
.fa-wrench::before { content: "\f0ad"; }
.fa-tools::before, .fa-screwdriver-wrench::before { content: "\f7d9"; }
.fa-hammer::before { content: "\f6e3"; }
.fa-code::before { content: "\f121"; }
.fa-terminal::before { content: "\f120"; }
.fa-cube::before { content: "\f1b2"; }
.fa-cubes::before { content: "\f1b3"; }
.fa-layer-group::before { content: "\f5fd"; }
.fa-clock::before { content: "\f017"; }
.fa-calendar::before { content: "\f133"; }
.fa-calendar-alt::before, .fa-calendar-days::before { content: "\f073"; }
.fa-globe::before { content: "\f0ac"; }
.fa-globe-europe::before, .fa-earth-europe::before { content: "\f7a2"; }
.fa-map-marker::before, .fa-location-dot::before { content: "\f3c5"; }
.fa-star::before { content: "\f005"; }
.fa-heart::before { content: "\f004"; }
.fa-flag::before { content: "\f024"; }
.fa-rocket::before { content: "\f135"; }
.fa-bolt-lightning::before { content: "\e0b7"; }
.fa-crown::before { content: "\f521"; }
.fa-trophy::before { content: "\f091"; }
.fa-medal::before { content: "\f5a2"; }
.fa-award::before { content: "\f559"; }
.fa-certificate::before { content: "\f0a3"; }
.fa-book::before { content: "\f02d"; }
.fa-book-open::before { content: "\f518"; }
.fa-graduation-cap::before { content: "\f19d"; }
.fa-list::before { content: "\f03a"; }
.fa-list-ul::before { content: "\f0ca"; }
.fa-list-check::before, .fa-tasks::before { content: "\f0ae"; }
.fa-clipboard::before { content: "\f328"; }
.fa-clipboard-list::before { content: "\f46d"; }
.fa-chart-bar::before { content: "\f080"; }
.fa-chart-line::before { content: "\f201"; }
.fa-chart-pie::before { content: "\f200"; }
.fa-link::before { content: "\f0c1"; }
.fa-external-link::before, .fa-up-right-from-square::before { content: "\f35d"; }
.fa-external-link-alt::before { content: "\f35d"; }
.fa-eye::before { content: "\f06e"; }
.fa-eye-slash::before { content: "\f070"; }
.fa-image::before { content: "\f03e"; }
.fa-images::before { content: "\f302"; }
.fa-video::before { content: "\f03d"; }
.fa-music::before { content: "\f001"; }
.fa-headphones::before { content: "\f025"; }
.fa-volume-up::before, .fa-volume-high::before { content: "\f028"; }
.fa-volume-mute::before, .fa-volume-xmark::before { content: "\f6a9"; }
.fa-print::before { content: "\f02f"; }
.fa-qrcode::before { content: "\f029"; }
.fa-barcode::before { content: "\f02a"; }
.fa-sitemap::before { content: "\f0e8"; }
.fa-random::before, .fa-shuffle::before { content: "\f074"; }
.fa-filter::before { content: "\f0b0"; }
.fa-sort::before { content: "\f0dc"; }
.fa-sort-up::before { content: "\f0de"; }
.fa-sort-down::before { content: "\f0dd"; }
.fa-hashtag::before { content: "\23"; }
.fa-at::before { content: "\40"; }

/* Social & Brands */
.fa-twitter::before { content: "\f099"; }
.fa-x-twitter::before { content: "\e61b"; }
.fa-facebook::before, .fa-facebook-f::before { content: "\f39e"; }
.fa-linkedin::before, .fa-linkedin-in::before { content: "\f0e1"; }
.fa-instagram::before { content: "\f16d"; }
.fa-youtube::before { content: "\f167"; }
.fa-github::before { content: "\f09b"; }
.fa-discord::before { content: "\f392"; }
.fa-windows::before { content: "\f17a"; }
.fa-linux::before { content: "\f17c"; }
.fa-apple::before { content: "\f179"; }
.fa-android::before { content: "\f17b"; }
.fa-chrome::before { content: "\f268"; }
.fa-firefox::before { content: "\f269"; }
.fa-edge::before { content: "\f282"; }
.fa-safari::before { content: "\f267"; }
.fa-python::before { content: "\f3e2"; }
.fa-java::before { content: "\f4e4"; }
.fa-php::before { content: "\f457"; }
.fa-html5::before { content: "\f13b"; }
.fa-css3::before { content: "\f13c"; }
.fa-js::before { content: "\f3b8"; }
.fa-node::before, .fa-node-js::before { content: "\f3d3"; }
.fa-npm::before { content: "\f3d4"; }
.fa-docker::before { content: "\f395"; }
.fa-aws::before { content: "\f375"; }
.fa-google::before { content: "\f1a0"; }
.fa-microsoft::before { content: "\f3ca"; }
.fa-bitcoin::before { content: "\f379"; }

/* Additional Icons (used on website) */
.fa-bullseye::before { content: "\f140"; }
.fa-map-marker-alt::before { content: "\f3c5"; }
.fa-box-open::before { content: "\f49e"; }
.fa-lock-open::before { content: "\f3c1"; }
.fa-landmark::before { content: "\f66f"; }
.fa-history::before { content: "\f1da"; }
.fa-file-contract::before { content: "\f56c"; }
.fa-file-export::before { content: "\f56e"; }
.fa-magnifying-glass::before { content: "\f002"; }
.fa-wand-magic-sparkles::before { content: "\e2ca"; }
.fa-object-group::before { content: "\f247"; }
.fa-puzzle-piece::before { content: "\f12e"; }
.fa-gift::before { content: "\f06b"; }
.fa-search-location::before { content: "\f689"; }
.fa-calendar-check::before { content: "\f274"; }
.fa-file-signature::before { content: "\f573"; }
.fa-copyright::before { content: "\f1f9"; }
.fa-ruler-horizontal::before { content: "\f547"; }
.fa-box::before { content: "\f466"; }

/* Arrows & Directions expanded */
.fa-angle-left::before { content: "\f104"; }
.fa-angle-right::before { content: "\f105"; }
.fa-angle-up::before { content: "\f106"; }
.fa-angle-down::before { content: "\f107"; }
.fa-angles-left::before { content: "\f100"; }
.fa-angles-right::before { content: "\f101"; }
.fa-caret-down::before { content: "\f0d7"; }
.fa-caret-up::before { content: "\f0d8"; }
.fa-caret-left::before { content: "\f0d9"; }
.fa-caret-right::before { content: "\f0da"; }

/* Size modifiers */
.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-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; }

/* Utility classes */
.fa-fw { text-align: center; width: 1.25em; }
.fa-spin { animation: fa-spin 2s infinite linear; }
.fa-pulse { animation: fa-spin 1s infinite steps(8); }
.fa-rotate-90 { transform: rotate(90deg); }
.fa-rotate-180 { transform: rotate(180deg); }
.fa-rotate-270 { transform: rotate(270deg); }
.fa-flip-horizontal { transform: scaleX(-1); }
.fa-flip-vertical { transform: scaleY(-1); }
.fa-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: auto; }
.fa-stack-1x { line-height: inherit; }
.fa-stack-2x { font-size: 2em; }

@keyframes fa-spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Border & Pull */
.fa-border { border: 0.08em solid #eee; border-radius: 0.1em; padding: 0.2em 0.25em 0.15em; }
.fa-pull-left { float: left; margin-right: 0.3em; }
.fa-pull-right { float: right; margin-left: 0.3em; }

/* Lists */
.fa-ul { list-style-type: none; margin-left: 2.5em; padding-left: 0; }
.fa-ul > li { position: relative; }
.fa-li { left: -2em; position: absolute; text-align: center; width: 2em; line-height: inherit; }
