/* ============================================
   Font Awesome 7 Pro - Icon Definitions
   Supplementary CSS for missing icon classes
   ============================================ */

/* ---- Base ---- */
.fas,
.far,
.fal,
.fad,
.fat,
.fa-solid,
.fa-regular,
.fa-light,
.fa-duotone,
.fa-thin {
    display: inline-block;
    font-style: normal;
    text-rendering: auto;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.fas,
.fa-solid {
    font-family: "Font Awesome 7 Pro";
    font-weight: 900;
}

.far,
.fa-regular {
    font-family: "Font Awesome 7 Pro";
    font-weight: 400;
}

.fal,
.fa-light {
    font-family: "Font Awesome 7 Pro";
    font-weight: 300;
}

.fat,
.fa-thin {
    font-family: "Font Awesome 7 Pro";
    font-weight: 100;
}

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

/* ---- Icon: arrow-right ---- */
.fa-arrow-right::before { content: "\f061"; }

/* ---- Icon: atom ---- */
.fa-atom::before { content: "\f5d2"; }

/* ---- Icon: chart-bar ---- */
.fa-chart-bar::before { content: "\f080"; }

/* ---- Icon: chart-line ---- */
.fa-chart-line::before { content: "\f201"; }

/* ---- Icon: check-circle ---- */
.fa-check-circle::before { content: "\f058"; }

/* ---- Icon: chevron-down ---- */
.fa-chevron-down::before { content: "\f078"; }

/* ---- Icon: chevron-left ---- */
.fa-chevron-left::before { content: "\f053"; }

/* ---- Icon: chevron-right ---- */
.fa-chevron-right::before { content: "\f054"; }

/* ---- Icon: clock ---- */
.fa-clock::before { content: "\f017"; }

/* ---- Icon: cogs ---- */
.fa-cogs::before { content: "\f085"; }

/* ---- Icon: compass ---- */
.fa-compass::before { content: "\f14e"; }

/* ---- Icon: cut ---- */
.fa-cut::before { content: "\f0c4"; }

/* ---- Icon: dna ---- */
.fa-dna::before { content: "\f471"; }

/* ---- Icon: envelope ---- */
.fa-envelope::before { content: "\f0e0"; }

/* ---- Icon: file-alt ---- */
.fa-file-alt::before { content: "\f15c"; }

/* ---- Icon: flask ---- */
.fa-flask::before { content: "\f0c3"; }

/* ---- Icon: globe ---- */
.fa-globe::before { content: "\f0ac"; }

/* ---- Icon: heartbeat ---- */
.fa-heartbeat::before { content: "\f21e"; }

/* ---- Icon: home ---- */
.fa-home::before { content: "\f015"; }

/* ---- Icon: hourglass-half ---- */
.fa-hourglass-half::before { content: "\f254"; }

/* ---- Icon: info-circle ---- */
.fa-info-circle::before { content: "\f05a"; }

/* ---- Icon: lightbulb ---- */
.fa-lightbulb::before { content: "\f0eb"; }

/* ---- Icon: link ---- */
.fa-link::before { content: "\f0c1"; }

/* ---- Icon: lock ---- */
.fa-lock::before { content: "\f023"; }

/* ---- Icon: lungs ---- */
.fa-lungs::before { content: "\f604"; }

/* ---- Icon: microscope ---- */
.fa-microscope::before { content: "\f752"; }

/* ---- Icon: project-diagram ---- */
.fa-project-diagram::before { content: "\f542"; }

/* ---- Icon: ribbon ---- */
.fa-ribbon::before { content: "\f4d6"; }

/* ---- Icon: robot ---- */
.fa-robot::before { content: "\f544"; }

/* ---- Icon: satellite ---- */
.fa-satellite::before { content: "\f7bf"; }

/* ---- Icon: search ---- */
.fa-search::before { content: "\f002"; }

/* ---- Icon: sync-alt ---- */
.fa-sync-alt::before { content: "\f2f1"; }

/* ---- Icon: times ---- */
.fa-times::before { content: "\f00d"; }

/* ---- Icon: users ---- */
.fa-users::before { content: "\f0c0"; }

/* ---- Icon: virus ---- */
.fa-virus::before { content: "\f6e8"; }

/* ---- Utility classes ---- */
.fa-spin {
    animation: fa-spin 1s infinite linear;
}

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

.fa-flip-horizontal {
    transform: scaleX(-1);
}

.fa-flip-vertical {
    transform: scaleY(-1);
}

.fa-flip-both {
    transform: scale(-1, -1);
}

.fa-rotate-90 {
    transform: rotate(90deg);
}

.fa-rotate-180 {
    transform: rotate(180deg);
}

.fa-rotate-270 {
    transform: rotate(270deg);
}

/* ---- Sizing ---- */
.fa-lg {
    font-size: 1.333em;
    line-height: 0.75em;
    vertical-align: -0.0667em;
}

.fa-2x {
    font-size: 2em;
}

.fa-3x {
    font-size: 3em;
}

.fa-4x {
    font-size: 4em;
}

.fa-5x {
    font-size: 5em;
}

/* ---- Fixed width ---- */
.fa-fw {
    width: 1.25em;
    text-align: center;
}

/* ---- Text rendering fix for pseudo-elements ---- */
[class^="fa-"]::before,
[class*=" fa-"]::before {
    speak: never;
}
