body, html {
	font-family: "Lucida Grande", Arial, sans-serif;
	font-size: 12px;
	padding: 0px;
	margin: 0px;
}

button {
	/* the above style upsets buttons. This attempts to put it right */
	margin: default;
	border: default;
	padding: 2px 6px 3px 6px;
	min-width: 50px;
}

p {
	margin-top: 6px;
	line-height: 140%;
}

body {
	margin: 0px;
	padding: 0px;
	background-color: white;
/*	background-color: #dddddd;
	background-image: url(../images/bg_shadow960.png);
	background-repeat: repeat-y;
	background-position: center;
*/
}

img {
	/* to stop FireFox and others placing a blue box around image links */
	border: 0px solid #000000;
}

#header_receipts {
	/* this style repeated in /styles_main.css, excepting for margin-left */
	position: relative;
	width: 830px;
	height: 102px;
	margin-top: 0px;
	padding-top: 0px;
/*	the image must be on the page to be printed
	background-image: url(../images/main/bee_header_narrow.jpg);
	background-repeat: no-repeat;
	background-position: center top;
*/
}

select {
	border: 1px solid gray;	/* so Firefox popups (drop downs) don't look naked */
}

input {
	border: 1px solid gray;
	margin-top: 1px;
	margin-bottom: 1px;
}

input[type=image] {
	border: 0px solid gray;
	margin-top: 1px;
	margin-bottom: 1px;
}

textarea {
	border: 1px solid gray;
	margin-top: 1px;
	margin-bottom: 1px;
}

#frame {
	/* this frames the enclosure, so we can add an image border */
	width: 930px;
	margin-left: auto;
	margin-right: auto;
	background-image: url(images/store_border_bg_930.png);
	background-repeat: repeat-y;
}

#enclosure {
	width: 960px;
	margin-left: auto;
	margin-right: auto;
	padding-top: 0px;
	margin-bottom: 0px;
	/*background-color: #FFCCCC;*/
}

#enclosure_narrow {
	width: 830px;
	margin-left: auto;
	margin-right: auto;
	padding-top: 0px;
	margin-bottom: 0px;
	/*background-color: #FFCCCC;*/
}

#narrow_store_container {
	width: 810px;
	margin: auto;
}

#bee_logo {
	width: 120px;
	height: 120px;
	float: left;
	margin-left: 10px;
	/*background-color: #99CCFF;*/
}

#bee_logo_receipt_image {
	max-width: 90px;
	max-height: 90px;
	float: left;
	margin-right:12px;
	margin-bottom: 5px;		/* because the source image's white border is uneven */
}

#store_banner {
	width:700px;
	min-height: 120px;		/* changed height to min-height to allow store menu-bar in thumbview.php */
	float: left;
	margin-left: auto;
	margin-right: auto;
}

#store_menu {
	border: 1px solid #bbbbbb;	/* same border colour as the product image divs have (around each thumbnail image) */
	color: gray;
	padding: 0 2px 1px 2px;
	margin: 0 14px 0 10px;		/* to match total width of the product image divs */
}
#store_menu a.menu_left {
	display: inline-block;
	float: left;
	font-size: 11px;
}
#store_menu a.menu_right {
	display: inline-block;
	float: right;
	font-size: 11px;
}
#store_menu a, #store_menu a:link, #store_menu a:visited {
	color: gray
}

.store_addresses {
	text-align: center;
	vertical-align: top;
}

.store_address {
	/* used on store/store_addresses.php */
	margin: 20px 10px 10px 10px;
	padding: 10px;
	width: 200px;
	border: 1px gray solid;
	display: inline-block;
	text-align: left;
	background-color: #dddddd;
	vertical-align: top;
}

#receipt_banner {
	width:700px;
	height: 120px;
	margin-left: auto;
	margin-right: auto;
}

#content {
	/* this style name conflicts with styles_main.css, which seems to be taking precedence on many pages */
	width: 700px;
	float: left;
	clear: right;
}

