/* Nexus Marketplace - Complete Stylesheet */
/* Объединенный CSS файл содержит все стили: основные, анимации и исправления прокрутки */

/* ========================================
   SELF-HOSTED GOOGLE FONTS
   ======================================== */

/* Orbitron - Variable font (covers 400-900 weights) */
@font-face {
    font-family: 'Orbitron';
    font-style: normal;
    font-weight: 400 900;
    font-display: swap;
    src: url('fonts/orbitron-latin.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Roboto Mono - Latin */
@font-face {
    font-family: 'Roboto Mono';
    font-style: normal;
    font-weight: 300 700;
    font-display: swap;
    src: url('fonts/roboto-mono-latin.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Roboto Mono - Latin Extended */
@font-face {
    font-family: 'Roboto Mono';
    font-style: normal;
    font-weight: 300 700;
    font-display: swap;
    src: url('fonts/roboto-mono-latin-ext.woff2') format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Roboto Mono - Cyrillic */
@font-face {
    font-family: 'Roboto Mono';
    font-style: normal;
    font-weight: 300 700;
    font-display: swap;
    src: url('fonts/roboto-mono-cyrillic.woff2') format('woff2');
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

/* Force Dark Theme - Override system preferences */
html {
    color-scheme: dark !important;
}

/* CSS Variables */
:root {
    --dark-bg: #0a0a0f;
    --dark-secondary: #121218;
    --accent-blue: #dc2626;
    --accent-blue-dark: #991b1b;
    --text-primary: #e0e0e0;
    --text-secondary: #a0a0a0;
    --text-muted: #666666;
    --border-color: #333333;
    --success-color: #10b981;
    --warning-color: #f59e0b;
    --error-color: #ef4444;
    --gradient-primary: linear-gradient(135deg, #dc2626 0%, #991b1b 100%);
    --gradient-dark: linear-gradient(135deg, #0a0a0f 0%, #121218 100%);
    --shadow-glow: 0 0 20px rgba(220, 38, 38, 0.3);
    --shadow-card: 0 4px 6px rgba(0, 0, 0, 0.1);
    --shadow-hover: 0 10px 25px rgba(220, 38, 38, 0.2);
}

/* Reset and Base Styles */
*,
*::before,
*::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    font-size: 16px;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
}

body {
    font-family: 'Roboto Mono', monospace;
    background-color: var(--dark-bg);
    color: var(--text-primary);
    line-height: 1.6;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

/* ========================================
   TAILWIND UTILITY REPLACEMENTS
   ======================================== */

/* Layout */
.flex {
    display: flex;
}

.inline-flex {
    display: inline-flex;
}

.grid {
    display: grid;
}

.block {
    display: block;
}

.relative {
    position: relative;
}

.absolute {
    position: absolute;
}

.fixed {
    position: fixed;
}

.sticky {
    position: sticky;
}

.inset-0 {
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

.top-0 {
    top: 0;
}

.top-6 {
    top: 1.5rem;
}

.right-6 {
    right: 1.5rem;
}

.z-10 {
    z-index: 10;
}

.z-30 {
    z-index: 30;
}

.z-40 {
    z-index: 40;
}

.overflow-hidden {
    overflow: hidden;
}

.overflow-x-auto {
    overflow-x: auto;
}

.min-h-screen {
    min-height: 100vh;
}

/* Flexbox */
.flex-col {
    flex-direction: column;
}

.items-center {
    align-items: center;
}

.items-start {
    align-items: flex-start;
}

.justify-between {
    justify-content: space-between;
}

.justify-center {
    justify-content: center;
}

/* Grid */
.grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
}

.grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gap-6 {
    gap: 1.5rem;
}

.gap-8 {
    gap: 2rem;
}

/* Spacing */
.mx-auto {
    margin-left: auto;
    margin-right: auto;
}

.mx-2 {
    margin-left: 0.5rem;
    margin-right: 0.5rem;
}

.mb-0 {
    margin-bottom: 0;
}

.mb-2 {
    margin-bottom: 0.5rem;
}

.mb-3 {
    margin-bottom: 0.75rem;
}

.mb-4 {
    margin-bottom: 1rem;
}

.mb-6 {
    margin-bottom: 1.5rem;
}

.mb-8 {
    margin-bottom: 2rem;
}

.mb-10 {
    margin-bottom: 2.5rem;
}

.mb-12 {
    margin-bottom: 3rem;
}

.mt-1 {
    margin-top: 0.25rem;
}

.mt-6 {
    margin-top: 1.5rem;
}

.mt-10 {
    margin-top: 2.5rem;
}

.mt-12 {
    margin-top: 3rem;
}

.mr-1 {
    margin-right: 0.25rem;
}

.mr-2 {
    margin-right: 0.5rem;
}

.mr-3 {
    margin-right: 0.75rem;
}

.mr-4 {
    margin-right: 1rem;
}

.ml-1 {
    margin-left: 0.25rem;
}

.ml-2 {
    margin-left: 0.5rem;
}

.px-2 {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}

.px-4 {
    padding-left: 1rem;
    padding-right: 1rem;
}

.px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}

.px-8 {
    padding-left: 2rem;
    padding-right: 2rem;
}

.py-1 {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
}

.py-2 {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

.py-3 {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
}

.py-10 {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
}

.py-12 {
    padding-top: 3rem;
    padding-bottom: 3rem;
}

.py-16 {
    padding-top: 4rem;
    padding-bottom: 4rem;
}

.p-3 {
    padding: 0.75rem;
}

.p-4 {
    padding: 1rem;
}

.p-6 {
    padding: 1.5rem;
}

.pt-8 {
    padding-top: 2rem;
}

/* Sizing */
.w-full {
    width: 100%;
}

.w-16 {
    width: 4rem;
}

.w-20 {
    width: 5rem;
}

.w-80 {
    width: 20rem;
}

.h-10 {
    height: 2.5rem;
}

.h-12 {
    height: 3rem;
}

.h-16 {
    height: 4rem;
}

.h-20 {
    height: 5rem;
}

.max-w-2xl {
    max-width: 42rem;
}

.max-w-3xl {
    max-width: 48rem;
}

.max-w-4xl {
    max-width: 56rem;
}

/* Typography */
.text-xs {
    font-size: 0.75rem;
    line-height: 1rem;
}

.text-sm {
    font-size: 0.875rem;
    line-height: 1.25rem;
}

.text-base {
    font-size: 1rem;
    line-height: 1.5rem;
}

.text-lg {
    font-size: 1.125rem;
    line-height: 1.75rem;
}

.text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem;
}

.text-2xl {
    font-size: 1.5rem;
    line-height: 2rem;
}

.text-3xl {
    font-size: 1.875rem;
    line-height: 2.25rem;
}

.text-4xl {
    font-size: 2.25rem;
    line-height: 2.5rem;
}

.text-5xl {
    font-size: 3rem;
    line-height: 1;
}

.text-6xl {
    font-size: 3.75rem;
    line-height: 1;
}

.font-bold {
    font-weight: 700;
}

.font-medium {
    font-weight: 500;
}

.font-mono {
    font-family: 'Roboto Mono', monospace;
}

.whitespace-nowrap {
    white-space: nowrap;
}

.object-cover {
    object-fit: cover;
}

.break-all {
    word-break: break-all;
}

.select-all {
    -webkit-user-select: all;
    user-select: all;
}

/* Colors */
.text-white {
    color: #ffffff;
}

.text-black {
    color: #000000;
}

.text-gray-300 {
    color: #d1d5db;
}

.text-gray-400 {
    color: #9ca3af;
}

.text-gray-500 {
    color: #6b7280;
}

.text-red-300 {
    color: #fca5a5;
}

.text-red-400 {
    color: #f87171;
}

.text-red-500 {
    color: #ef4444;
}

.text-red-600 {
    color: #dc2626;
}

.text-green-300 {
    color: #86efac;
}

.text-green-400 {
    color: #4ade80;
}

.text-green-500 {
    color: #22c55e;
}

.text-yellow-300 {
    color: #fde047;
}

.text-yellow-400 {
    color: #facc15;
}

.text-yellow-500 {
    color: #eab308;
}

.text-orange-500 {
    color: #f97316;
}

.text-cyan-400 {
    color: #22d3ee;
}

.text-purple-300 {
    color: #d8b4fe;
}

.text-purple-500 {
    color: #a855f7;
}

.text-indigo-300 {
    color: #a5b4fc;
}

/* Backgrounds */
.bg-black {
    background-color: #000000;
}

.bg-gray-700 {
    background-color: #374151;
}

.bg-gray-800 {
    background-color: #1f2937;
}

.bg-gray-900 {
    background-color: #111827;
}

.bg-red-500 {
    background-color: #ef4444;
}

.bg-red-600 {
    background-color: #dc2626;
}

.bg-red-900 {
    background-color: #7f1d1d;
}

.bg-green-500 {
    background-color: #22c55e;
}

.bg-green-600 {
    background-color: #16a34a;
}

.bg-green-900 {
    background-color: #14532d;
}

.bg-purple-500 {
    background-color: #a855f7;
}

.bg-purple-900 {
    background-color: #581c87;
}

.bg-yellow-900 {
    background-color: #713f12;
}

.bg-indigo-900 {
    background-color: #312e81;
}

.bg-opacity-90 {
    --tw-bg-opacity: 0.9;
}

/* Borders */
.border {
    border-width: 1px;
}

.border-2 {
    border-width: 2px;
}

.border-t {
    border-top-width: 1px;
}

.border-b {
    border-bottom-width: 1px;
}

.border-l-4 {
    border-left-width: 4px;
}

.border-gray-600 {
    border-color: #4b5563;
}

.border-gray-700 {
    border-color: #374151;
}

.border-gray-800 {
    border-color: #1f2937;
}

.border-red-500 {
    border-color: #ef4444;
}

.border-red-900 {
    border-color: #7f1d1d;
}

.border-green-500 {
    border-color: #22c55e;
}

.border-yellow-500 {
    border-color: #eab308;
}

.rounded {
    border-radius: 0.25rem;
}

.rounded-md {
    border-radius: 0.375rem;
}

.rounded-lg {
    border-radius: 0.5rem;
}

.rounded-full {
    border-radius: 9999px;
}

/* Effects */
.shadow-2xl {
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}

.opacity-30 {
    opacity: 0.3;
}

.transition {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}

.duration-300 {
    transition-duration: 300ms;
}

/* Spacing utilities */
.space-x-2>*+* {
    margin-left: 0.5rem;
}

.space-x-4>*+* {
    margin-left: 1rem;
}

.space-x-8>*+* {
    margin-left: 2rem;
}

.space-y-2>*+* {
    margin-top: 0.5rem;
}

.space-y-3>*+* {
    margin-top: 0.75rem;
}

.space-y-4>*+* {
    margin-top: 1rem;
}

.space-y-6>*+* {
    margin-top: 1.5rem;
}

.space-y-8>*+* {
    margin-top: 2rem;
}

/* Hover states */
.hover\:text-white:hover {
    color: #ffffff;
}

.hover\:text-red-400:hover {
    color: #f87171;
}

.hover\:text-red-500:hover {
    color: #ef4444;
}

.hover\:text-red-300:hover {
    color: #fca5a5;
}

.hover\:bg-red-700:hover {
    background-color: #b91c1c;
}

.hover\:bg-gray-600:hover {
    background-color: #4b5563;
}

.hover\:bg-gray-700:hover {
    background-color: #374151;
}

.hover\:bg-green-700:hover {
    background-color: #15803d;
}

/* Responsive */
@media (min-width: 640px) {
    .sm\:text-4xl {
        font-size: 2.25rem;
        line-height: 2.5rem;
    }

    .sm\:text-3xl {
        font-size: 1.875rem;
        line-height: 2.25rem;
    }

    .sm\:text-xl {
        font-size: 1.25rem;
        line-height: 1.75rem;
    }

    .sm\:text-lg {
        font-size: 1.125rem;
        line-height: 1.75rem;
    }

    .sm\:text-base {
        font-size: 1rem;
        line-height: 1.5rem;
    }

    .sm\:py-16 {
        padding-top: 4rem;
        padding-bottom: 4rem;
    }

    .sm\:py-20 {
        padding-top: 5rem;
        padding-bottom: 5rem;
    }

    .sm\:py-12 {
        padding-top: 3rem;
        padding-bottom: 3rem;
    }

    .sm\:p-6 {
        padding: 1.5rem;
    }

    .sm\:mb-12 {
        margin-bottom: 3rem;
    }

    .sm\:mb-0 {
        margin-bottom: 0;
    }

    .sm\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sm\:grid-cols-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .sm\:flex-row {
        flex-direction: row;
    }

    .sm\:space-y-0>*+* {
        margin-top: 0;
    }

    .sm\:space-x-4>*+* {
        margin-left: 1rem;
    }

    .sm\:h-40 {
        height: 10rem;
    }

    .sm\:w-\[28rem\] {
        width: 28rem;
    }
}

@media (min-width: 768px) {
    .md\:hidden {
        display: none;
    }

    .md\:flex {
        display: flex;
    }

    .md\:flex-row {
        flex-direction: row;
    }

    .md\:grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .md\:grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .md\:grid-cols-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .md\:py-20 {
        padding-top: 5rem;
        padding-bottom: 5rem;
    }

    .md\:w-1\/2 {
        width: 50%;
    }

    .md\:mb-0 {
        margin-bottom: 0;
    }

    .md\:gap-8 {
        gap: 2rem;
    }

    .md\:w-\[32rem\] {
        width: 32rem;
    }
}

@media (min-width: 1024px) {
    .lg\:grid-cols-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .lg\:grid-cols-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .lg\:w-\[36rem\] {
        width: 36rem;
    }
}

/* ========================================
   END TAILWIND REPLACEMENTS
   ======================================== */

/* Typography */
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Orbitron', sans-serif;
    font-weight: 700;
    line-height: 1.2;
}

h1 {
    font-size: 2.5rem;
    margin-bottom: 1rem;
}

h2 {
    font-size: 2rem;
    margin-bottom: 0.75rem;
}

h3 {
    font-size: 1.5rem;
    margin-bottom: 0.5rem;
}

/* Glow Effects */
.glow {
    text-shadow: 0 0 10px var(--accent-blue), 0 0 20px var(--accent-blue), 0 0 30px var(--accent-blue);
    animation: glow-pulse 2s ease-in-out infinite alternate;
}

@keyframes glow-pulse {
    from {
        text-shadow: 0 0 10px var(--accent-blue), 0 0 20px var(--accent-blue), 0 0 30px var(--accent-blue);
    }

    to {
        text-shadow: 0 0 20px var(--accent-blue), 0 0 30px var(--accent-blue), 0 0 40px var(--accent-blue);
    }
}

.glow-box {
    box-shadow: 0 0 10px var(--accent-blue), 0 0 20px rgba(0, 114, 255, 0.3);
}

/* Background Effects */
.matrix-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: -1;
    pointer-events: none;
}

.matrix-bg span {
    position: absolute;
    font-family: 'Roboto Mono', monospace;
    font-size: 12px;
    color: var(--accent-blue);
    opacity: 0.7;
    animation: matrix-fall linear infinite;
    user-select: none;
}

@keyframes matrix-fall {
    0% {
        transform: translateY(-100%);
        opacity: 1;
    }

    95% {
        opacity: 1;
    }

    100% {
        transform: translateY(1000px);
        opacity: 0;
    }
}

/* Particles Background */
#particles-js {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: -1;
}

/* Animations */
.animate-pulse-slow {
    animation: pulse 3s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

@keyframes pulse {

    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0.5;
    }
}

.animate-fade-in {
    animation: fadeIn 0.6s ease-in-out forwards;
    opacity: 1 !important;
    transform: translateY(0) !important;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Prevent animation from repeating */
.animation-completed {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

.animate-slide-up {
    animation: slideUp 0.8s ease-out;
}

@keyframes slideUp {
    from {
        opacity: 0;
        transform: translateY(50px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Crypto Ticker */
.crypto-ticker {
    background: linear-gradient(90deg, rgba(220, 38, 38, 0.1) 0%, rgba(220, 38, 38, 0.2) 100%);
    border-bottom: 1px solid var(--accent-blue);
    overflow: hidden;
}

/* Crypto ticker is now static - no animation needed */

/* Navigation */
.nav-link {
    position: relative;
    transition: all 0.3s ease;
    text-decoration: none;
    display: inline-block;
    padding: 0.5rem 0;
}

.nav-link::after {
    content: '';
    position: absolute;
    bottom: -5px;
    left: 0;
    width: 0;
    height: 2px;
    background-color: var(--accent-blue);
    transition: width 0.3s ease;
}

.nav-link:hover::after {
    width: 100%;
}

.nav-link:hover {
    color: var(--accent-blue) !important;
}



/* Force navigation visibility */
.nav-container {
    display: flex;
    align-items: center;
    gap: 1.5rem;
}

@media (max-width: 767px) {
    .nav-container {
        display: none;
    }

    /* Mobile navigation improvements */
    .mobile-menu {
        display: flex !important;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0, 0, 0, 0.95);
        z-index: 50;
        padding: 2rem;
    }

    .mobile-menu.hidden {
        display: none !important;
    }

    .mobile-menu .nav-link {
        font-size: 1.5rem;
        padding: 1rem 2rem;
        margin: 0.5rem 0;
        min-height: 48px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 8px;
        transition: all 0.3s ease;
        background: rgba(255, 255, 255, 0.1);
        border: 1px solid rgba(255, 255, 255, 0.2);
    }

    .mobile-menu .nav-link:hover {
        background: rgba(220, 38, 38, 0.2);
        border-color: var(--accent-blue);
        transform: scale(1.05);
    }
}

/* Cards */
.card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    background: var(--dark-secondary);
    border: 1px solid var(--border-color);
    border-radius: 8px;
    /* Prevent initial flash */
    opacity: 0;
    transform: translateY(20px);
}

.card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-hover);
}

/* Category Cards */
.category-card {
    background: var(--dark-secondary);
    border-radius: 12px;
    overflow: hidden;
    transition: all 0.3s ease;
    border: 1px solid var(--border-color);
    /* Prevent initial flash */
    opacity: 0;
    transform: translateY(20px);
}

.category-card:hover {
    transform: translateY(-8px);
    box-shadow: var(--shadow-hover);
    border-color: var(--accent-blue);
}

.category-image {
    height: 200px;
    background: var(--dark-bg);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.category-content {
    padding: 1.5rem;
}

.category-title {
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
    color: var(--text-primary);
}

.category-description {
    color: var(--text-secondary);
    font-size: 0.875rem;
    margin-bottom: 1rem;
}

.category-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.category-count {
    font-size: 0.75rem;
    color: var(--accent-blue);
    font-weight: 500;
}

.category-link {
    color: var(--text-primary);
    text-decoration: none;
    font-size: 0.875rem;
    transition: color 0.3s ease;
}

.category-link:hover {
    color: var(--accent-blue);
}

/* Featured Cards */
.featured-card {
    background: var(--dark-secondary);
    border-radius: 12px;
    border: 1px solid var(--border-color);
    transition: all 0.3s ease;
}

.featured-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-hover);
    border-color: var(--accent-blue);
}

/* News Cards */
.news-card {
    background: var(--dark-secondary);
    border-radius: 12px;
    border: 1px solid var(--border-color);
    transition: all 0.3s ease;
    overflow: hidden;
    /* Prevent initial flash */
    opacity: 0;
    transform: translateY(20px);
}

.news-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-hover);
    border-color: var(--accent-blue);
}

.news-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
}

.news-tag {
    font-size: 0.75rem;
    padding: 0.25rem 0.5rem;
    border-radius: 4px;
    font-weight: 500;
}

.news-date {
    color: var(--text-muted);
    font-size: 0.875rem;
}

/* FAQ Search */
.faq-search-container {
    margin-bottom: 2rem;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

.faq-search-input {
    width: 100%;
    padding: 1rem 1.5rem;
    background: var(--dark-secondary);
    border: 2px solid var(--border-color);
    border-radius: 12px;
    color: var(--text-primary);
    font-size: 1.1rem;
    font-family: inherit;
    transition: all 0.3s ease;
    min-height: 56px;
}

.faq-search-input:focus {
    outline: none;
    border-color: var(--accent-blue);
    box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.1);
    background: var(--dark-bg);
}

.faq-search-input::placeholder {
    color: var(--text-muted);
}

.faq-search-results {
    margin-top: 1rem;
    padding: 1rem;
    background: var(--dark-bg);
    border-radius: 8px;
    border: 1px solid var(--border-color);
    display: none;
}

.faq-search-results.show {
    display: block;
}

.faq-search-count {
    color: var(--accent-blue);
    font-size: 0.9rem;
    margin-bottom: 1rem;
}

.faq-no-results {
    text-align: center;
    color: var(--text-muted);
    padding: 2rem;
    font-style: italic;
}

/* FAQ Items */
.faq-item {
    background: var(--dark-secondary);
    border-radius: 8px;
    border: 1px solid var(--border-color);
    margin-bottom: 1rem;
    overflow: hidden;
    transition: all 0.3s ease;
    /* Prevent initial flash */
    opacity: 0;
    transform: translateY(20px);
}

.faq-item:hover {
    border-color: var(--accent-blue);
    box-shadow: var(--shadow-card);
}

.faq-item.hidden {
    display: none;
}

.faq-item.highlighted {
    border-color: var(--accent-blue);
    box-shadow: 0 0 20px rgba(220, 38, 38, 0.3);
    background: rgba(220, 38, 38, 0.05);
}

.faq-question {
    padding: 1rem;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: background-color 0.3s ease;
}

.faq-question:hover {
    background-color: rgba(220, 38, 38, 0.1);
}

.faq-icon {
    transition: transform 0.3s ease;
}

.faq-item.active .faq-icon {
    transform: rotate(180deg);
}

.faq-answer {
    padding: 0 1rem 1rem;
    display: none !important;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height 0.3s ease, opacity 0.3s ease, padding 0.3s ease;
}

.faq-item.active .faq-answer {
    display: block !important;
    max-height: 1000px;
    opacity: 1;
    animation: fadeIn 0.3s ease-in-out;
}

/* Link Items */
.link-item {
    background: var(--dark-secondary);
    border-radius: 8px;
    padding: 1rem;
    margin-bottom: 1rem;
    border: 1px solid var(--border-color);
    transition: all 0.3s ease;
    /* Prevent initial flash */
    opacity: 0;
    transform: translateY(20px);
}

.link-item:hover {
    border-color: var(--accent-blue);
    box-shadow: var(--shadow-card);
}

.link-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.5rem;
}

