/*!
 * Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license (Commercial License)
 * Copyright 2024 Fonticons, Inc.
 */

/* FontAwesome Pro v7 Core Styles */
.fa,
.fas,
.far,
.fal,
.fat,
.fad,
.fab,
.fak,
.fa-solid,
.fa-regular,
.fa-light,
.fa-thin,
.fa-duotone,
.fa-brands,
.fa-kit {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  text-rendering: auto;
}

/* Solid Icons */
.fas,
.fa-solid {
  font-family: "Font Awesome 7 Pro";
  font-weight: 900;
}

/* Regular Icons */
.far,
.fa-regular {
  font-family: "Font Awesome 7 Pro";
  font-weight: 400;
}

/* Brand Icons */
.fab,
.fa-brands {
  font-family: "Font Awesome 7 Brands";
  font-weight: 400;
}

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

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

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

/* Icon sizing utilities */
.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;
}

/* Icon rotation and flipping */
.fa-rotate-90 {
  transform: rotate(90deg);
}

.fa-rotate-180 {
  transform: rotate(180deg);
}

.fa-rotate-270 {
  transform: rotate(270deg);
}

.fa-flip-horizontal {
  transform: scaleX(-1);
}

.fa-flip-vertical {
  transform: scaleY(-1);
}

/* Icon stacking */
.fa-stack {
  display: inline-block;
  height: 2em;
  position: relative;
  width: 2.5em;
}

.fa-stack-1x,
.fa-stack-2x {
  position: absolute;
  left: 0;
  width: 100%;
  text-align: center;
}

.fa-stack-1x {
  line-height: inherit;
}

.fa-stack-2x {
  font-size: 2em;
}

/* Animation support */
.fa-spin {
  animation: fa-spin 2s infinite linear;
}

.fa-pulse {
  animation: fa-pulse 1s infinite steps(8);
}

@keyframes fa-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

@keyframes fa-pulse {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.25;
  }
  100% {
    opacity: 1;
  }
}

/* Performance optimizations */
.fa {
  will-change: transform;
}

