/* Product - General
-------------------------------------------------- */
.body_product #primary {
	padding-top: 12em;
}

.products-wrapper {
    max-width: 71.25em;
    margin: 2% 0;
}

.products-wrapper .serif-title {
    margin: 0 0 0.5em 0;
}

.products {
    margin: 0;
}

.products,
.products li {
	list-style: none;
	margin: 0;
	padding: 0;
}

.products li {
	background: #FFF;
	float: left;
	border: 1px solid #e3e3e3;
	margin: 1.5% 1.5% 0 0;
	padding: 0.5em;
	position: relative;
	width: 23.875%; 
}

.products li:hover {
	border-color: #ccc;
	-webkit-transition: all 0.5s;
}

.products li:nth-child(-n+4) {
	margin-top: 0;
}

.products li:nth-child(4),
.products li:nth-child(8),
.products li:nth-child(12),
.products li:nth-child(16),
.products li:nth-child(20),
.products li:nth-child(24),
.products li:nth-child(28),
.products li:nth-child(32),
.products li:nth-child(36),
.products li:nth-child(40),
.products li:nth-child(44),
.products li:nth-child(48),
.products li:nth-child(52),
.products li:nth-child(56),
.products li:nth-child(60) {
    margin-right: 0;
}

.products li .info-panel {
	float: left;
	width: 100%;
	box-sizing: border-box;
	-moz-box-sizing: border-box; 
	-webkit-box-sizing: border-box; 
	-ms-box-sizing: border-box;
}

.products .description {
    border-bottom: 1px solid #dfdfdf;
    color: #666;
    font-size: 1.2em;
    font-weight: 400;
    letter-spacing: 0.02em;
    margin: 0 auto 1em auto;
    padding: 0 0 1.2em 0;
    width: 80%;
}

.products li .info-panel p {
    color: #797979;
    font-size: 0.75em;
    margin-bottom: 0.3em;
}

.products li .info-panel p.price {
	color: #333;
	font-size: 1.4em;
	line-height: 1em;
	margin: 0 0 0.3em 0;
	text-align: left;
	float: left;
	width: 100%;
}

.products li .info-panel p.price span {
    color: #555;
    display: inline-block;
    float: left;
    font-size: 0.5em;
    font-weight: 600;
    text-transform: uppercase;
}

.products li .info-panel p.price span:first-of-type {
    margin-right: 0.2em;
}

.products li .info-panel p.price .product-price {
    float: left;
    clear: both;
    color: #000;
    font-size: 1.2em;
    line-height: 1em;
    margin: 0;
}

.products h3 {
	font-size: 0.9em;
	font-weight: 600;
	margin: 0.5em 0 0.2em 0;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.info-panel .addtocart {
    text-align: center;
}

.products .thumbnail {
	float: left;
	text-align: center;
	position: relative;
	margin-bottom: 0;
	padding-bottom: 0;
	width: 100%;
}

.products .thumbnail a {
    display: block;
}

.products .thumbnail img {
    display: block;
    height: auto;
    opacity: 1;
    max-width: 100%;
    width: 100%;
}

.products .info-panel p.sale {
	background: #f64333;
	color: #fff;
	font-size: 0.8em;
	font-weight: 500;
	margin: 0;
	right: -0.3em;
	padding: 1.15em 0.55em;
	letter-spacing: 0.13em;
	position: absolute;
	text-transform: uppercase;
	text-align: center;
	top: -0.3em;
	box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.6);
	-webkit-border-radius: 30em;
	-moz-border-radius: 30em;
	border-radius: 30em;	
}

.products .rrp {
    color: #e74c3c;
    font-weight: 700;
    margin: 0 0.3em 0 0;
    text-decoration: line-through;
}

.addtocart input[type="submit"], 
input#addtocartbtn {
	float: left;
}

.action-addtocart .addtocart input[type="submit"], 
.action-addtocart input#addtocartbtn {
    float: left;
}

