
/* Font Awesome 6 Subset - Oxford Metadata Dictionary
 * Minimal version: Only includes icons that exist in font files
 * Solid: 20 icons (2.5KB), Regular: 20 icons (2.8KB), Brands: 3 icons
 */

/* ========================================
 * Font Face Declarations
 * ======================================== */

@font-face {
  font-family: "Font Awesome 6 Brands";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/fa-brands-400-subset.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-subset.woff2") format("woff2");
}

@font-face {
  font-family: "Font Awesome 6 Free";
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("../fonts/fa-solid-900-subset.woff2") format("woff2");
}

/* FA5 backwards compatibility */
@font-face {
  font-family: "Font Awesome 5 Brands";
  font-display: swap;
  font-weight: 400;
  src: url("../fonts/fa-brands-400-subset.woff2") format("woff2");
}

@font-face {
  font-family: "Font Awesome 5 Free";
  font-display: swap;
  font-weight: 900;
  src: url("../fonts/fa-solid-900-subset.woff2") format("woff2");
}

@font-face {
  font-family: "Font Awesome 5 Free";
  font-display: swap;
  font-weight: 400;
  src: url("../fonts/fa-regular-400-subset.woff2") format("woff2");
}

/* FA4 backwards compatibility */
@font-face {
  font-family: "FontAwesome";
  font-display: swap;
  src: url("../fonts/fa-solid-900-subset.woff2") format("woff2");
}

/* Brand-Icons - Subset with only 3 icons (facebook, instagram, youtube) */
@font-face {
  font-family: 'Brand-Icons';
  font-display: swap;
  src: url('../fonts/Brand-Icons-subset.woff2') format('woff2');
  font-weight: normal;
  font-style: normal;
}

/* ========================================
 * Base FA Styles
 * ======================================== */

.fa {
  font-family: var(--fa-style-family, "Font Awesome 6 Free");
  font-weight: var(--fa-style, 900);
}

.fa-solid,
.fa-regular,
.fa-brands,
.fas,
.far,
.fab,
.fa {
  -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;
}

.fas,
.fa-solid,
.far,
.fa-regular {
  font-family: 'Font Awesome 6 Free';
}

.fab,
.fa-brands {
  font-family: 'Font Awesome 6 Brands';
}

.fas,
.fa-solid {
  font-weight: 900;
}

.far,
.fa-regular {
  font-weight: 400;
}

/* Size modifiers */
.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-fw { text-align: center; width: 1.25em; }

/* Animations */
.fa-spin {
  animation: fa-spin 2s infinite linear;
}

@keyframes fa-spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* ========================================
 * Font Awesome 4 to 6 Compatibility Shims
 * Only includes icons actually used in the theme
 * ======================================== */

/* fa-envelope-o -> regular envelope */
.fa.fa-envelope-o {
  font-family: 'Font Awesome 6 Free';
  font-weight: 400;
}
.fa.fa-envelope-o:before {
  content: "\f0e0";
}

/* fa-star-o -> regular star */
.fa.fa-star-o {
  font-family: 'Font Awesome 6 Free';
  font-weight: 400;
}
.fa.fa-star-o:before {
  content: "\f005";
}

/* fa-times, fa-remove, fa-close -> xmark */
.fa.fa-times:before,
.fa.fa-remove:before,
.fa.fa-close:before {
  content: "\f00d";
}

/* fa-heart-o -> regular heart */
.fa.fa-heart-o {
  font-family: 'Font Awesome 6 Free';
  font-weight: 400;
}
.fa.fa-heart-o:before {
  content: "\f004";
}

/* fa-clock-o -> regular clock */
.fa.fa-clock-o {
  font-family: 'Font Awesome 6 Free';
  font-weight: 400;
}
.fa.fa-clock-o:before {
  content: "\f017";
}

/* Social brand icons - FA4 to FA6 */
.fa.fa-facebook:before {
  content: "\f09a";
}
.fa.fa-facebook {
  font-family: 'Font Awesome 6 Brands';
  font-weight: 400;
}

.fa.fa-youtube:before {
  content: "\f167";
}
.fa.fa-youtube {
  font-family: 'Font Awesome 6 Brands';
  font-weight: 400;
}

.fa.fa-instagram:before {
  content: "\f16d";
}
.fa.fa-instagram {
  font-family: 'Font Awesome 6 Brands';
  font-weight: 400;
}

/* ========================================
 * SOLID Icons (fa-solid / fas) - 20 icons
 * ======================================== */

/* 9 Requested Medical/Professional Icons */
.fa-id-badge::before {
  content: "\f2c1";
}