.link-url {
    font-family: 'Roboto Mono', monospace;
    color: var(--text-primary);
    word-break: break-all;
    font-size: 0.875rem;
}

.copy-btn {
    background: none;
    border: none;
    color: var(--accent-blue);
    cursor: pointer;
    padding: 0.5rem;
    border-radius: 4px;
    transition: all 0.3s ease;
}

.copy-btn:hover {
    background-color: rgba(220, 38, 38, 0.1);
    color: var(--text-primary);
}

.link-status {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.status-badge {
    font-size: 0.75rem;
    padding: 0.25rem 0.5rem;
    border-radius: 4px;
    font-weight: 500;
}

.status-primary {
    background-color: var(--success-color);
    color: white;
}

.status-mirror {
    background-color: var(--accent-blue);
    color: white;
}

.status-time {
    color: var(--text-muted);
    font-size: 0.75rem;
}

/* PGP Section */
.pgp-section {
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--border-color);
}

.pgp-title {
    font-size: 1.125rem;
    font-weight: 600;
    margin-bottom: 1rem;
    color: var(--text-primary);
}

.pgp-key {
    background: var(--dark-bg);
    padding: 1rem;
    border-radius: 8px;
    font-family: 'Roboto Mono', monospace;
    font-size: 0.75rem;
    color: var(--text-secondary);
    overflow-x: auto;
    border: 1px solid var(--border-color);
}

