@woocommerce:   #ad74a2;
@green:         #7ad03a;
@red:           #a00;
@orange:        #ffba00;
@blue:          #2ea2cc;

@tm-primary: #111;
@tm-secondary: #d5514d;
@tm-hover: #E84A5F;
@tm-danger: #d5514d;
@tm-warning: #f28a34;

// Extendable class to get selector
// 
.body-font {
	font-family: 'Lato Regular', sans-serif;
}
.heading-font {
	font-family: 'Playfair Display', sans-serif;
}
.primary-color {
	color: @tm-primary;
}
.primary-bg-color {
	background-color: @tm-primary;
}
.secondary-color {
	color: @tm-secondary;
}
.secondary-bg-color {
	background-color: @tm-secondary;
}
.secondary-border-color {
	border-color: @tm-secondary !important;
}
.body-color {
	color: #333;
}
.link-color {
	color: @tm-secondary;
}
.link-color-hover {
	color: @tm-secondary + #222;
}

.header-bg-color {
	background-color: @tm-primary;
}
.header-color {
	color: #eee;
}
.header-link-color-hover {
	color: @tm-secondary;
}

.footer-color {
	color: #eee;
}


.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-out, @duration:.3s) {
	-webkit-transition:@selector @animation @duration;
	-moz-transition:@selector @animation @duration;
	-o-transition:@selector @animation @duration;
	transition:@selector @animation @duration;
}
.transform(@string){
	-webkit-transform:   @string;
	-moz-transform: 	 @string;
	-ms-transform: 		 @string;
	-o-transform: 		 @string;
}

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

.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;
}
.icon( @glyph: "\e001" ) {
	font-family: 'WooCommerce';
	speak: none;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	-webkit-font-smoothing: antialiased;
	margin:0;
	text-indent: 0;
	position: absolute;
	top:0;
	left:0;
	width:100%;
	height: 100%;
	text-align: center;
	content: @glyph;
}
.iconbefore( @glyph: "\e001" ) {
	font-family: 'WooCommerce';
	speak: none;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	-webkit-font-smoothing: antialiased;
	margin-right:7px;
	content: @glyph;
}
.iconafter( @glyph: "\e001" ) {
	font-family: 'WooCommerce';
	speak: none;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	-webkit-font-smoothing: antialiased;
	margin-left:7px;
	content: @glyph;
}
.font-awesome(@arg) {
	content: @arg;
	font-family: "fontawesome";
	display: inline-block;
	font-style: normal;
	font-weight: normal;
	text-decoration: inherit;
	-webkit-font-smoothing: antialiased;
	speak: none;
}

// retina.less
// A helper mixin for applying high-resolution background images (http://www.retinajs.com)

@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)";

.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;
  }
}