#trade_content {
	/* this is meant to replace '#content', but I don't want to break anything */
	width: 960px;
	margin: 0;
	padding: 0;
}

#content_choose_store {
	float: left;
	padding: 0px;
	margin: 0px;
	width: 805px;
	height: 450px;
}

#thumbview {
	width: 100%;
/*	height: 100%;
	overflow: scroll; */
}

#cart {
	clear: both;
	padding: 10px;
	padding-bottom: 50px;
}

#menuless_content {
	clear: both;
	width: 500px;		/* 580px was designed so logo is to the left (above) and same white-space on right */
	margin-left: auto;
	margin-right: auto;
	padding: 10px;
	padding-bottom: 50px;
}

#checkout {
	padding: 40px;
	border: 1px solid gray;
	background-color: #eee;
	margin-bottom:20px;
}

#checkout .checkout_note {
	width: 200px;
	float: right;
	color: blue;
	font-size: 10px;
	text-align: right;
	margin: 0 -30px -34px 0;
	color: black;
}

#confirm {
	padding: 30px 40px 40px 40px;
	margin-top: 60px;
	border: 1px solid gray;
	background-color: #eee;
	margin-bottom:20px;
}

#sold {
	padding: 30px 40px 40px 40px;
	border: 1px solid gray;
	background-color: #eee;
	margin-bottom:20px;
}

#sold p {
	font-size: 13px;
	margin: 1.5em;
}

.checkout_row {
	clear: both;
	margin: 10px 0;
}

.checkout_column {
	margin-left: 40px;
}

.checkout_column h4 {
	text-align: left;
}

.confirm_column.left {
	float: left;
	width: 270px;
	margin-right: 30px;
}

.confirm_column.right {
	float: right;
	width: 400px;
	margin-top: 10px;
}

.confirm_column h4 {
	text-align: left;
	margin-top: 0;
	padding-top: 4px;
}

.checkout_total {
	margin-top: 2em;;
}

#service {
	width: 700px;
	clear: right;
	float: left;
}

.sidebar_category {
	padding: 0px;
	margin: 0px;
	font-size: 11px;
	width: 134px;
	background-color: white;
	margin-top: 2px;
	margin-bottom: 2px;
	padding: 4px;
	/* border: 1px solid #999999; */
	clear: both;
}

.sidebar_search {
	font-size: 11px;
	line-height: 20px;
	padding: 0px;
	margin: 10px 0 2px 0;
	width: 140px;
	clear: both;
}

.sidebar_search * {
	font-size: 11px;
}

a div.sidebar_category, a:link div.sidebar_category, a:visited div.sidebar_category {
	/*font-weight: bold;*/
	color: black;
	/* border: 1px solid #999999; */
	text-decoration: none !important;	
}

#side_bar {
	width: 140px;
	padding-right: 10px;
	margin-right: 9px;
	border-right: 1px solid #222;
	margin-left: 40px;
	float: left;
	clear: left;
}

#side_bar a, #side_bar a:link, #side_bar a:visited {
	text-decoration: none !important;	/* required for Safari, else categories get underlined */
}

.sidebar_ul {
	list-style-type: none;
	padding: 0px;
	margin: 0px;
	float: right;
}

.sidebar_li {
	font-size: 11px;
	width: 116px;
	background-color: white;		/* was #ccc */
	margin-top: 2px;
	margin-bottom: 2px;
	padding: 2px;
	/* border: 1px solid #999999; */
	text-decoration: none;	
}

.sidebar_sel {
	/* selected list item */
	/*
	background-color: #F8F8FF !important;	-- so it overrides the other classes used at the same level
	border: 1px solid #55AAAA !important;
	*/
	background-color: #ddd;
	color: green;
}

a.sidebar_subcategory {
	display: block;	
}

a.sidebar_subcategory, a.sidebar_subcategory:link, a.sidebar_subcategory:visited {
	font-size: 11px;
	color: #222;
	text-decoration: none;	
}

