@font-face {
  font-family: 'icomoon';
  src: url('../fonts/icomoon.woff?xtl8l4') format('woff');
  font-weight: normal;
  font-style: normal;
  font-display: swap; 
}

/* Target BOTH old FontAwesome (fa-) AND Bootstrap (bi-) classes */
[class^="fa-"], [class*=" fa-"],
[class^="bi-"], [class*=" bi-"] {
  font-family: 'icomoon' !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ==========================================================================
   Bootstrap Icons Sub-Set (Mapped to match your existing HTML "bi-..." tags)
   ========================================================================== */
.bi-activity:before { content: "\e900"; }
.bi-bug-fill:before { content: "\e901"; }
.bi-check:before { content: "\e902"; }
.bi-cloud-check-fill:before { content: "\e903"; }
.bi-cpu:before { content: "\e904"; }
.bi-globe:before { content: "\e905"; }
.bi-gpu-card:before { content: "\e906"; }
.bi-hand-thumbs-up:before { content: "\e907"; }
.bi-hdd-network:before { content: "\e908"; }
.bi-hdd-stack-fill:before { content: "\e909"; }
.bi-pc:before { content: "\e90a"; }
.bi-pc-display:before { content: "\e90b"; }
.bi-pc-display-horizontal:before { content: "\e90c"; }
.bi-question-circle-fill:before { content: "\e90d"; }
.bi-server:before { content: "\e90e"; }
.bi-shield-lock-fill:before { content: "\e90f"; }
.bi-tools:before { content: "\e910"; }
.bi-windows:before { content: "\f17a"; }
.bi-browser-chrome:before { content: "\f268"; }
.bi-asterisk:before { content: "\f069"; }
.bi-laptop:before { content: "\e913"; }
.bi-hdd-fill:before { content: "\e909"; }
.bi-globe2:before { content: "\e918"; }
.bi-diagram-3-fill:before {
  content: "\e917";
}
.bi-diagram-3:before {
  content: "\e917";
}
.bi-wrench-adjustable:before { content: "\f069"; }
.bi-pencil-fill:before {
  content: "\e91c";
}
.bi-lock-fill:before {
  content: "\e91b";
}
.bi-arrow-repeat:before {
  content: "\e919";
}
.bi-graph-up:before {
  content: "\e91a";
}
.bi-shield-lock:before {
  content: "\e91b";
}
.bi-terminal-fill:before {
  content: "\e91d";
}
.bi-speedometer2:before {
  content: "\e915";
}
.bi-shield-check:before {
  content: "\e914";
}
.bi-cpu-fill:before {
  content: "\e911";
}
.bi-person-lock:before {
  content: "\e91b";
}
.bi-geo-alt-fill:before { content: "\f041"; }
.bi-router-fill:before { content: "\e90e"; }
.bi-key-fill:before { content: "\f023"; }
.bi-exclamation-triangle-fill:before { content: "\e900"; }
.bi-printer:before { content: "\e90d"; }
.bi-printer-fill:before { content: "\e90d"; }
.bi-wifi:before { content: "\f0ad"; }
.bi-broadcast-pin:before { content: "\f20e"; }
.bi-envelope-check-fill:before { content: "\f0e0"; }
.bi-cloud-arrow-up-fill:before { content: "\e903"; }
.bi-folder-symlink-fill:before { content: "\f15b"; }
.bi-person-workspace:before {
  content: "\e914";
}
.bi-arrow-counterclockwise:before {
  content: "\e919";
}
.bi-clipboard-check-fill:before { content: "\f0f6"; }
.bi-folder-fill:before { content: "\f0f6"; }
.bi-envelope-fill:before { content: "\f003"; }
.bi-person-lines-fill:before { content: "\f003"; }

/* ==========================================================================
   FontAwesome Icons Sub-Set (Mapped to match your existing HTML "fa-..." tags)
   ========================================================================== */
.fa-asterisk:before { content: "\f069"; }
.fa-search:before { content: "\f002"; }
.fa-envelope-o:before { content: "\f003"; }
.fa-file-o:before { content: "\f016"; }
.fa-road:before { content: "\f018"; }
.fa-lock:before { content: "\f023"; }
.fa-book:before { content: "\f02d"; }
.fa-map-marker:before { content: "\f041"; }
.fa-chevron-right:before { content: "\f054"; }
.fa-check-circle:before { content: "\f058"; }
.fa-arrow-right:before { content: "\f061"; }
.fa-comment:before { content: "\f075"; }
.fa-cogs:before { content: "\f085"; }
.fa-gears:before { content: "\f085"; }
.fa-phone:before { content: "\f095"; }
.fa-globe1:before { content: "\f0ac"; }
.fa-globe:before { content: "\f0ac"; }
.fa-wrench:before { content: "\f0ad"; }
.fa-envelope:before { content: "\f0e0"; }
.fa-dashboard:before { content: "\f0e4"; }
.fa-tachometer:before { content: "\f0e4"; }
.fa-file-text-o:before { content: "\f0f6"; }
.fa-building-o:before { content: "\f0f7"; }
.fa-angle-double-right:before { content: "\f101"; }
.fa-angle-right:before { content: "\f105"; }
.fa-desktop:before { content: "\f108"; }
.fa-gamepad:before { content: "\f11b"; }
.fa-code:before { content: "\f121"; }
.fa-ticket:before { content: "\f145"; }
.fa-compass:before { content: "\f14e"; }
.fa-file:before { content: "\f15b"; }
.fa-windows:before { content: "\f17a"; }
.fa-linux:before { content: "\f17c"; }
.fa-building:before { content: "\f1ad"; }
.fa-connectdevelop:before { content: "\f20e"; }
.fa-server1:before { content: "\f233"; }
.fa-server:before { content: "\f233"; }
.fa-mouse-pointer:before { content: "\f245"; }
.fa-chrome:before { content: "\f268"; }
.fa-map-o:before { content: "\f278"; }
.fa-map:before { content: "\f279"; }