// center vertically and/or horizontally an absolute positioned element
@mixin center($xy:xy) {
  @if $xy==xy {
    left: 50%;
    top: 50%;
    bottom: auto;
    right: auto;
    transform: translateX(-50%) translateY(-50%);
  }
  @else if $xy==x {
    left: 50%;
    right: auto;
    transform: translateX(-50%);
  }
  @else if $xy==y {
    top: 50%;
    bottom: auto;
    transform: translateY(-50%);
  }
}

@mixin box-shadow($top, $left, $blur, $color, $inset: false) {
  @if $inset {
    box-shadow: inset $top $left $blur $color;
  }
  @else {
    box-shadow: $top $left $blur $color;
  }
}

// define different reveal animations
@mixin reveal($animation, $value) {
  @include keyframes($animation) {
    0% {
      opacity: 1;
      transform: translateY($value);
    }
    100% {
      opacity: 1;
      transform: translateY(0);
    }
  }
}
