@import "mixins";
@import "woocommerce-base"; /* Contains base colours like @primary */

/* Colours */
@tertiary: 		@primary; 									/* Price slider bar / layered nav UI */
@tertiarytext: 	@primarytext;								/* Text on tertiary colour bg */
@quaternary: 	desaturate( darken( @tertiary, 45%), 40% ); /* Price slider bg */

/* =Global styles/layout
-------------------------------------------------------------- */
.woocommerce-message, .woocommerce-error, .woocommerce-info {
	padding: 1em 1em 1em 3.5em;
	margin: 0 0 2em;
	position: relative;
	.border_radius(4px);
	.vertical_gradient( lighten( @secondary, 2 ), @secondary );
	color: @secondarytext;
	.text_shadow( 0, 1px, 0, lighten( @secondary, 4 ) );
	list-style:none outside;
	.clearfix();
	width: auto;
	-webkit-box-shadow:
		inset 0 -2px 6px rgba(0,0,0,0.05),
		inset 0 -2px 30px rgba(0,0,0,0.015),
		inset 0 1px 0 #fff,
		0 1px 2px rgba(0,0,0,0.3);
	box-shadow:
		inset 0 -2px 6px rgba(0,0,0,0.05),
		inset 0 -2px 30px rgba(0,0,0,0.015),
		inset 0 1px 0 #fff,
		0 1px 2px rgba(0,0,0,0.3);

	&:before {
		content: "";
		height: 1.5em;
		width: 1.5em;
		display:block;
		position:absolute;
		top: 0;
		left: 1em;
		font-family: sans-serif;
		font-size:1em;
		line-height: 1.5;
		text-align: center;
		color: #fff;
		text-shadow:0 1px 0 rgba(0,0,0,0.2);
		padding-top:1em;
		.border_radius_bottom(4px);
		.inset_box_shadow(0,-1px,0,0,rgba(0,0,0,0.1));
	}

	.button {
		float: right;
	}

	li {
		list-style:none outside;
		padding-left:0;
		margin-left:0;
	}
}

.woocommerce-message {
	border-top:3px solid #8fae1b;
	&:before {
		background-color:#8fae1b;
		content: "\2713";
	}
}
.woocommerce-info {
	border-top:3px solid #1e85be;
	&:before {
		background-color:#1e85be;
		content: "i";
		font-family: Times, Georgia, serif;
		font-style: italic;
	}
}
.woocommerce-error {
	border-top:3px solid #b81c23;
	&:before {
		background-color:#b81c23;
		content: "\00d7";
		font-weight: 700;
	}
}

p.demo_store {
	position:fixed;
	top: 0;
	left: 0;
	right: 0;
	margin: 0;
	width: 100%;
	font-size: 1em;
	padding: .5em 0;
	text-align: center;
	.vertical_gradient( @primary, darken(@primary, 10) );
	border: 1px solid darken(@primary, 10);
	color: @primarytext;
	z-index: 99998;
	.inset_box_shadow( 0, 0, 0, 3px, rgba(255,255,255,0.2) );
}

.admin-bar { // Styles applied when the admin bar is present
	p.demo_store {
		top:28px;
	}
}

