/* ============================================
   FONT AWESOME 5 CSS
   fontawesome.css
   ============================================ */

/* ----- BASE ICON STYLES ----- */
.fa,
.fab,
.fad,
.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;
}

/* ----- FONT FAMILIES ----- */
.fa,
.far,
.fas {
    font-family: "Font Awesome 5 Free";
}

.fab {
    font-family: "Font Awesome 5 Brands";
}

/* ----- FONT WEIGHTS ----- */
.fa,
.fas {
    font-weight: 900;
}

.far,
.fab {
    font-weight: 400;
}

/* ----- WEBFONT FACES ----- */
@font-face {
    font-family: "Font Awesome 5 Free";
    font-style: normal;
    font-weight: 900;
    font-display: swap;
    src: url("../global/webfonts/fa-solid-900.woff2") format("woff2"),
         url("../global/webfonts/fa-solid-900.woff")  format("woff");
}

@font-face {
    font-family: "Font Awesome 5 Free";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../global/webfonts/fa-regular-400.woff2") format("woff2"),
         url("../global/webfonts/fa-regular-400.woff")  format("woff");
}

@font-face {
    font-family: "Font Awesome 5 Brands";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../global/webfonts/fa-brands-400.woff2") format("woff2"),
         url("../global/webfonts/fa-brands-400.woff")  format("woff");
}

/* ============================================
   ICON UNICODE MAP
   ============================================ */

