.clearfix() {
//	*zoom:1;
	&:before,
	&:after {
		content: " ";
		display: table;
	}
	&:after {
		clear: both;
	}
}
.placeholder(@color: @input-color-placeholder) {
	&:-moz-placeholder            { color: @color; } // Firefox 4-18
	&::-moz-placeholder           { color: @color; } // Firefox 19+
	&:-ms-input-placeholder       { color: @color; } // Internet Explorer 10+
	&::-webkit-input-placeholder  { color: @color; } // Safari and Chrome
}
.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;
}
.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);
}
.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%);
}
.bw-gradient(@color: #F5F5F5, @start: 0, @stop: 255) {
	background: @color;
	background: -webkit-gradient(linear,
	left bottom,
	left top,
	color-stop(0, rgb(@start,@start,@start)),
	color-stop(1, rgb(@stop,@stop,@stop)));
	background: -ms-linear-gradient(bottom,
	rgb(@start,@start,@start) 0%,
	rgb(@stop,@stop,@stop) 100%);
	background: -moz-linear-gradient(center bottom,
	rgb(@start,@start,@start) 0%,
	rgb(@stop,@stop,@stop) 100%);
	background: -o-linear-gradient(rgb(@stop,@stop,@stop),
	rgb(@start,@start,@start));
	filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",rgb(@stop,@stop,@stop),rgb(@start,@start,@start)));
}
.bordered(@top-color: #EEE, @right-color: #EEE, @bottom-color: #EEE, @left-color: #EEE) {
	border-top: solid 1px @top-color;
	border-left: solid 1px @left-color;
	border-right: solid 1px @right-color;
	border-bottom: solid 1px @bottom-color;
}
.drop-shadow(@x-axis: 0, @y-axis: 1px, @blur: 2px, @alpha: 0.1) {
	-webkit-box-shadow: @x-axis @y-axis @blur rgba(0, 0, 0, @alpha);
	-moz-box-shadow: @x-axis @y-axis @blur rgba(0, 0, 0, @alpha);
	box-shadow: @x-axis @y-axis @blur rgba(0, 0, 0, @alpha);
}
.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;
}
.rounded(@radius: 2px) {
	-webkit-border-radius: @radius;
	-moz-border-radius: @radius;
	border-radius: @radius;
}
.border-radius(@topright: 0, @bottomright: 0, @bottomleft: 0, @topleft: 0) {
	-webkit-border-top-right-radius: @topright;
	-webkit-border-bottom-right-radius: @bottomright;
	-webkit-border-bottom-left-radius: @bottomleft;
	-webkit-border-top-left-radius: @topleft;
	-moz-border-radius-topright: @topright;
	-moz-border-radius-bottomright: @bottomright;
	-moz-border-radius-bottomleft: @bottomleft;
	-moz-border-radius-topleft: @topleft;
	border-top-right-radius: @topright;
	border-bottom-right-radius: @bottomright;
	border-bottom-left-radius: @bottomleft;
	border-top-left-radius: @topleft;
	.background-clip(padding-box);
}
.opacity(@opacity: 0.5) {
	-moz-opacity: @opacity;
	-khtml-opacity: @opacity;
	-webkit-opacity: @opacity;
	opacity: @opacity;
	@opperc: @opacity * 100;
	-ms-filter: ~"progid:DXImageTransform.Microsoft.Alpha(opacity=@{opperc})";
	filter: ~"alpha(opacity=@{opperc})";
}
.transition-duration(@duration: 0.2s) {
	-moz-transition-duration: @duration;
	-webkit-transition-duration: @duration;
	-o-transition-duration: @duration;
	transition-duration: @duration;
}
.transition-delay(@delay: 0.2s) {
	-webkit-transition-delay: @delay;
	-moz-transition-delay: @delay;
	-o-transition-delay: @delay;
	transition-delay: @delay;
}
.transform(...) {
	-webkit-transform: @arguments;
	-moz-transform: @arguments;
	-o-transform: @arguments;
	-ms-transform: @arguments;
	transform: @arguments;
}
.rotation(@deg:5deg){
	.transform(rotate(@deg));
}
.scale(@ratio:1.5){
	.transform(scale(@ratio));
}
.scaleY(@ratio:1.5){
   .transform(scaleY(@ratio));
}
.scaleX(@ratio:1.5){
   .transform(scaleX(@ratio));
}
.transition(@duration:0.5s, @ease:cubic-bezier(0.215, 0.61, 0.355, 1)) {
	-webkit-transition: all @duration @ease;
	-moz-transition: all @duration @ease;
	-o-transition: all @duration @ease;
	transition: all @duration @ease;
}
.transform(@string){
	-webkit-transform: @string;
	-moz-transform: 	 @string;
	-ms-transform: 		 @string;
	-o-transform: 		 @string;
}
.translate (@x, @y:0) {
	-webkit-transform:       translate(@x, @y);
	-moz-transform: 	 translate(@x, @y);
	-ms-transform: 		 translate(@x, @y);
	-o-transform: 		 translate(@x, @y);
}
.translate3d (@x, @y: 0, @z: 0) {
	-webkit-transform:       translate3d(@x, @y, @z);
	-moz-transform: 	 translate3d(@x, @y, @z);
	-ms-transform: 		 translate3d(@x, @y, @z);
	-o-transform: 		 translate3d(@x, @y, @z);
}
.perspective (@value: 1000) {
	-webkit-perspective: 	@value;
	-moz-perspective: 	@value;
	-ms-perspective: 	@value;
	perspective: 		@value;
}
.transform-origin (@x:center, @y:center) {
	-webkit-transform-origin: @x @y;
	-moz-transform-origin:    @x @y;
	-ms-transform-origin:     @x @y;
	-o-transform-origin:      @x @y;
}
.skew (@deg, @deg2) {
	-webkit-transform:       skew(@deg, @deg2);
	-moz-transform: 	 skew(@deg, @deg2);
	-ms-transform: 		 skew(@deg, @deg2);
	-o-transform: 		 skew(@deg, @deg2);
}
.animation (@name, @duration: 300ms, @delay: 0, @ease: ease) {
	-webkit-animation: @name @duration @delay @ease;
	-moz-animation:    @name @duration @delay @ease;
	-ms-animation:     @name @duration @delay @ease;
}
.inner-shadow(@horizontal:0, @vertical:1px, @blur:2px, @alpha: 0.4) {
	-webkit-box-shadow: inset @horizontal @vertical @blur rgba(0, 0, 0, @alpha);
	-moz-box-shadow: inset @horizontal @vertical @blur rgba(0, 0, 0, @alpha);
	box-shadow: inset @horizontal @vertical @blur rgba(0, 0, 0, @alpha);
}
.box-shadow(@arguments) {
	-webkit-box-shadow: @arguments;
	-moz-box-shadow: @arguments;
	box-shadow: @arguments;
}
.box-sizing(@sizing: border-box) {
	-ms-box-sizing: @sizing;
	-moz-box-sizing: @sizing;
	-webkit-box-sizing: @sizing;
	box-sizing: @sizing;
}
.user-select(@argument: none) {
	-webkit-user-select: @argument;
	-moz-user-select: @argument;
	-ms-user-select: @argument;
	user-select: @argument;
}
.columns(@colwidth: 250px, @colcount: 0, @colgap: 50px, @columnRuleColor: #EEE, @columnRuleStyle: solid, @columnRuleWidth: 1px) {
	-moz-column-width: @colwidth;
	-moz-column-count: @colcount;
	-moz-column-gap: @colgap;
	-moz-column-rule-color: @columnRuleColor;
	-moz-column-rule-style: @columnRuleStyle;
	-moz-column-rule-width: @columnRuleWidth;
	-webkit-column-width: @colwidth;
	-webkit-column-count: @colcount;
	-webkit-column-gap: @colgap;
	-webkit-column-rule-color: @columnRuleColor;
	-webkit-column-rule-style: @columnRuleStyle;
	-webkit-column-rule-width: @columnRuleWidth;
	column-width: @colwidth;
	column-count: @colcount;
	column-gap: @colgap;
	column-rule-color: @columnRuleColor;
	column-rule-style: @columnRuleStyle;
	column-rule-width: @columnRuleWidth;
}
.background-clip(@argument: padding-box) {
	-moz-background-clip: @argument;
	-webkit-background-clip: @argument;
	background-clip: @argument;
}
.font-size(@sizeValue) {
	@remValue: @sizeValue;
	@pxValue: (@sizeValue * 10);
	font-size: ~"@{pxValue}px";
	font-size: ~"@{remValue}rem";
}
.center-block() {
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.text-truncate() {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.absolute-center() {
	margin: auto;
	position: absolute;
	top: 0; left: 0; bottom: 0; right: 0;
}
.iconbefore( @glyph: "\e001" ) {
	font-family: 'start';
	speak: none;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	margin-right:7px;
	content: @glyph;
}
.backface-visibility(){
	-webkit-backface-visibility:hidden;
	-moz-backface-visibility:hidden;
	-ms-backface-visibility:hidden;
	-o-backface-visibility:hidden;
	backface-visibility:hidden;
}
.is-Translated (@width:100%){
   width: @width;
   margin: auto;
   position: absolute;
   top: 50%;
   left: 50%;
   -webkit-transform: translate(-50%,-50%);
   transform: translate(-50%,-50%);
}
.at2x(@path, @w: auto, @h: auto) {
	background-image: url(@path);
	@at2x_path: ~`@{path}.replace(/\.\w+$/, function(match) { return "@2x" + match; })`;

	@media @highdpi {
		background-image: url("@{at2x_path}");
		background-size: @w @h;
	}
}
//****************************** VARIABLES ******************************//
// font stacks
@sans-serif: Arial, sans-serif;
@serif: "Times New Roman", Times, serif;
// == Breakpoints - Updates for small tablets and smart phones in landscape
@xs:   ~"only screen and (min-width: 30em)";
@xs-max:   ~"only screen and (max-width: 767px)";
// Updates for tablets in portrait
@sm:    ~"only screen and (min-width: 768px)";
@sm-max:   ~"(max-width: 992px)";
// Updates for tablets in landscape
@md:   ~"only screen and (min-width: 992px)";
@md-max:   ~"(max-width: 1199px)";
// Updates for desktop
@lg:   ~"only screen and (min-width: 1200px)";
// Updates for ultra desktop
@xlg:   ~"only screen and (min-width: 100em)";
// High resolution screens e.g. Retina
@retina: ~"(-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi)";
@highdpi: ~"(-webkit-min-device-pixel-ratio: 1.5), (min--moz-device-pixel-ratio: 1.5), (-o-min-device-pixel-ratio: 3/2), (min-resolution: 1.5dppx)";
.clear--ex(){
   &:extend(.clr all);
}
.iconfont--ex(){
	&:extend(.icf);
}
.kulerfont--ex(){
	&:extend(.kuler);
}
.transition--ex(){
	&:extend(.tran);
}
@color--progress: #000;