//Deep version of map-get
@function map-deep-get($map, $keys...) {
  @each $key in $keys {
    $map: map-get($map, $key);
  }
  @return $map;
}

//Font Mixin
// $fonts _variables
@mixin font($group, $variant: regular, $properties: font-family font-weight text-transform, $font-stack: $font-style) {
  $font-properties: map-deep-get($font-stack, $group, $variant);

  @if $font-properties {
    @each $property, $values in $font-properties {
      @if contains($properties, $property) {
        #{$property}: map-get($font-properties, $property);
      }
    }
  }
}

//Responsive fonts mixin
// $font-size _variables
@mixin font-size($group, $font-size-stack: $font-size) {
  $font-sizes: map_get($font-size-stack, $group);

  @if $font-sizes {
    @each $breakpoint, $font-size in $font-sizes  {
      @if $breakpoint == xs {
        font-size: $font-size;
      }
      @else {
        @include media-breakpoint-up($breakpoint) {
          font-size: $font-size;
        }
      }
    }
  }
}