/* Stats Grid */
.stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 2rem;
}

.stat-item {
    text-align: center;
}

.stat-number {
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--accent-blue);
    margin-bottom: 0.5rem;
}

.stat-label {
    color: var(--text-secondary);
    font-size: 1rem;
}

/* Typing Effect */
.typing-effect::after {
    content: '|';
    animation: blink 1s infinite;
    color: var(--accent-blue);
}

@keyframes blink {

    0%,
    100% {
        opacity: 1;
    }

    50% {
        opacity: 0;
    }
}

/* Mobile Menu */
.mobile-menu {
    transition: all 0.3s ease;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

@media (max-width: 768px) {
    .mobile-menu {
        transform: translateX(0);
    }

    /* Touch-friendly mobile menu */
    .mobile-menu .nav-link {
        touch-action: manipulation;
        -webkit-tap-highlight-color: transparent;
        user-select: none;
        -webkit-user-select: none;
    }

    /* Improved mobile menu animations */
    .mobile-menu {
        opacity: 0;
        visibility: hidden;
        transform: scale(0.9);
    }

    .mobile-menu:not(.hidden) {
        opacity: 1;
        visibility: visible;
        transform: scale(1);
    }
}

/* Breadcrumbs */
.breadcrumb-container {
    background: var(--dark-secondary);
    padding: 1rem 0;
    border-bottom: 1px solid var(--border-color);
}

.breadcrumb {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
    color: var(--text-secondary);
}

.breadcrumb a {
    color: var(--accent-blue);
    text-decoration: none;
    transition: color 0.3s ease;
}

.breadcrumb a:hover {
    color: var(--text-primary);
}

.breadcrumb-separator {
    color: var(--text-muted);
}

/* Buttons */
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.75rem 1.5rem;
    border-radius: 8px;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.3s ease;
    border: none;
    cursor: pointer;
    font-family: inherit;
    min-height: 44px;
    /* Minimum touch target size */
    min-width: 44px;
}

/* Touch-optimized button sizes */
@media (max-width: 768px) {
    .btn {
        min-height: 48px;
        padding: 1rem 1.5rem;
        font-size: 1rem;
    }

    /* Specific button optimizations */
    .browse-btn {
        min-height: 48px;
        padding: 1rem 2rem;
        font-size: 1.1rem;
        border-radius: 12px;
    }

    .copy-btn {
        min-height: 44px;
        min-width: 44px;
        padding: 0.75rem;
        border-radius: 8px;
    }

    /* FAQ question buttons */
    .faq-question {
        min-height: 60px;
        padding: 1.5rem;
        font-size: 1.1rem;
    }

    /* Mobile menu button */
    #mobileMenuBtn {
        min-height: 48px;
        min-width: 48px;
        padding: 0.75rem;
    }

    /* Close mobile menu button */
    #closeMobileMenu {
        min-height: 48px;
        min-width: 48px;
        padding: 0.75rem;
    }
}

/* Scrollbar Styling */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: var(--dark-bg);
}

::-webkit-scrollbar-thumb {
    background: var(--accent-blue);
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--accent-blue-dark);
}

/* Touch Interface Improvements */
@media (max-width: 768px) {

    /* Improve touch targets */
    a,
    button,
    input,
    select,
    textarea {
        min-height: 44px;
        min-width: 44px;
    }

    /* Better spacing for touch */
    .space-y-4>*+* {
        margin-top: 1.5rem;
    }

    .space-y-6>*+* {
        margin-top: 2rem;
    }

    /* Improved card interactions */
    .card {
        padding: 1.5rem;
        margin-bottom: 1.5rem;
    }

    /* FAQ improvements */
    .faq-item {
        margin-bottom: 1.5rem;
    }

    .faq-question {
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
        touch-action: manipulation;
    }

    /* Link improvements */
    .link-item {
        padding: 1.5rem;
        margin-bottom: 1.5rem;
    }

    /* Better button spacing */
    .flex.space-x-4>*+* {
        margin-left: 1rem;
    }

    .flex.space-y-4>*+* {
        margin-top: 1rem;
    }

    /* Hero section mobile improvements */
    .hero-section .md\:w-1\/2:last-child {
        margin-left: 0.5rem;
        margin-right: -0.5rem;
        padding-right: 0.5rem;
    }

    /* Main hero image positioning for better symmetry */
    .hero-section .md\:w-1\/2:last-child img {
        transform: translateX(0.25rem);
        margin-left: auto;
        margin-right: auto;
    }

    /* Better mobile image positioning */
    .hero-section .flex.justify-center {
        justify-content: center;
        padding-left: 0.5rem;
        padding-right: 0.5rem;
    }
}

/* Additional mobile image adjustments */
@media (max-width: 640px) {
    .hero-section .md\:w-1\/2:last-child {
        margin-left: 0.75rem;
        margin-right: -0.75rem;
    }

    .hero-section .md\:w-1\/2:last-child img {
        transform: translateX(0.5rem);
    }
}

/* Responsive Design */
@media (max-width: 1024px) {
    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    h1 {
        font-size: 2rem;
    }

    h2 {
        font-size: 1.75rem;
    }

    .category-image {
        height: 150px;
    }

    .stats-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .stat-number {
        font-size: 2rem;
    }

    .crypto-ticker .animate-marquee {
        animation: marquee 20s linear infinite;
    }
}

@media (max-width: 640px) {
    .matrix-bg {
        overflow: hidden !important;
    }

    .crypto-ticker .animate-marquee {
        animation: marquee 25s linear infinite;
    }

    .category-content {
        padding: 1rem;
    }

    .link-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.5rem;
    }

    .link-status {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.25rem;
    }
}

/* Print Styles */
@media print {

    .matrix-bg,
    #particles-js,
    .crypto-ticker,
    .mobile-menu {
        display: none !important;
    }

    body {
        background: white !important;
        color: black !important;
    }

    .card,
    .category-card,
    .news-card,
    .faq-item {
        border: 1px solid #ccc !important;
        box-shadow: none !important;
    }
}

/* High Contrast Mode */
@media (prefers-contrast: high) {
    :root {
        --text-primary: #ffffff;
        --text-secondary: #cccccc;
        --border-color: #666666;
    }

    .card,
    .category-card,
    .news-card,
    .faq-item {
        border-width: 2px;
    }
}

/* Reduced Motion */
@media (prefers-reduced-motion: reduce) {

    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }

    .matrix-bg span {
        animation: none;
    }

    .crypto-ticker .animate-marquee {
        animation: none;
    }
}

/* Focus Styles for Accessibility */
*:focus {
    outline: 2px solid var(--accent-blue);
    outline-offset: 2px;
}

button:focus,
a:focus {
    outline: 2px solid var(--accent-blue);
    outline-offset: 2px;
}

/* Remove focus outline for navigation links */
.nav-link:focus {
    outline: none;
    box-shadow: none;
}

.nav-link:active {
    outline: none;
    box-shadow: none;
}

/* Skip Link for Accessibility */
.skip-link {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
    z-index: 1000;
}

.skip-link:focus {
    position: fixed;
    top: 6px;
    left: 6px;
    width: auto;
    height: auto;
    padding: 8px 16px;
    margin: 0;
    overflow: visible;
    clip: auto;
    white-space: normal;
    background: var(--accent-blue);
    color: white;
    text-decoration: none;
    border-radius: 4px;
    font-size: 0.875rem;
    font-weight: 500;
}

/* Image Optimizations */
img {
    max-width: 100%;
    height: auto;
}

/* Utility Classes */
.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;
}

.text-center {
    text-align: center;
}

.text-left {
    text-align: left;
}

.text-right {
    text-align: right;
}

.hidden {
    display: none !important;
}

.visible {
    display: block !important;
}

/* Animation Delays */
/* Hover Effects */
/* Custom Scrollbar for Specific Elements */
/* Loading States */
.loading {
    opacity: 0.6;
    pointer-events: none;
}

.loading::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 20px;
    margin: -10px 0 0 -10px;
    border: 2px solid var(--border-color);
    border-top: 2px solid var(--accent-blue);
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

/* Success/Error States */
.success {
    color: var(--success-color);
    border-color: var(--success-color);
}

