
@import url('https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.css');
.fa,.fab,.fal,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.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-fw{text-align:center;width:1.25em}.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}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{animation:fa-spin 2s infinite linear}.fa-pulse{animation:fa-spin 1s infinite steps(8)}@keyframes fa-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";transform:scaleX(-1)}.fa-flip-vertical{transform:scaleY(-1)}.fa-flip-horizontal.fa-flip-vertical,.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"}.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{filter:none}.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}.fa-inverse{color:#fff}

/**
 * Font Awesome icon class compatibility using Bootstrap Icons
 * - All .fa and .fa-* classes remain for HTML/CSS compatibility.
 * - Font Awesome font and underlying glyphs REMOVED.
 * - Relies on Bootstrap Icons CDN (already @imported above).
 * - Common icons mapped to matching Bootstrap icons.
 * - All unmapped icons display a safe fallback generic glyph.
 */

/* Base .fa uses Bootstrap Icons font, not Font Awesome */
.fa, .fab, .far, .fas {
  font-family: "bootstrap-icons" !important;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
}

/* === Common Font Awesome icon mappings to Bootstrap Icons === */
/* (Add more per project needs) */
.fa-home:before        { content: "\f015"; font-family: "bootstrap-icons" !important;} /* house */
.fa-user:before        { content: "\f4fb"; font-family: "bootstrap-icons" !important;} /* person */
.fa-users:before       { content: "\f0c0"; font-family: "bootstrap-icons" !important;} /* people */
.fa-search:before      { content: "\f002"; font-family: "bootstrap-icons" !important;} /* search */
.fa-cog:before, .fa-gear:before { content: "\f013"; font-family: "bootstrap-icons" !important;} /* gear */
.fa-cogs:before        { content: "\f085"; font-family: "bootstrap-icons" !important;} /* gears */
.fa-envelope:before    { content: "\f0e0"; font-family: "bootstrap-icons" !important;} /* envelope */
.fa-lock:before        { content: "\f023"; font-family: "bootstrap-icons" !important;} /* lock */
.fa-unlock:before      { content: "\f09c"; font-family: "bootstrap-icons" !important;} /* unlock */
.fa-check:before       { content: "\f00c"; font-family: "bootstrap-icons" !important;} /* check */
.fa-times:before, .fa-close:before   { content: "\f00d"; font-family: "bootstrap-icons" !important;} /* x */
.fa-plus:before        { content: "\f067"; font-family: "bootstrap-icons" !important;}
.fa-minus:before       { content: "\f068"; font-family: "bootstrap-icons" !important;}
.fa-edit:before        { content: "\f044"; font-family: "bootstrap-icons" !important;} /* pencil */
.fa-trash:before       { content: "\f1f8"; font-family: "bootstrap-icons" !important;}
.fa-download:before    { content: "\f019"; font-family: "bootstrap-icons" !important;}
.fa-upload:before      { content: "\f093"; font-family: "bootstrap-icons" !important;}
.fa-save:before        { content: "\f0c7"; font-family: "bootstrap-icons" !important;} /* floppy */
.fa-file:before        { content: "\f15b"; font-family: "bootstrap-icons" !important;} /* file */
.fa-folder:before      { content: "\f07b"; font-family: "bootstrap-icons" !important;} /* folder */
.fa-folder-open:before { content: "\f07c"; font-family: "bootstrap-icons" !important;}
.fa-star:before        { content: "\f005"; font-family: "bootstrap-icons" !important;}
.fa-star-half:before   { content: "\f089"; font-family: "bootstrap-icons" !important;}
.fa-star-o:before      { content: "\f006"; font-family: "bootstrap-icons" !important;}
.fa-heart:before       { content: "\f004"; font-family: "bootstrap-icons" !important;}
.fa-heart-o:before     { content: "\f08a"; font-family: "bootstrap-icons" !important;}
.fa-info:before, .fa-info-circle:before     { content: "\f129"; font-family: "bootstrap-icons" !important;}
.fa-exclamation:before, .fa-exclamation-circle:before { content: "\f12a"; font-family: "bootstrap-icons" !important;}
.fa-question:before, .fa-question-circle:before      { content: "\f128"; font-family: "bootstrap-icons" !important;}
.fa-arrow-up:before    { content: "\f062"; font-family: "bootstrap-icons" !important;}
.fa-arrow-down:before  { content: "\f063"; font-family: "bootstrap-icons" !important;}
.fa-arrow-left:before  { content: "\f060"; font-family: "bootstrap-icons" !important;}
.fa-arrow-right:before { content: "\f061"; font-family: "bootstrap-icons" !important;}
.fa-chevron-up:before  { content: "\f077"; font-family: "bootstrap-icons" !important;}
.fa-chevron-down:before  { content: "\f078"; font-family: "bootstrap-icons" !important;}
.fa-chevron-left:before  { content: "\f053"; font-family: "bootstrap-icons" !important;}
.fa-chevron-right:before  { content: "\f054"; font-family: "bootstrap-icons" !important;}
.fa-bars:before        { content: "\f0c9"; font-family: "bootstrap-icons" !important;}
.fa-th:before          { content: "\f00a"; font-family: "bootstrap-icons" !important;}
.fa-th-list:before     { content: "\f00b"; font-family: "bootstrap-icons" !important;}
.fa-th-large:before    { content: "\f009"; font-family: "bootstrap-icons" !important;}
.fa-calendar:before    { content: "\f133"; font-family: "bootstrap-icons" !important;}
.fa-clock:before       { content: "\f017"; font-family: "bootstrap-icons" !important;}
.fa-bell:before        { content: "\f0f3"; font-family: "bootstrap-icons" !important;}
.fa-paperclip:before   { content: "\f0c6"; font-family: "bootstrap-icons" !important;}
.fa-comment:before     { content: "\f075"; font-family: "bootstrap-icons" !important;}
.fa-comments:before    { content: "\f086"; font-family: "bootstrap-icons" !important;}
.fa-phone:before       { content: "\f095"; font-family: "bootstrap-icons" !important;}
.fa-camera:before      { content: "\f030"; font-family: "bootstrap-icons" !important;}
.fa-map-marker:before  { content: "\f041"; font-family: "bootstrap-icons" !important;}
.fa-globe:before       { content: "\f0ac"; font-family: "bootstrap-icons" !important;}
.fa-external-link:before, .fa-external-link-alt:before { content: "\f08e"; font-family: "bootstrap-icons" !important;}
.fa-shopping-cart:before   { content: "\f07a"; font-family: "bootstrap-icons" !important;}
.fa-eye:before         { content: "\f06e"; font-family: "bootstrap-icons" !important;}
.fa-eye-slash:before   { content: "\f070"; font-family: "bootstrap-icons" !important;}
.fa-list:before        { content: "\f03a"; font-family: "bootstrap-icons" !important;}
.fa-list-ul:before     { content: "\f0ca"; font-family: "bootstrap-icons" !important;}
.fa-list-ol:before     { content: "\f0cb"; font-family: "bootstrap-icons" !important;}
.fa-link:before        { content: "\f0c1"; font-family: "bootstrap-icons" !important;}
.fa-wrench:before      { content: "\f0ad"; font-family: "bootstrap-icons" !important;}
.fa-print:before       { content: "\f02f"; font-family: "bootstrap-icons" !important;}
.fa-random:before      { content: "\f074"; font-family: "bootstrap-icons" !important;}
.fa-refresh:before, .fa-sync:before   { content: "\f021"; font-family: "bootstrap-icons" !important;}
.fa-spinner:before     { content: "\f110"; font-family: "bootstrap-icons" !important;}
.fa-sign-in:before, .fa-sign-in-alt:before { content: "\f2f6"; font-family: "bootstrap-icons" !important;}
.fa-sign-out:before, .fa-sign-out-alt:before { content: "\f2f5"; font-family: "bootstrap-icons" !important;}
.fa-arrow-circle-up:before   { content: "\f0aa"; font-family: "bootstrap-icons" !important;}
.fa-arrow-circle-right:before{ content: "\f0a9"; font-family: "bootstrap-icons" !important;}
.fa-arrow-circle-down:before { content: "\f0ab"; font-family: "bootstrap-icons" !important;}
.fa-arrow-circle-left:before { content: "\f0a8"; font-family: "bootstrap-icons" !important;}
.fa-twitter:before     { content: "\f099"; font-family: "bootstrap-icons" !important;}
.fa-facebook:before    { content: "\f09a"; font-family: "bootstrap-icons" !important;}
.fa-github:before      { content: "\f09b"; font-family: "bootstrap-icons" !important;}

 /* ICON Fallback: render generic square if unmapped */
.fa[class*="fa-"]:before,
.fab[class*="fa-"]:before,
.far[class*="fa-"]:before,
.fas[class*="fa-"]:before {
  content: "\f27b"; /* unicode for 'square' in bootstrap-icons */
  font-family: "bootstrap-icons" !important;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
}

/* If a specific icon above matches, it will override this fallback. */

/* .sr-only and .sr-only-focusable kept for accessibility as per original file */
.sr-only {
  border: 0;
  clip: rect(0,0,0,0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}
.sr-only-focusable:active,
.sr-only-focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  width: auto;
}

/** Use Bootstrap Icons in place of Font Awesome fonts; 
    Map .fa, .fab, .far, .fas classes to use Bootstrap Icons via content property.
    Reminder: Bootstrap Icons CDN must be loaded separately in HTML for actual icons to display.
*/


.fa,.fab,.far,.fas {
  font-family: "bootstrap-icons";
  font-style: normal;
  font-weight: normal;
}

/* Example mapping of some Font Awesome classes to Bootstrap Icons:
   You may want to extend this as needed. The Bootstrap icon codes can be found at https://icons.getbootstrap.com/
   For demonstration, the following generic rules map fa-home, fa-user, etc. to similar Bootstrap icons.
*/

.fa-home:before, .fas.fa-home:before, .far.fa-home:before, .fab.fa-home:before {
  content: "\f015"; /* Unicode private use for 'house' in Bootstrap Icons font */
  font-family: "bootstrap-icons" !important;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
}
.fa-user:before, .fas.fa-user:before, .far.fa-user:before, .fab.fa-user:before {
  content: "\f4fb"; /* Unicode for 'person' in Bootstrap Icons font */
  font-family: "bootstrap-icons" !important;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
}
/* Add more mappings as needed for your project. */
