/// Generate Font Styles based on configuration.
///
/// @param {string} $selector CSS Selector
/// @param {string} $fontFamily Font Family to use
/// @param {string} $color Font color to use
/// @param {string} $sizeXs Font Size for breakpoint xs devices
/// @param {string} $sizeSm Font Size for breakpoint Sm devices
/// @param {string} $sizeMd Font Size for breakpoint Md devices
/// @param {string} $sizeLg Font Size for breakpoint Lg devices
/// @param {string} $sizeXl Font Size for breakpoint Xl devices
/// @param {string} $fontWeigt Font weight to use
/// @param {string} $fontStyle Font Style to use
/// @param {string} $textDecoration Text Decoration to use
@mixin font-configuration($selector, $fontFamily, $color, $sizeXs, $sizeSm, $sizeMd, $sizeLg, $sizeXl, $fontWeigt, $fontStyle, $textDecoration) {
  #{$selector} {
    @if ($fontFamily != default) {
      @if ($fontFamily != inherit) {
        .wf-active &,
        .wf-disabled & {
          font-family: $fontFamily, sans-serif;
        }
      }
      @if ($fontFamily == inherit) {
        font-family: inherit;
      }
    }
    @if ($color != default) {
      color: $color;
    }
    @include media-breakpoint-only(xs) {
      @if ($sizeXs != px) {
        font-size: $sizeXs;
      }
    }
    @include media-breakpoint-only(sm) {
      @if ($sizeSm != px) {
        font-size: $sizeSm;
      }
    }
    @include media-breakpoint-only(md) {
      @if ($sizeMd != px) {
        font-size: $sizeMd;
      }
    }
    @include media-breakpoint-only(lg) {
      @if ($sizeLg != px) {
        font-size: $sizeLg;
      }
    }
    @include media-breakpoint-only(xl) {
      @if ($sizeXl != px) {
        font-size: $sizeXl;
      }
    }
    font-weight: $fontWeigt;
    font-style: $fontStyle;
    text-decoration: $textDecoration;
    @if ($selector != body) {
      margin-bottom: 0.625em;
    }
  }
}
