@mixin text-shadow($string: 0 1px 3px rgba(0, 0, 0, 0.25)) {
  text-shadow: $string;
}

@mixin drop-shadow($x: 0, $y: 1px, $blur: 2px, $spread: 0, $alpha: 0.25) {
  -webkit-box-shadow: $x $y $blur $spread rgba(0, 0, 0, $alpha);
  -moz-box-shadow: $x $y $blur $spread rgba(0, 0, 0, $alpha);
  box-shadow: $x $y $blur $spread rgba(0, 0, 0, $alpha);
}

@mixin inner-shadow($x: 0, $y: 1px, $blur: 2px, $spread: 0, $alpha: 0.25) {
  -webkit-box-shadow: inset $x $y $blur $spread rgba(0, 0, 0, $alpha);
  -moz-box-shadow: inset $x $y $blur $spread rgba(0, 0, 0, $alpha);
  box-shadow: inset $x $y $blur $spread rgba(0, 0, 0, $alpha);
}

@mixin opacity($opacity: 0.5) {
  -webkit-opacity: $opacity;
  -moz-opacity: $opacity;
  opacity: $opacity;
}

@mixin gradient($startColor: #eee, $endColor: white) {
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    from($startColor),
    to($endColor)
  );
  background: -webkit-linear-gradient(top, $startColor, $endColor);
  background: -moz-linear-gradient(top, $startColor, $endColor);
  background: -ms-linear-gradient(top, $startColor, $endColor);
  background: -o-linear-gradient(top, $startColor, $endColor);
  background-color: $startColor;
}

@mixin horizontal-gradient($startColor: #eee, $endColor: white) {
  background-color: $startColor;
  background-image: -webkit-gradient(
    linear,
    left top,
    right top,
    from($startColor),
    to($endColor)
  );
  background-image: -webkit-linear-gradient(left, $startColor, $endColor);
  background-image: -moz-linear-gradient(left, $startColor, $endColor);
  background-image: -ms-linear-gradient(left, $startColor, $endColor);
  background-image: -o-linear-gradient(left, $startColor, $endColor);
}

@mixin vertical-align() {
  position: relative;
  top: 50%;
  @include transform(-50%);
}

@mixin rgba-bg($color, $alpha) {
  background-color: rgba(red($color), green($color), blue($color), $alpha);
}