.woocommerce, .woocommerce-page { // namespace to avoid conflict with common global class names

	small.note {
		display:block;
		color: @subtext;
		font-size: 11px;
		line-height: 21px;
		margin-top: 10px;
	}

	.woocommerce-breadcrumb{
		.clearfix();
		margin: 0 0 1em;
		padding: 0;
		font-size: 0.92em;
		color: @subtext;
		a {
			color: @subtext;
		}
	}

	.col2-set {
		.clearfix;
		width: 100%;
		.col-1 {
			float:left;
			width: 48%;
		}
		.col-2 {
			float: right;
			width: 48%;
		}
	}

	/* =Product Page
	-------------------------------------------------------------- */

	div.product, #content div.product {
		margin-bottom: 0;
		position: relative;

		/* Main product title */
		.product_title {
			clear:none;
			margin-top: 0;
			padding: 0;
		}

		/* Price */
		span.price, p.price {
			color: @highlight;
			font-size: 1.25em;
			ins {
				background: inherit;
			}
			del {
				font-size: 0.67em;
				color:fade( desaturate( @highlight, 75% ), 50% );
			}
		}

		/* Stock */
		p.stock {
			font-size: 0.92em;
		}
		.stock {
			color: @highlight;
		}
		.out-of-stock {
			color: red;
		}

		/* Product image and thumbnail */
		div.images {
			float:left;
			width: 48%;
			margin-bottom: 2em;
			img {
				display:block;
				width: 100%;
				height:auto;
				.box_shadow(0,1px,2px,0,rgba(0,0,0,0.3));
				.transition();
			}
			div.thumbnails {
				padding-top: 1em;
				.clearfix;
				a {
					float:left;
					width: 30.75%;
					margin-right: 3.8%;
				}
				a.last {
					margin-right: 0;
				}
				a.first {
					clear:both;
				}
			}
		}

		/* Summary div (contains title, price etc) */
		div.summary {
			float: right;
			width: 48%;
			margin-bottom: 2em;
		}

		/* Social networking */
		div.social {
			text-align: right;
			margin: 0 0 1em;
			span {
				margin: 0 0 0 2px;
				span {
					margin: 0;
				}
				.stButton .chicklets {
					padding-left: 16px;
					width: 0;
				}
			}
			iframe {
				float:left;
				margin-top: 3px;
			}
		}

		/* Tabs on the product page */
		.woocommerce-tabs {
			clear:both;

			ul.tabs {
			    list-style:none;
			    padding: 0 0 0 1em;
			    margin: 0 0 1.618em;
			    overflow:hidden;
			    position: relative;

			    li {
			    	border: 1px solid darken( @secondary, 10 );
				    .vertical_gradient( @secondary, darken( @secondary, 10 ) );
				    display: inline-block;
				    position: relative;
				    z-index: 0;
				    .border_radius_top(4px);
				    box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2), inset 0 1px 0 rgba(255,255,255,0.6);
				    margin: 0 -5px;
				    padding: 0 1em;

				    a {
				    	display: inline-block;
				    	padding: .5em 0;
				    	font-weight:bold;
				    	color: @secondarytext;
				    	.darkorlighttextshadow( @secondarytext );
				    	text-decoration: none;

				    	&:hover {
				    		text-decoration:none;
				    		color: lighten( @secondarytext, 10 );
				    	}
				    }

				    &.active {
				    	background: @contentbg;
					    z-index: 2;
					    border-bottom-color: @contentbg;

					    a {
					    	color: inherit;
					    	text-shadow: inherit;
					    }

					    &:before {
					    	box-shadow: 2px 2px 0 @contentbg;
					    }

					    &:after {
					    	box-shadow: -2px 2px 0 @contentbg;
					    }
				    }
				    &:before, &:after {
				    	border: 1px solid darken( @secondary, 10 );
					    position:absolute;
					    bottom: -1px;
					    width: 5px;
					    height: 5px;
					    content: " ";
				    }
				    &:before {
				    	left: -6px;
				    	-webkit-border-bottom-right-radius: 4px;
				    	-mox-border-bottom-right-radius: 4px;
					    border-bottom-right-radius: 4px;
					    border-width: 0 1px 1px 0;
					    box-shadow: 2px 2px 0 darken( @secondary, 10 );
				    }
				    &:after {
				    	right: -6px;
				    	-webkit-border-bottom-left-radius: 4px;
				    	-mox-border-bottom-left-radius: 4px;
					    border-bottom-left-radius: 4px;
					    border-width: 0 0 1px 1px;
					    box-shadow: -2px 2px 0 darken( @secondary, 10 );
				    }
			    }
			    &:before {
			    	position:absolute;
				    content: " ";
				    width: 100%;
				    bottom: 0;
				    left: 0;
				    border-bottom: 1px solid darken( @secondary, 10 );
				    z-index: 1;
			    }
			}
			.panel {
				margin: 0 0 2em;
				padding: 0;
			}
		}

		/* Cart button */
		p.cart {
			margin-bottom: 2em;
			.clearfix();
		}

		/* add to cart forms */
		form.cart {
			margin-bottom: 2em;
			.clearfix();
			div.quantity {
				float:left;
				margin: 0 4px 0 0;
			}
			table {
				border-width: 0 0 1px 0;
				td {
					padding-left:0;
				}
				div.quantity {
					float:none;
					margin: 0;
				}
				small.stock {
					display:block;
					float:none;
				}
			}
			.variations {
				margin-bottom: 1em;
				label {
					font-weight: bold;
				}
				select {
					width: 100%;
					float:left;
				}
				td.label {
					padding-right: 1em;
				}
				td {
					vertical-align: top;
				}
			}
			.button {
				vertical-align: middle;
				float:left;
			}

			.group_table {
				td.label {
					padding-right: 1em;
					padding-left: 1em;
				}
				td {
					vertical-align: top;
				}
			}
		}
	}

	/* Sale labels */
	span.onsale {
		min-height: 32px;
		min-width: 32px;
		padding: 4px;
		font-size: 12px;
		font-weight:bold;
		position:absolute;
		text-align: center;
		line-height: 32px;
		top: 6px;
		left: 6px;
		margin: 0;
		.border_radius(20px);
		.vertical_gradient( lighten( @highlight, 10), @highlight );
		.text_shadow( 0, -1px, 0, @highlight );
		color: @highlightext;
		-webkit-box-shadow:
			inset 0 1px 0 rgba(255,255,255,0.3),
			inset 0 -1px 0 rgba(0,0,0,0.2),
			0 1px 2px rgba(0,0,0,0.2);
		-moz-box-shadow:
			inset 0 1px 0 rgba(255,255,255,0.3),
			inset 0 -1px 0 rgba(0,0,0,0.2),
			0 1px 2px rgba(0,0,0,0.2);
		box-shadow:
			inset 0 1px 0 rgba(255,255,255,0.3),
			inset 0 -1px 0 rgba(0,0,0,0.2),
			0 1px 2px rgba(0,0,0,0.2);
	}

	/* Product loops */

	.products ul, ul.products {
		margin: 0 0 1em;
		padding: 0;
		list-style:none outside;
		clear:both;
		.clearfix();
		li {
			list-style:none outside;
		}
	}

	.related, .upsells.products {
		.clearfix();
		ul.products, ul {
			float:none;
			li.product {
				
				img {
					width: 100%;
					height:auto;
				}
			}
		}
	}

	ul.products {
		li.product {
			float:left;
			
			.onsale {
				top: 0;
				right: 0;
				left:auto;
				margin: -6px -6px 0 0;
			}
			h3 {
				padding: .5em 0;
				margin: 0;
				font-size: 1em;
			}
			a {
				text-decoration:none;
			}
			a img {
				width: 100%;
				height:auto;
				display:block;
				margin: 0 0 8px;
				.box_shadow(0,1px,2px,0,rgba(0,0,0,0.3));
				.transition();
			}
			a:hover img {
				.box_shadow(0,1px,3px,0,rgba(0,0,0,0.4));
			}
			strong {
				display:block;
			}
			.price {
				color: @highlight;
				display:block;
				font-weight:normal;
				margin-bottom: .5em;
				del {
					font-size: 0.67em;
					color:fade( desaturate( @highlight, 75% ), 50% );
					margin: -2px 0 0 0;
				}
				ins {
					background:none;
				}
				.from {
					font-size: 0.67em;
					margin: -2px 0 0 0;
					text-transform: uppercase;
					color:fade( desaturate( @highlight, 75% ), 50% );
				}
			}
		}
		li.first {
			clear:both;
		}
		li.last {
			margin-right: 0;
		}
	}

	.woocommerce-result-count {
		float: left;
		margin: 0 0 1em;
	}
	.woocommerce-ordering {
		margin: 0 0 1em;
		float: right;
		select {
			vertical-align: top;
		}
	}
	nav.woocommerce-pagination, #content nav.woocommerce-pagination {
		text-align: center;
		ul {
			display: inline-block;
			white-space: nowrap;
			clear: both;
			border: 1px solid darken( @secondary, 10 );
			border-right: 0;
			margin: 1px;
			li {
				border-right: 1px solid darken( @secondary, 10 );
				padding: 0;
				margin: 0;
				float: left;
				display: inline;
				overflow: hidden;
				a, span {
					margin: 0;
					text-decoration: none;
					padding: 0;
					line-height: 1em;
					font-size: 1em;
					font-weight: normal;
					padding: .5em;
					min-width: 1em;
					display: block;
				}
				span.current, a:hover, a:focus {
					background: @secondary;
					color: darken( @secondary, 40 );
				}
			}
		}
	}

	/* =Buttons
	-------------------------------------------------------------- */

	a.button, button.button, input.button, #respond input#submit, #content input.button {
		font-size: 100%;
	    margin: 0;
	    line-height: 1em;
	    cursor: pointer;
	    position: relative;
	    font-family: inherit;
		text-decoration:none;
		overflow: visible;
		padding: 6px 10px;
	    text-decoration:none;
	    font-weight:bold;
	    .border_radius(2px);
	    left: auto;
	    text-shadow:0 1px 0 @secondary + #111;
	    color: @secondarytext;
	    .darkorlighttextshadow( @secondarytext );
	    border: 1px solid darken( @secondary, 20 );
		.vertical_gradient( @secondary, darken( @secondary, 10 ) );
		white-space: nowrap;
		display: inline-block;

	    -webkit-box-shadow:
	        inset 0 -1px 0 rgba(0,0,0,0.075),
	        inset 0 1px 0 rgba(255,255,255,0.3),
	        0 1px 2px rgba(0,0,0,0.1);
	    -moz-box-shadow:
	        inset 0 -1px 0 rgba(0,0,0,0.075),
	        inset 0 1px 0 rgba(255,255,255,0.3),
	        0 1px 2px rgba(0,0,0,0.1);
	    box-shadow:
	        inset 0 -1px 0 rgba(0,0,0,0.075),
	        inset 0 1px 0 rgba(255,255,255,0.3),
	        0 1px 2px rgba(0,0,0,0.1);

		&.loading {
			color: lighten( @secondarytext, 10 );
			border: 1px solid @secondary;

			&:before {
				content: "";
				position:absolute;
				top: 0;
				right: 0;
				left: 0;
				bottom: 0;
				background: url(../../../plugins/woocommerce/assets/images/ajax-loader.gif) center no-repeat rgba(255,255,255,0.65);
			}
		}

		&.added {
			&:before {
				content: "";
				position:absolute;
				height: 16px;
				width: 16px;
				top: 0.35em;
				right: -26px;
				text-indent: 0;
				background: url(../../../plugins/woocommerce/assets/images/success.png) no-repeat;
			}
		}

		&:hover {
			.vertical_gradient( @secondary, darken( @secondary, 15 ) );
			text-decoration:none;
		}

		&:active {
			top: 1px;
		}

		&.alt {
			.vertical_gradient( @primary, darken( @primary, 10 ) );
			border-color: darken(@primary, 20);
			color: @primarytext;
			.darkorlighttextshadow( @primarytext, 0.6 );

			&:hover {
				.vertical_gradient( @primary, darken( @primary, 15 ) );
				color:@primarytext + #111;
				.darkorlighttextshadow( @primarytext + #111, 0.6 );
			}
		}
	}

	.cart .button, .cart input.button {
		float:none;
	}

	a.added_to_cart {
		padding-top: .5em;
		white-space: nowrap;
		display: inline-block;
	}

	/* =Quantity inputs
	-------------------------------------------------------------- */

	.quantity, #content .quantity {
		width: 60px;
		position: relative;
		margin: 0 auto;
		overflow:hidden;
		zoom: 1;

		/* Disable input[type=number] buttons until the world is ready */
		input::-webkit-outer-spin-button, input::-webkit-inner-spin-button {
			display:none;
		}

		input.qty {
			width: 40px;
			height: 28px;
			float:left;
			padding: 0;
			text-align: center;
			border: 1px solid darken( @secondary, 20 );
			border-right: 0;
			.border_radius_right(0);
			.inset_box_shadow( 0, 0, 2px, 0, @secondary );
			font-weight:bold;
			.border_radius_left(2px);
		}

		/* Hide buttons for opera */
		noindex:-o-prefocus, input[type=number] {
		    padding-right: 1.2em;
		}

		.plus, .minus {
			display:block;
			padding: 0;
			margin: 0;
			position:absolute;
			text-align: center;
			vertical-align: text-top;
			width: 20px;
			height: 15px;
			text-decoration:none;
			overflow: visible;
		    text-decoration:none;
		    font-weight:bold;
		    cursor: pointer;
		    line-height: 13px;
		    font-size: 12px;
		    .border_radius(2px);

		    color: @secondarytext;
			.darkorlighttextshadow( @secondarytext );
			border: 1px solid darken( @secondary, 20 );
			.vertical_gradient( @secondary, darken( @secondary, 10 ) );

		    -webkit-box-shadow:
		        inset 0 -1px 0 rgba(0,0,0,0.075),
		        inset 0 1px 0 rgba(255,255,255,0.3),
		        0 1px 2px rgba(0,0,0,0.1);
		    -moz-box-shadow:
		        inset 0 -1px 0 rgba(0,0,0,0.075),
		        inset 0 1px 0 rgba(255,255,255,0.3),
		        0 1px 2px rgba(0,0,0,0.1);
		    box-shadow:
		        inset 0 -1px 0 rgba(0,0,0,0.075),
		        inset 0 1px 0 rgba(255,255,255,0.3),
		        0 1px 2px rgba(0,0,0,0.1);

		    &:hover {
		    	.vertical_gradient( @secondary, darken( @secondary, 15 ) );
		    }
		}

		.plus {
			top: 0;
			right: 0;
			border-bottom: 0;
			.border_radius_bottom(0);
		}

		.minus {
			bottom: 0;
			right: 0;
			.border_radius_top(0);
		}
	}

	/* =Reviews/comments
	-------------------------------------------------------------- */
	#reviews {
		h2 small {
			float: right;
			color: @subtext;
			font-size: 15px;
			line-height: 21px;
			margin: 10px 0 0 0;
			a {
				text-decoration:none;
				color: @subtext;
			}
		}
		h3 {
			margin: 0;
		}
		#respond {
			margin: 0;
			border: 0;
			padding: 0;
		}
		#comment {
			height: 75px;
		}
		#comments {
			.add_review {
				.clearfix();
			}
			h2 {
				clear:none;
			}
			ol.commentlist {
				.clearfix();
				margin: 0;
				width: 100%;
				background:none;
				list-style: none;
				li {
					padding: 00;
					margin: 0 0 20px;
					border: 0;
					position: relative;
					background: 0;
					border: 0;
					.meta {
						color: @subtext;
						font-size: 0.75em;
					}
					img.avatar {
						float:left;
						position:absolute;
						top: 0;
						left: 0;
						padding: 3px;
						width: 32px;
						height:auto;
						background: @secondary;
						border: 1px solid darken( @secondary, 3 );
						margin: 0;
						line-height: 1;
					}
					.comment-text {
						margin: 0 0 0 50px;
						border: 1px solid darken( @secondary, 3 );
						.border_radius(4px);
						padding: 1em 1em 0;
						p {
							margin: 0 0 1em;
						}
						p.meta {
							font-size: 0.83em;
						}
					}
				}
			}
			.commentlist > li:before {
				content: "";
			}
		}
	}

	/* Star rating */
	.star-rating {
		float: right;
		overflow: hidden;
		position: relative;
		height: 1em;
		line-height: 1em;
		font-size: 1em;
		width: 5.4em;
		font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
		&:before {
			content: "\2606\2606\2606\2606\2606";
			color: darken( @secondary, 10 );
			float: left;
			top: 0;
			left: 0;
			position: absolute;
			letter-spacing: 0.1em;
			letter-spacing:0\9; // IE8 & below hack ;-(
		}
		span {
			overflow: hidden;
			float: left;
			top: 0;
			left: 0;
			position: absolute;
			padding-top: 1.5em;
		}
		span:before {
			content: "\2605\2605\2605\2605\2605";
			top: 0;
			position: absolute;
			left: 0;
			letter-spacing: 0.1em;
			letter-spacing:0\9; // IE8 & below hack ;-(
		}
	}

	.products {
		.star-rating {
			display: block;
			margin: 0 0 .5em;
			float: none;
		}
	}

	.hreview-aggregate {
		.star-rating {
			margin: 10px 0 0 0;
		}
	}

	#review_form {
		#respond {
			.clearfix();
			position: static;
			margin: 0;
			width: auto;
			padding: 0 0 0;
			background: transparent none;
			border: 0;
			p {
				margin: 0 0 10px;
			}
			.form-submit {
				input {
					left: auto;
				}
			}
			textarea {
				-webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
				-moz-box-sizing: border-box;    /* Firefox, other Gecko */
				box-sizing: border-box;         /* Opera/IE 8+ */
				width: 100%;
			}
		}
	}

	p.stars {
		overflow: hidden;
		position: relative;
		height: 1em;
		line-height: 1em;
		font-size: 1em;
		width: 5.4em;
		font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important;
		&:before {
			content: "\2606\2606\2606\2606\2606";
			float: left;
			top: 0;
			left: 0;
			position: absolute;
			letter-spacing: 0.1em;
			letter-spacing:0\9; // IE8 & below hack ;-(
			color: darken( @secondary, 10 );
		}

		a {
			float: left;
			position: absolute;
			left: 0;
			top: 0;
			width: 1em;
			height: 0;
			padding-top: 1em;
			overflow: hidden;
			&:before {
				content: "\2605\2605\2605\2605\2605";
				top: 0;
				position: absolute;
				left: 0;
				letter-spacing: 0.1em;
				letter-spacing:0\9; // IE8 & below hack ;-(
				visibility: hidden;
			}
		}
		a:hover:before, a:focus:before {
			color: @primary;
			visibility: visible;
		}
		a.active:before {
			color: @primary;
			visibility: visible;
		}
		a.star-1 { width: 1em; z-index: 10; }
		a.star-2 { width: 2.1em; z-index: 9; }
		a.star-3 { width: 3.2em; z-index: 8; }
		a.star-4 { width: 4.3em; z-index: 7; }
		a.star-5 { width: 5.4em; z-index: 6; }
	}

	/* =Tables
	-------------------------------------------------------------- */

	table.shop_attributes {
		border: 0;
		border-top: 1px dotted rgba(0,0,0,0.1);
		margin-bottom: 1.618em;
		width: 100%;
		th {
			width: 150px;
			font-weight:bold;
			padding: 8px;
			border-top: 0;
			border-bottom: 1px dotted rgba(0,0,0,0.1);
			margin: 0;
			line-height: 1.5em;
		}
		td {
			font-style: italic;
			padding: 0;
			border-top: 0;
			border-bottom: 1px dotted rgba(0,0,0,0.1);
			margin: 0;
			line-height: 1.5em;
			p {
				margin: 0;
				padding: 8px 0;
			}
		}
		.alt td, .alt th {
			background: rgba(0,0,0,0.025);
		}
	}

	table.shop_table {
		border: 1px solid rgba(0,0,0,0.1);
		margin: 0px -1px 24px 0px;
		text-align:left;
		width: 100%;
		border-collapse: separate;
		.border_radius(5px);
		th {
			font-weight:bold;
			line-height: 18px;
			padding: 9px 12px;
		}
		td {
			border-top: 1px solid rgba(0,0,0,0.1);
			padding: 6px 12px;
			vertical-align: middle;
			small {
				font-weight: normal;
			}
		}
		tfoot td, tfoot th {
			font-weight:bold;
			border-top: 1px solid rgba(0,0,0,0.1);
		}
	}

	table.my_account_orders {
		font-size: 0.85em;
		th, td {
			padding: 4px 8px;
			vertical-align: middle;
		}
		.button {
			white-space:nowrap;
		}
		.order-actions {
			text-align: right;
			.button {
				margin: .125em 0 .125em .25em;
			}
		}
	}

	td.product-name {
		dl.variation {
			margin: .25em 0 .5em;
			font-size: 0.8751em;
			dt {
				font-weight:bold;
				float:left;
				clear:left;
				margin: 0 .25em 0 0;
				padding: 0;
			}
			dd {
				margin: 0 0 .25em 0;
			}
		}
		p.backorder_notification {
			font-size: 0.83em;
		}
	}

	td.product-quantity {
		min-width: 80px;
	}

	/* =Cart
	-------------------------------------------------------------- */

	table.cart, #content table.cart {
		.product-thumbnail {
			min-width: 32px;
		}
		img {
			width: 32px;
			height:auto;
		}
		th, td {
			vertical-align: middle;
		}
		a.remove {
			display:block;
			font-size:1.5em;
			height:1em;
			width:1em;
			text-align: center;
			line-height: 1;
			.border_radius(100%);
			color: red;
			text-decoration: none;
			font-weight: bold;
		}
		a.remove:hover {
			background-color: red;
			color: #fff;
		}
		td.actions {
			text-align: right;
			.coupon {
				float:left;
				label {
					display:none;
				}
				.input-text {
					width: 80px;
					float:left;
					-webkit-box-sizing:border-box;
					-moz-box-sizing:border-box;
					box-sizing:border-box;

					.inset_box_shadow(0, 1px, 4px, 0, rgba(0,0,0,0.1));

					border: 1px solid darken( @secondary, 10 );
					padding: 6px 6px 5px;
					margin: 0 4px 0 0;
					outline: 0;
					//background: lighten(@secondary, 5) none;
					line-height: 1em;
				}
			}
			.button.alt {
				float: right;
				margin-left: .25em;
			}
		}
		input {
			margin: 0;
			vertical-align: middle;
			line-height: 1em;
		}
	}


	/* =Cart Sidebar
	-------------------------------------------------------------- */

	ul.cart_list, ul.product_list_widget {
		list-style:none outside;
		padding: 0;
		margin: 0;
		li {
			padding: 4px 0;
			margin: 0;
			.clearfix;
			list-style:none;
			a {
				display:block;
				font-weight:bold;
			}
			img {
				float: right;
				margin-left: 4px;
				width: 32px;
				height:auto;
				.box_shadow(0,1px,2px,0,rgba(0,0,0,0.3));
			}
			dl {
				margin: 0;
				font-size: 0.8751em;
				padding-left: 1em;
				border-left: 2px solid rgba(0,0,0,0.1);

				dt {
					float:left;
					clear:left;
					margin-right: .25em;
				}

				dd {
					margin-bottom: .5em;
				}
			}
			.star-rating {
				float:none;
			}
		}
	}

	.widget_shopping_cart {
		.total {
			border-top: 3px double @secondary;
			padding: 4px 0 0;
			strong {
				min-width: 40px;
				display: inline-block;
			}
		}
		.buttons {
			.clearfix;
		}
	}


	/* =Cart Page
	-------------------------------------------------------------- */

	.cart-collaterals {
		.clearfix;
		width: 100%;
		.related {
			width: 30.75%;
			float:left;
		}

		.cross-sells {
			width: 48%;
			float:left;

			ul.products {
				float:none;

				
			}
		}
		.shipping_calculator {
			width: 48%;
			text-align: right;
			.clearfix;
			margin: 20px 0 0 0;
			clear: right;
			float: right;
			.button {
				width: 100%;
				float:none;
				display:block;
			}
			.col2-set {
				.col-1, .col-2 {
					width: 47%;
				}
			}
		}
		.cart_totals {
			float: right;

			width: 48%;
			text-align: right;
			p {
				margin: 0;
				small {
					color: @subtext;
					font-size: 0.83em;
				}
			}
			table {
				border-collapse: separate;
				.border_radius(5px);
				margin: 0 0 6px;
				padding: 0;
				tr:first-child {
					th, td {
						border-top: 0;
					}
				}
				td, th {
					padding: 6px 3px;
				}
				small {
					display:block;
					color: @subtext;
				}
				select {
					width: 100%;
				}
			}
			.discount td {
				color: @highlight;
			}
			tr td, tr th {
				border-top: 1px solid @secondary;
				padding: 6px 6px;
			}
			a.button.alt {
				width: 193px;
				display:block;
				font-size: 0.92em;
			}
		}
	}

	/* =Forms
	-------------------------------------------------------------- */

	form {
		.form-row {
			.clearfix;
			padding: 3px;
			margin: 0 0 6px;

			label {
				display:block;
			}
			label.hidden {
				visibility:hidden;
			}
			select {
				width: 100%;
				cursor: pointer;
				margin: 0;
			}
			.required {
				color: red;
				font-weight:bold;
				border: 0;
			}
			.input-checkbox {
				display: inline;
				margin: -2px 8px 0 0;
				text-align: center;
				vertical-align: middle;
			}
			label.checkbox {
				display: inline;
			}
			input.input-text, textarea {
				-webkit-box-sizing:border-box;
				-moz-box-sizing:border-box;
				box-sizing:border-box;
				width: 100%;
				margin: 0;
				outline: 0;
				line-height: 1em;
			}
			textarea {
				height: 3.5em;
				line-height: 1.5em;
				display:block;
				-moz-box-shadow:none;
				-webkit-box-shadow:none;
				box-shadow:none;
			}
			&.woocommerce-validated {
				input.input-text {
					background-image: url(../../../plugins/woocommerce/assets/images/icons/valid.png);
					background-position: 95% center;
					background-repeat: no-repeat;
				}
			}
			&.woocommerce-invalid {
				input.input-text {
					background-image: url(../../../plugins/woocommerce/assets/images/icons/invalid.png);
					background-position: 95% center;
					background-repeat: no-repeat;
				}
				.chzn-single, .chzn-drop, input.input-text, select {
					border-color: #fb7f88;
				}
			}
			::-webkit-input-placeholder {
				line-height: 1em;
				padding-top: 2px;
			}
			:-moz-placeholder {
				line-height: 1em;
				padding-top: 2px;
			}
			:-ms-input-placeholder {
				line-height: 1em;
				padding-top: 2px;
			}
		}
		.form-row-first, .form-row-last {
			float:left;
			width: 47%;
			overflow: visible;
		}
		.form-row-last {
			float: right;
		}
		.form-row-wide {
			clear: both;
		}
	}

	form.login, form.checkout_coupon, form.register {
		border: 1px solid darken( @secondary, 10 );
		padding: 20px;
		margin: 2em 0 2em 0px;
		text-align:left;
		.border_radius(5px);
	}

	ul#shipping_method {
		list-style: none outside;
		margin: 0;
		padding: 0;
		li {
			margin: 0;
			padding: .25em 0 .25em 22px;
			text-indent: -22px;
			list-style: none outside;
		}
		.amount {
			font-weight: bold;
		}
	}

	/* =Checkout
	-------------------------------------------------------------- */

	.checkout {
		.col-2 {
			h3 {
				float:left;
				clear:none;
			}

			.notes {
				clear:left;
			}

			.form-row-first {
				clear:left;
			}
		}
		div.shipping-address {
			padding: 0;
			clear:left;
			width: 100%;
		}

		#shiptobilling {
			float: right;
			line-height: 1.62em;
			margin: 0 0 0 0;
			padding: 0;

			label {
				font-size: 0.6875em;
			}
		}
	}

	/* Payment box - appears on checkout and page page */
	#payment {
		background: @secondary;
		.border_radius(5px);

		ul.payment_methods {
			.clearfix;
			text-align:left;
			padding: 1em;
			border-bottom: 1px solid darken( @secondary, 10 );
			margin: 0;
			list-style:none outside;
			li {
				line-height: 2em;
				text-align:left;
				margin: 0;
				font-weight:normal;
				input {
					margin: 0 1em 0 0;
				}
				img {
					vertical-align: middle;
					margin: -2px 0 0 .5em;
					position: relative;
				}
			}
		}

		div.form-row {
			padding: 1em;
			border-top: 1px solid lighten( @secondary, 5 );
		}
		#place_order {
			float: right;
			margin: 0;
		}
		.terms {
			padding: 0 1em 0;
			text-align: right;
		}
		div.payment_box {
			position: relative;
			width: 96%;
			padding: 1em 2%;
			margin: 1em 0 1em 0;
			font-size: 0.92em;
			.border_radius(2px);
			line-height: 1.5em;

			.vertical_gradient( darken( @secondary, 5 ), darken( @secondary, 10 ) );
			.box_shadow(0,1px,2px,0,rgba(0,0,0,0.25));
			color: @secondarytext;
			.darkorlighttextshadow( @secondarytext );

			p:last-child {
				margin-bottom: 0;
			}
			#cc-expire-month, #cc-expire-year {
				width: 48%;
				float:left;
			}
			#cc-expire-year {
				float: right;
			}
			span.help {
				font-size: 11px;
				color: @subtext;
				line-height: 13px;
				font-weight:normal;
			}
			.form-row {
				margin: 0 0 1em;

				select {
					width: 48%;
					float:left;
					margin-right: 3.8%;
					&:nth-child(3n) {
						margin-right: 0;
					}
				}
			}
			&:after {
				content: "";
				display:block;
				border: 8px solid darken( @secondary, 5 ); /* arrow size / color */
				border-right-color: transparent;
				border-left-color: transparent;
				border-top-color: transparent;
				position:absolute;
				top: -3px;
				left: 0;
				margin: -1em 0 0 2em;
			}
		}
	}

	/* =Order Page
	-------------------------------------------------------------- */

	.order_details {
		.clearfix();
		margin: 0 0 1.5em;
		list-style:none;

		li {
			float:left;
			margin-right: 2em;
			text-transform: uppercase;
			font-size: 0.715em;
			line-height: 1em;
			border-right: 1px dashed darken( @secondary, 10 );
			padding-right: 2em;

			strong {
				display:block;
				font-size: 1.4em;
				text-transform:none;
				line-height: 1.5em;
			}

			&:last-of-type {
				border: none;
			}
		}
	}

	/* =Account Page
	-------------------------------------------------------------- */

	.addresses {
		.title {
			.clearfix();

			h3 {
				float:left;
			}
			.edit {
				float: right;
			}
		}
	}

	ol.commentlist.notes {
		li.note {

			p.meta {
				font-weight:bold;
				margin-bottom: 0;
			}
			.description {
				p:last-child {
					margin-bottom: 0;
				}
			}
		}
	}
	ul.digital-downloads {
		margin-left: 0;
		padding-left: 0;
		li {
			list-style:none;
			margin-left: 0;
			padding-left: 1.5em;
			background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAHCAYAAAA1WQxeAAAAQUlEQVQIHWP8//8/AwgwMjLWgxlQAijeCGIyIQtiYxNUwAjUhWI0uilMMLvQJUB8kBzYCmyKYGJwN8AEYDphJgIAPtccffZCsOoAAAAASUVORK5CYII=) left no-repeat; /* download icon */
			.count {
				float: right;
			}
		}
	}

	/* =Layered Nav Widget
	-------------------------------------------------------------- */

	.widget_layered_nav {
		ul {
			margin: 0;
			padding: 0;
			border: 0;
			list-style:none outside;
			li {
				.clearfix();
				padding: 0 0 1px;
				list-style:none;
				a, span {
					padding: 1px 0;
					float:left;
				}
			}
			li.chosen {
				a {
					padding: 0 6px 0 18px;
					border: 1px solid @tertiary;
					background: @tertiary url(../../../plugins/woocommerce/assets/images/cross_white.png) no-repeat 6px center;
					.inset_box_shadow(0, 1px, 1px, rgba(255,255,255,0.5));
					color: @tertiarytext;
					.border_radius(3px);
				}
			}
			small.count {
				float: right;
				margin-left: 6px;
				font-size: 1em;
				padding: 1px 0;
				color: @subtext;
			}
		}
	}

	.widget_layered_nav_filters {
		ul {
			margin: 0;
			padding: 0;
			border: 0;
			list-style:none outside;
			overflow: hidden;
			zoom: 1;
			li {
				float: left;
				padding: 0 1px 1px 0;
				list-style:none;
				a {
					padding: 0 6px 0 18px;
					border: 1px solid @tertiary;
					background: @tertiary url(../../../plugins/woocommerce/assets/images/cross_white.png) no-repeat 6px center;
					.inset_box_shadow(0, 1px, 1px, rgba(255,255,255,0.5));
					color: @tertiarytext;
					.border_radius(3px);
					float: left;
				}
			}
		}
	}

	/* =Price Filter Widget
	-------------------------------------------------------------- */

	.widget_price_filter {
		.price_slider {
			margin-bottom: 1em;
		}
		.price_slider_amount {
			text-align: right;
			line-height: 2.4em;
			font-size: 0.8751em;
			.button {
				font-size: 1.15em;
			}
			.button {
				float:left;
			}
		}
	   .ui-slider {
			position: relative;
			text-align:left;
		}
	   .ui-slider .ui-slider-handle {
			position:absolute;
			z-index: 2;
			width: 0.9em;
			height: 0.9em;
			.border_radius(1em);
			border: 1px solid darken( @tertiary, 50 );
			cursor: pointer;
			.vertical_gradient( @tertiary, darken( @tertiary, 10 ));
			outline:none;
			top: -.3em;
			-webkit-box-shadow:
				0 1px 2px rgba(0,0,0,0.3),
				inset 0 0 0 1px rgba(255,255,255,0.65);
			-moz-box-shadow:
				0 1px 2px rgba(0,0,0,0.3),
				inset 0 0 0 1px rgba(255,255,255,0.65);
			box-shadow:
				0 1px 2px rgba(0,0,0,0.3),
				inset 0 0 0 1px rgba(255,255,255,0.65);

			&:last-child {
				margin-left: -1em;
			}
		}
	   .ui-slider .ui-slider-range {
			position:absolute;
			z-index: 1;
			font-size: .7em;
			display:block;
			border: 0;
			background: @tertiary url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAADCAYAAABS3WWCAAAAFUlEQVQIHWP4//9/PRMDA8NzEPEMADLLBU76a5idAAAAAElFTkSuQmCC) top repeat-x; /* transparent png */
			.inset_box_shadow(0,0,0,1px,rgba(0,0,0,0.5));
			.border_radius(1em);
		}
	   .price_slider_wrapper .ui-widget-content {
			.border_radius(1em);
			.vertical_gradient( @quaternary, lighten( @quaternary, 30 ) );
		}
	   .ui-slider-horizontal {
			height: .5em;
		}
	   .ui-slider-horizontal .ui-slider-range {
			top: 0;
			height: 100%;
		}
	   .ui-slider-horizontal .ui-slider-range-min {
			left: -1px;
		}

	   .ui-slider-horizontal .ui-slider-range-max {
			right: -1px;
		}
	}
} // end .woocommerce-page namespacing wrap
@media
(-webkit-min-device-pixel-ratio: 2),
(min-resolution: 192dpi) {
	.woocommerce, .woocommerce-page {
		a.button, button.button, input.button, #respond input#submit, #content input.button {
			&.loading {
				&:before {
					background-image: url(../../../plugins/woocommerce/assets/images/ajax-loader@2x.gif);
					background-size: 16px 16px;
				}
			}
			&.added:before {
				background: url(../../../plugins/woocommerce/assets/images/success@2x.png) no-repeat;
				background-size:16px 14px;
			}
		}
		.woocommerce form .form-row.woocommerce-validated input.input-text, .woocommerce-page form .form-row.woocommerce-validated input.input-text {
			background-image: url(../../../plugins/woocommerce/assets/images/icons/valid@2x.png);
			background-size: 12px 9px;
		}
		.woocommerce form .form-row.woocommerce-invalid input.input-text, .woocommerce-page form .form-row.woocommerce-invalid input.input-text {
			background-image: url(../../../plugins/woocommerce/assets/images/icons/invalid@2x.png);
			background-size: 12px 9px;
		}
	}
}
// Firefox hack :( (for some reason Firefox doesn't like applying font-size to pseudo-elements containing unicode chars in the content property)
@-moz-document url-prefix() {
	.woocommerce .star-rating, .woocommerce-page .star-rating {
		width:3.4em;
		font-size:1.5em;
	}
	.woocommerce p.stars, .woocommerce-page p.stars {
		width:3.5em;
		font-size:1.5em;
		a.star-1 {
			width:.7em;
		}
		a.star-2 {
			width:1.4em;
		}
		a.star-3 {
			width:2.1em;
		}
		a.star-4 {
			width:2.8em;
		}
		a.star-5 {
			width:3.5em;
		}
	}
}