.error {
    color: var(--error-color);
    border-color: var(--error-color);
}

.warning {
    color: var(--warning-color);
    border-color: var(--warning-color);
}


/* ========================================
   MOBILE RESPONSIVENESS OVERHAUL
   ======================================== */

/* Prevent ALL horizontal overflow globally */
html,
body {
    overflow-x: hidden !important;
    max-width: 100vw;
}

/* Ensure all content stays within viewport */
*,
*::before,
*::after {
    max-width: 100%;
}

/* Fix table and pre elements that commonly cause overflow */
table {
    display: block;
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
}

pre,
code,
.pgp-key,
.font-mono {
    word-break: break-all;
    overflow-wrap: break-word;
}

/* ---- Small screens (max 640px) ---- */
@media (max-width: 640px) {

    /* Container padding guard */
    .container {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
        max-width: 100% !important;
        overflow: hidden;
    }

    /* Hero heading — prevent cutoff */
    h1,
    .text-5xl,
    .text-4xl {
        font-size: 1.5rem !important;
        line-height: 1.3 !important;
        word-break: break-word;
    }

    /* H2 headings */
    h2,
    .text-3xl {
        font-size: 1.25rem !important;
        line-height: 1.3 !important;
    }

    /* H3 headings */
    h3,
    .text-2xl {
        font-size: 1.1rem !important;
        line-height: 1.4 !important;
    }

    /* Body text sizing */
    .text-lg,
    .text-xl {
        font-size: 0.9rem !important;
        line-height: 1.5 !important;
    }

    p,
    li,
    span,
    div {
        overflow-wrap: break-word;
        word-wrap: break-word;
        hyphens: auto;
    }

    /* Hero section — reduce padding */
    .hero-section {
        padding-top: 2rem !important;
        padding-bottom: 2rem !important;
    }

    /* Sections — reduce vertical padding */
    .py-12 {
        padding-top: 2rem;
        padding-bottom: 2rem;
    }

    .py-16 {
        padding-top: 2.5rem;
        padding-bottom: 2.5rem;
    }

    /* Onion address — force word break */
    .font-mono,
    [class*="font-mono"],
    .select-all,
    .break-all {
        font-size: 0.7rem !important;
        word-break: break-all !important;
        overflow-wrap: break-word !important;
        line-height: 1.4 !important;
    }

    /* Header — compact layout */
    header .py-3 {
        padding-top: 0.5rem !important;
        padding-bottom: 0.5rem !important;
    }

    /* Browse button in header — smaller on mobile */
    header .browse-btn {
        padding: 0.4rem 0.75rem !important;
        font-size: 0.75rem !important;
        min-height: 36px !important;
    }

    /* Logo smaller on mobile */
    header .h-10 {
        height: 2rem !important;
    }

    /* Crypto ticker — scroll horizontally, don't overflow page */
    .crypto-ticker {
        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch;
        padding: 0.35rem 0 !important;
    }

    .crypto-ticker .flex.items-center {
        white-space: nowrap;
    }

    .crypto-ticker .text-gray-300,
    .crypto-ticker .text-green-400,
    .crypto-ticker .text-red-500 {
        font-size: 0.7rem !important;
    }

    /* Hero image — smaller on mobile */
    .hero-section img,
    .glow-box {
        max-width: 85% !important;
        height: auto !important;
        margin: 0 auto;
    }

    /* Feature cards grid */
    .grid.grid-cols-2 {
        grid-template-columns: 1fr !important;
    }

    /* Cards — compact padding */
    .card,
    .bg-gray-900.p-6,
    .bg-gray-900.p-8,
    .bg-gray-800.p-6,
    .bg-gray-800.p-4 {
        padding: 1rem !important;
    }

    /* Step numbers — smaller */
    .w-12 {
        width: 2.5rem !important;
    }

    .h-12 {
        height: 2.5rem !important;
    }

    /* Tables — ensure they scroll, not overflow */
    .overflow-x-auto {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
    }

    table .py-3.px-6 {
        padding: 0.5rem 0.75rem !important;
        font-size: 0.75rem !important;
    }

    /* Footer — single column */
    .grid.grid-cols-1.sm\\:grid-cols-2.md\\:grid-cols-4 {
        grid-template-columns: 1fr !important;
    }

    /* Sticky sidebar images — don't use sticky on mobile */
    .sticky {
        position: relative !important;
    }

    /* Matrix bg — hide on mobile for cleaner look */
    .matrix-bg {
        display: none !important;
    }

    /* PGP key box */
    .pgp-key {
        font-size: 0.6rem !important;
        padding: 0.75rem !important;
    }

    /* Breadcrumbs — smaller */
    .breadcrumb {
        font-size: 0.75rem !important;
    }

    /* CTA buttons — full width on mobile */
    .flex.flex-col.sm\\:flex-row>a,
    .flex.flex-col.sm\\:flex-row>button {
        width: 100% !important;
        text-align: center !important;
    }

    /* Two-column layouts go single */
    .md\\:w-1\/2 {
        width: 100% !important;
    }

    /* Gap reduction */
    .gap-8 {
        gap: 1.5rem !important;
    }

    .gap-6 {
        gap: 1rem !important;
    }

    /* Image width controls */
    .w-80 {
        width: 100% !important;
        max-width: 20rem;
    }

    /* Flex items — prevent shrink issues */
    .flex-shrink-0 {
        flex-shrink: 0;
    }

    /* Comparison table container */
    .bg-gray-800.rounded-lg.border.border-gray-700.overflow-hidden {
        overflow: hidden !important;
    }
}

/* ---- Medium screens (max 768px) ---- */
@media (max-width: 768px) {

    /* Header Browse button */
    header .browse-btn {
        padding: 0.5rem 1rem !important;
        font-size: 0.8rem !important;
    }

    /* Onion link text */
    .font-mono {
        font-size: 0.75rem !important;
    }

    /* Ensure md:flex-row reverts to column */
    .flex.flex-col.md\\:flex-row {
        flex-direction: column !important;
    }

    .md\\:w-1\/2 {
        width: 100% !important;
    }

    /* Sticky → relative on tablet too */
    .sticky.top-24 {
        position: relative !important;
        top: auto !important;
    }
}

/* ========================================
   SCROLL ANIMATION FIXES
   ======================================== */

/* Ensure elements are visible after animation */
.animate-fade-in,
.animation-completed {
    opacity: 1 !important;
    transform: translateY(0) !important;
    visibility: visible !important;
}

/* Prevent elements from disappearing during scroll */
.card,
.category-card,
.news-card,
.faq-item,
.link-item {
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}

/* Smooth transitions for better UX */
.card,
.category-card,
.news-card,
.faq-item,
.link-item {
    transition: opacity 0.6s ease-in-out, transform 0.6s ease-in-out, box-shadow 0.3s ease;
}

/* Ensure hover effects work properly after animation */
.card:hover,
.category-card:hover,
.news-card:hover {
    transform: translateY(-5px) !important;
}

/* Fix for mobile devices */
@media (max-width: 768px) {

    .card,
    .category-card,
    .news-card,
    .faq-item,
    .link-item {
        opacity: 1 !important;
        transform: translateY(0) !important;
    }
}

/* Reduced motion support for scroll fixes */
@media (prefers-reduced-motion: reduce) {

    .card,
    .category-card,
    .news-card,
    .faq-item,
    .link-item {
        opacity: 1 !important;
        transform: translateY(0) !important;
        transition: none !important;
    }

    .animate-fade-in {
        animation: none !important;
    }
}

/* ========================================
   INLINE SVG ICON SYSTEM
   Replaces Font Awesome 5 CDN
   ======================================== */

/* Base icon classes */
.fas,
.fab,
.far {
    display: inline-block;
    width: 1em;
    height: 1em;
    mask-size: contain;
    mask-repeat: no-repeat;
    mask-position: center;
    background-color: currentColor;
    vertical-align: -0.125em;
}

/* === fas (solid) icons === */
.fa-sign-in-alt {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M416 448h-84c-6.6 0-12-5.4-12-12v-40c0-6.6 5.4-12 12-12h84c17.7 0 32-14.3 32-32V160c0-17.7-14.3-32-32-32h-84c-6.6 0-12-5.4-12-12V76c0-6.6 5.4-12 12-12h84c53 0 96 43 96 96v192c0 53-43 96-96 96zm-47-201L209 89c-15-15-41-4.5-41 17v96H24c-13.3 0-24 10.7-24 24v96c0 13.3 10.7 24 24 24h144v96c0 21.5 26 32 41 17l160-158c9.4-9.4 9.4-24.6 0-34z'/%3E%3C/svg%3E");
}

.fa-bars {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M16 132h416c8.8 0 16-7.2 16-16V76c0-8.8-7.2-16-16-16H16C7.2 60 0 67.2 0 76v40c0 8.8 7.2 16 16 16zm0 160h416c8.8 0 16-7.2 16-16v-40c0-8.8-7.2-16-16-16H16c-8.8 0-16 7.2-16 16v40c0 8.8 7.2 16 16 16zm0 160h416c8.8 0 16-7.2 16-16v-40c0-8.8-7.2-16-16-16H16c-8.8 0-16 7.2-16 16v40c0 8.8 7.2 16 16 16z'/%3E%3C/svg%3E");
}

.fa-times {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 352 512'%3E%3Cpath d='M242.7 256l100.1-100.1c12.3-12.3 12.3-32.2 0-44.5l-22.2-22.2c-12.3-12.3-32.2-12.3-44.5 0L176 189.3 75.9 89.2c-12.3-12.3-32.2-12.3-44.5 0L9.2 111.4c-12.3 12.3-12.3 32.2 0 44.5L109.3 256 9.2 356.1c-12.3 12.3-12.3 32.2 0 44.5l22.2 22.2c12.3 12.3 32.2 12.3 44.5 0L176 322.7l100.1 100.1c12.3 12.3 32.2 12.3 44.5 0l22.2-22.2c12.3-12.3 12.3-32.2 0-44.5L242.7 256z'/%3E%3C/svg%3E");
}

.fa-home {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M280.4 148.3L96 300.1V464a16 16 0 0016 16l112-.3a16 16 0 0015.9-16V368a16 16 0 0116-16h64a16 16 0 0116 16v95.6a16 16 0 0016 16.4l112 .3a16 16 0 0016-16V300L295.7 148.3a12.2 12.2 0 00-15.3 0zM571.6 251.5L488 182.6V44a12 12 0 00-12-12h-56a12 12 0 00-12 12v72.6L318.5 43a48 48 0 00-61 0L4.3 251.5a12 12 0 00-1.6 16.9l25.5 31A12 12 0 0045.2 301L288 77.4 530.9 301a12 12 0 0016.9-1.6l25.5-31a12 12 0 00-1.7-16.9z'/%3E%3C/svg%3E");
}

