
/************************************/
/********** shop styling ************/
/************************************/

.mb15 {
	margin-bottom: 15px;
}

.mt15 {
	margin-top: 15px;
}

.mr10 {
	margin-right: 10px;
}

.break-word {
	word-wrap: break-word;
}

.shop-description-outer {
	display: block;
	float: right;
	width: 500px;
	line-height: 1.4;
}

.shop-description-outer div {
	clear: both;
}

.shop-options {
	float:left;
	width:100%;
}

.shop-payment {
	float: left;
	max-width: 390px;
	font-weight: bold;
}

.shop-title {
	max-width: 390px;
	font-size: 18px;
	float: left;
	clear: none !important;
}

#form1 .shop-title {
	max-width: 500px;
}

.shop-title em {
	font-size: 12px;
	display: block;
	margin-top: 5px;
}

.shop-price {
	float: right;
	clear: none !important;
	font-size: 16px;
	text-align: right;
	font-weight: bold;
}

.shop-price.no-offer {
	line-height: 40px;
}

.offer_status, .postage_discount {
	display: block;
	text-align: right;
	text-decoration:none;
	font-size:12px;
	cursor:default;
	font-weight: bold;
}

.categories {
	font-size:13px;
	line-height: 1.4;
}

table.product_results {
	margin-bottom: 10px;
}

table.product_results td {
	padding: 5px;
}

div.product_separator {
	padding-bottom: 15px;
	border-top: 2px dotted #CECECE;
	clear: both;
}

.image_count {
	position:absolute;
	bottom: 0px;
	right: 0px;
	font-size:11px;
	line-height: 1.4;
	font-weight:bold;
	color:#FFF;
	background:#CECECE;
	padding:5px;
}

.new_badge {
	position:absolute;
	top: 0;
	left: 0;
	font-size:11px;
	line-height: 1.4;
	color:#FFF;
	background:#000;
	padding:5px 10px;
}

.image_container_small, .image_container_large {
	display: block;
	float: left;
	background: #fff;
}

.image_container_small a, .image_container_large a {
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	width: 172px;
	height: 129px;
}

.image_container_small {
	margin-right: 15px;
}

.image_container_small a {
	width: 64px;
	height: 48px;
}

.image_container_small a img, .image_container_large a img {
	max-width: 100%;
	max-height: 100%;
}

.table-row {
	display: table-row;
}

.product-outer {
	overflow:hidden;
	position:relative;
	clear:both;
}

.shop-image-outer {
	position: relative;
	display: block;
	float: left;
	clear: both;
}

.extra-images {
	float: left;
	clear: both;
}

div.shop-buttons {
	float: left;
	clear: both;
	width: 100%;
	margin: 15px 0;
}

div.shop-buttons div.left {
	float: left;
	margin: 0 10px 0 0;
}

div.shop-buttons div.right {
	float: right;
	margin: 0 0 0 10px;
}

input.shop-button, div.shop-buttons div input, .delivery-options input {
	text-transform: uppercase;
	font-size: 10px;
	padding: 0px 10px;
}

.is_add_button {
	float: right;
	margin: 22px 0 15px 10px;
}

.product {
	font-size: 20px;
	max-width: 500px;
}

.select-container {
	float: left;
	clear: none !important;
}

.select-label {
	font-size: 13px;
	margin-bottom: 5px;
	font-weight: bold;
}

select.quantity_select, select.variation_select, #delivery_service, #voucher_code {
	height: 30px;
	font-size: 14px;
	line-height: 30px;
	border: 1px solid #CCC;
}

#voucher_code {
	color: #555;
	padding: 0 10px;
	text-transform: uppercase;
	height: 39px;
	line-height: 1;
	margin: 0 0 15px 0;	
}

select.quantity_select {
	width: 50px;
}

select.variation_select {
	max-width: 165px;
}
	
#trolley_table {
	width: 100%;
	border-collapse: collapse;
	margin: 0 0 15px 0;
}

#trolley_table tr.separator td {
	border-bottom: 2px dotted #CECECE;
	height: 0;
	padding: 0;	
}

#trolley_table th {
	white-space: nowrap;
	padding: 0 5px 5px 5px;
	font-size: 12px;
	line-height: 1.4;
}

#trolley_table td {
	padding: 15px 5px;
	font-size: 16px;
	line-height: 1.4;
}

#trolley_table select.quantity_select, #trolley_table select.variation_select {
	min-width: 100%;
	width: auto;
	max-width: 1px;
}

#trolley_table .image_container_small {
	margin: 0 10px 5px 0;
}

.product_col {
	width: 100%;
	max-width: 1px; /* break-word needs this */
}

.product_col .shop-title {
	float: none;
	font-size: 16px;
	max-width: none;
}

.variation_col {
	min-width: 160px;
}

.delivery-options {
	font-size: 16px;
	line-height: 1.4;
}

.delivery-label {
	margin: 0 0 5px 0;
	font-weight: bold;
}

#delivery_service {
	margin: 0 0 15px 0;
	width: auto;
	max-width: 100%;
}

.free-delivery {
	margin: 0 0 15px 0;
	font-size: 12px;
	line-height: 1.4;
	font-weight: bold;	
}

.shop-subtotal {
	float: right;
	clear: both;
	line-height: 1.4;
}

.shop-subtotal td {
	border-collapse: collapse;
	text-align: right;
	vertical-align: top;
	padding: 5px;
	font-size: 16px;
}

.shop-subtotal tr.total {
	font-weight: bold;
}

#address_form label, #address_form .required_message {
	display: block;
	margin-bottom: 15px;
}

#address_form label input, #address_form label select, #address_form label textarea {
	display: block;
	margin-top: 5px !important;
}
#address_form .error-message {
	color: red;
	background: white;
	border: 2px solid red;
	margin-bottom: 15px;
	padding: 10px;
	border-radius: 2px;
}