/* --- Solid (fas) --- */
.fa-arrow-left:before           { content: "\f060"; }
.fa-arrow-right:before          { content: "\f061"; }
.fa-award:before                { content: "\f559"; }
.fa-ban:before                  { content: "\f05e"; }
.fa-blender-phone:before        { content: "\f6b6"; }
.fa-book-open:before            { content: "\f518"; }
.fa-briefcase:before            { content: "\f0b1"; }
.fa-broadcast-tower:before      { content: "\f519"; }
.fa-calendar-alt:before         { content: "\f073"; }
.fa-calendar-check:before       { content: "\f274"; }
.fa-calendar-times:before       { content: "\f273"; }
.fa-camera:before               { content: "\f030"; }
.fa-certificate:before          { content: "\f0a3"; }
.fa-chalkboard-teacher:before   { content: "\f51c"; }
.fa-check:before                { content: "\f00c"; }
.fa-check-circle:before         { content: "\f058"; }
.fa-check-double:before         { content: "\f560"; }
.fa-chevron-right:before        { content: "\f054"; }
.fa-circle:before               { content: "\f111"; }
.fa-clipboard-list:before       { content: "\f46d"; }
.fa-clock:before                { content: "\f017"; }
.fa-cogs:before                 { content: "\f085"; }
.fa-comments:before             { content: "\f086"; }
.fa-copy:before                 { content: "\f0c5"; }
.fa-credit-card:before          { content: "\f09d"; }
.fa-download:before             { content: "\f019"; }
.fa-edit:before                 { content: "\f044"; }
.fa-envelope:before             { content: "\f0e0"; }
.fa-exclamation-circle:before   { content: "\f06a"; }
.fa-exclamation-triangle:before { content: "\f071"; }
.fa-external-link-alt:before    { content: "\f35d"; }
.fa-eye:before                  { content: "\f06e"; }
.fa-eye-slash:before            { content: "\f070"; }
.fa-file-alt:before             { content: "\f15c"; }
.fa-file-download:before        { content: "\f56d"; }
.fa-flag:before                 { content: "\f024"; }
.fa-folder-open:before          { content: "\f07c"; }
.fa-globe-europe:before         { content: "\f7a2"; }
.fa-graduation-cap:before       { content: "\f19d"; }
.fa-handshake:before            { content: "\f2b5"; }
.fa-history:before              { content: "\f1da"; }
.fa-home:before                 { content: "\f015"; }
.fa-hourglass-half:before       { content: "\f252"; }
.fa-id-card:before              { content: "\f2c2"; }
.fa-inbox:before                { content: "\f01c"; }
.fa-key:before                  { content: "\f084"; }
.fa-laptop:before               { content: "\f109"; }
.fa-laptop-code:before          { content: "\f5fc"; }
.fa-layer-group:before          { content: "\f5fd"; }
.fa-link:before                 { content: "\f0c1"; }
.fa-list:before                 { content: "\f03a"; }
.fa-list-alt:before             { content: "\f022"; }
.fa-lock:before                 { content: "\f023"; }
.fa-microphone:before           { content: "\f130"; }
.fa-money-bill-wave:before      { content: "\f53a"; }
.fa-paper-plane:before          { content: "\f1d8"; }
.fa-paperclip:before            { content: "\f0c6"; }
.fa-phone:before                { content: "\f095"; }
.fa-play:before                 { content: "\f04b"; }
.fa-play-circle:before          { content: "\f144"; }
.fa-plus:before                 { content: "\f067"; }
.fa-plus-circle:before          { content: "\f055"; }
.fa-question:before             { content: "\f128"; }
.fa-question-circle:before      { content: "\f059"; }
.fa-receipt:before              { content: "\f543"; }
.fa-redo:before                 { content: "\f01e"; }
.fa-reply:before                { content: "\f3e5"; }
.fa-save:before                 { content: "\f0c7"; }
.fa-search:before               { content: "\f002"; }
.fa-shield-alt:before           { content: "\f3ed"; }
.fa-sign-out-alt:before         { content: "\f2f5"; }
.fa-spinner:before              { content: "\f110"; }
.fa-star:before                 { content: "\f005"; }
.fa-star-half:before            { content: "\f089"; }
.fa-star-half-alt:before        { content: "\f5c0"; }
.fa-star-and-crescent:before    { content: "\f699"; }
.fa-star-of-david:before        { content: "\f69a"; }
.fa-star-of-life:before         { content: "\f621"; }
.fa-sticky-note:before          { content: "\f249"; }
.fa-suitcase:before             { content: "\f0f2"; }
.fa-sync:before                 { content: "\f021"; }
.fa-tachometer-alt:before       { content: "\f3fd"; }
.fa-tasks:before                { content: "\f0ae"; }
.fa-times:before                { content: "\f00d"; }
.fa-times-circle:before         { content: "\f057"; }
.fa-trash:before                { content: "\f1f8"; }
.fa-upload:before               { content: "\f093"; }
.fa-user:before                 { content: "\f007"; }
.fa-user-check:before           { content: "\f4fc"; }
.fa-user-circle:before          { content: "\f2bd"; }
.fa-user-graduate:before        { content: "\f501"; }
.fa-user-minus:before           { content: "\f503"; }
.fa-user-plus:before            { content: "\f234"; }
.fa-user-shield:before          { content: "\f505"; }
.fa-user-slash:before           { content: "\f506"; }
.fa-users:before                { content: "\f0c0"; }
.fa-users-cog:before            { content: "\f509"; }
.fa-video:before                { content: "\f03d"; }
.fa-wallet:before               { content: "\f555"; }

/* --- Brands (fab) --- */
.fa-facebook:before             { content: "\f09a"; }
.fa-facebook-f:before           { content: "\f39e"; }
.fa-instagram:before            { content: "\f16d"; }
.fa-linkedin-in:before          { content: "\f0e1"; }
.fa-whatsapp:before             { content: "\f232"; }
.fa-youtube:before              { content: "\f167"; }

/* ============================================
   LINE AWESOME → FONT AWESOME 5 SHIM
   las/lar/lab classes render with FA5 fonts
   ============================================ */

.las,
.lar,
.lab {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}