a.action-enquire {
    background: #000;
    color: #FFF;
    -webkit-border-radius: 0.15em;
    -moz-border-radius: 0.15em;
    border-radius: 0.15em;
    display: inline-block;
    float: left;
    font-size: 1.1em;
    font-weight: 500;
    margin: 0.2em 0 0 1em;
    padding: 0.26em 0.7em;
    text-decoration: none;
    text-align: center;
	box-sizing: border-box;    
}

a.action-enquire:hover {
    background: #333;
    text-decoration: none;
}

.products .price .from {
    color: #999;
    font-size: 50%;
    font-weight: normal;
    margin-right: .25em;
}

.products-similar {
    margin-bottom: 0;
}

p.stock-level {
    color: #000;
    font-size: 0.55em;
    margin: 0.1em 0 0.3em 0;
}

.stock-level .fa {
    margin: 0 0.2em 0 0;
}

.stock-level.in-stock .fa-check-square {
    color: #2ecc71;
}

.stock-level.out-of-stock .fa-square {
    color: #e74c3c;
}

.stock-level.low-stock .fa-minus-square {
    color: #f1c40f;
}

.stock-level.out-of-stock .fa-stack {
    width: 0.7em;
    height: 1em;
    margin-right: 0.3em;
    padding-top: 0.25em;
    float: left;
}

.stock-level.out-of-stock .fa-square {
    font-size: 0.75em;
}

.stock-level.out-of-stock .fa-times {
    color: #FFF;
    margin: 0;
    line-height: 1.38em;
    font-size: 0.55em;
}

.products .product-review {
    float: left;
    margin: 0.5em 0 0.3em 0;
    width: 100%;
}

.products .product-review p {
    font-size: 1.2em;
    margin: 0;
}

.product-review.top-reviews {
    font-size: 0.6em;
}

.body_product .product-review.top-reviews .review-link {
    font-size: 0.7em;
    font-weight: 600;
    margin: 0.9em 0 0 0;
}

.products .product-review .fa-star,
.products .product-review .fa-star-half-o,
.body_product .product-review .fa-star,
.body_product .product-review .fa-star-half-o {
    color: #fcd450;
    margin: 0 0.1em 0 0;
}

.products .product-review .fa-star-o,
.body_product .product-review .fa-star-o {
    color: #e3e3e3;
}

.products .product-review .review-link {
    margin: 0 0 1em 0;
}

