.svg-icon {
    display: inline-block;
    width: 1em;
    height: 1em;
    vertical-align: -0.125em;
    fill: currentColor;
    overflow: visible;
}

.svg-icon path {
    fill: currentColor;
}

.fa-2x.svg-icon { font-size: 2em; }
.fa-xs.svg-icon { font-size: 0.75em; }
.fa-sm.svg-icon { font-size: 0.875em; }
.fa-lg.svg-icon { font-size: 1.25em; vertical-align: -0.075em; }
.fa-xl.svg-icon { font-size: 1.5em; vertical-align: -0.125em; }
.fa-2xl.svg-icon { font-size: 2em; vertical-align: -0.1875em; }

.svg-icon.fa-spin {
    animation: svg-icon-spin 2s linear infinite;
}

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