a.sidebar_subcategory:hover, a.sidebar_subcategory:active {
	background-color: #eee;
	color: black;
}

h3 {
	padding-top: 20px;
	padding-bottom: 4px;
	text-align: center;
	font-size: 18px;
}

.cart_heading {
	font-size: 16px;
	color: gray;
	margin-bottom:10px;
}

.cart_heading .active {
	font-size: inherit;			/* why is this necessary? */
	color: black;
}

.cart_heading .inactive {
	font-size: inherit;			/* why is this necessary? */
	color: gray;
}

h4 {
	font-weight: bold;
	padding-top: 10px;
	margin-top: 10px;
	margin-bottom: 10px;
	text-align: center;
	font-size: 14px;
}

.centred {
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

#product_group {
	position: relative;		/* allows social media icons to be positions over image */
}

.fullpict {
	padding: 2px;
	margin-bottom: 6px;
	/* border: 2px solid #BBBBBB; */
	border: 2px white;
	height: 400px;
	width: 400px;
	text-align: center;
	position: relative;
}

.fullpict img {
	width: 400px;
	margin: auto;
}

.store_detail .social_media {
	position: absolute;
	width: 50px;
	left: 0;
	top: 310px;
	z-index: 50;
	display: none;
	background-color: white;		/* so if it overlaps the ring-resize div, it's not a mess */
}

.social_media>div {
	padding: 2px 0;
}

.social-media-icons .pinterest-icon a {
	display: block;
	width: 40px;
	height: 20px;
	overflow: hidden;
}

.thumbnail {
	position: relative;		/* for the 'CLEARANCE' overprint */
	margin: 10px;
	_margin: 9px;			/* IE botch */
	padding: 0px;
	float: left;
	/*min-height: 327px;*/	/* was 255 */
	width: 210px;
	/* border: 1px solid #BBBBBB; */
	border: 1px white;
	text-align: center;
}

.thumbimage {
	width: 200px;
	height: 200px;		/* was 200 */
	padding: 5px 5px 5px 5px;
	/* background-color: #FFEEDD; */
	position: relative;
}

.thumbtext {
	width: 190px;
	padding: 10px;
}

.thumbtext p {
	font-size: 11px;
}

.thumbtext p * {
	font-size: 11px;
}

.thumbtext a {
	font-size: 11px;
}

.thumbnail img {
	/* force the image to scale into the area allocated */
	max-width: 200px;
	max-height: 200px;
}

.thumbnail_sash {	/* for the 'CLEARANCE' overprint */
	position: absolute;
	z-index: 10;
	background-color: rgba(0, 128, 0, 0.5);
	bottom: -5%;
	right: 5%;
	width: 100px;
	height: 100px;
	border-radius: 50%;
/*	opacity: 0.5;
	filter: alpha(opacity=70);
	filter: alpha(opacity=50), progid:DXImageTransform.Microsoft.Matrix(m11=0.94 m12=0.342 m21=-0.342 m22=0.94 dy=72 sizingMethod='auto expand');
*/	-webkit-transform: rotate(15deg);
	-moz-transform: rotate(15deg);
	-o-transform: rotate(15deg);
}

.thumbnail_sash.thumbnail_detail {
	bottom: 5%;
	right: 5%;
	width: 150px;
	height: 150px;
}

@font-face {
	font-family: "MarketingScript";
	src: url('../resources/MarketingScript.ttf');
}

.thumbnail_sash_text {
	z-index: 20;
	color: white;
	font-family: "Helvetica, Arial, sans-serif" !important;
	font-weight: bold;
	font-size: 34px;	/* was 28px for full sash */
	line-height: 36px;
	width: 80%;
	margin: 15px auto;
	user-select: none;
	-moz-user-select: -moz-none;
	-khtml-user-select: none;
	-webkit-user-select: none;
	cursor: default;
	pointer-events: none;	/* allows click-through, but poorly supported by browsers */
}

