/*
Theme Name:		Marine Recycling Corporation - Storefront
Theme URI:		http://www.marinerecycling.ca
Description:	A custom responsive design for Marine Recycling Coporation
Version:			1.01
Author:				Korey Graham
Author URI:		http://www.coldforgemedia.com/korey
*/

#content {
	position: relative;
}

h2 {
	float: left;
}

h2 span {
	font-weight: normal;
	font-size: 80%;
	color: #999;
}

h3 {
	margin-left: 0px !important;
}

#searchForm {
	margin-top: 10px;
}

#search {
	width: 100%;
	height: 40px;
	display: block;
	border: 1px solid #ddd;
	border-radius: 5px;
	box-sizing: border-box;
	padding: 0 10px;
	line-height: 40px;
	font-size: 16px;
	outline: hidden;
	color: #666;
}

#search::placeholder {
	color: #fff !important;
}

#search.fa::placeholder {
	color: #bbb !important;
}

#search:focus {
	outline: none;
}

p.searchMsg {
	font-size: 13px !important;
	line-height: 17px !important;
	color: #999 !important;
	margin: 5px !important;
}

p.searchMsg i.fa-exclamation-triangle {
	color: rgba(255,185,53,1.00);
}

p.searchMsg i.fa-search {
	color: rgba(0,108,177,1.00);
}

.product {
	margin: 0 5px 5px 5px !important;
	padding: 10px;
	box-sizing: border-box;
	position: relative;
	cursor: pointer;
}

.product:hover .photo, .product:hover .name, .product:hover div.price {
	-webkit-animation: fadeout 0.5s; /* Safari, Chrome and Opera > 12.1 */
		 -moz-animation: fadeout 0.5s; /* Firefox < 16 */
			-ms-animation: fadeout 0.5s; /* Internet Explorer */
			 -o-animation: fadeout 0.5s; /* Opera < 12.1 */
					animation: fadeout 0.5s;
	opacity: 0.9;
}

.photo {
	width: 100%;
	height: 0;
	padding-bottom: 100%;
	overflow: hidden;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: 50% 50%;
	border-radius: 5px;
	border: 1px solid #666;
}

div.name, div.price, div.sold, div.unavailable, div.added {
	height: 30px;
	display: block;
	background-color: rgba(0,0,0,0.5);
	color: #fff;
	font-size: 16px;
	position: absolute;
	margin: 0 1px;
	text-align: center;
	vertical-align: middle;
	box-sizing: border-box;
	padding: 0 10px;
}

div.name {
	width: calc(100% - 20px);
	height: auto;
	top: 10px;
	left: 10px;
	border-top-left-radius: 5px;
	border-top-right-radius: 5px;
	font-size: 14px;
	padding: 5px 10px;
	line-height: 18px;
}

div.price {
	width: auto; 
	font-size: 18px;
	bottom: 10px;
	right: 8px;
	border-bottom-right-radius: 5px;
	border-top-left-radius: 5px;
	text-align: right;
	line-height: 30px;
}

div.origin {
  width: 40px;
	bottom: 40px;
  right: 8px;
	display: block;
	position: absolute;
	margin: 0 1px;
	box-sizing: border-box;
	padding: 0;
}

div.origin img {
  width: 40px;
}

p.origin {
  font-size: 13px !important;
  vertical-align: middle;
  margin-top: 40px;
  padding: 10px 0;
}

p.origin img {
  width: 35px;
  margin-right: 10px;
  float: left;
  box-shadow: 1px 1px 3px 1px rgba(0,0,0,0.2);
}

div.sold, div.unavailable, div.added {
	width: auto;
	border-bottom-left-radius: 5px;
	border-top-right-radius: 5px;
	left: 10px;
	bottom: 10px;
	text-shadow: 0px 0px 5px #000;
	color: #fff;
	font-size: 14px;
	line-height: 30px;
}

div.sold {
	background-color: rgba(169,0,2,0.50);
	font-size: 16px;
}

div.unavailable {
	background-color: rgba(58,58,58,0.50);
}

div.added {
	background-color: rgba(0,161,96,0.5);
}

