.#{$lk-css-prefix}, .#{$lk-css-prefix}s, // solid
.#{$lk-css-prefix}c,                     // custom
.#{$lk-css-prefix}r,                     // regular
.#{$lk-css-prefix}l,                     // lite (Font Awesome Pro)
.#{$lk-css-prefix}d,                     // duotone (Font Awesome Pro)
.#{$lk-css-prefix}b {                    // brands
  display: inline-flex;
  vertical-align: -.125em;
  box-sizing: content-box;

  &::before {
    background-color: currentColor;
    display: inline-block;
    line-height: 1;
    mask-image: var(--icon);
    mask-position: center center;
    mask-repeat: no-repeat;
    mask-size: contain;
    width: var(--width, 1em); /* 640 max in viewBox */
    height: 1em; /* 512 everywhere in viewBox */
    -webkit-mask-image: var(--icon);
    -webkit-mask-position: center center;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: contain;
  }
}