.fa-chevron-right {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath d='M285.5 273L91.1 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.7-22.7c-9.4-9.4-9.4-24.5 0-33.9L188.7 256 34.5 101.3c-9.3-9.4-9.3-24.5 0-33.9l22.7-22.7c9.4-9.4 24.6-9.4 33.9 0L285.5 239c9.4 9.4 9.4 24.6 0 34z'/%3E%3C/svg%3E");
}

.fa-chevron-down {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M207 381.5L12.7 187.1c-9.4-9.4-9.4-24.6 0-33.9l22.7-22.7c9.4-9.4 24.5-9.4 33.9 0L224 285.3l154.7-154.8c9.4-9.4 24.5-9.4 33.9 0l22.7 22.7c9.4 9.4 9.4 24.6 0 33.9L241 381.5c-9.4 9.3-24.6 9.3-34 0z'/%3E%3C/svg%3E");
}

.fa-arrow-right {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M190.5 66.9l22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z'/%3E%3C/svg%3E");
}

.fa-check {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M173.9 439.4l-166.4-166.4c-10-10-10-26.2 0-36.2l36.2-36.2c10-10 26.2-10 36.2 0L192 312.7 432.1 72.6c10-10 26.2-10 36.2 0l36.2 36.2c10 10 10 26.2 0 36.2l-294.4 294.4c-10 10-26.2 10-36.2 0z'/%3E%3C/svg%3E");
}

.fa-check-circle {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zM227.3 387.3l184-184c6.2-6.2 6.2-16.4 0-22.6l-22.6-22.6c-6.2-6.2-16.4-6.2-22.6 0L216 308.1l-70.1-70.1c-6.2-6.2-16.4-6.2-22.6 0l-22.6 22.6c-6.2 6.2-6.2 16.4 0 22.6l104 104c6.2 6.2 16.4 6.2 22.6 0z'/%3E%3C/svg%3E");
}

.fa-minus {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M416 208H32c-17.7 0-32 14.3-32 32v32c0 17.7 14.3 32 32 32h384c17.7 0 32-14.3 32-32v-32c0-17.7-14.3-32-32-32z'/%3E%3C/svg%3E");
}

.fa-exchange-alt {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M0 168v-16c0-13.3 10.7-24 24-24h360V80c0-21.4 25.9-32 41-17l80 80c9.4 9.4 9.4 24.6 0 33.9l-80 80c-15 15-41 4.5-41-17v-48H24c-13.3 0-24-10.7-24-24zm488 152H128v-48c0-21.4-25.9-32-41-17l-80 80c-9.4 9.4-9.4 24.6 0 33.9l80 80c15 15 41 4.5 41-17v-48h360c13.3 0 24-10.7 24-24v-16c0-13.3-10.7-24-24-24z'/%3E%3C/svg%3E");
}

.fa-server {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M480 160H32c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32h448c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32zm-48-88c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm-64 0c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm112 248H32c-17.7 0-32-14.3-32-32v-64c0-17.7 14.3-32 32-32h448c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32zm-48-88c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm-64 0c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm112 248H32c-17.7 0-32-14.3-32-32v-64c0-17.7 14.3-32 32-32h448c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32zm-48-88c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24zm-64 0c-13.3 0-24 10.7-24 24s10.7 24 24 24 24-10.7 24-24-10.7-24-24-24z'/%3E%3C/svg%3E");
}

.fa-user-friends {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath d='M192 256c61.9 0 112-50.1 112-112S253.9 32 192 32 80 82.1 80 144s50.1 112 112 112zm76.8 32h-8.3c-20.8 10-43.9 16-68.5 16s-47.6-6-68.5-16h-8.3C51.6 288 0 339.6 0 403.2V432c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48v-28.8c0-63.6-51.6-115.2-115.2-115.2zm211.2-32c44.2 0 80-35.8 80-80s-35.8-80-80-80-80 35.8-80 80 35.8 80 80 80zm61.8 32h-3.8c-13.9 4.8-28.6 8-44 8s-30.1-3.2-44-8h-3.8c-20.4 0-39.2 5.9-55.7 15.4 24.4 26.3 39.7 61.2 39.7 99.8v38.4c0 2.2-.5 4.3-.6 6.4H592c26.5 0 48-21.5 48-48 0-61.9-50.1-112-112-112z'/%3E%3C/svg%3E");
}

.fa-store {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 616 512'%3E%3Cpath d='M602 118.6L537.1 15C531.3 5.7 521 0 510 0H106C95 0 84.7 5.7 78.9 15L14 118.6c-33.5 53.5-3.8 127.9 58.8 136.4 4.5.6 9.1.9 13.7.9 29.6 0 55.8-13 73.8-33.1 18 20.1 44.3 33.1 73.8 33.1 29.6 0 55.8-13 73.8-33.1 18 20.1 44.3 33.1 73.8 33.1 29.6 0 55.8-13 73.8-33.1 18.1 20.1 44.3 33.1 73.8 33.1 4.7 0 9.2-.3 13.7-.9 62.8-8.4 92.6-82.8 59-136.4zM529.5 288c-10 0-19.9-1.5-29.5-3.8V384H116v-99.8c-9.6 2.2-19.5 3.8-29.5 3.8-6 0-12.1-.4-18-1.2-5.6-.8-11.1-2.1-16.4-3.6V480c0 17.7 14.3 32 32 32h448c17.7 0 32-14.3 32-32V283.2c-5.4 1.6-10.8 2.9-16.4 3.6-6.1.8-12.1 1.2-18.2 1.2z'/%3E%3C/svg%3E");
}

.fa-lock {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M400 224h-24v-72C376 68.2 307.8 0 224 0S72 68.2 72 152v72H48c-26.5 0-48 21.5-48 48v192c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V272c0-26.5-21.5-48-48-48zm-104 0H152v-72c0-39.7 32.3-72 72-72s72 32.3 72 72v72z'/%3E%3C/svg%3E");
}

.fa-mask {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath d='M320.7 352c-44.2 0-79.7 25.7-79.7 69.3 0 5.5 4.5 10 10 10h139.4c5.5 0 10-4.5 10-10 0-43.6-35.6-69.3-79.7-69.3zM0 224v160c0 26.5 21.5 48 48 48h98.9C131.4 399.1 96 338.3 96 269.3V224H0zm480-48c-11.1 0-21.3 3.3-30.2 8.4C440.4 143.8 398.1 112 348 112c-30 0-57.3 11.8-78 30.6V77.4C270 34.7 234.7 0 198.2 0c-36.7 0-66.2 29.5-66.2 65.9V224h-36v45.3c0 81.4 57 153.2 137.4 170.7H592c26.5 0 48-21.5 48-48V224H480zM272 288c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32zm176 0c-17.7 0-32-14.3-32-32s14.3-32 32-32 32 14.3 32 32-14.3 32-32 32z'/%3E%3C/svg%3E");
}

.fa-network-wired {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath d='M640 264v-16c0-8.8-7.2-16-16-16H344v-40h72c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H224c-17.7 0-32 14.3-32 32v128c0 17.7 14.3 32 32 32h72v40H16c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h104v40H64c-17.7 0-32 14.3-32 32v128c0 17.7 14.3 32 32 32h160c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32h-56v-40h304v40h-56c-17.7 0-32 14.3-32 32v128c0 17.7 14.3 32 32 32h160c17.7 0 32-14.3 32-32V352c0-17.7-14.3-32-32-32h-56v-40h104c8.8 0 16-7.2 16-16z'/%3E%3C/svg%3E");
}

.fa-link {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M326.6 185.4c59.7 59.8 58.9 155.7.4 214.6-.1.1-.2.3-.4.4l-67.2 67.2c-59.3 59.3-155.7 59.3-215 0-59.3-59.3-59.3-155.7 0-215l37.1-37.1c9.8-9.8 26.8-3.3 27.3 10.6.6 17.7 3.8 35.5 9.7 52.7 2 5.8.6 12.3-3.8 16.6l-13.1 13.1c-28 28-28.9 73.7-1.2 102 28 28.6 74.1 28.7 102.3.5l67.2-67.2c28.1-28.1 28.1-73.8 0-101.8-3.7-3.7-7.4-6.6-10.3-8.6a16 16 0 01-6.9-12.6c-.4-10.6 3.3-21.5 11.7-29.8l21.1-21.1c5.5-5.5 14.2-6.2 20.6-1.7a152.5 152.5 0 0120.5 17.2zM467.5 44.4C408.2-14.9 311.8-14.9 252.5 44.4l-67.2 67.2c-.1.1-.3.2-.4.4-58.6 58.9-59.3 154.8.4 214.6a152.5 152.5 0 0020.5 17.2c6.4 4.5 15.1 3.8 20.6-1.7l21.1-21.1c8.4-8.4 12.1-19.2 11.7-29.8a16 16 0 00-6.9-12.6c-2.9-2-6.6-4.9-10.3-8.6-28.1-28.1-28.1-73.8 0-101.8l67.2-67.2c28.1-28.1 73.8-28.1 101.8 0 27.7 28.3 26.8 74 -1.2 102l-13.1 13.1c-4.4 4.4-5.8 10.8-3.8 16.6 5.9 17.2 9.2 34.9 9.7 52.7.5 13.9 17.5 20.4 27.3 10.6l37.1-37.1c59.3-59.3 59.3-155.7 0-215z'/%3E%3C/svg%3E");
}

.fa-th-large {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M296 32h192c13.3 0 24 10.7 24 24v160c0 13.3-10.7 24-24 24H296c-13.3 0-24-10.7-24-24V56c0-13.3 10.7-24 24-24zm-272 0h192c13.3 0 24 10.7 24 24v160c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V56c0-13.3 10.7-24 24-24zM0 296c0-13.3 10.7-24 24-24h192c13.3 0 24 10.7 24 24v160c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V296zm272 0c0-13.3 10.7-24 24-24h192c13.3 0 24 10.7 24 24v160c0 13.3-10.7 24-24 24H296c-13.3 0-24-10.7-24-24V296z'/%3E%3C/svg%3E");
}

