@mixin css-prefix($property, $value) {
  -webkit-#{$property}: #{$value};
  -khtml-#{$property}: #{$value};
  -moz-#{$property}: #{$value};
  -ms-#{$property}: #{$value};
  -o-#{$property}: #{$value};
  #{$property}: #{$value};
}

@mixin animation($str) {
  @include css-prefix(animation, $str);
}

@mixin background-gradient($direction, $startColor, $startColorAmount, $endColor, $endColorAmount) {
  background-color: $startColor;
  background: linear-gradient($direction, $startColor $startColorAmount, $endColor $endColorAmount);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#{$startColor}', endColorStr='#{$endColor}');
}

@mixin placeholder {
  &::-webkit-input-placeholder {
    @content;
  }

  &:-moz-placeholder {
    @content;
  }

  &::-moz-placeholder {
    @content;
  }

  &:-ms-input-placeholder {
    @content;
  }
}

@mixin text-overflow-ellipsis {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  word-wrap: normal;
  white-space: nowrap;
}

@mixin box-shadow {
  box-shadow: 0.5rem 0.9rem 1.5rem rgba(0, 0, 0, 0.25);
}

@mixin spinner-colour($colour) {
  border-color: $colour;
  border-right-color: transparent;
}

@mixin icon($unicode) {
  content: $unicode;
  font-family: $font-stack-icons;
  font-weight: 900;
}
