/*
 * 4Fimo native utility icons
 * A small SVG-mask system that replaces Font Awesome's CSS, JS and webfonts.
 * The legacy .fa-* aliases are temporary migration safety for dynamically
 * generated markup; all new code should use .fi .fi-*.
 */

.fi,
.fa,
.fas,
.far,
.fab {
    --fi-size: 1em;
    --fi-mask: var(--fi-file);
    display: inline-grid;
    width: var(--fi-size);
    height: var(--fi-size);
    flex: 0 0 var(--fi-size);
    place-items: center;
    color: inherit;
    font: inherit;
    line-height: 1;
    vertical-align: -0.125em;
}

.fi::before,
.fa::before,
.fas::before,
.far::before,
.fab::before {
    display: block;
    width: 100%;
    height: 100%;
    background-color: currentColor;
    content: "";
    -webkit-mask-image: var(--fi-mask);
    mask-image: var(--fi-mask);
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.fi-xs,
.fa-xs { --fi-size: 0.75em; }
.fi-sm,
.fa-sm { --fi-size: 0.875em; }
.fi-lg,
.fa-lg { --fi-size: 1.25em; }
.fi-2x,
.fa-2x { --fi-size: 2em; }
.fi-3x,
.fa-3x { --fi-size: 3em; }
.fi-4x,
.fa-4x { --fi-size: 4em; }
.fi-5x,
.fa-5x { --fi-size: 5em; }

.fi-fw,
.fa-fw {
    width: 1.25em;
}

.fi-pull-left,
.fa-pull-left {
    float: left;
    margin-right: 0.35em;
}

.fi-pull-right,
.fa-pull-right {
    float: right;
    margin-left: 0.35em;
}

.fi-border,
.fa-border {
    box-sizing: content-box;
    padding: 0.2em;
    border: 1px solid rgba(91, 71, 190, 0.2);
    border-radius: 0.25em;
}

.fi-spin,
.fa-spin {
    animation: fimo-icon-spin 1s linear infinite;
}

.fi-pulse,
.fa-pulse {
    animation: fimo-icon-spin 1s steps(8) infinite;
}

.fi-stack,
.fa-stack {
    position: relative;
    display: inline-grid;
    width: 2em;
    height: 2em;
    place-items: center;
    vertical-align: middle;
}

.fi-stack > .fi,
.fa-stack > .fa,
.fa-stack > .fas,
.fa-stack > .far {
    position: absolute;
    inset: 50% auto auto 50%;
    transform: translate(-50%, -50%);
}

.fi-stack-1x,
.fa-stack-1x { --fi-size: 1em; }
.fi-stack-2x,
.fa-stack-2x { --fi-size: 2em; }
.fi-inverse,
.fa-inverse { color: #ffffff; }

.fi-flip-horizontal,
.fa-flip-horizontal { transform: scaleX(-1); }
.fi-flip-vertical,
.fa-flip-vertical { transform: scaleY(-1); }
.fi-flip-both,
.fa-flip-both { transform: scale(-1); }
.fi-rotate-90,
.fa-rotate-90 { transform: rotate(90deg); }
.fi-rotate-180,
.fa-rotate-180 { transform: rotate(180deg); }
.fi-rotate-270,
.fa-rotate-270 { transform: rotate(270deg); }

@keyframes fimo-icon-spin {
    to { transform: rotate(360deg); }
}

/* Compact, reusable mask definitions. */
:root {
    --fi-file: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2h8l4 4v16H6z'/%3E%3Cpath d='M14 2v5h5M9 13h6M9 17h6'/%3E%3C/svg%3E");
}

.fi-home,.fa-home { --fi-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 11 9-8 9 8v10h-6v-7H9v7H3z'/%3E%3C/svg%3E"); }
.fi-search,.fa-search { --fi-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='m15.5 15.5 5 5'/%3E%3C/svg%3E"); }
.fi-check,.fa-check { --fi-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 12.5 5 5L20 6.5'/%3E%3C/svg%3E"); }
.fi-check-circle,.fa-check-circle { --fi-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m7.5 12 3 3 6-7'/%3E%3C/svg%3E"); }
.fi-times,.fa-times { --fi-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='m6 6 12 12M18 6 6 18'/%3E%3C/svg%3E"); }
.fi-times-circle,.fa-times-circle { --fi-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m9 9 6 6M15 9l-6 6'/%3E%3C/svg%3E"); }
.fi-plus,.fa-plus { --fi-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E"); }
.fi-plus-circle,.fa-plus-circle { --fi-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 8v8M8 12h8'/%3E%3C/svg%3E"); }
.fi-minus,.fa-minus { --fi-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E"); }
.fi-minus-circle,.fa-minus-circle { --fi-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M8 12h8'/%3E%3C/svg%3E"); }
.fi-circle,.fa-circle { --fi-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10' fill='black'/%3E%3C/svg%3E"); }

.fi-arrow-left,.fa-arrow-left,.fi-caret-left,.fa-caret-left { --fi-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m14.5 5-7 7 7 7M8 12h12'/%3E%3C/svg%3E"); }
.fi-arrow-down,.fa-arrow-down,.fi-long-arrow-down,.fa-long-arrow-down,.fi-download,.fa-download,.fi-file-download,.fa-file-download { --fi-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v12M7 11l5 5 5-5M5 21h14'/%3E%3C/svg%3E"); }
.fi-upload,.fa-upload,.fi-cloud-upload-alt,.fa-cloud-upload-alt { --fi-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 18H6a4 4 0 0 1-.7-7.9A7 7 0 0 1 19 12h.5a3.5 3.5 0 0 1 0 7H17'/%3E%3Cpath d='m8 11 4-4 4 4M12 7v13'/%3E%3C/svg%3E"); }
.fi-sort-down,.fa-sort-down { --fi-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m5 8 7 8 7-8z' fill='black'/%3E%3C/svg%3E"); }

.fi-info-circle,.fa-info-circle { --fi-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11v6M12 7h.01'/%3E%3C/svg%3E"); }
.fi-exclamation-circle,.fa-exclamation-circle,.fi-exclamation-triangle,.fa-exclamation-triangle { --fi-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 2.5 20h19z'/%3E%3Cpath d='M12 9v5M12 17.5h.01'/%3E%3C/svg%3E"); }
.fi-lock,.fa-lock { --fi-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Crect x='4' y='10' width='16' height='11' rx='2'/%3E%3Cpath d='M8 10V7a4 4 0 0 1 8 0v3M12 14v3'/%3E%3C/svg%3E"); }
.fi-unlock,.fa-unlock { --fi-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Crect x='4' y='10' width='16' height='11' rx='2'/%3E%3Cpath d='M8 10V7a4 4 0 0 1 7.5-2'/%3E%3C/svg%3E"); }
.fi-shield-alt,.fa-shield-alt { --fi-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M12 3 4.5 6v5.5c0 4.5 3 8 7.5 9.5 4.5-1.5 7.5-5 7.5-9.5V6z'/%3E%3Cpath d='m8.5 12 2.2 2.2 4.8-5'/%3E%3C/svg%3E"); }
.fi-ban,.fa-ban { --fi-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m5.7 5.7 12.6 12.6'/%3E%3C/svg%3E"); }

.fi-user,.fa-user,.fi-user-circle,.fa-user-circle { --fi-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4.5 21c.7-5 3.2-7 7.5-7s6.8 2 7.5 7'/%3E%3C/svg%3E"); }
.fi-users,.fa-users { --fi-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round'%3E%3Ccircle cx='9' cy='8' r='3.5'/%3E%3Cpath d='M2.5 20c.5-4.3 2.7-6.3 6.5-6.3s6 2 6.5 6.3M16 5.5a3 3 0 0 1 0 5.8M16.5 14c3 .4 4.5 2.4 5 5'/%3E%3C/svg%3E"); }
.fi-user-plus,.fa-user-plus { --fi-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='9' cy='8' r='4'/%3E%3Cpath d='M2 21c.6-5 3-7 7-7 2 0 3.7.5 4.8 1.6M18 10v8M14 14h8'/%3E%3C/svg%3E"); }
.fi-comments,.fa-comments,.fi-comment-alt,.fa-comment-alt { --fi-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M4 4h13v10H9l-5 4z'/%3E%3Cpath d='M9 17h7l4 3V9h-3'/%3E%3C/svg%3E"); }

.fi-eye,.fa-eye { --fi-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 12s3.5-6 9.5-6 9.5 6 9.5 6-3.5 6-9.5 6-9.5-6-9.5-6'/%3E%3Ccircle cx='12' cy='12' r='2.8'/%3E%3C/svg%3E"); }
.fi-eye-slash,.fa-eye-slash { --fi-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M3 3 21 21M10.5 6.2A10 10 0 0 1 12 6c6 0 9.5 6 9.5 6a17 17 0 0 1-3 3.6M6.1 7.2C3.8 9 2.5 12 2.5 12S6 18 12 18c1 0 2-.2 2.8-.5'/%3E%3C/svg%3E"); }
.fi-link,.fa-link { --fi-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round'%3E%3Cpath d='m10 14 4-4M8.5 16.5l-1 1a4 4 0 0 1-5.7-5.7l3-3a4 4 0 0 1 5.7 0M15.5 7.5l1-1a4 4 0 0 1 5.7 5.7l-3 3a4 4 0 0 1-5.7 0'/%3E%3C/svg%3E"); }
.fi-copy,.fa-copy { --fi-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Crect x='8' y='8' width='12' height='12' rx='2'/%3E%3Cpath d='M16 8V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h3'/%3E%3C/svg%3E"); }
.fi-paperclip,.fa-paperclip { --fi-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.1' stroke-linecap='round'%3E%3Cpath d='m9 12 6-6a4 4 0 0 1 5.7 5.7l-8.5 8.5a6 6 0 0 1-8.5-8.5l8-8'/%3E%3C/svg%3E"); }
.fi-paper-plane,.fa-paper-plane,.fi-share-alt,.fa-share-alt,.fi-share-alt-square,.fa-share-alt-square { --fi-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 11 18-8-8 18-2.5-7.5zM10.5 13.5 21 3'/%3E%3C/svg%3E"); }
.fi-trash-alt,.fa-trash-alt { --fi-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 7h16M9 3h6l1 4H8zM6.5 7l1 14h9l1-14M10 11v6M14 11v6'/%3E%3C/svg%3E"); }
.fi-bookmark,.fa-bookmark { --fi-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M6 3h12v18l-6-4-6 4z'/%3E%3C/svg%3E"); }
.fi-book,.fa-book,.fi-book-open,.fa-book-open { --fi-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 5c4-1 7 0 9 3v13c-2-3-5-4-9-3V5ZM21 5c-4-1-7 0-9 3v13c2-3 5-4 9-3V5Z'/%3E%3C/svg%3E"); }
.fi-star,.fa-star { --fi-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='m12 2.5 3 6.2 6.8 1-4.9 4.8 1.2 6.8-6.1-3.2-6.1 3.2 1.2-6.8-4.9-4.8 6.8-1z'/%3E%3C/svg%3E"); }
.fi-thumbtack,.fa-thumbtack { --fi-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='m8 3 8 8-2 2 4 4-1 1-4-4-2 2-8-8 2-1 4 4 2-2-4-4zM4 20l5-5'/%3E%3C/svg%3E"); }

.fi-cog,.fa-cog,.fi-cogs,.fa-cogs,.fi-spinner,.fa-spinner { --fi-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M9.5 3h5l.8 2.4 2.2 1.3 2.4-.5 2.5 4.3-1.7 1.8v2.5l1.7 1.8-2.5 4.3-2.4-.5-2.2 1.3-.8 2.4h-5l-.8-2.4-2.2-1.3-2.4.5-2.5-4.3 1.7-1.8v-2.5l-1.7-1.8 2.5-4.3 2.4.5 2.2-1.3z'/%3E%3Ccircle cx='12' cy='13' r='3.3'/%3E%3C/svg%3E"); }
.fi-refresh,.fa-refresh { --fi-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 7v5h-5M4 17v-5h5M18.5 9A7 7 0 0 0 6 7M5.5 15A7 7 0 0 0 18 17'/%3E%3C/svg%3E"); }
.fi-history,.fa-history { --fi-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 6v5h5M5 10a8 8 0 1 1 1.8 7.8M12 7v5l3 2'/%3E%3C/svg%3E"); }
.fi-sitemap,.fa-sitemap,.fi-cubes,.fa-cubes,.fi-layers,.fa-layers { --fi-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'%3E%3Crect x='9' y='3' width='6' height='5' rx='1'/%3E%3Crect x='2' y='16' width='6' height='5' rx='1'/%3E%3Crect x='16' y='16' width='6' height='5' rx='1'/%3E%3Cpath d='M12 8v4M5 16v-4h14v4'/%3E%3C/svg%3E"); }

.fi-play,.fa-play { --fi-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 4v16l13-8z' fill='black'/%3E%3C/svg%3E"); }
.fi-volume-up,.fa-volume-up { --fi-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 10h4l5-4v12l-5-4H4zM17 9a5 5 0 0 1 0 6M19 6a9 9 0 0 1 0 12'/%3E%3C/svg%3E"); }
.fi-volume-mute,.fa-volume-mute { --fi-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 10h4l5-4v12l-5-4H4zM17 10l4 4M21 10l-4 4'/%3E%3C/svg%3E"); }
.fi-headphones-alt,.fa-headphones-alt { --fi-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M4 13v-2a8 8 0 0 1 16 0v2'/%3E%3Crect x='3' y='12' width='5' height='8' rx='2'/%3E%3Crect x='16' y='12' width='5' height='8' rx='2'/%3E%3C/svg%3E"); }
.fi-music,.fa-music,.fi-file-audio,.fa-file-audio { --fi-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18V5l10-2v13M9 8l10-2'/%3E%3Ccircle cx='6' cy='18' r='3'/%3E%3Ccircle cx='16' cy='16' r='3'/%3E%3C/svg%3E"); }

.fi-folder,.fa-folder { --fi-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M3 6h7l2 2h9v12H3z'/%3E%3C/svg%3E"); }
.fi-file,.fa-file,.fi-file-alt,.fa-file-alt,.fi-file-lines,.fa-file-lines,.fi-sticky-note,.fa-sticky-note,.fi-align-left,.fa-align-left { --fi-mask: var(--fi-file); }
.fi-file-image,.fa-file-image { --fi-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 2h10l4 4v16H5zM15 2v5h5'/%3E%3Ccircle cx='10' cy='11' r='2'/%3E%3Cpath d='m7 19 4-4 2 2 2-2 3 3'/%3E%3C/svg%3E"); }
.fi-file-video,.fa-file-video { --fi-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M5 2h10l4 4v16H5zM15 2v5h5'/%3E%3Cpath d='m10 11 5 3-5 3z'/%3E%3C/svg%3E"); }
.fi-file-archive,.fa-file-archive,.fi-file-zipper,.fa-file-zipper { --fi-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M5 2h10l4 4v16H5zM15 2v5h5M9 2h3M9 6h3M9 10h3M9 14h3M9 18h3'/%3E%3C/svg%3E"); }
.fi-file-code,.fa-file-code { --fi-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 2h10l4 4v16H5zM15 2v5h5M10 12l-2 2 2 2M14 12l2 2-2 2'/%3E%3C/svg%3E"); }
.fi-file-pdf,.fa-file-pdf { --fi-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M5 2h10l4 4v16H5zM15 2v5h5M8 17c3-1 5-3 6-7 1 4 2 6 4 7-4-1-7-1-10 0z'/%3E%3C/svg%3E"); }
.fi-file-word,.fa-file-word { --fi-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M5 2h10l4 4v16H5zM15 2v5h5M8 11l1.5 7 2.5-5 2.5 5L16 11'/%3E%3C/svg%3E"); }
.fi-file-excel,.fa-file-excel,.fi-file-csv,.fa-file-csv { --fi-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M5 2h10l4 4v16H5zM15 2v5h5M8 11h8v7H8zM12 11v7M8 14.5h8'/%3E%3C/svg%3E"); }
.fi-file-powerpoint,.fa-file-powerpoint { --fi-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M5 2h10l4 4v16H5zM15 2v5h5M9 18v-7h3.5a2.5 2.5 0 0 1 0 5H9'/%3E%3C/svg%3E"); }

.fi-cloud,.fa-cloud { --fi-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M6 19a4 4 0 0 1-.7-7.9A7 7 0 0 1 19 12h.5a3.5 3.5 0 0 1 0 7z'/%3E%3C/svg%3E"); }
.fi-desktop,.fa-desktop { --fi-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Crect x='3' y='3' width='18' height='13' rx='2'/%3E%3Cpath d='M8 21h8M12 16v5'/%3E%3C/svg%3E"); }
.fi-key,.fa-key { --fi-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='8' cy='15' r='5'/%3E%3Cpath d='m11.5 11.5 8-8M16 7l2 2M18 5l2 2'/%3E%3C/svg%3E"); }
.fi-language,.fa-language { --fi-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M3 5h10M8 3v2M5 8c1 4 4 6 8 7M12 8c-1 4-4 7-8 8M15 20l3-8 3 8M16 17h4'/%3E%3C/svg%3E"); }
.fi-list,.fa-list,.fi-list-ul,.fa-list-ul,.fi-th-large,.fa-th-large { --fi-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M9 6h12M9 12h12M9 18h12M3.5 6h.01M3.5 12h.01M3.5 18h.01'/%3E%3C/svg%3E"); }
.fi-sign-in-alt,.fa-sign-in-alt { --fi-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 17l5-5-5-5M15 12H3M14 3h7v18h-7'/%3E%3C/svg%3E"); }
.fi-sign-out-alt,.fa-sign-out-alt { --fi-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m14 17 5-5-5-5M19 12H7M10 3H3v18h7'/%3E%3C/svg%3E"); }
.fi-plug,.fa-plug { --fi-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M8 3v6M16 3v6M5 9h14v2a7 7 0 0 1-7 7v3M9 21h6'/%3E%3C/svg%3E"); }

@media (prefers-reduced-motion: reduce) {
    .fi-spin,
    .fa-spin,
    .fi-pulse,
    .fa-pulse {
        animation-duration: 2s;
    }
}