.fa-fingerprint {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256.1 246c-13.3 0-23.9 10.8-23.9 24.1 0 39.6 4.3 78.7 12.7 116.5 2.9 12.8 15.6 20.8 28.4 17.9 12.8-2.9 20.8-15.6 17.9-28.4-7.5-33.7-11.4-68.4-11.4-104 0-13.3-10.5-26.1-23.7-26.1zM256 0C114.6 0 0 114.6 0 256c0 67.3 26.2 128.5 68.8 174.1 7.6 8.2 20.4 8.6 28.6 1 8.2-7.6 8.5-20.4 1-28.6C62 361.4 40 310.4 40 256c0-119.1 96.9-216 216-216s216 96.9 216 216c0 54.4-22 109.4-58.4 150.5-7.6 8.2-7.1 21 1 28.6 8.2 7.6 21 7.1 28.6-1C485.8 384.5 512 323.3 512 256 512 114.6 397.4 0 256 0zm-56 336c-13.3 0-24 10.7-24 24 0 53-7.8 105-23.2 154.8-4.3 13.8 3.4 28.4 17.2 32.7 1.3.4 2.6.6 3.9.8 11.8 0 22.7-7.6 26.4-19.4 17.2-55.6 25.7-113.8 25.7-169 0-13.2-10.7-23.9-26-23.9zM124 256c0-72.8 59.2-132 132-132s132 59.2 132 132c0 45.2-7.4 89.6-22 131.4-4.8 13.6 2.3 28.5 16 33.3 13.6 4.8 28.5-2.3 33.3-16 16.6-47.6 24.7-98 24.7-148.7 0-94.8-77.2-172-172-172-94.8 0-172 77.2-172 172 0 27.6 3.4 55.6 10 82.3 3.4 13.6 17.2 21.8 30.8 18.4 13.6-3.4 21.8-17.2 18.4-30.8-5.8-23.4-8.7-47.8-8.7-69.9h-2.5z'/%3E%3C/svg%3E");
}

.fa-shield-alt {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M466.5 83.7l-192-80a48.2 48.2 0 00-36.9 0l-192 80C27.7 91.1 16 108.6 16 128c0 198.5 114.5 335.7 221.5 380.3 11.8 4.9 25.1 4.9 36.9 0C360.1 472.6 496 349.3 496 128c0-19.4-11.7-36.9-29.5-44.3zM256.1 446.3l-.1-381 175.9 73.3c-3.3 151.4-82.1 261.1-175.8 307.7z'/%3E%3C/svg%3E");
}

.fa-database {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M448 73.1v45.7C448 159.1 347.7 192 224 192S0 159.1 0 118.9V73.1C0 32.9 100.3 0 224 0s224 32.9 224 73.1zM448 176v102.9C448 319.1 347.7 352 224 352S0 319.1 0 278.9V176c48.1 33.1 136.2 48.6 224 48.6S399.9 209.1 448 176zm0 160v102.9C448 479.1 347.7 512 224 512S0 479.1 0 438.9V336c48.1 33.1 136.2 48.6 224 48.6S399.9 369.1 448 336z'/%3E%3C/svg%3E");
}

.fa-award {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M97.1 363.1L64 416l48 48 48-80-62.9-20.9zM223 416l48 80 48-48-63.1-52.9L223 416zM192 0C86.1 0 0 86.1 0 192s86.1 192 192 192 192-86.1 192-192S297.9 0 192 0zm0 320c-70.7 0-128-57.3-128-128S121.3 64 192 64s128 57.3 128 128-57.3 128-128 128z'/%3E%3C/svg%3E");
}

.fa-users {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath d='M96 224c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm448 0c35.3 0 64-28.7 64-64s-28.7-64-64-64-64 28.7-64 64 28.7 64 64 64zm32 32h-64c-17.6 0-33.5 7.1-45.1 18.6 40.3 22.1 68.9 62 75.1 109.4h66c17.7 0 32-14.3 32-32v-32c0-35.3-28.7-64-64-64zm-256 0c61.9 0 112-50.1 112-112S381.9 32 320 32 208 82.1 208 144s50.1 112 112 112zm76.8 32h-8.3c-20.8 10-43.9 16-68.5 16s-47.6-6-68.5-16h-8.3C179.6 288 128 339.6 128 403.2V432c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48v-28.8c0-63.6-51.6-115.2-115.2-115.2zm-223.7-13.4C161.5 263.1 145.6 256 128 256H64c-35.3 0-64 28.7-64 64v32c0 17.7 14.3 32 32 32h65.9c6.3-47.4 34.9-87.3 75.2-109.4z'/%3E%3C/svg%3E");
}

.fa-gavel {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M504.97 199.03l-31.97-31.97-47.97 47.97 31.97 31.97c9.37 9.37 24.57 9.37 33.94 0l14.03-14.03c9.37-9.37 9.37-24.57 0-33.94zM24 432l-24 80h112l-24-80H24zm175.03-272.97l-63.03 63.03L344 430.06l63.03-63.03-208-207zM255.03 48.97l-47.97 47.97 191.97 191.97 47.97-47.97c9.37-9.37 9.37-24.57 0-33.94L289 15.03c-9.37-9.37-24.57-9.37-33.97 0v33.94z'/%3E%3C/svg%3E");
}

.fa-bug {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M511.988 288.9c-.478 17.43-15.217 31.1-32.653 31.1H424v16c0 21.864-4.882 42.584-13.6 61.145l60.228 60.228c12.496 12.497 12.496 32.758 0 45.255-12.498 12.497-32.759 12.496-45.256 0l-54.736-54.736C345.886 467.965 314.351 480 280 480V236c0-6.627-5.373-12-12-12h-24c-6.627 0-12 5.373-12 12v244c-34.351 0-65.886-12.035-90.636-32.108l-54.736 54.736c-12.498 12.497-32.758 12.496-45.256 0-12.496-12.497-12.496-32.758 0-45.255l60.228-60.228C92.882 378.584 88 357.864 88 336v-16H32.666C15.23 320 .491 306.33.013 288.9-.484 270.816 14.028 256 32 256h56v-58.745l-46.628-46.628c-12.496-12.497-12.496-32.758 0-45.255 12.498-12.497 32.758-12.497 45.256 0L141.255 160h229.489l54.627-54.627c12.498-12.497 32.758-12.497 45.256 0 12.496 12.497 12.496 32.758 0 45.255L424 197.255V256h56c17.972 0 32.484 14.816 31.988 32.9zM257 0c-61.856 0-112 50.144-112 112h224C369 50.144 318.856 0 257 0z'/%3E%3C/svg%3E");
}

.fa-info-circle {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm0 110c23.2 0 42 18.8 42 42s-18.8 42-42 42-42-18.8-42-42 18.8-42 42-42zm56 254c0 6.6-5.4 12-12 12h-88c-6.6 0-12-5.4-12-12v-24c0-6.6 5.4-12 12-12h12v-64h-12c-6.6 0-12-5.4-12-12v-24c0-6.6 5.4-12 12-12h64c6.6 0 12 5.4 12 12v100h12c6.6 0 12 5.4 12 12v24z'/%3E%3C/svg%3E");
}

.fa-clock {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm57.1 350.1l-84.1-61.6c-3.1-2.3-4.9-5.9-4.9-9.7V116c0-6.6 5.4-12 12-12h32c6.6 0 12 5.4 12 12v155.5l57.5 42.1c5.4 3.9 6.5 11.4 2.6 16.8l-18.7 25.5c-3.9 5.3-11.4 6.5-16.8 2.6-.5-.4-.9-.7-1.3-1.1l9.7 6.7z'/%3E%3C/svg%3E");
}

.fa-newspaper {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M552 64H88c-13.3 0-24 10.7-24 24v8H24c-13.3 0-24 10.7-24 24v272c0 30.9 25.1 56 56 56h496c13.3 0 24-10.7 24-24V88c0-13.3-10.7-24-24-24zM56 400a8 8 0 01-8-8V136h16v256a8 8 0 01-8 8zm236-248v32c0 6.6-5.4 12-12 12H140c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h140c6.6 0 12 5.4 12 12zm208 0v32c0 6.6-5.4 12-12 12H348c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h140c6.6 0 12 5.4 12 12zm-208 96v32c0 6.6-5.4 12-12 12H140c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h140c6.6 0 12 5.4 12 12zm208 0v32c0 6.6-5.4 12-12 12H348c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h140c6.6 0 12 5.4 12 12zm-208 96v32c0 6.6-5.4 12-12 12H140c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h140c6.6 0 12 5.4 12 12zm208 0v32c0 6.6-5.4 12-12 12H348c-6.6 0-12-5.4-12-12v-32c0-6.6 5.4-12 12-12h140c6.6 0 12 5.4 12 12z'/%3E%3C/svg%3E");
}

.fa-user-plus {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath d='M624 208h-64v-64c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16v64h-64c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h64v64c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-64h64c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zm-400 48c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C97.3 288 0 385.3 0 443.2V480c0 17.7 14.3 32 32 32h384c17.7 0 32-14.3 32-32v-36.8c0-57.9-97.3-155.2-154.4-155.2z'/%3E%3C/svg%3E");
}

.fa-exclamation-triangle {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M569.5 440C588 472 564.8 512 527.9 512H48.1c-36.9 0-60-40-41.6-72L246.4 24c18.5-32 64.7-32 83.2 0l239.9 416zM288 354c-25.4 0-46 20.6-46 46s20.6 46 46 46 46-20.6 46-46-20.6-46-46-46zm-43.7-165.3l7.4 136c.3 6.4 5.6 11.3 12 11.3h48.5c6.4 0 11.6-5 12-11.3l7.4-136c.4-6.9-5.1-12.7-12-12.7h-63.4c-6.9 0-12.4 5.8-11.9 12.7z'/%3E%3C/svg%3E");
}

.fa-star {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M259.3 17.8L194 150.2 47.9 171.5c-26.2 3.8-36.7 36.1-17.7 54.6l105.7 103-25 145.5c-4.5 26.3 23.2 46 46.4 33.7L288 439.6l130.7 68.7c23.2 12.2 50.9-7.4 46.4-33.7l-25-145.5 105.7-103c19-18.5 8.5-50.8-17.7-54.6L382 150.2 316.7 17.8c-11.7-23.6-45.6-23.9-57.4 0z'/%3E%3C/svg%3E");
}

.fa-tag {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M0 252.1V48C0 21.5 21.5 0 48 0h204.1a48 48 0 0133.9 14.1l211.9 211.9c18.7 18.7 18.7 49.1 0 67.9L293.8 497.9c-18.7 18.7-49.1 18.7-67.9 0L14.1 286.1A48 48 0 010 252.1zM112 64a48 48 0 100 96 48 48 0 000-96z'/%3E%3C/svg%3E");
}

.fa-shopping-cart {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M528.1 301.3l47.3-208C578.8 78.8 567.4 64 552 64H159.2l-9.2-44.8C147.8 8 137.9 0 126.5 0H24C10.7 0 0 10.7 0 24v16c0 13.3 10.7 24 24 24h69.9l70.2 343.4C147.3 417.1 136 435.2 136 456c0 30.9 25.1 56 56 56s56-25.1 56-56c0-15.7-6.4-29.8-16.8-40h209.6c-10.4 10.2-16.8 24.3-16.8 40 0 30.9 25.1 56 56 56s56-25.1 56-56c0-22.2-12.9-41.3-31.6-50.4l5.5-24.3c3.4-14.8-8.1-28.6-23.2-28.6H189.7l-5.6-27.5h320.7c13 0 24.2-8.6 27.3-21.3z'/%3E%3C/svg%3E");
}