@keyframes fadein {
	from { opacity: 0; }
	to   { opacity: 1; }
}
@keyframes fadeout {
	from { opacity: 1; }
	to   { opacity: 0.9; }
}

ul#categories li {
	font-size: 16px;
	line-height: 20px;
	color: #aaa;
	margin-left: 10px;
}

ul#categories li a, a#clear {
	text-decoration: none;
}

a#clear {
	margin-left: 20px;
}

#details_container {
	width: 100%;
	height: 100%;
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	background-color: rgba(0,0,0,0.7);
	z-index: 99999;
}

#details {
	display: none;
}

#close {
	position: absolute;
	top: 0;
	right: 3px;
	color: rgba(156,33,35,0.7);
	margin: 0;
	padding: 0;
	cursor: pointer;
	vertical-align: top;
}

#close:hover {
	color: rgba(156,33,35,1.0);
}

.photo_block, .text_block {
	min-height: 500px;
}

.main_photo {
	width: 550px;
	height: 550px;
	display: block;
	background-size: cover;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	cursor: zoom-in;
}

.main_photo.rotate {
	background-position: bottom left;
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
}

.thumb_photos {
	margin-top: 30px;
}

.thumb {
	width: 80px;
	height: 80px;
	display: inline-block;
	margin: 0 5px 5px 0;
	cursor: zoom-in;
	border: 3px solid rgba(255,255,255,1.00);
}
.thumb:hover {
	opacity: 0.8;
}

.thumb.active {
	border: 3px solid rgba(0,161,96,1.00);
}

.thumb.rotate {
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
}

#fullPhoto {
	width: 100%;
	height: 100%;
	display: none;
	background-color: rgba(0,0,0,0.8);
	z-index: 999999;
	position: fixed;
	top: 0;
	left: 0;
	cursor: zoom-out;
}

.text_block h3 {
	margin: 0 !important;
	
}

.text_block p.price {
	margin-top: 20px !important;
	font-weight: bold;
	font-size: 20px !important;
	color: rgb(0,161,96) !important;
}

.text_block p.qty {
	margin-top: 50px !important;
	font-weight: normal;
	font-size: 13px !important;
	color: rgba(150,150,150,1.00) !important;
}

.text_block p.qty input {
	width: 30px;
	height: 20px;
	display: inline-block;
	background-color: #fff;
	border: 1px solid rgba(200,200,200,0.50);
	border-radius: 5px;
	padding: 3px 5px;
	text-align: center;
  margin-right: 10px;
}

.text_block p.qty input::-webkit-outer-spin-button,
.text_block p.qty input::-webkit-inner-spin-button {
  -webkit-appearance: none;
}

.text_block p.qty input:focus {
	outline: none;
	border: 1px solid rgba(200,200,200,0.90);
	background-color: rgba(200,200,200,0.10);
}

.text_block p.negotiable {
	font-weight: normal;
	font-size: 14px !important;
	color: #666 !important;
	font-style: italic;
}
.text_block p.negotiable strong {
	color: #333 !important;
}

button.add, button.checkout, button.continue, button.confirm, button.edit, button.cart, button.send {
	width: auto;
	height: 40px;
	display: block;
	margin: 20px 0;
	background-color: rgb(0,161,96);
	border-radius: 10px;
	font-size: 18px;
	line-height: 40px;
	text-align: center;
	color: #fff;
	cursor: pointer;
	border: none;
	padding: 0 15px;
}

button:focus { outline: none; }

button.add.off {
	background-color: #bbb;
	color: #333;
	cursor: default;
}

button.continue, button.edit, button.cart {
	background-color: #fff;
	color: rgb(0,161,96);
	border: 1px solid rgb(0,161,96);
	margin-right: 10px;
}

button.checkout, button.continue, button.confirm, button.edit, button.cart, button.send {
	float: right;
}

button i.fa-caret-square-left {
	padding: 0 5px 0 0;
}

button i.fa-caret-square-right {
	padding: 0 0 0 5px;
}

a.cart {
	float: right;
	color: rgb(0,161,96);
	text-decoration: none;
}

.cartMsg {
	font-size: 13px !important;
}

