/* Font Awesome 6.4.0 - Fixed Local Font Path */
@font-face {
    font-family: "Font Awesome 6 Free";
    font-style: normal;
    font-weight: 900;
    font-display: block;
    src: url("./fa-solid-900.woff2") format("woff2"),
         url("./fa-solid-900.ttf") format("truetype");
}

@font-face {
    font-family: "Font Awesome 6 Free";
    font-style: normal;
    font-weight: 400;
    font-display: block;
    src: url("./fa-regular-400.woff2") format("woff2"),
         url("./fa-regular-400.ttf") format("truetype");
}

@font-face {
    font-family: "Font Awesome 6 Brands";
    font-style: normal;
    font-weight: 400;
    font-display: block;
    src: url("./fa-brands-400.woff2") format("woff2"),
         url("./fa-brands-400.ttf") format("truetype");
}

.fa, .fab, .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:before {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
}

.fas:before {
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
}

.far:before {
    font-family: "Font Awesome 6 Free";
    font-weight: 400;
}

.fab:before {
    font-family: "Font Awesome 6 Brands";
    font-weight: 400;
}

/* Icon sizes */
.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; }

/* Animations */
.fa-spin {
    animation: fa-spin 2s infinite linear;
}

.fa-pulse {
    animation: fa-spin 1s infinite steps(8);
}

@keyframes fa-spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.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); }

/* Borders & spacing */
.fa-border { border: 0.08em solid #eee; padding: 0.2em 0.25em 0.15em; }
.fa-fw { width: 1.25em; }
.fa-ul { list-style: none; margin-left: 2.5em; padding-left: 0; }
.fa-li { left: -2em; position: absolute; text-align: center; width: 2em; }
.fa-pull-left { float: left; margin-right: 0.3em; }
.fa-pull-right { float: right; margin-left: 0.3em; }

/* Stack layout */
.fa-stack { display: inline-block; height: 2em; position: relative; 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; }

/* Icon specific styles */
.fa-graduation-cap:before { content: "\f19d"; }
.fa-book:before { content: "\f02d"; }
.fa-lightbulb:before { content: "\f0eb"; }
.fa-users:before { content: "\f0c0"; }
.fa-laptop:before { content: "\f109"; }
.fa-microscope:before { content: "\f610"; }
.fa-palette:before { content: "\f53f"; }
.fa-dumbbell:before { content: "\f44b"; }
.fa-school:before { content: "\f549"; }
.fa-graduation-cap:before { content: "\f19d"; }
.fa-book-reader:before { content: "\f5da"; }
.fa-map-marker-alt:before, .fa-location-dot:before { content: "\f3c5"; }
.fa-phone:before { content: "\f095"; }
.fa-envelope:before { content: "\f0e0"; }
.fa-paper-plane:before { content: "\f1d8"; }
.fa-arrow-right:before { content: "\f061"; }
.fa-facebook:before { content: "\f09a"; }
.fa-twitter:before { content: "\f099"; }
.fa-instagram:before { content: "\f16d"; }
.fa-youtube:before { content: "\f167"; }

/* Common icons */
.fa-home:before, .fa-house:before { content: "\f015"; }
.fa-heart:before { content: "\f004"; }
.fa-star:before { content: "\f005"; }
.fa-search:before { content: "\f002"; }
.fa-shopping-cart:before { content: "\f07a"; }
.fa-check:before { content: "\f00c"; }
.fa-times:before, .fa-xmark:before { content: "\f00d"; }
.fa-menu:before, .fa-bars:before { content: "\f0c9"; }
.fa-calendar:before { content: "\f133"; }
.fa-clock:before { content: "\f017"; }
.fa-cog:before, .fa-gear:before { content: "\f013"; }
.fa-trash:before { content: "\f1f8"; }
.fa-eye:before { content: "\f06e"; }
.fa-eye-slash:before { content: "\f070"; }
.fa-lock:before { content: "\f023"; }
.fa-unlock:before { content: "\f09c"; }
.fa-download:before { content: "\f019"; }
.fa-upload:before { content: "\f093"; }
.fa-plus:before { content: "\f067"; }
.fa-minus:before { content: "\f068"; }
.fa-folder:before { content: "\f07b"; }
.fa-file:before { content: "\f15b"; }
.fa-link:before { content: "\f0c1"; }
.fa-external-link:before { content: "\f08e"; }

/* SR only */
.fa-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