.products .product-review .review-link a {
    color: #CCC;
    font-size: 0.8em;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.products .product-review .review-link a:hover {
    color: #aaa;
}

.body_product .product-review .stars {
    float: left;
    margin: 0.1em 0.5em 0 0;
    text-decoration: none;
}

.product-review a:hover {
	text-decoration: none;
}

.body_product .product-review p {
    margin: 0;
}

.body_product .product-review a.review-link {
    color: #999;
    font-size: 0.8em;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.feature_products {
    min-height: 0;
    margin: 1em auto;
    width: 100%;
}

.products-content {
    margin: 0 auto;
    width: 100%;
}

.feature_products .item {
    display: block;
    padding: 30px 0px;
    margin: 5px;
    color: #FFF;
    -webkit-border-radius: 0.15em;
    -moz-border-radius: 0.15em;
    border-radius: 0.15em;
    text-align: center;
}

.share-this {
    margin: 1em 0;
    text-align: left;
}

.share-this span {
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
}

.product-wrapper {
    position: relative;
}

.product-gallery {
    float: left;
    margin-bottom: 1.6em;
    width: 50%;
}

.no-image {
	margin: 0 auto;
}

.product-gallery .large-device-gallery {
    display: block;
}

.product-gallery .small-device-gallery {
    display: none;
}

.product-gallery .product-image-main {
    margin: 0 0 .5em 0;
    position: relative;
}

.zoom-icon {
    background: #000;
    bottom: 0;
    -webkit-border-radius: 0.15em;
    -moz-border-radius: 0.15em;
    border-radius: 0.15em;
    left: 0;
    padding: 0.7em 0.9em;
    position: absolute;
}

.zoom-icon .fa {
    color: #FFF;
    font-size: 1.6em;
}

.product-gallery .product-image-main img {
    height: auto;
    max-width: 100%;
    display: block;
    margin: 0 auto;
}

.product-gallery .product-image-main a.product-image-zoom {
    display: block;
}

.product-gallery ul,
.product-gallery li {
    list-style: none;
    margin: 0;
    padding: 0;
}

.product-gallery ul {}

.product-gallery li {
    float: left;
	margin: 2.5% 2.5% 0 0;
    width: 23.125%;
}

.product-gallery li:nth-child(4),
.product-gallery li:nth-child(8),
.product-gallery li:nth-child(12),
.product-gallery li:nth-child(16),
.product-gallery li:nth-child(20){
	margin-right: 0;
}

.product-gallery li a {
    padding-right: 25%;
}

.product-gallery li a img {
    height: auto;
    opacity: 1;
    width: 100%;
}

.product-gallery li a img:hover {
    opacity: 0.8;
}

.product-details {
    float: right;
    margin: 0 0 0 2%;
    padding: 0 1% 0 1%;
    width: 46%;
}

.product-details .sale {
	background: #f64333;
	color: #fff;
	font-size: 0.8em;
	font-weight: 500;
	margin: 0;
	right: -0.3em;
	padding: 1.15em 0.55em;
	letter-spacing: 0.13em;
	position: absolute;
	text-transform: uppercase;
	text-align: center;
	top: -0.3em;
	box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.6);
	-webkit-border-radius: 30em;
	-moz-border-radius: 30em;
	border-radius: 30em;
}

.product-details .free-delivery {
    color: #000;
    font-size: 0.55em;
    font-weight: 600;
    margin: 0.5em 0 0.3em 0;
}

.product-details .free-delivery .fa {
    color: #e74c3c;
    margin: 0 0.2em 0 0;
}

.product-details h1 {
    font-size: 1.5em;
    font-weight: 400;
    margin: 0;
    padding: 0;
}

.product-details .price {
    font-size: 1.8em;
    margin: 0 0 0.4em 0;
    color: #555;
    font-weight: 600;

    border-bottom: 1px solid #e3e3e3;
    padding: 0 0 0.3em 0;
}

.product-details .rrp {
    color: #999;
    font-size: 0.7em;
    font-weight: 400;
    margin: 0 0 0 0.5em;
}

.product-details .rrp .currency,
.product-details .rrp .rrp_price {
    color: #f64333;
    font-weight: 600;
}

.product-details .price .from {
    color: #999;
    font-size: 1em;
    font-weight: normal;
}

.product-details fieldset {
    border-bottom: 1px solid #e3e3e3;
    padding: 0 0 1em 0;
}

#productview_quantity {
    width: 20%;
    margin: 0;
    padding: 0.3em;
    float: left;
    text-align: center;
    font-size: 1em;
    -webkit-border-radius: 0.15em;
    -moz-border-radius: 0.15em;
    border-radius: 0.15em;
}

.product-options {
    border-bottom: 1px solid #e3e3e3;
    float: left;
    margin: 0;
    padding: 0.3em 0 0 0;
    width: 100%;
}

.product-options:first-of-type {
    border-top: 1px solid #DDD;
}

.product-options.last {
	border-bottom: none;
}

.product-details fieldset ul {
	list-style: none;
	margin: 0.7em 0 0 0;
}

.product-details fieldset ul li {
	float: left;
	margin: 0 0 0.3em 0.5em;
	position: relative;
	width: 100%;
}

.product-details fieldset ul li:last-of-type {
	margin-bottom: 0;
}

.product-details fieldset ul li label {
	font-weight: 400;
}

.product-details fieldset ul li input[type="checkbox"],
.product-details fieldset ul li input[type="radio"] {
    margin: 0 0.5em 0 0;
}

.product-details .description p {
    font-size: 1em;
}

.product-description h3 {
    margin: 0 0 0.5em 0;
}

.product-description .symbols {
    border-top: 1px solid #DDD;
    margin: 1em 0 0 0;
}

.product-description .symbols ul {
    list-style: none;
    margin: 1.3em 0 0 0;
}

