@mixin flexbox() {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: -webkit-box;
	display: -moz-flex;
	display: flex;
}

@mixin gradient($angle,$gradient1, $gradient2) {
	background-color: $gradient2;
	background-image: -webkit-gradient(linear, $angle, from($gradient1), to($gradient2));
	background-image: -webkit-linear-gradient($angle, $gradient1, $gradient2);
	background-image:    -moz-linear-gradient($angle, $gradient1, $gradient2);
	background-image:     -ms-linear-gradient($angle, $gradient1, $gradient2);
	background-image:      -o-linear-gradient($angle, $gradient1, $gradient2);
	background-image:         linear-gradient($angle, $gradient1, $gradient2);
	filter: progid:DXImageTransform.Microsoft.gradient(GradientType=$angle,StartColorStr='#{$gradient1}', EndColorStr='#{$gradient2}');
}

@mixin transition($transition...) {
	-webkit-transition: all $transition linear;
	-moz-transition:    all $transition linear;
	-o-transition:      all $transition linear;
	transition:         all $transition linear;
}

@mixin border-radius($radius) {
	-webkit-border-radius:	$radius;
	-moz-border-radius:		$radius;
	-ms-border-radius:		$radius;
	border-radius:			$radius;
}

@function calculateRem($size) {
	$remSize: $size / 16px;
	@return $remSize * 1rem;
}

@mixin font-size($size) {
	font-size: $size;
	font-size: calculateRem($size);
}

@mixin opacity($opacity) {
	$opacity-ie:	$opacity * 100;
	opacity:		$opacity;
	filter:			alpha(opacity=$opacity-ie);
}

@mixin background-opacity($color: #000, $opacity: 0.85) {
	background:	$color;
	background:	rgba($color, $opacity);
}

@mixin columns($count: 3, $gap: 10) {
	@include css3-prefix('column-count', $count);
	@include css3-prefix('column-gap', $gap);
}