.fa, .fas, .fab {
    display: inline-block;
    width: 1em;
    height: 1em;
    background-color: currentColor;
    -webkit-mask: var(--fa-icon) center / contain no-repeat;
    mask: var(--fa-icon) center / contain no-repeat;
    vertical-align: -0.125em;
    font-style: normal;
    line-height: 1;
}

.fa-2x {
    width: 2em;
    height: 2em;
}

.fa-star {
    --fa-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath fill='black' 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-bars {
    --fa-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='black' d='M16 132h416c8.837 0 16-7.163 16-16V76c0-8.837-7.163-16-16-16H16C7.163 60 0 67.163 0 76v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16zm0 160h416c8.837 0 16-7.163 16-16v-40c0-8.837-7.163-16-16-16H16c-8.837 0-16 7.163-16 16v40c0 8.837 7.163 16 16 16z'/%3E%3C/svg%3E");
}

.fa-arrow-left {
    --fa-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='black' d='M257.5 445.1l-22.2 22.2c-9.4 9.4-24.6 9.4-33.9 0L7 273c-9.4-9.4-9.4-24.6 0-33.9L201.4 44.7c9.4-9.4 24.6-9.4 33.9 0l22.2 22.2c9.5 9.5 9.3 25-.4 34.3L136.6 216H424c13.3 0 24 10.7 24 24v32c0 13.3-10.7 24-24 24H136.6l120.5 114.8c9.8 9.3 10 24.8.4 34.3z'/%3E%3C/svg%3E");
}

.fa-code {
    --fa-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath fill='black' d='M278.9 511.5l-61-17.7c-6.4-1.8-10-8.5-8.2-14.9L346.2 8.7c1.8-6.4 8.5-10 14.9-8.2l61 17.7c6.4 1.8 10 8.5 8.2 14.9L293.8 503.3c-1.9 6.4-8.5 10.1-14.9 8.2zm-114-112.2l43.5-46.4c4.6-4.9 4.3-12.7-.8-17.2L117 256l90.6-79.7c5.1-4.5 5.5-12.3.8-17.2l-43.5-46.4c-4.5-4.8-12.1-5.1-17-.5L3.8 247.2c-5.1 4.7-5.1 12.8 0 17.5l144.1 135.1c4.9 4.6 12.5 4.4 17-.5zm327.2.6l144.1-135.1c5.1-4.7 5.1-12.8 0-17.5L492.1 112.1c-4.8-4.5-12.4-4.3-17 .5L431.6 159c-4.6 4.9-4.3 12.7.8 17.2L523 256l-90.6 79.7c-5.1 4.5-5.5 12.3-.8 17.2l43.5 46.4c4.5 4.9 12.1 5.1 17 .6z'/%3E%3C/svg%3E");
}

.fa-puzzle-piece {
    --fa-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath fill='black' d='M519.442 288.651c-41.519 0-59.356 31.593-82.058 31.593C377.409 320.244 360 248 360 248s-36.148 72.244-77.384 72.244c-22.702 0-40.539-31.593-82.058-31.593C113.491 288.651 96 432 178.558 432c51.009 0 81.166-32.037 120.442-32.037S368.433 432 419.442 432C502 432 484.509 288.651 519.442 288.651zM181.558 224c41.519 0 59.356-31.593 82.058-31.593C303.591 192.244 321 264 321 264s36.148-71.756 77.384-71.756c22.702 0 40.539 31.593 82.058 31.593C567.509 223.837 585 80 502.442 80c-51.009 0-81.166 32.037-120.442 32.037S208.567 80 157.558 80C75 80 92.491 223.837 181.558 224z'/%3E%3C/svg%3E");
}

.fa-external-link-alt {
    --fa-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='black' d='M432 320h-32a16 16 0 00-16 16v112H64V128h144a16 16 0 0016-16V80a16 16 0 00-16-16H48A48 48 0 000 112v352a48 48 0 0048 48h352a48 48 0 0048-48V336a16 16 0 00-16-16zM488 0H336a24 24 0 00-17 41l40 40L198 242a24 24 0 000 34l22 22a24 24 0 0034 0l161-161 40 40a24 24 0 0041-17V24A24 24 0 00488 0z'/%3E%3C/svg%3E");
}

.fa-chrome {
    --fa-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1.1 16.8c-3.17-.55-5.6-3.3-5.6-6.6 0-.55.07-1.08.2-1.59l6.3 1.12c.07 2.64.3 5.17-.9 7.07zm2.05-7.35L6.55 10.3A7.01 7.01 0 0112.2 4.7c1.54 2.05 2.55 4.5 3.05 7.12l-2.3-.37zm1.4 1.05c-.28-2.32-1.15-4.5-2.5-6.38 3.18.82 5.5 3.7 5.5 7.08 0 .82-.14 1.6-.4 2.33l-2.6-3.03zM12 20c-1.05 0-2.04-.26-2.9-.72 1.18-1.92 2.7-3.4 4.62-4.48l2.78 2.97A7.96 7.96 0 0112 20z'/%3E%3C/svg%3E");
}