cart {
	width: 100%;
	height: auto;
	display: block;
	clear: both;
	border-bottom: 1px solid #ddd;
}

item {
	width: 100%;
	height: 200px;
	display: inline-block;
	clear: both;
	border: 1px solid #ddd;
	border-bottom: none;
}

item:nth-child(even), .rowBG:nth-child(even) {background: rgba(229,229,229,0.31)}
item:nth-child(odd), .rowBG:nth-child(odd) {background: rgba(255,255,255,1)}


photo {
	height: 180px;
	width: 180px;
	display: block;
	margin: 10px 0px;
	overflow: hidden;
	position: relative;
}

.small {
	width: 200px;
	height: auto;
	display: inline-block;
	margin: 0;
	position: absolute;
	top: 0px;
	left: 0px;
}

.small.landscape {
	top: 12px;
	left: 0px;
}

.small.portrait {
	height: 200px;
	width: auto;
}

.small.portrait.rotate {
	width: 200px;
	height: auto;
	top: auto;
	bottom: 12px;
	left: -12px;
}

.small.rotate {
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
}

.cartDesc, .cartPrice, .cartTotal {
	padding: 20px 0px !important;
	box-sizing: border-box;
}

.cartDesc h3 {
	margin: 0 !important;
}

.cartPrice {
	padding-right: 20px !important;
	position: relative;
	height: 100%;
}

.cartPrice span {
	font-size: 16px !important;
	font-weight: bold;
	text-align: right;
	float: right;
	margin-bottom: 10px;
}

p[name='actions'] {
	font-size: 20px !important;
	line-height: 20px !important;
	font-weight: normal;
	position: absolute;
	bottom: 15px;
	right: 10px;
}

p[name='actions'] a:last-child {
	margin-left: 5px;
}

p[name='actions'] a.removeProduct {
	color: rgba(105,105,105,0.5) !important;
}

p[name='actions'] a.removeProduct:hover {
	color: rgba(204,0,2,1) !important;
}

div.offerBox {
	float: right;
	clear: both;
	margin-top: 10px;
	width: 110px;
}

.cartPrice label {
	font-size: 12px;
	color: #999;
	text-transform: uppercase;
	display: inline-block;
	margin: 0 0 3px 0;
	text-align: right;
	float: right;
}

.cartPrice input {
	width: 100px;
	height: 20px;
	display: inline-block;
	background-color: #fff;
	border: 1px solid rgba(200,200,200,0.50);
	border-radius: 5px;
	padding: 3px 5px;
	text-align: right;
}

.cartPrice input::-webkit-inner-spin-button, 
.cartPrice input::-webkit-outer-spin-button { 
  -webkit-appearance: none; 
  margin: 0; 
}

.cartPrice input:focus {
	outline: none;
	border: 1px solid rgba(200,200,200,0.90);
	background-color: rgba(200,200,200,0.10);
}

.cartTotal p {
	font-size: 16px !important;
	text-align: right;
	clear: both;
}

.cartTotal p span {
	font-weight: bold;
	padding-left: 20px;
}

.cartTotal, .buttons {
	float: right;
	padding-right: 20px !important;
}

.subTotal, .offerTotal {
	width: 220px;
	height: 20px;
	display: block;
	line-height: 20px;
	vertical-align: middle;
	font-size: 16px;
	float: right;
	text-align: left;
	clear: both;
	margin-bottom: 10px;
	border-bottom: 1px solid rgba(200,200,200,0.5);
	padding-bottom: 3px;
}

.subTotal span, .offerTotal span {
	float: right;
	font-weight: bold;
}

.customerForm {
	clear: both;
}

.customerForm label {
	width: 100%;
	height: 15px;
	display: block;
	font-size: 12px;
	text-transform: uppercase;
	color: rgba(153,153,153,1.00);
	clear: both;
	line-height: 15px;
	margin: 0 0 2px 3px;
	vertical-align: middle;
}

.customerForm label i.fa-asterisk {
	color: rgba(153,153,153,0.4);
	font-size: 0.8em;
	
}

