// Margins

@mixin push ($step: 1) {
  @include push-horizontal($step);
  @include push-vertical($step);
}

@mixin push-even ($step: 1) {
  @include push-horizontal($step);
  @include push-vertical-even($step);
}



// Pane

@mixin push-horizontal ($step: 1) {
  @include push-left($step);
  @include push-right($step);
}

@mixin push-vertical ($step: 1) {
  @include push-top($step);
  @include push-bottom($step);
}

@mixin push-vertical-even ($step: 1) {
  @include push-top-even($step);
  @include push-bottom($step);
}



// Single

@mixin push-top ($step: 1) {
  margin-top: calc($step * $buffer-tight);
}

@mixin push-top-even ($step: 1) {
  margin-top: calc($step * $buffer);
}

@mixin push-right ($step: 1) {
  margin-right: calc($step * $buffer);
}

@mixin push-bottom ($step: 1) {
  margin-bottom: calc($step * $buffer);
}

@mixin push-left ($step: 1) {
  margin-left: calc($step * $buffer);
}
