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

.box-shadow (@string) {
  box-shadow: @string;
}

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

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

.box-sizing (@type: border-box) {
  box-sizing: @type;
}

.border-radius (@radius: 5px) {
  background-clip: padding-box;
  border-radius: @radius;
}

.border-radiuses (@topright: 0, @bottomright: 0, @bottomleft: 0, @topleft: 0) {
  background-clip: padding-box;
  border-radius: @topleft @topright @bottomright @bottomleft;
}

.opacity (@opacity: 0.5) {
  opacity: @opacity;
}

.gradient (@startColor: #eee, @endColor: white) {
  background: linear-gradient(to top, @startColor, @endColor);
  background-color: @startColor;
}

.horizontal-gradient (@startColor: #eee, @endColor: white) {
  background-color: @startColor;
  background-image: linear-gradient(to left, @startColor, @endColor);
}

.animation (@name, @duration: 300ms, @delay: 0, @ease: ease) {
  animation: @name @duration @delay @ease;
}

.transition (@transition) {
  transition: @transition;
}

.transform(@string) {
  transform: @string;
}

.scale (@factor) {
  transform: scale(@factor);
}

.rotate (@deg) {
  transform: rotate(@deg);
}

.skew (@deg, @deg2) {
  transform: skew(@deg, @deg2);
}

.translate (@x, @y:0) {
  transform: translate(@x, @y);
}

.translate3d (@x, @y: 0, @z: 0) {
  transform: translate3d(@x, @y, @z);
}

.perspective (@value: 1000) {
  perspective: @value;
}

.transform-origin (@x:center, @y:center) {
  transform-origin: @x @y;
}