.product-description .symbols li {
    margin: 0;
    text-align: center;
}

/* General - Modal Box
-------------------------------------------------- */
.modal-box {
	z-index: 999999;
    background: #fff;
    width: 28em;
    height: auto;
    position: fixed;
    top: 50%;
    left: 50%;
    margin-left: -11em;
    margin-top: -6em;
    padding: 0;
    -webkit-border-radius: 0.15em;
    -moz-border-radius: 0.15em;
    border-radius: 0.15em;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
}

.modal-box form {
    padding: 1em;
}

.modal-box h3 {
    margin: 0;
}

.modal-box .actions {
    padding: 0.8em 0 0 0;
}

.modal-box .actions input.close {
	background-color: #f4f5f7;
	border: 1px solid #dcdddf;
	color: #333;
	margin: 0 5% 0 0;
}

.modal-box .actions input.close:hover {
	background-color: #e8e9eb;
	border: 1px solid #cfd0d1;
}

.modal-box .actions input {
    width: 47.5%;
    padding: 1em;
    margin: 0;
    float: left;
}

.modal-dim {
    background: #000;
    z-index: 20;
    height: 100%;
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    -moz-opacity: 0.65;
    opacity: 0.65;
    filter: alpha(opacity=65);
    z-index: 99999;
}

.modal-box.hide, .modal-dim.hide {
    display: none;
}

.modal-box .cart-product-image {
	padding: 0;
}

.modal-box .cart-price-qty,
.modal-box .cart-price-per {
	font-size: 0.9em;
	width: 20%;
}

.modal-box .shipping-schedule-message {
	padding: 0.5em 0 0 0;
}

/* General - Modal - Cart
-------------------------------------------------- */
.modal-box .cart-list {
    margin: 0;
}

.modal-box .cart-list .cart-product img {
    min-width: 4.5em;
    max-height: 5em;
}

.modal-box .cart-product {
    font-size: 0.9em;
    width: 60%;
}

.modal-box .error_msg {
    list-style: none;
    margin: 1em 0;
}

.modal-box .error_msg li {
    margin: 0.5em 0;
}

.modal-box .error_msg li.first {
    margin: 0 0 0.5em 0;
}

.modal-box .error_msg li.last {
    margin: 0.5em 0 0 0;
}

.modal-box.product-options-error .close {
    background-color: #e3e3e3;
    color: #999;
    margin: 0 auto;
    width: 100%;
    float: none;
}

/* Media Queries
-------------------------------------------------- */
@media only screen and (max-width: 68em) {
	.product-extra-info .col {
        width: 48%;
    }
}
@media only screen and (max-width: 66em) {}
@media only screen and (max-width: 64em) {}
@media only screen and (max-width: 62.5em) {
    .product-gallery .large-device-gallery  {
        display: none;
    }
    	
	.product-extra-info header {
        font-size: 1.2em;
    }

    .product-extra-info .col {
        width: 48.7%;
    }
    
    .review-summary .review-write-a-review-button {
	    margin-top: 0.9em;
    }
    
    #review-write-a-review-recommended {
	    margin: 0.4em 0.5em 0 1em;
    }
    
    .product-gallery .small-device-gallery {
        display: block;
    }
}

@media only screen and (max-width: 53em) {
	 .modal-box {
		top: 9em;
	}
}