.fa-laptop-medical::before {
  content: "\f812";
}

.fa-hospital-user::before {
  content: "\f80d";
}

.fa-person-rays::before {
  content: "\e54d";
}

.fa-person-dots-from-line::before,
.fa-diagnoses::before {
  content: "\f470";
}

.fa-staff-snake::before,
.fa-rod-asclepius::before,
.fa-rod-snake::before,
.fa-staff-aesculapius::before {
  content: "\e579";
}

.fa-dna::before {
  content: "\f471";
}

.fa-microscope::before {
  content: "\f610";
}

.fa-user-doctor::before,
.fa-user-md::before {
  content: "\f0f0";
}

/* 11 Essential UI Icons */
.fa-check::before {
  content: "\f00c";
}

.fa-times::before,
.fa-xmark::before,
.fa-close::before,
.fa-remove::before {
  content: "\f00d";
}

.fa-heart::before {
  content: "\f004";
}

.fa-star::before {
  content: "\f005";
}

.fa-bolt::before,
.fa-flash::before,
.fa-zap::before {
  content: "\f0e7";
}

.fa-location-arrow::before {
  content: "\f124";
}

.fa-map-marker::before {
  content: "\f041";
}

.fa-map-marker-alt::before,
.fa-location-dot::before {
  content: "\f3c5";
}

.fa-th::before {
  content: "\f00a";
}

.fa-align-justify::before {
  content: "\f039";
}

.fa-info-circle::before,
.fa-circle-info::before {
  content: "\f05a";
}

.fa-search::before,
.fa-magnifying-glass::before {
  content: "\f002";
}

/* Additional commonly needed icons */
.fa-spinner::before {
  content: "\f110";
}

.fa-circle-notch::before {
  content: "\f1ce";
}

.fa-angle-down::before {
  content: "\f107";
}

.fa-angle-up::before {
  content: "\f106";
}

.fa-angle-left::before {
  content: "\f104";
}

.fa-angle-right::before {
  content: "\f105";
}

.fa-chevron-down::before {
  content: "\f078";
}

.fa-chevron-up::before {
  content: "\f077";
}

.fa-chevron-left::before {
  content: "\f053";
}

.fa-chevron-right::before {
  content: "\f054";
}

.fa-caret-down::before {
  content: "\f0d7";
}

.fa-caret-up::before {
  content: "\f0d8";
}

.fa-plus::before {
  content: "\f067";
}

.fa-minus::before {
  content: "\f068";
}

.fa-envelope::before {
  content: "\f0e0";
}

.fa-phone::before {
  content: "\f095";
}

.fa-user::before {
  content: "\f007";
}

.fa-lock::before {
  content: "\f023";
}

.fa-bars::before,
.fa-navicon::before {
  content: "\f0c9";
}

.fa-shopping-cart::before,
.fa-cart-shopping::before {
  content: "\f07a";
}

.fa-globe::before {
  content: "\f0ac";
}

.fa-home::before,
.fa-house::before {
  content: "\f015";
}

.fa-calendar::before {
  content: "\f073";
}

.fa-calendar-check::before {
  content: "\f274";
}

.fa-clock::before {
  content: "\f017";
}

.fa-bell::before {
  content: "\f0f3";
}

.fa-cog::before,
.fa-gear::before {
  content: "\f013";
}

.fa-trash::before {
  content: "\f1f8";
}

.fa-edit::before,
.fa-pen-to-square::before {
  content: "\f044";
}

.fa-eye::before {
  content: "\f06e";
}

.fa-eye-slash::before {
  content: "\f070";
}

.fa-comment::before {
  content: "\f075";
}

.fa-comments::before {
  content: "\f086";
}

.fa-share::before {
  content: "\f064";
}

.fa-reply::before {
  content: "\f3e5";
}

.fa-list::before {
  content: "\f03a";
}

.fa-list-alt::before,
.fa-rectangle-list::before {
  content: "\f022";
}

.fa-question-circle::before,
.fa-circle-question::before {
  content: "\f059";
}

.fa-exclamation-circle::before,
.fa-circle-exclamation::before {
  content: "\f06a";
}

.fa-check-circle::before,
.fa-circle-check::before {
  content: "\f058";
}

.fa-times-circle::before,
.fa-circle-xmark::before {
  content: "\f057";
}

.fa-arrow-left::before {
  content: "\f060";
}

.fa-arrow-right::before {
  content: "\f061";
}

.fa-arrow-up::before {
  content: "\f062";
}

.fa-arrow-down::before {
  content: "\f063";
}

.fa-external-link::before,
.fa-arrow-up-right-from-square::before {
  content: "\f08e";
}