.thumbnail_detail .thumbnail_sash_text {
	font-size: 48px;	/* was 28px for full sash */
	line-height: 50px;
	width: 80%;
	margin: 25px auto;
}

.thumbnail_view {
	margin: 10px -5px 5px 0;	/* -5px on right  allows for 5px shadow in graphic */
	clear: left;
	float: left;
	
}

.thumbnail_buy {
	margin: 10px -5px 5px 0;	/* -5px on right allows for 5px shadow in graphic */
	clear: right;
	float: right;
	
}

a.show_detail, a.show_detail:link, a.show_detail:visited {
	display: block;
	margin: auto;
	width: 80px;
	height: 2em;
	line-height: 2em;
	background-color: #aaa;
	border-radius: 0.8em;
	box-shadow: 2px 2px 4px 1px #888;
	font-size: 10px;
	color: white;
	font-weight: normal;
	text-align: center;
	text-decoration: none;
}

.thumb_price_red {
	color: red;
	font-size: 16px;
	font-weight: bold;
}

.store_detail #content {
	/* the content is normal flow in the div, with absolutely positioned items around it. */
	position: relative;
	padding-left: 130px;
	padding-right: 330px;
	width: 420px;		/* was 720 plus sidebar */
	min-height: 600px;
	font-size: 10px;
	float: none;
}

.store_detail a, .store_detail a:link, .store_detail a:visited {
	color: #933;
}

.store_detail a.add_to_cart, .store_detail a.add_to_cart:link, .store_detail a.add_to_cart:visited,
.matching_product a.add_to_cart, matching_product a.add_to_cart:link, matching_product a.add_to_cart:visited,
.similar_designs a, .similar_designs a:link, .similar_designs a:visited {
	padding: 0 1em;
	background-color: #933;
	border-radius: 0.5em;
	box-shadow: 2px 2px 4px 1px #888;
	font-size: 10px;
	line-height: 2em;
	color: white;
	font-weight: normal;
	text-align: center;
	text-decoration: none;
}

.store_detail #detail_info a.add_to_cart {
	display: inline-block;
	margin: 1em 0;
}

.matching_product a.add_to_cart {
	display: block;
	width: 20px;
	margin: 0 auto 4em auto;
}

.similar_designs a {
	display: block;
	margin: 0 auto 4em auto;
}

.store_detail h1 {
	font-weight: normal;
	font-size: 12px;
	margin-top: 20px;
}

.store_detail#enclosure {
	margin-left: auto;
	margin-right: auto;
	width: 850px;
}

#thumbs_group {
	position: absolute;
	width: 110px;
	top: 0;
	left: 0;	
}

#detail_info {
	position: absolute;
	width: 150px;
	height: 430px;
	margin-right: 20px;
	top: 0;
	right: 140px;
	text-align: right;
}

#detail_info > div {
	margin: 1.5em 0;
	line-height: 1em;
}

#detail_info > div:first-child {
	margin-top: 4px;
}

#detail_info h1 {
	text-align: left;
	font-size: 12px;
	font-weight: bold;
	color: #444;
	margin: 0 0 0.5em 0;
	line-height: 1.5em;
}

#detail_info .price {
	font-size: 20px;
}

#detail_info .quantity {
	text-align: center;
}

#detail_info .quantity input {
	width: 2em;
	text-align: center;
	padding: 3px;
}

/*
.detail_price_text {
	float: left;
	font-weight: bold;
}

.detail_price_special {
	color: red;
	font-size: 24px;
	position: relative;
	top: 3px;
}

.detail_price_regular {
	font-size: 24px;
	position: relative;
	top: 3px;
}
*/

.detail_buy {
	float: right;
	margin-top: 0px;
}

#detail_info .choose_ring_size {
	margin: 1.5em 0 1em 0;
}

#thumb_content {
	width: 110px;
	float: left;
}

.thumb_image, .box_image {
	/* border: 2px solid #bbbbbb; */
	border: 2px white;
	width: 100px;
	height: 100px;
	padding: 3px;
	overflow: hidden;
}