.fa-box {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M509.5 184.6L458.9 32.8C452.4 13.2 434.1 0 413.4 0H272v192h238.7c-.4-2.5-.4-5-1.2-7.4zM240 0H98.6c-20.7 0-39 13.2-45.5 32.8L2.5 184.6c-.8 2.4-.8 4.9-1.2 7.4H240V0zm270.4 224H1.6C.7 224 0 224.7 0 225.6v217c0 30.9 25.1 56 56 56h400c30.9 0 56-25.1 56-56v-217c0-.9-.7-1.6-1.6-1.6z'/%3E%3C/svg%3E");
}

.fa-shipping-fast {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath d='M624 352h-16V243.9c0-12.7-5.1-24.9-14.1-33.9L494 110.1c-9-9-21.2-14.1-33.9-14.1H416V48c0-26.5-21.5-48-48-48H112C85.5 0 64 21.5 64 48v48H8c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h272c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H40c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h208c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H8c-4.4 0-8 3.6-8 8v16c0 4.4 3.6 8 8 8h208c4.4 0 8 3.6 8 8v16c0 4.4-3.6 8-8 8H64v128c0 53 43 96 96 96s96-43 96-96h128c0 53 43 96 96 96s96-43 96-96h48c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16zM160 464c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm320 0c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48zm80-208H416V144h44.1l99.9 99.9V256z'/%3E%3C/svg%3E");
}

.fa-map-marker-alt {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M172.3 501.7C27 291 0 269.4 0 192 0 86 86 0 192 0s192 86 192 192c0 77.4-27 99-172.3 309.7-9.5 13.8-29.9 13.8-39.4 0zM192 272c44.2 0 80-35.8 80-80s-35.8-80-80-80-80 35.8-80 80 35.8 80 80 80z'/%3E%3C/svg%3E");
}

.fa-rss {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M128.1 416a63.9 63.9 0 10-128 0 63.9 63.9 0 00128 0zM303.7 463.6C298.4 300.2 169.8 171.6 6.4 166.3c-7.6-.2-14.4 5.8-14.4 13.4v52.5c0 7 5.4 12.9 12.3 13.3 117.3 7.2 211.1 100.9 218.3 218.3.5 6.9 6.3 12.3 13.3 12.3h52.5c7.6-.1 13.6-6.8 13.3-14.5-.2 2.2.8-6.2 2-12zm142.3 0C440.5 191.8 278.2 29.5 .4 24C-7 23.7-14 30.3-14 37.9v52.5c0 7 5.4 12.9 12.3 13.3 189 7.6 340.7 159.3 348.3 348.3.5 6.9 6.3 12.3 13.3 12.3h52.5c7.6-.1 13.6-6.8 13.3-14.5l.3-.2z'/%3E%3C/svg%3E");
}

.fa-comments {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M416 192c0-88.4-93.1-160-208-160S0 103.6 0 192c0 34.3 14.1 65.9 38 92-13.4 30.2-35.5 54.2-35.8 54.5-2.2 2.3-2.8 5.7-1.5 8.7S4.8 352 8 352c36.6 0 66.9-12.1 88.7-25 32.2 15.7 70.3 25 111.3 25 114.9 0 208-71.6 208-160zm160 96c0-34.3-14.1-65.9-38-92 13.4-30.2 35.5-54.2 35.8-54.5 2.2-2.3 2.8-5.7 1.5-8.7-.6-1.5-2.7-5.3-5.3-5.3-36.6 0-66.9 12.1-88.7 25-4.4-2.3-9.1-4.2-13.7-6.2 3.5 12.6 5.4 25.8 5.4 39.5 0 101.6-93.3 184.4-209.6 191.8 12.2 1.1 24.7 1.7 37.4 1.7 41 0 79-9.3 111.3-25 21.8 12.9 52.1 25 88.7 25 3.2 0 6.1-1.9 7.3-4.8 1.3-2.9.7-6.3-1.5-8.7-.3-.3-22.4-24.2-35.8-54.5 23.9-26.1 38-57.7 38-92z'/%3E%3C/svg%3E");
}

.fa-book {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M448 360V24c0-13.3-10.7-24-24-24H96C43 0 0 43 0 96v320c0 53 43 96 96 96h328c13.3 0 24-10.7 24-24v-16c0-7.5-3.5-14.3-8.9-18.7-4.2-15.4-4.2-59.3 0-74.7 5.4-4.3 8.9-11.1 8.9-18.6zM128 134c0-3.3 2.7-6 6-6h212c3.3 0 6 2.7 6 6v20c0 3.3-2.7 6-6 6H134c-3.3 0-6-2.7-6-6v-20zm0 64c0-3.3 2.7-6 6-6h212c3.3 0 6 2.7 6 6v20c0 3.3-2.7 6-6 6H134c-3.3 0-6-2.7-6-6v-20zm253.4 250H96c-17.7 0-32-14.3-32-32 0-17.6 14.4-32 32-32h285.4c-1.9 17.1-1.9 46.9 0 64z'/%3E%3C/svg%3E");
}

.fa-graduation-cap {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath d='M622.3 271.1l-115.2-45V382c0 34.2-52.1 63.7-127.1 78.5-24.1 4.7-49.9 7.5-76.8 7.5s-52.7-2.8-76.8-7.5C151.8 445.7 99.7 416.2 99.7 382V226l-57.4 22.6-31.2 12.3c-14.2 5.6-14.2 25.4 0 31L291.8 395c17.4 6.8 36.8 6.8 54.2 0l281.3-103c14.2-5.6 14.2-25.4 0-31l-4.6-1.8-.4 11.9zm-305.1-22L99.7 175v46.8L303.2 296c17.4 6.8 36.8 6.8 54.2 0l203.5-74.3V175l-217.5 74.1c-17.4 6.8-36.8 6.8-54.2 0z'/%3E%3C/svg%3E");
}

.fa-trophy {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M552 64H448V24c0-13.3-10.7-24-24-24H152c-13.3 0-24 10.7-24 24v40H24C10.7 64 0 74.7 0 88v56c0 66.5 47.9 121.9 112.1 132.5C131.7 340 189.4 384 256 403.8V448h-64c-22.1 0-40 17.9-40 40v24h272v-24c0-22.1-17.9-40-40-40h-64v-44.2c66.6-19.8 124.3-63.8 143.9-127.3C528.1 265.9 576 210.5 576 144V88c0-13.3-10.7-24-24-24zM48 144v-32h80v96.5c-46-11.7-80-51.5-80-64.5zm480 0c0 13-34 52.8-80 64.5V112h80v32z'/%3E%3C/svg%3E");
}

.fa-user-secret {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M383.9 308.3l23.9-62.6c4-10.5-3.7-21.7-15-21.7h-58.5c11-18.9 17.8-40.6 17.8-64v-32c0-8.8-7.2-16-16-16h-32c0-44.2-35.8-80-80-80s-80 35.8-80 80h-32c-8.8 0-16 7.2-16 16v32c0 23.4 6.8 45.1 17.8 64H56.3c-11.3 0-19 11.2-15 21.7l24 62.6C27.4 353.9 0 401 0 456c0 13.3 10.7 24 24 24h400c13.3 0 24-10.7 24-24 0-55-27.4-102.1-64.1-147.7zM176 160h96v32c0 26.5-21.5 48-48 48s-48-21.5-48-48v-32zm48 256c-35.3 0-64-28.7-64-64 0-11.8 3.2-22.9 8.8-32.4l55.2 79.3 55.2-79.3c5.5 9.5 8.8 20.6 8.8 32.4 0 35.3-28.7 64-64 64z'/%3E%3C/svg%3E");
}

.fa-copy {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M320 448v40c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V120c0-13.3 10.7-24 24-24h72v296c0 30.9 25.1 56 56 56h168zm0-344V0H152c-13.3 0-24 10.7-24 24v368c0 13.3 10.7 24 24 24h272c13.3 0 24-10.7 24-24V128H344c-13.2 0-24-10.8-24-24zm120.1-23.9L375.9 15.9C370.3 10.3 362.9 8 356 8h-4v96h96v-4c0-6.9-2.3-14.3-7.9-19.9z'/%3E%3C/svg%3E");
}

.fa-search {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M505 442.7L405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z'/%3E%3C/svg%3E");
}

.fa-exclamation-circle {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zm-248 50c-25.4 0-46 20.6-46 46s20.6 46 46 46 46-20.6 46-46-20.6-46-46-46zm-43.7-165.3l7.4 136c.3 6.4 5.6 11.3 12 11.3h48.5c6.4 0 11.6-5 12-11.3l7.4-136c.4-6.9-5.1-12.7-12-12.7h-63.4c-6.9 0-12.4 5.8-11.9 12.7z'/%3E%3C/svg%3E");
}

.fa-check-square {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M400 480H48c-26.5 0-48-21.5-48-48V80c0-26.5 21.5-48 48-48h352c26.5 0 48 21.5 48 48v352c0 26.5-21.5 48-48 48zm-204.7-98.1l184-184c6.2-6.2 6.2-16.4 0-22.6l-22.6-22.6c-6.2-6.2-16.4-6.2-22.6 0L184 302.7l-70.1-70.1c-6.2-6.2-16.4-6.2-22.6 0l-22.6 22.6c-6.2 6.2-6.2 16.4 0 22.6l104 104c6.2 6.2 16.4 6.2 22.6 0z'/%3E%3C/svg%3E");
}

.fa-globe {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 496 512'%3E%3Cpath d='M336.5 160C322 70.7 287.8 8 248 8s-74 62.7-88.5 152h177zM152 256c0 22.2 1.2 43.6 3.3 64h185.3c2.2-20.4 3.3-41.8 3.3-64s-1.2-43.6-3.3-64H155.3c-2.2 20.4-3.3 41.8-3.3 64zm324.4-96C456.2 97.7 407.9 48.5 348.1 24 370.7 55 387.8 92.4 394.6 160h81.8zM103.4 160c6.8-67.6 23.9-105 46.5-136C90.1 48.5 41.8 97.7 21.6 160h81.8zM16 256c0 22 3.3 43.3 9.3 63.5h97.6c-2-20.7-3-42-3-63.5s1-42.8 3-63.5H25.3C19.3 212.7 16 234 16 256zm458.7 63.5c6-20.2 9.3-41.5 9.3-63.5s-3.3-43.3-9.3-63.5h-97.6c2 20.7 3 42 3 63.5s-1 42.8-3 63.5h97.6zM336.5 352H159.5C174 441.3 208.2 504 248 504s74-62.7 88.5-152zm11.5 0c-6.8 67.6-23.9 105-46.5 136 59.8-24.5 108.1-73.7 128.3-136h-81.8zm-192 0H74.2c20.2 62.3 68.5 111.5 128.3 136-22.6-31-39.7-68.4-46.5-136z'/%3E%3C/svg%3E");
}