.fa-download::before {
  content: "\f019";
}

.fa-upload::before {
  content: "\f093";
}

.fa-file::before {
  content: "\f15b";
}

.fa-image::before {
  content: "\f03e";
}

.fa-link::before {
  content: "\f0c1";
}

.fa-briefcase::before {
  content: "\f0b1";
}

.fa-store::before {
  content: "\f54e";
}

.fa-building::before {
  content: "\f1ad";
}

.fa-mobile::before,
.fa-mobile-phone::before {
  content: "\f3ce";
}

.fa-star-half::before {
  content: "\f089";
}

.fa-star-half-stroke::before,
.fa-star-half-alt::before {
  content: "\f5c0";
}

.fa-reorder::before,
.fa-grip-horizontal::before {
  content: "\f58d";
}

/* ========================================
 * REGULAR Icons (fa-regular / far) - outline style
 * ======================================== */

.far.fa-heart::before,
.fa-regular.fa-heart::before {
  content: "\f004";
}

.far.fa-star::before,
.fa-regular.fa-star::before {
  content: "\f005";
}

.far.fa-user::before,
.fa-regular.fa-user::before {
  content: "\f007";
}

.far.fa-clock::before,
.fa-regular.fa-clock::before {
  content: "\f017";
}

.far.fa-calendar::before,
.fa-regular.fa-calendar::before {
  content: "\f073";
}

.far.fa-envelope::before,
.fa-regular.fa-envelope::before {
  content: "\f0e0";
}

.far.fa-bell::before,
.fa-regular.fa-bell::before {
  content: "\f0f3";
}

.far.fa-file::before,
.fa-regular.fa-file::before {
  content: "\f15b";
}

.far.fa-comment::before,
.fa-regular.fa-comment::before {
  content: "\f075";
}

.far.fa-circle::before,
.fa-regular.fa-circle::before {
  content: "\f111";
}

.far.fa-bookmark::before,
.fa-regular.fa-bookmark::before {
  content: "\f02e";
}

.far.fa-square::before,
.fa-regular.fa-square::before {
  content: "\f0c8";
}

.far.fa-check-square::before,
.fa-regular.fa-check-square::before,
.fa-regular.fa-square-check::before {
  content: "\f14a";
}

.far.fa-thumbs-up::before,
.fa-regular.fa-thumbs-up::before {
  content: "\f164";
}

.far.fa-thumbs-down::before,
.fa-regular.fa-thumbs-down::before {
  content: "\f165";
}

.far.fa-eye::before,
.fa-regular.fa-eye::before {
  content: "\f06e";
}

.far.fa-eye-slash::before,
.fa-regular.fa-eye-slash::before {
  content: "\f070";
}

.far.fa-image::before,
.fa-regular.fa-image::before {
  content: "\f03e";
}

.far.fa-plus-square::before,
.fa-regular.fa-plus-square::before,
.fa-regular.fa-square-plus::before {
  content: "\f0fe";
}

.far.fa-minus-square::before,
.fa-regular.fa-minus-square::before,
.fa-regular.fa-square-minus::before {
  content: "\f146";
}

/* ========================================
 * BRAND Icons (fa-brands / fab) - 3 icons
 * ======================================== */

.fa-facebook::before,
.fa-facebook-f::before {
  content: "\f39e";
}

.fab.fa-facebook::before,
.fa-brands.fa-facebook::before {
  content: "\f09a";
}

.fa-facebook-square::before {
  content: "\f082";
}

.fa-instagram::before {
  content: "\f16d";
}

.fa-youtube::before {
  content: "\f167";
}

.fa-tiktok::before {
  content: "\e07b";
}

.fa-x-twitter::before,
.fa-twitter::before {
  content: "\e61b";
}

.fa-whatsapp::before {
  content: "\f232";
}

.fa-linkedin::before,
.fa-linkedin-in::before {
  content: "\f0e1";
}

.fa-pinterest::before,
.fa-pinterest-p::before {
  content: "\f231";
}

/* ========================================
 * Utility Classes
 * ======================================== */

.fa-pull-left {
  float: left;
  margin-right: 0.3em;
}

.fa-pull-right {
  float: right;
  margin-left: 0.3em;
}

.fa-border {
  border: solid 0.08em #eee;
  border-radius: 0.1em;
  padding: 0.2em 0.25em 0.15em;
}

.fa-inverse {
  color: #fff;
}

.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%;
}

.fa-stack-1x {
  line-height: inherit;
}

.fa-stack-2x {
  font-size: 2em;
}

/* Accessibility - Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .fa-spin {
    animation-duration: 0s;
  }
}