.thumb_image {
	margin-bottom: 8px;
	cursor: hand;
	cursor: pointer;
}

.thumb_image img {
	width: 100px;
	height: 100px;
}

.box-pouch {
	font-size: 9px;
	margin: 6px;
}

#matching_content {
	position: absolute;
	width: 130px;		/* can go to 139px */
	height: 480px;
	right: 0;
	top: 0;
	border-left: 1px solid #222;
	padding-left: 9px;
}

#matching_content .title {
	font-size: 10px;
	font-weight: bold;
	color: #222;
	text-align: center;
	width: 100%;
	margin-bottom: 10px;
}

#resize_tool {
	width: 160px;
	right: 140px;
	top: 210px;
	text-align: center;
	background-color: white;		/* so if it overlaps the social media icons, it's not a mess */
}

#resize_tool > div {
	margin: 2em 0 1em 0;
}

#resize_tool p {
	text-align: left;
	font-size: 8px;
}

#resize_tool img {
	width: 100px;
}

#matching_products {
	width: 100%;
	min-height: 180px;
	background-color: #FFCCCC;
	margin-top:20px;
}

.matching_product {
	width: 110px;
	min-height: 200px;
	margin-top: 0px;
	margin-bottom: 0px;
	margin-left: 10px;
	margin-right: 10px;
	_margin-left: 7px;		/* IE botch */
	_margin-right: 7px;
	/*background-color: #FFAAAA;*/
}

.matching_icon a {
	display: block;
}

.cart_table {
	font-size: 11px;
	border-spacing: 0px 0px;
	width: 810px;
	border: 1px solid #666666;
	padding: 0px;
	margin-left: auto;
	margin-right:auto;
	text-align: left;		/* default for the table */
}

.cart_table th {
	background-color: #CCCCCC;
	border: 4px solid #CCCCCC;
	padding: 0px;
	margin: 0px;
}

.cart_table td {
	padding: 3px 4px;
	border-right: 1px solid #eee;
	border-bottom: 1px solid #eee;
}

.cart_table .cart_product td {
	padding: 1px 4px;
	border-right: 1px solid #eee;
	border-bottom: 1px solid #eee;
}

#cart .cart_text {
	clear: both;
	margin: auto;
	width: 500px;
}

#cart .cart_text p {
	font-weight: normal;
	text-align: justify;
}

#cart .cart_text h4 {
	line-height: 1.3em;
}

.row_spacer {
	height: 8px;
	padding: 0px;
	margin: 0px;
}

.loyalty {
	color: #DD0000;
}

.free_highlight {
	color: #DD0000;
	font-weight: bold;
}

.numeric {
	text-align: right;
}

.small {
	font-size: 10px;
	line-height: 13px;
	margin-top: 4px;
}

.tiny {
	font-size: 9px;
	line-height: 12px;
	margin-top: 4px;
}

.large {
	font-size: 14px;
	line-height: 1.4em;
	margin-top: 8px;
}
a.large:link { font-size: 14px; }
a.large:visited { font-size: 14px; }
a.large:hover { font-size: 14px; }
a.large:active { font-size: 14px; }

.indent {
	margin-left: 20px;
}

.grey {
	color: #666666;
}

#invoice {
	clear: both;
	width: 700px;
	margin-left: auto;
	margin-right: auto;
	font-size: 12px;
	font-family: Arial, Helvetica, Verdana, sans-serif;
}

.invoice_header {
	background-color: #666666;
	text-align: left;
	margin-left: auto;
	margin-right: auto;
	border-spacing: 2px 2px;
	margin-top: 6px;
}

.invoice_header p {
	line-height: 120%;
	margin-top: 6px;
}

.invoice_header th {
	font-style: normal;
	font-weight: bold;
	background-color: #ffcc00;
	padding-top: 1px;
	padding-bottom: 1px;
	text-align: center;
	font-size: 12px;
	font-family: Arial, Helvetica, Verdana, sans-serif;
	padding-right: 4px;
	padding-left: 10px;
}