.fa-sync-alt {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M370.7 133.3C339.5 104 298.9 88 255.8 88c-77.3.2-144.3 53.3-162.7 126.9-1.3 5.4-6.1 9.2-11.7 9.2H24.1c-7.5 0-13.2-6.8-11.8-14.2C33.9 94.9 134.8 8 256 8c66.4 0 126.8 26.1 171.3 68.7L463 41.4c15-15 41-4.5 41 17v134c0 13.3-10.7 24-24 24H346c-21.4 0-32.1-25.9-17-41l41.7-41.7zM32 296h134c21.4 0 32.1 25.9 17 41l-41.7 41.7c31.2 29.3 71.8 45.3 114.9 45.3 77.3-.2 144.3-53.3 162.7-126.9 1.3-5.4 6.1-9.2 11.7-9.2h57.4c7.5 0 13.2 6.8 11.8 14.2C478.1 417.1 377.2 504 256 504c-66.4 0-126.8-26.1-171.3-68.7L49 470.6c-15 15-41 4.5-41-17V320c0-13.3 10.7-24 24-24z'/%3E%3C/svg%3E");
}

.fa-external-link-alt {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M432 320H400a16 16 0 00-16 16V448H64V128H208a16 16 0 0016-16V80a16 16 0 00-16-16H48A48 48 0 000 112V464a48 48 0 0048 48H400a48 48 0 0048-48V336A16 16 0 00432 320zM488 0h-128c-21.4 0-32.1 25.9-17 41l35.7 35.7L135 320.4a24 24 0 000 33.9L157.7 377a24 24 0 0033.9 0L435.3 133.3 471 169c15 15 41 4.5 41-17V24A24 24 0 00488 0z'/%3E%3C/svg%3E");
}

.fa-key {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M512 176.001C512 273.203 433.202 352 336 352c-11.22 0-22.19-1.062-32.83-3.069l-24.34 27.61c-2.27 2.58-5.48 4.07-8.92 4.13l-46.91.7v47.33c0 6.63-5.37 12-12 12H164v46.32c0 6.63-5.37 12-12 12H12c-6.63 0-12-5.37-12-12v-78.54c0-3.18 1.264-6.23 3.515-8.485l135.97-135.97C131.57 244.86 128 225.06 128 208.001 128 110.799 206.798 32 304 32s208 78.799 208 144.001zM336 128c0 26.51 21.49 48 48 48s48-21.49 48-48-21.49-48-48-48-48 21.49-48 48z'/%3E%3C/svg%3E");
}

.fa-usb {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath d='M641.5 256c0 3.1-1.7 6.1-4.5 7.5L547.9 309c-4.6 2.3-10 .7-12.6-3.7l-15.4-26.6c-2.6-4.4-1.1-10 3.2-12.7l37.2-22.4-186.7-.1v66h36.3c5.3 0 9.6 4.3 9.6 9.6v64c0 5.3-4.3 9.6-9.6 9.6h-84.5c-5.3 0-9.6-4.3-9.6-9.6v-64c0-5.3 4.3-9.6 9.6-9.6h36.3v-66l-149.3-.1-37.5 69.8 31.7 18.8c4.2 2.5 5.8 8 3.4 12.5l-30.6 56.3c-2.5 4.5-8 6.4-12.5 3.9l-56.3-30.6c-4.5-2.5-6.4-8-3.9-12.5l30.6-56.3c2.5-4.5 8-6.4 12.5-3.9l17.7 9.6 40.9-76.2-58.8-.1c-13.2 0-24-10.8-24-24s10.8-24 24-24h25.8l-27.3-50.3-17.7 9.6c-4.5 2.5-10 .6-12.5-3.9l-30.6-56.3c-2.5-4.5-.6-10 3.9-12.5l56.3-30.6c4.5-2.5 10-.6 12.5 3.9l30.6 56.3c2.5 4.5.6 10-3.4 12.5L196.8 186l29.5 54.3h147.3v-66h-36.3c-5.3 0-9.6-4.3-9.6-9.6v-64c0-5.3 4.3-9.6 9.6-9.6h84.5c5.3 0 9.6 4.3 9.6 9.6v64c0 5.3-4.3 9.6-9.6 9.6h-36.3v66l186.7.1-37.2-22.4c-4.2-2.6-5.7-8.1-3.2-12.7l15.4-26.6c2.6-4.4 8-6 12.6-3.7L637 248.5c2.8 1.4 4.5 4.4 4.5 7.5z'/%3E%3C/svg%3E");
}

/* === fab (brand) icons === */
.fa-bitcoin {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M504 256c0 137-111 248-248 248S8 393 8 256 119 8 256 8s248 111 248 248zm-141.7-35.3c4.9-33-20.2-50.7-54.6-62.6l11.1-44.7-27.2-6.8-10.9 43.5c-7.2-1.8-14.5-3.5-21.8-5.1l10.9-43.8-27.2-6.8-11.2 44.7c-5.9-1.3-11.7-2.7-17.4-4.1l0-.1-37.5-9.4-7.2 29.1s20.2 4.6 19.7 4.9c11 2.7 13 10 12.7 15.8l-12.7 51.1c.8.2 1.7.4 2.8.8-.9-.2-1.9-.5-2.9-.7l-17.8 71.5c-1.4 3.4-4.8 8.4-12.6 6.5.3.4-19.7-4.9-19.7-4.9l-13.5 31.2 35.4 8.8c6.6 1.6 13 3.4 19.4 5l-11.3 45.2 27.2 6.8 11.2-44.7a534 534 0 0021.9 5.7l-11.1 44.5 27.2 6.8 11.3-45.1c46.4 8.8 81.3 5.2 96-36.7 11.8-33.8-.6-53.3-25-66 17.8-4.1 31.2-15.8 34.7-39.9zm-62.2 87.2c-8.4 33.8-65.3 15.5-83.8 10.9l14.9-59.9c18.4 4.6 77.6 13.7 68.9 49zm8.4-87.7c-7.6 30.7-55 15.1-70.4 11.3l13.5-54.3c15.4 3.8 65 11 56.9 43z'/%3E%3C/svg%3E");
}

.fa-monero {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 496 512'%3E%3Cpath d='M352 384h108.4C417 455.9 338.1 504 248 504S79 455.9 35.6 384H144V256.2L248 361l104-104.8V384zM248 8C111 8 0 119 0 256c0 37.1 8.1 72.4 22.7 104h119.5V169.3l105.8 106 105.8-106V360h119.5C487.9 328.4 496 293.1 496 256 496 119 385 8 248 8z'/%3E%3C/svg%3E");
}

.fa-windows {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M0 93.7l183.6-25.3v177.4H0V93.7zm0 324.6l183.6 25.3V268.4H0v149.9zm203.8 28L448 480V268.4H203.8v177.9zm0-380.6v180.1H448V32L203.8 65.7z'/%3E%3C/svg%3E");
}

.fa-apple {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M318.7 268.7c-.2-36.7 16.4-64.4 50-84.8-18.8-26.9-47.2-41.7-84.7-44.6-35.5-2.8-74.3 20.7-88.5 20.7-15 0-49.4-19.7-76.4-19.7C63.3 141.2 4 184 4 273.5c0 26.2 4.8 53.3 14.4 81.2 12.8 36.7 59 126.7 107.2 125.2 25.2-.6 43-17.9 75.8-17.9 31.8 0 48.3 17.9 76.4 17.9 48.6-.7 90.4-82.5 102.6-119.3-65.2-30.7-61.7-90-61.7-91.9zm-56.6-164.2c27.3-32.4 24.8-62.1 24-72.5-24 1.3-52 16.4-67.9 34.9-17.5 19.8-27.8 44.3-25.6 71.9 26.1 2 49.9-11.4 69.5-34.3z'/%3E%3C/svg%3E");
}

.fa-linux {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M220.8 123.3c1 .5 1.8 1.7 3 1.7 1.1 0 2.8-.4 2.9-1.5.2-1.6-1.1-2.9-2.3-3.9-.5-.4-1.2-.8-1.7-.8-1 0-1.6.7-1.9 1.6-.5 1.4 0 2.5 0 2.9zM80 299.7V256h26c21.7 0 39.9 3.6 45.3 17.4 1.2 3 1.7 6.2 1.7 9.3 0 18.9-18.9 17-46.4 17H80zm0 92.9h38.7c46.1 0 56.3-17.4 56.3-44.8 0-12.5-4.2-21.8-14-29.2-9.7-7.4-26.9-10.6-49-10.6H80v84.6zM49.3 512H399c26.5 0 48.5-22 48.5-48.5V48.5C447.5 22 425.5 0 399 0H49.3C22.7 0 .8 22 .8 48.5v415C.8 490 22.7 512 49.3 512zM192 170.7c5.3 0 8.7-3.2 10.8-6.2 1.1-1.5 2.7-5 0-6.5-.6-.3-.9-.3-1.6-.3-3.4 0-8 2.7-8 8.1-.2 1.5-.2 3 .5 4.2-.6.4-.3.5 1.6.5-1.3.1-2.3.2-3.3.2zM224 44.8c-65.2 0-118 60.7-118 135.2 0 33 9.4 56.7 23.6 78 22.6 33.8 51.3 59.7 71.9 101.2 2.8 5.6 8.2 35.8 16.5 35.8s13.7-30.2 16.5-35.8c20.6-41.5 49.3-67.4 71.9-101.2 14.2-21.3 23.6-45 23.6-78 0-74.5-52.8-135.2-118-135.2zm0 189.3c-31.9 0-57.8-25.9-57.8-57.8S192.1 118.5 224 118.5s57.8 25.9 57.8 57.8-25.9 57.8-57.8 57.8z'/%3E%3C/svg%3E");
}

/* === far (regular) icons === */
.far.fa-copy {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M433.9 65.9l-51.9-51.9C370.3 2.3 355.3 0 344 0H176c-26.5 0-48 21.5-48 48v48H48c-26.5 0-48 21.5-48 48v320c0 26.5 21.5 48 48 48h224c26.5 0 48-21.5 48-48v-48h80c26.5 0 48-21.5 48-48V103.9c0-11.3-4.5-22.1-12.1-30zm-51.9-2L416 97.9V96h-32V64h-2.1zM272 464H48V144h80v208c0 26.5 21.5 48 48 48h96v64zm128-112H176V48h136v80c0 13.3 10.7 24 24 24h64v200z'/%3E%3C/svg%3E");
}