// Auto Only
@mixin dynamic-sizing-auto($size: null, $axis: null, $property: 'margin', $direction: 'auto') {
  @if ($size == null) {
    &-auto {
      @if ($direction == 'auto') {
        @if($axis == 'x') {
          #{$property}-left: auto !important;
          #{$property}-right: auto !important;
          margin-top: 0;
          margin-bottom: 0;
        } @else if ($axis == 'y') {
          #{$property}-top: auto !important;
          #{$property}-bottom: auto !important;
          margin-left: 0;
          margin-right: 0;
        }
      } @else {
        #{$property}-#{$direction}: auto !important;
      }
    }
  } @else {
    &-#{$size}-auto {
      @if ($direction == 'auto') {
        #{$property}-left: auto !important;
        #{$property}-right: auto !important;
      } @else {
        #{$property}-#{$direction}: auto !important;
      }
    }
  }
}

// REM Sizing
// Padding, Margin,
@mixin dynamic-sizing($size: null, $property: null, $unit: null) {
  @if($size == null) {
    @for $i from 0 through 10 {
      &-#{$i} {
        #{$property}: #{$i}#{$unit} !important;
      }
    }
  } @else {
    @for $i from 0 through 10 {
      &-#{$size}-#{$i} {
        #{$property}: #{$i}#{$unit} !important;
      }
    }
  }
}

@mixin sizing-axis($property, $size:null, $axis: null) {
  @if ($size == null) {
    @if ($axis == 'x') {
      @for $i from 0 through 10 {
        &-#{$i} {
          #{$property}-left: #{$i}rem !important;
          #{$property}-right: #{$i}rem !important;
        }
      }
    } @else {
      @for $i from 0 through 10 {
        &-#{$i} {
          #{$property}-top: #{$i}rem !important;
          #{$property}-bottom: #{$i}rem !important;
        }
      }
    }
  } @else {
    @if ($axis == 'x') {
      @for $i from 0 through 10 {
        &-#{$size}-#{$i} {
          #{$property}-left: #{$i}rem !important;
          #{$property}-right: #{$i}rem !important;
        }
      }
    } @else {
      @for $i from 0 through 10 {
        &-#{$size}-#{$i} {
          #{$property}-top: #{$i}rem !important;
          #{$property}-bottom: #{$i}rem !important;
        }
      }
    }
  }
}