@media only screen and (max-width: 41em) {
    .share-this { 
        display: none;
    }
    
    .product-gallery {
        width: 75%;
        margin: 0 auto;
        float: none;
    }

    .product-details {
        margin: 0 0 1.3em 0;
        padding: 2%;
        width: 96%;
    }
    
    .small-device-gallery {
	    text-align: center;
    }   
    
    .product-details .sale {
	    font-size: 1em;
	    right: 0.5em;
    } 
    
    .product-details {
		margin: 0 0 1.3em 0;
		padding: 0%;
		width: 100%;	    
    }
    
    .body_product #primary {
		padding-top: 8em;
	}
    
    .product-details fieldset label,
	.product-details {
		text-align: center;
	}
	
	.product-details fieldset {
	    width: 100%;
    }
    
    .product-details fieldset input,
    .product-details fieldset select {
	    width: 100%;
		box-sizing: border-box;
		-moz-box-sizing: border-box; 
		-webkit-box-sizing: border-box; 
		-ms-box-sizing: border-box; 	    
    }
    
    .product-details .actions {
	    text-align: left;
    }
    
        a.action-enquire {
	    font-size: 1.3em;
    }
    
    .action-addtocart input#addtocartbtn,
    a.action-enquire {
		font-size: 1.3em;
		margin: 0 0 1em 0;
		float: none;
		width: 100%;
    }
    
    .product-details .form-product-quantity {
		border-bottom: none;
		margin: 0;
		padding: 0;
		text-align: left;
		width: 100%;    
    }
    
    .product-details .form-product-quantity label {
		display: inline-block;
		float: none;
		margin: 0 0 0.6em 0;
		width: 100%;
    }
    
    #productview_quantity {
	    border: 1px solid #CCC;
		float: none;
		font-size: 1.2em;
		-webkit-appearance: none; 
		display: inline-block;
		margin: 0;	
		padding: 0.5em;
		width: 100%;
    }
    
    .action-addtocart .mobile-cart-button-add:nth-child(2) {
	    margin-bottom: 0;
    }
	
    .site-content {
        margin: 0 auto;
    }

    .timestamp-mobilestring {
        display: inline;
    }

    .timestamp-fullstring {
        display: none;
    }
    
	.products .sale {
		font-size: 0.6em;
		padding: 0.8em 0.30em;
	}	
	
    .product-extra-info .col {
        margin-bottom: 1.7em;
        width: 100%;
    }

    .product-extra-info {
        margin-bottom: 0;
    }

    .product-details h1 {
        font-size: 1.4em;
    }

    .product-details .price {
        font-size: 1.4em;
    }
    
    .body_product .product-details .price {
	    font-size: 2em;
    }
    
	.products li {
	    margin: 3% 3% 0 0;
		width: 31.3333%;
    }
    
    .products li:nth-of-type(3n) {
	    margin-right: 0;
    }
    
	.products li:nth-child(4n) {
	    margin-right: 3%;
	}
	
	.products li:nth-child(-n+3) {
	    margin-top: 0;
	}   
	
	.products li:nth-child(4) {
		margin-top: 3%;
	} 
	   
}
@media only screen and (max-width: 37.5em) {
	.products-wrapper {
		margin: 3% 0;
	}

    .product-description .inner, .product-custom-area .inner,
    .product-extra-info .col {
        height: auto;
    }

    .product-details .price {
        font-size: 1.4em;
    }
    
    #product-reviews {
		height: auto !important;
		overflow: auto;
    }

    .product-extra-info .col {
        width: 100%;
    }

    .product-extra-info .col-first {
        margin-bottom: 1.7em;
    }
    	
	.modal-box {
        margin-left: -14em;
    }
    
    .modal-box .actions input {
        font-size: 0.8em;
    }
    
}
@media only screen and (max-width: 33.75em) {
		
	.modal-box {
        width: 100%;
        left: 0;
        margin-left: 0;
    }
}
@media only screen and (max-width: 27.5em) {
	
    .form-product-quantity-line {
		display: none;
	}
	
	.products li {
	    margin: 2% 2% 0 0;
		width: 49%;
    }
    
    .products li {
	    margin-top: 2%!important;
	    margin-right: 2%!important;
    }
    
    .products li:nth-of-type(2n) {
	    margin-right: 0%!important;
    }	
}
@media only screen and (max-width: 20em) {
    
    .product-details h1,
    .body_product .product-details .price {
	    text-align: center;
    } 
    
    #productview_form fieldset label,
    .product-details .form-product-quantity {
	    text-align: center;
    }
    
	.products h3 {
        margin: 0.9em 0 0 0;
    }
    
    .products li h3 {
		font-size: 0.8em;
	}
	
	.products li:nth-child(3n) {
	    margin-right: 0;
    }
    
}