/* FontAwesome 6 Minimal Subset - Only Required Icons */

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

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

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

/* Base Classes */
.fa,
.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;
}

/* Theme Compatibility - Icon Base Styling */
.icon {
  border-bottom: none;
  position: relative;
  text-align: center;
  text-decoration: none;
}

.icon > .label {
  display: none;
}

.icon:before {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: inherit;
  text-transform: none !important;
  font-family: 'Font Awesome 6 Free';
  font-weight: 400;
}

.icon.solid:before {
  font-weight: 900;
}

.icon.brands:before {
  font-family: 'Font Awesome 6 Brands';
  font-weight: 400;
}

.icon.regular:before {
  font-family: 'Font Awesome 6 Free';
  font-weight: 400;
}

.icon.style2:before {
  border-radius: 2.75em;
  display: inline-block;
  height: 2.75em;
  line-height: 2.75em;
  width: 2.75em;
}

.icon.major {
  display: block;
  margin: 0 0 1rem 0;
}

.icon.major:before {
  font-size: 1.25rem;
}

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

.far,
.fa-regular {
  font-family: 'Font Awesome 6 Free';
  font-weight: 400;
}

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

.fa::before,
.fas::before,
.fa-solid::before,
.far::before,
.fa-regular::before,
.fab::before,
.fa-brands::before {
  content: var(--fa-content, "");
}

/* Social Media Icons (Brands) */
.fa-mastodon::before { content: "\f4f6"; }
.fa-linkedin::before { content: "\f08c"; }
.fa-twitter::before { content: "\f099"; }

/* Regular Icons */
.fa-pen-to-square::before { content: "\f044"; }
.fa-images::before { content: "\f302"; }

/* Solid Icons */
.fa-at::before { content: "\40"; }
.fa-envelope::before { content: "\f0e0"; }
.fa-cloud::before { content: "\f0c2"; }
.fa-gem::before { content: "\f3a5"; }
.fa-save::before { content: "\f0c7"; }
.fa-chart-bar::before { content: "\f080"; }
.fa-wifi::before { content: "\f1eb"; }
.fa-cog::before { content: "\f013"; }
.fa-paper-plane::before { content: "\f1d8"; }
.fa-desktop::before { content: "\f390"; }
.fa-sync-alt::before { content: "\f2f1"; }
.fa-hashtag::before { content: "\23"; }
.fa-bolt::before { content: "\f0e7"; }
.fa-leaf::before { content: "\f06c"; }

/* Icon Sizing */
.fa-2x { font-size: 2em; }
.fa-3x { font-size: 3em; }
.fa-lg { font-size: 1.25em; line-height: 0.05em; vertical-align: -0.075em; }
.fa-sm { font-size: 0.875em; line-height: 0.07142857em; vertical-align: 0.05357143em; }
.fa-xs { font-size: 0.75em; line-height: 0.08333333em; vertical-align: 0.125em; }

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