.hi {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1em;
    height: 1em;
    line-height: 1;
    vertical-align: -0.125em;
    color: currentColor;
    flex-shrink: 0;
}

.hi svg {
    width: 1em;
    height: 1em;
    display: block;
    fill: currentColor;
    stroke: currentColor;
}

.hi svg * {
    fill: currentColor;
    stroke: currentColor;
}

.hi-lg {
    font-size: 1.25rem;
}

.hi-xl {
    font-size: 1.5rem;
}

.hi-2x {
    font-size: 2rem;
}

.hi-3x {
    font-size: 3rem;
}

.hi-fw {
    width: 1.25em;
    text-align: center;
}

.hi-spin svg {
    animation: hi-spin 1s linear infinite;
}

@keyframes hi-spin {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}