﻿@mixin mu-margin($pseudo: (), $responsive: (), $values: $mu-default-spacings) {
  @each $key, $value in $values {
    @include mu-create-utility(
      u-m-#{$key},
      (
        margin: $value
      ),
      $pseudo,
      $responsive
    );
    @include mu-create-utility(
      u-mx-#{$key},
      (
        margin-left: $value,
        margin-right: $value
      ),
      $pseudo,
      $responsive
    );
    @include mu-create-utility(
      u-my-#{$key},
      (
        margin-top: $value,
        margin-bottom: $value
      ),
      $pseudo,
      $responsive
    );
    @include mu-create-utility(
      u-mt-#{$key},
      (
        margin-top: $value
      ),
      $pseudo,
      $responsive
    );
    @include mu-create-utility(
      u-mr-#{$key},
      (
        margin-right: $value
      ),
      $pseudo,
      $responsive
    );
    @include mu-create-utility(
      u-mb-#{$key},
      (
        margin-bottom: $value
      ),
      $pseudo,
      $responsive
    );
    @include mu-create-utility(
      u-ml-#{$key},
      (
        margin-left: $value
      ),
      $pseudo,
      $responsive
    );
    @if $value != 0 and $value != auto and $value != 0px {
      @include mu-create-utility(
        u-n-m-#{$key},
        (
          margin: -$value
        ),
        $pseudo,
        $responsive
      );
      @include mu-create-utility(
        u-n-mx-#{$key},
        (
          margin-left: -$value,
          margin-right: -$value
        ),
        $pseudo,
        $responsive
      );
      @include mu-create-utility(
        u-n-my-#{$key},
        (
          margin-top: -$value,
          margin-bottom: -$value
        ),
        $pseudo,
        $responsive
      );
      @include mu-create-utility(
        u-n-mt-#{$key},
        (
          margin-top: -$value
        ),
        $pseudo,
        $responsive
      );
      @include mu-create-utility(
        u-n-mr-#{$key},
        (
          margin-right: -$value
        ),
        $pseudo,
        $responsive
      );
      @include mu-create-utility(
        u-n-mb-#{$key},
        (
          margin-bottom: -$value
        ),
        $pseudo,
        $responsive
      );
      @include mu-create-utility(
        u-n-ml-#{$key},
        (
          margin-left: -$value
        ),
        $pseudo,
        $responsive
      );
    }
  }
}