/* Icon content mappings for FontAwesome v7 */
.fa-circle-info:before { content: "\f05a"; }
.fa-info-circle:before { content: "\f05a"; } /* v6 compatibility */
.fa-xmark:before { content: "\f00d"; }
.fa-times:before { content: "\f00d"; } /* v6 compatibility */
.fa-chevron-down:before { content: "\f078"; }
.fa-bars:before { content: "\f0c9"; }
.fa-globe:before { content: "\f0ac"; }
.fa-globe-americas:before { content: "\f57d"; } /* Alternative globe */
.fa-server:before { content: "\f233"; }
.fa-shield-check:before { content: "\f2f7"; }
.fa-shield-alt:before { content: "\f3ed"; } /* v6 compatibility */
.fa-shield-halved:before { content: "\f3ed"; } /* v7 name */
.fa-arrow-right:before { content: "\f061"; }
.fa-route:before { content: "\f4d7"; }
.fa-bolt:before { content: "\f0e7"; }
.fa-lightning-bolt:before { content: "\f0e7"; } /* Alternative */
.fa-headset:before { content: "\f590"; }
.fa-dollar-sign:before { content: "\f155"; }
.fa-cart-shopping:before { content: "\f07a"; }
.fa-shopping-cart:before { content: "\f07a"; } /* v6 compatibility */
.fa-magnifying-glass:before { content: "\f002"; }
.fa-search:before { content: "\f002"; } /* v6 compatibility */
.fa-location-dot:before { content: "\f3c5"; }
.fa-map-marker-alt:before { content: "\f3c5"; } /* v6 compatibility */
.fa-lock:before { content: "\f023"; }
.fa-magic:before { content: "\f0d0"; }
.fa-wand-magic-sparkles:before { content: "\f6d1"; } /* v7 name */
.fa-mobile-screen-button:before { content: "\f3cd"; }
.fa-mobile-alt:before { content: "\f3cd"; } /* v6 compatibility */
.fa-network-wired:before { content: "\f6ff"; }
.fa-palette:before { content: "\f53f"; }
.fa-plus:before { content: "\f067"; }
.fa-rocket:before { content: "\f135"; }
.fa-sync:before { content: "\f021"; }
.fa-sync-alt:before { content: "\f2f1"; } /* Alternative */
.fa-tools:before { content: "\f7d9"; }
.fa-trash:before { content: "\f1f8"; }
.fa-user:before { content: "\f007"; }
.fa-star:before { content: "\f005"; }
.fa-mouse-pointer:before { content: "\f245"; }
.fa-earth-oceania:before { content: "\f57c"; }
.fa-shield-halved:before { content: "\f3ed"; }
.fa-wand-magic-sparkles:before { content: "\f6d1"; }
.fa-envelope:before { content: "\f0e0"; }
.fa-phone:before { content: "\f095"; }
.fa-gem:before { content: "\f3a5"; }
.fa-chart-line:before { content: "\f201"; }
.fa-laptop-code:before { content: "\f5fc"; }
.fa-newspaper:before { content: "\f1ea"; }
.fa-book:before { content: "\f02d"; }
.fa-bullhorn:before { content: "\f0a1"; }
.fa-ticket:before { content: "\f145"; }
.fa-tag:before { content: "\f02b"; }
.fa-circle-check:before { content: "\f058"; }
.fa-circle-question:before { content: "\f059"; }
.fa-credit-card:before { content: "\f09d"; } /* Generic credit card icon */
.fa-scale-balanced:before { content: "\f24e"; } /* Legal/justice scale icon */
.fa-shield-check:before { content: "\f2f7"; } /* SSL/Security shield icon */
.fa-wordpress:before { content: "\f19a"; } /* WordPress brand icon */
.fa-cc-visa:before { content: "\f1f0"; }
.fa-cc-mastercard:before { content: "\f1f1"; }
.fa-cc-paypal:before { content: "\f1f4"; }
.fa-arrow-right-arrow-left:before { content: "\f0ec"; }
.fa-browser:before { content: "\f37e"; }
.fa-envelope-circle-user:before { content: "\f0e0"; }

/* Admin panel icon mappings */
.fa-bell:before { content: "\f0f3"; }
.fa-eye:before { content: "\f06e"; }
.fa-file-lines:before { content: "\f15c"; }
.fa-external-link:before { content: "\f08e"; }
.fa-edit:before { content: "\f044"; }
.fa-pen-to-square:before { content: "\f044"; }
.fa-triangle-exclamation:before { content: "\f071"; }
.fa-exclamation-triangle:before { content: "\f071"; }
.fa-floppy-disk:before { content: "\f0c7"; }
.fa-file-pen:before { content: "\f31c"; }
.fa-folder:before { content: "\f07b"; }
.fa-circle-pause:before { content: "\f28b"; }
.fa-arrow-left:before { content: "\f060"; }
.fa-home:before { content: "\f015"; }
.fa-tags:before { content: "\f02c"; }
.fa-cogs:before { content: "\f085"; }
.fa-flag:before { content: "\f024"; }
.fa-cog:before { content: "\f013"; }

/* Additional icon mappings for compatibility */
.fa-question-circle:before { content: "\f059"; } /* v6 compatibility for circle-question */
.fa-check-circle:before { content: "\f058"; } /* v6 compatibility for circle-check */
.fa-clock-rotate-left:before { content: "\f1da"; } /* History/Backup icon */
.fa-calendar:before { content: "\f073"; } /* Calendar icon */
.fa-clock:before { content: "\f017"; } /* Clock icon */
.fa-download:before { content: "\f019"; } /* Download icon */
.fa-key:before { content: "\f084"; } /* Key icon */
.fa-arrow-up-right-from-square:before { content: "\f08e"; } /* External link icon */
.fa-share:before { content: "\f064"; } /* Share/forward icon */
.fa-file-text:before { content: "\f15c"; } /* File/document icon */