i[class*="fa-"] {
    display: inline-block;
    min-width: calc(var(--fa-size) * var(--fa-ratio));
    min-height: var(--fa-size);
    line-height: 1;
}

i[class*="fa-"]>svg {
    width: calc(var(--fa-size) * var(--fa-ratio));
    height: var(--fa-size);
    vertical-align: top;
    fill: currentColor;
}

.fa-fw {
    --fa-ratio: 1.25 !important;
}

.fa-1x {
    --fa-size: 1em !important;
}

.fa-2x {
    --fa-size: 2em !important;
}

.fa-3x {
    --fa-size: 3em !important;
}

.fa-4x {
    --fa-size: 4em !important;
}

.fa-5x {
    --fa-size: 5em !important;
}

.fa-6x {
    --fa-size: 6em !important;
}

.fa-7x {
    --fa-size: 7em !important;
}

.fa-8x {
    --fa-size: 8em !important;
}

.fa-9x {
    --fa-size: 9em !important;
}

.fa-10x {
    --fa-size: 10em !important;
}