.invoice_header td {
	line-height: 12px;
	background: white;
	padding-bottom: 1px;
	padding-top: 1px;
	font-size: 10px;
	font-family: Arial, Helvetica, Verdana, sans-serif;
	padding-right: 4px;
	padding-left: 10px;
}

.invoice_items {
	border-width: 0px;
	border-style: none;
	font-size: 10px;
	font-family: Arial, Helvetica, Verdana, sans-serif;
	text-align: left;
	margin-left: auto;
	margin-right: auto;
	border-spacing: 0px 0px;
}

.invoice_items th {
	/* not all browsers honour this class header, hence the bg-colour is repeated in some <tr> tags */
	background-color: #cccccc;
	font-style: normal;
	font-weight: bold;
	padding-top: 1px;
	padding-bottom: 1px;
	padding-right: 6px;
	padding-left: 6px;
}

.invoice_items td {
	background-color: white;
	padding-top: 3px;
	padding-bottom: 3px;
	padding-right: 6px;
	padding-left: 6px;
}

.shipping_info {
	position: relative;
	font-size:10px;
	border: solid 1px black;
	margin: 10px;
	padding: 5px;
	float: right;
	top: -20px;
	right: -20px;
}

.shipping_note {
	width: 400px;
	border: solid 1px black;
	margin: 10px;
	padding: 20px;
}

.shipping_text {
	font-size: 28px;
	font-weight: bold;
}

.incentive {
	margin-top: 10px;
	font-weight: bold;
	color: #933;
	font-size: 12px;
}

.info_grey {
	color: #444;
	margin: 0px;
}

.error {
	color: #cc0000;
	font-weight: bold;
}

.centerText {
	width: 700px;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

.attentionText {
	font-size: 1.2em;
	font-weight: bold;
	color: #ee0000;
	text-align: center;
	font-style: italic;
	text-shadow: 1px 1px 1px #ffff66;
}

.paid {
	/* stamp 'paid' */
	font-size:14px;
	font-weight:bold;
	color:blue;
	padding:4px;
	border-top: 2px solid blue;
	border-bottom:2px solid blue;
}

.paid.cancelled {
	color: red;
}

.store_home {
	padding :10px;
	color: #777;
}

.store_home h1 {
	font-weight: normal;
	margin: 0;
	padding: 10px;
	background-color: #999;
	color: white;
	text-align: center;
	font-size: 24px;
	line-height: 100%;
}

.store_info {
	/* contains the store_details and image */
	clear: both;
}

.store_details {
	width: 258px;
	float: left;
	font-size: 12px;		/* was 11px */
	color: #444;			/* was #222 */
}

.store_image {
	width: 640px;
	float: right;
	/* border: 1px solid #ccc; */
	margin-top: 8px;		/* attempt to match the heading margin to the left of the image*/
}

.store_image img {
	display: block;
	margin: auto;
}

.store_info p {
	padding-bottom: 6px;
}

.store_hours span {
	display: inline-block;
	width: 4em;
}

.search_summary {
	margin: 0 65px 0 35px;
	padding: 25px 0 15px 4px;
	font-size: 12px;
}

.search_summary .pages, .search_summary .found_count {
	float: right;
	margin-left: 20px;
	color: gray;
}

.search_summary .pages a, .search_summary .pages a:link, .search_summary .pages a:visited {
	color: #b28;
	text-decoration: none;
}

.search_summary .pages a:hover, .search_summary .pages a:active {
	text-decoration: underline;
}

#shop_by_price {
	padding: 0 0 15px 0;
	margin-left: 15px;
	font-size: 10px;
}

#shop_by_price .sbp_button {
	color: #222;
	margin: 0 15px;
	padding-top: 5px;
	border-bottom: 1px solid #222;
	cursor: pointer;
}

#shop_by_price .sbp_button.selected {
	color: #b28;
	border-bottom: 1px solid #b28;
}