/* la-* → FA5 unicode map */
.la-arrow-left:before           { content: "\f060"; }
.la-arrow-right:before          { content: "\f061"; }
.la-ban:before                  { content: "\f05e"; }
.la-book-open:before            { content: "\f518"; }
.la-broadcast-tower:before      { content: "\f519"; }
.la-calendar-alt:before         { content: "\f073"; }
.la-calendar-check:before       { content: "\f274"; }
.la-calendar-times:before       { content: "\f273"; }
.la-camera:before               { content: "\f030"; }
.la-chalkboard-teacher:before   { content: "\f51c"; }
.la-check:before                { content: "\f00c"; }
.la-check-circle:before         { content: "\f058"; }
.la-check-double:before         { content: "\f560"; }
.la-circle:before               { content: "\f111"; }
.la-clipboard-list:before       { content: "\f46d"; }
.la-clock:before                { content: "\f017"; }
.la-comments:before             { content: "\f086"; }
.la-copy:before                 { content: "\f0c5"; }
.la-download:before             { content: "\f019"; }
.la-edit:before                 { content: "\f044"; }
.la-exclamation-circle:before   { content: "\f06a"; }
.la-exclamation-triangle:before { content: "\f071"; }
.la-external-link-alt:before    { content: "\f35d"; }
.la-eye:before                  { content: "\f06e"; }
.la-eye-slash:before            { content: "\f070"; }
.la-file-alt:before             { content: "\f15c"; }
.la-file-download:before        { content: "\f56d"; }
.la-folder-open:before          { content: "\f07c"; }
.la-graduation-cap:before       { content: "\f19d"; }
.la-history:before              { content: "\f1da"; }
.la-hourglass-half:before       { content: "\f252"; }
.la-id-card:before              { content: "\f2c2"; }
.la-inbox:before                { content: "\f01c"; }
.la-key:before                  { content: "\f084"; }
.la-layer-group:before          { content: "\f5fd"; }
.la-link:before                 { content: "\f0c1"; }
.la-lock:before                 { content: "\f023"; }
.la-microphone:before           { content: "\f130"; }
.la-money-bill-wave:before      { content: "\f53a"; }
.la-paperclip:before            { content: "\f0c6"; }
.la-paper-plane:before          { content: "\f1d8"; }
.la-play:before                 { content: "\f04b"; }
.la-play-circle:before          { content: "\f144"; }
.la-plus:before                 { content: "\f067"; }
.la-plus-circle:before          { content: "\f055"; }
.la-question:before             { content: "\f128"; }
.la-question-circle:before      { content: "\f059"; }
.la-receipt:before              { content: "\f543"; }
.la-redo:before                 { content: "\f01e"; }
.la-reply:before                { content: "\f3e5"; }
.la-save:before                 { content: "\f0c7"; }
.la-search:before               { content: "\f002"; }
.la-shield-alt:before           { content: "\f3ed"; }
.la-sign-out-alt:before         { content: "\f2f5"; }
.la-spinner:before              { content: "\f110"; }
.la-star:before                 { content: "\f005"; }
.la-sticky-note:before          { content: "\f249"; }
.la-sync:before                 { content: "\f021"; }
.la-tachometer-alt:before       { content: "\f3fd"; }
.la-tasks:before                { content: "\f0ae"; }
.la-times:before                { content: "\f00d"; }
.la-times-circle:before         { content: "\f057"; }
.la-trash:before                { content: "\f1f8"; }
.la-upload:before               { content: "\f093"; }
.la-user:before                 { content: "\f007"; }
.la-user-check:before           { content: "\f4fc"; }
.la-user-circle:before          { content: "\f2bd"; }
.la-user-graduate:before        { content: "\f501"; }
.la-user-minus:before           { content: "\f503"; }
.la-user-plus:before            { content: "\f234"; }
.la-user-slash:before           { content: "\f506"; }
.la-users:before                { content: "\f0c0"; }
.la-users-cog:before            { content: "\f509"; }
.la-video:before                { content: "\f03d"; }

/* Spinner animation */
.la-spin,
.fa-spin {
    animation: fa-spin 1s infinite linear;
}

@keyframes fa-spin {
    0%   { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}