.clearfix() {
	*zoom:1;
	&:before,
	&:after {
		content: " ";
		display: table;
	}
	&:after {
		clear: both;
	}
}
.border_radius(@radius:4px) {
	-webkit-border-radius:@radius;
	border-radius:@radius;
}
.border_radius_right(@radius:4px) {
	-webkit-border-top-right-radius: @radius;
	-webkit-border-bottom-right-radius: @radius;
	border-top-right-radius: @radius;
	border-bottom-right-radius: @radius;
}
.border_radius_left(@radius:4px) {
	-webkit-border-top-left-radius: @radius;
	-webkit-border-bottom-left-radius: @radius;
	border-top-left-radius: @radius;
	border-bottom-left-radius: @radius;
}
.border_radius_bottom(@radius:4px) {
	-webkit-border-bottom-left-radius: @radius;
	-webkit-border-bottom-right-radius: @radius;
	border-bottom-left-radius: @radius;
	border-bottom-right-radius: @radius;
}
.border_radius_top(@radius:4px) {
	-webkit-border-top-left-radius: @radius;
	-webkit-border-top-right-radius: @radius;
	border-top-left-radius: @radius;
	border-top-right-radius: @radius;
}
.opacity(@opacity:0.75) {
	filter:~"alpha(opacity=@opacity * 100)";
	-moz-opacity:@opacity;
	-khtml-opacity: @opacity;
	opacity: @opacity;
}
.box_shadow(@shadow_x:3px, @shadow_y:3px, @shadow_rad:3px, @shadow_in:3px, @shadow_color:#888) {
	box-shadow:@shadow_x @shadow_y @shadow_rad @shadow_in @shadow_color;
	-webkit-box-shadow:@shadow_x @shadow_y @shadow_rad @shadow_in @shadow_color;
}
.inset_box_shadow(@shadow_x:3px, @shadow_y:3px, @shadow_rad:3px, @shadow_in:3px, @shadow_color:#888) {
	box-shadow:inset @shadow_x @shadow_y @shadow_rad @shadow_in @shadow_color;
	-webkit-box-shadow:inset @shadow_x @shadow_y @shadow_rad @shadow_in @shadow_color;
}
.text_shadow(@shadow_x:3px, @shadow_y:3px, @shadow_rad:3px, @shadow_color:#fff) {
	text-shadow:@shadow_x @shadow_y @shadow_rad @shadow_color;
}
.vertical_gradient(@from: #000, @to: #FFF) {
	background: @from;
	background: -webkit-gradient(linear, left top, left bottom, from(@from), to(@to));
	background: -webkit-linear-gradient(@from, @to);
	background: -moz-linear-gradient(center top, @from 0%, @to 100%);
	background: -moz-gradient(center top, @from 0%, @to 100%);
}
.transition(@selector:all, @animation:ease-in-out, @duration:.2s) {
	-webkit-transition:@selector @animation @duration;
	-moz-transition:@selector @animation @duration;
	-o-transition:@selector @animation @duration;
	transition:@selector @animation @duration;
}

.scale(@ratio:1.5){
  -webkit-transform:scale(@ratio);
  -moz-transform:scale(@ratio);
  -ms-transform:scale(@ratio);
  -o-transform:scale(@ratio);
  transform:scale(@ratio);
}

.borderbox () {
	-webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
	-moz-box-sizing: border-box;    /* Firefox, other Gecko */
	box-sizing: border-box;         /* Opera/IE 8+ */
}

.clear { clear: both; }
.nobr { white-space: nowrap; }

.darkorlighttextshadow ( @a, @opacity: 0.8 ) when (lightness(@a) >= 65%) { .text_shadow( 0, -1px, 0, rgba(0,0,0,@opacity) ); }
.darkorlighttextshadow ( @a, @opacity: 0.8 ) when (lightness(@a) < 65%) { .text_shadow( 0, 1px, 0, rgba(255,255,255,@opacity) ); }

/**
 * Objects
 */
.menu() {
	.clearfix;
	li {
		display: inline-block;
	}
}
.mediaright() {
	.clearfix;
	img {
		float:right;
		height:auto;
	}
}
.medialeft() {
	.clearfix;
	img {
		float:right;
		height:auto;
	}
}
.ir() {
	display: block;
	text-indent: -9999px;
	position: relative;
	height:1em;
	width:1em;
}

.margin( @top:0, @right:0px, @bottom:0px , @left:0 ){
	margin-top: @top;
	margin-right: @right;
	margin-bottom: @bottom;
	margin-left: @left;
}

.padding( @top:0, @right:0px, @bottom:0px , @left:0 ){
	padding-top: @top;
	padding-right: @right;
	padding-bottom: @bottom;
	padding-left: @left;
}

.background( @url, @repeat:no-repeat, @hoz:0, @ver:0, @color ){
	background: url(@url) @repeat @hoz @ver @color;
}