// Margin spacer utilities // stylelint-disable block-opening-brace-space-before, declaration-colon-space-before, primer/selector-no-utility, comment-empty-line-before

// Loop through the breakpoint values @each $breakpoint, $variant in $responsive-variants {

@include breakpoint($breakpoint) {
  // Loop through the spacer values
  @for $i from 1 through length($spacers) {
    $size: nth($spacers, $i); // sm, md, lg, xl
    $scale: $i - 1;  // 0, 1, 2, 3, 4, 5, 6

    /* Set a $size margin to all sides at $breakpoint */
    .m#{$variant}-#{$scale}  { margin: $size !important; }
    /* Set a $size margin on the top at $breakpoint */
    .mt#{$variant}-#{$scale} { margin-top: $size !important; }
    /* Set a $size margin on the right at $breakpoint */
    .mr#{$variant}-#{$scale} { margin-right: $size !important; }
    /* Set a $size margin on the bottom at $breakpoint */
    .mb#{$variant}-#{$scale} { margin-bottom: $size !important; }
    /* Set a $size margin on the left at $breakpoint */
    .ml#{$variant}-#{$scale} { margin-left: $size !important; }

    @if ($size != 0) {
      /* Set a negative $size margin on top at $breakpoint */
      .mt#{$variant}-n#{$scale} { margin-top   : -$size !important; }
      /* Set a negative $size margin on the right at $breakpoint */
      .mr#{$variant}-n#{$scale} { margin-right : -$size !important; }
      /* Set a negative $size margin on the bottom at $breakpoint */
      .mb#{$variant}-n#{$scale} { margin-bottom: -$size !important; }
      /* Set a negative $size margin on the left at $breakpoint */
      .ml#{$variant}-n#{$scale} { margin-left  : -$size !important; }
    }

    /* Set a $size margin on the left & right at $breakpoint */
    .mx#{$variant}-#{$scale} {
      margin-right: $size !important;
      margin-left: $size !important;
    }

    /* Set a $size margin on the top & bottom at $breakpoint */
    .my#{$variant}-#{$scale} {
      margin-top: $size !important;
      margin-bottom: $size !important;
    }
  }

  /* responsive horizontal auto margins */
  .mx#{$variant}-auto {
    margin-right: auto !important;
    margin-left: auto !important;
  }
}

}