.customerForm input[type="text"], .customerForm select {
	width: 100%;
	height: 30px;
	display: block;
	font-size: 14px;
	color: #666;
	clear: both;
	line-height: 30px;
	vertical-align: middle;
	margin: 0 0 10px 0 !important;
	border-radius: 5px;
	padding: 0 5px;
	box-sizing: border-box;
	background-color: rgba(200,200,200,0.20);
	border: 1px solid rgba(200,200,200,0.30);
}

.customerForm input:focus, .customerForm select:focus {
	outline: none;
	border: 1px solid rgba(200,200,200,0.90);
	background-color: rgba(200,200,200,0.10);
}

div.formDisabled {
	opacity: 0.5;
}

p.contactInformation, p.billingAddress, p.shippingAddress {
	font-size: 13px !important;
	width: auto;
	height: 15px;
	line-height: 15px;
	vertical-align: middle;
	display: block;
	margin: 0 0 20px 0 !important;
	box-sizing: border-box;
}

input[name="copyAddress"] {
	margin: 0 !important;
	padding: 0 !important;
	line-height: inherit;
	width: 15px;
	height: 15px;
	display: inline-block;
	position: relative;
	top: 3px;
	left: 3px;
}

label.error {
	position: relative;
}

span.error {
	position: absolute;
	right: 5px;
	text-transform: none !important;
	color: rgba(179,0,2,0.6);
}

span.error i {
	color: rgba(179,0,2,0.6);
	margin-left: 5px;
}

.customerForm input[type="text"].error, .customerForm select.error {
	color: rgba(179,0,2,0.6);
	background-color: rgba(179,0,2,0.05);
	border: 1px solid rgba(179,0,2,0.3);
}

#confirmation, #thankyou, #unsubscribe {
	clear: both;
	display: none;
}

div.productItems {
	width: 100%;
	height: auto;
	display: block;
	font-size: 14px;
	line-height: 20px;
	vertical-align: middle;
	text-align: left;
	clear: both;
	border-bottom: 1px solid #eee;
	padding-bottom: 3px;
	margin-bottom: 5px;
}

div.productItems span, div.cartTotals span {
	float: right;
	color: #999;
}

div.productItems span strong, div.cartTotals span strong {
	font-weight: bold;
	color: #333;
}

div.productItems span i  {
	margin-right: 20px;
}

div.cartTotals {
	width: 200px;
	height: auto;
	display: block;
	font-size: 14px;
	line-height: 20px;
	vertical-align: middle;
	text-align: left;
	clear: both;
	float: right;
	margin: 10px 0 20px 0;
}

.products label {
	width: 100%;
	height: 15px;
	display: block;
	font-size: 12px;
	text-transform: uppercase;
	color: rgba(153,153,153,1.00);
	clear: both;
	line-height: 15px;
	margin: 0 0 2px 3px;
	vertical-align: middle;
}

textarea[name='comments'] {
	width: 100%;
	height: 80px;
	display: block;
	font-size: 14px;
	font-family: 'PT Sans', sans-serif;
	color: #666;
	clear: both;
	margin: 0;
	padding: 10px;
	border-radius: 5px;
	box-sizing: border-box;
	background-color: rgba(200,200,200,0.20);
	border: 1px solid rgba(200,200,200,0.30);
}

textarea[name='comments']:focus {
	outline: none;
	border: 1px solid rgba(200,200,200,0.90);
	background-color: rgba(200,200,200,0.10);
}

span.shipping {
	font-style: italic;
}

span.noshipping {
	font-style: normal;
	font-weight: bold;
	color: #000 !important;
}

p.confirmed {
	width: 400px;
	height: 30px;
	display: block;
	padding: 5px 10px;
	border: 1px solid rgba(0,111,43,1.00);
	background-color: rgba(0,163,63,0.50);
	color: #fff !important;
	border-radius: 10px;
	position: absolute;
	top: 10px;
	left: 50%;
  margin-left: -200px !important;
	box-sizing: border-box;
	text-align: center;
}

timer {
  font-size: 14px;
  color: rgba(125,125,125,1.00); 
  float: right;
}

timer span {
  font-weight: bold;
  color: rgba(0,111,43,1.00); 
}


