/*!
 * Font Awesome Free 6.5.2 - Exact CDN Structure with Local Fonts
 */

/* Core Variables */
:host,:root {
  --fa-style-family-classic: "Font Awesome 6 Free";
  --fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free";
  --fa-font-regular: normal 400 1em/1 "Font Awesome 6 Free";
  --fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands";
}

/* Font Face Declarations */
@font-face {
  font-family: "Font Awesome 6 Free";
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url("fontawesome/fa-regular-400.woff2") format("woff2");
}

@font-face {
  font-family: "Font Awesome 6 Free";
  font-style: normal;
  font-weight: 900;
  font-display: block;
  src: url("fontawesome/fa-solid-900.woff2") format("woff2");
}

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

/* Core Font Awesome Styles */
.fa {
  font-family: var(--fa-style-family, "Font Awesome 6 Free");
  font-weight: var(--fa-style, 900);
}

.fa, .fa-classic, .fa-regular, .fa-solid, .far, .fas {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: var(--fa-display, inline-block);
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  text-rendering: auto;
}

.fa-classic, .fa-regular, .fa-solid, .far, .fas {
  font-family: "Font Awesome 6 Free";
}

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

.fa-regular, .far {
  font-weight: 400;
}

.fa-solid, .fas {
  font-weight: 900;
}

.fa-brands, .fab {
  font-weight: 400;
}

/* Size Classes */
.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; }

/* Icon Definitions - From FA 6.5.2 Official Source */
.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"; }

/* Critical Project Icons */
.fa-chart-line:before, .fa-line-chart:before { content: "\f201"; }
.fa-network-wired:before { content: "\f6ff"; }
.fa-rocket:before { content: "\f135"; }

/* Navigation Icons */
.fa-chevron-down:before { content: "\f078"; }
.fa-chevron-up:before { content: "\f077"; }
.fa-bars:before, .fa-navicon:before { content: "\f0c9"; }
.fa-times:before, .fa-xmark:before { content: "\f00d"; }

/* Communication Icons */
.fa-envelope:before { content: "\f0e0"; }
.fa-phone:before { content: "\f095"; }
.fa-handshake:before { content: "\f2b5"; }
.fa-users:before { content: "\f0c0"; }

/* Business Icons */
.fa-cogs:before, .fa-gears:before { content: "\f085"; }
.fa-globe:before { content: "\f0ac"; }
.fa-chart-pie:before, .fa-pie-chart:before { content: "\f200"; }
.fa-newspaper:before { content: "\f1ea"; }

/* Social & Brand Icons */
.fa-linkedin:before { content: "\f08c"; }

/* Basic Icons */
.fa-home:before, .fa-house:before { content: "\f015"; }
.fa-check:before { content: "\f00c"; }
.fa-star:before { content: "\f005"; }
.fa-user:before { content: "\f007"; }

/* Utility Icons */
.fa-search:before, .fa-magnifying-glass:before { content: "\f002"; }
.fa-cog:before, .fa-gear:before { content: "\f013"; }
.fa-calendar:before { content: "\f133"; }
.fa-clock:before { content: "\f017"; }

/* Directional Icons */
.fa-arrow-right:before { content: "\f061"; }
.fa-arrow-left:before { content: "\f060"; }
.fa-arrow-up:before { content: "\f062"; }
.fa-arrow-down:before { content: "\f063"; }

/* Accessibility */
.fa-sr-only, .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;
}
