/* Colours ------------------------------------ */
body { background: #0b1722 url(./../images/body.jpg) top no-repeat; }
body, a.category-button, strong, .pagination strong, .footer h2 { color: rgb(255, 255, 255); }
h4, a.link:hover, div#partners a, h5, h3.fancy, h2 span { color: rgb(255, 255, 255); }
h4.title, h3 { color: rgb(204, 204, 204); background: rgb(12, 23, 35); background: rgba(0, 0, 0, 0.6); }
.large, dd {
	color: rgb(204, 204, 204);
}
a, .footer a:hover, h2, .orange, a:hover h4.title, .pagination, tr.grand-total,
div#partners a:hover, ul#category_list a:hover, ul#category_list a:hover span { color: #ffb016; }
h4.title { background-position: right;}
h3, ul#category_list span, .quote { color: rgb(204, 204, 204); }
div#cart_overlay, div.description, .shop-price { background: rgb(29, 52, 65); color: rgb(204, 204, 204); }
div#image-tip { color: rgb(204, 204, 204);}
.access { background: #110; }
form.search input, form.contact input, form.contact textarea, .footer, .footer a { color: rgb(139, 150, 161); }
div.footer { background: rgb(0, 0, 0); border-top: 1px solid rgba(255, 255, 255, .2); }
tr.split, table.cart tr, table.cart th { border-color: rgb(52, 61, 71) !important; }
td.inactive { color: rgb(97, 101, 121); }
a.previous, a.next {
	display: inline-block;
	width: 27px;
	height: 30px;
	text-indent: -9999px;
	vertical-align: middle;
	background-position: top;
}
a.previous, .link.back { background-color: transparent; background-image: url(./../images/a.left.png); background-repeat: no-repeat; }
a.next, .link.forward { background-image: url(./../images/a.right.png); background-repeat: no-repeat; }
a.previous:hover, .link.back:hover { background-image: url(./../images/a.left.hover.png); }
a.next:hover, .link.forward:hover { background-image: url(./../images/a.right.hover.png); background-repeat: no-repeat; }
a.link.forward, a h4.title { background-image: url(./../images/a.right.next.png); background-repeat: no-repeat; }
a.link.forward:hover, a:hover h4.title { background-image: url(./../images/a.right-next.hover.png); }
a.link, .help p, .box {  background-color: rgb(66, 80, 94) !important; background-color: rgba(255,255,255,0.1) !important; }
ul.meta-data li { background: rgb(36, 59, 73); border-color: rgb(24, 47, 60); color: rgb(139, 150, 161); }
div#category_popup { background: rgb(63, 76, 89); }
ul#category_list li a { color: #fff; }


/* Images */
h1 a { background: url(./../images/h1.png); }
.anniversary_masthead { background: url(./../images/anniversary_masthead.png) no-repeat right bottom;}

/* Type -------------------------------------- */
body { font: 13px/20px Helvetica, Arial, Verdana, "sans serif"; }
.large {
	font-size: 16px;
	line-height: 25px;
}
.large a {
	border-bottom: 1px solid rgb(100, 100, 100);
}
.large strong {
	line-height: 24px;
}
h3, form.search input, form.contact input, form.contact textarea, .cost, h4,
.quote, a.link { font-family: "Trebuchet MS"; font-style: italic; }
h2, .pagination { font-size: 20px; font-weight: normal; }
h3 { font-size: 18px; }
.quote { font-size: 18px; line-height: 30px;}
.quote.smaller { font-size: 14px; line-height: 25px;}
.quote.larger { font-size: 22px; line-height: 25px;}
h4, a.link { font-size: 14px;}
.box, .help p { padding: 10px;}
.help p { margin: -10px 0 -10px 0; }
div#partners { font-size: 10px; line-height: 12px; text-align: right; }

form.search label, form.search input, .category-button { font-size: 22px; line-height: 26px; }
.cost { font-size: 16px; }
td.cost { text-align: right; }
.pagination { text-align: center; }
.meta-data, .small, div#image-tip { font-size: 10px;}
div#image-tip h5 { font-size: 11px; line-height: 16px;}
ul#category_list, th { font-weight: bold; font-size: 14px;}
ul#category_list span { font-weight: normal; font-size: 12px; }
th { text-align: center;}
.footer a { border-bottom: 1px dotted; }
.home-image { margin-bottom: 20px;}
.attribution { margin: 0; text-align: right;}

h2.fancy {
	font-family: "Times New Roman";
	font-size: 36px;
	line-height: 36px;
	font-style: italic;
	margin-top: 0;
	margin-bottom: 0;
	text-align: center;
}
h3.fancy {
	font-family: "Times New Roman";
	position: relative;
	background: none;
	font-size: 30px;
	line-height: 36px;
	text-align: center;
	padding-top: 0;
	margin-bottom: 10px;
	font-weight: normal;
}
h2.fancy:before {
	content: "— ";
}
h2.fancy:after {
	content: " —";
}
dt {
	font-weight: bold;
}
dd {
	margin-bottom: 10px;
}


/* General ----------------------------------- */
.access { margin: 20px; }
a { text-decoration: none; }
a.underline { border-bottom: 1px dotted;}
p { margin-bottom: 10px; }
h2 { margin: 20px 0; }
div#category_popup h2 { margin: 7px; clear: both; padding-top: 4px; }
a h4.title, h3 { display: block; padding: 10px 0; bottom: 0; left: 0; position: absolute; width: 100%;}
a h4.title span { padding: 0 35px 0 5px; display: block;}
h3 span { padding: 0 10px; }
h3 span.right { float: right; }
a.link {
	display: inline-block;
	padding: 5px 10px;
	margin: 0 10px 20px;
}
a.link.back {  background-position: 2px; padding-left: 40px; }
a.link.forward {  background-position: right; padding-right: 35px; }
div.description p, div.description h4 { margin: 10px 0 10px 10px; }
div.description ul { margin: 10px 0 5px 5px; }
div.footer { margin: 20px 0 0; padding: 20px 0; }
ul.meta-data li { padding: 0 5px; display: block; float: left; white-space: nowrap; margin: 0 5px 5px 0; border-width: 1px; border-style: solid; }
form select {
	background: none;
	border: none;
	color: #fff;
	font-size: 13px;
	font-family: Helvetica;
}
form.search {
	height: 40px;
	margin-bottom: 30px;
}
form.search label, form.search input, .category-button {
	padding: 8px 0 8px .5em;
	height: 26px;
}
form.search label.win-firefox, .category-button.win-firefox {
	padding-top: 6px;
}
form.search label {
	background: transparent url('./../images/form.search.png') left top no-repeat;
	display: block;
	float: left;
	cursor: pointer;
	width: 102px;
}
form.search input {
	margin: 0;
	background: transparent url('./../images/form.search.png') right top no-repeat;
	border: none;
	display: block;
	float: left;
	width: 452px;
	padding-top: 6px;
	padding-left: .4em;
}
form.search button {
	background: transparent url('./../images/button.search.png') left top no-repeat;
	border: none;
	width: 46px;
	height: 40px;
	text-indent: -9999px;
	cursor: pointer;
	display: block;
	float: left;
}
a.category-button {
	background: transparent url('./../images/form.collection.png') left top no-repeat;
	height: 26px;
	display: block;
	position: relative;
}
form.contact label {
	display: inline-block;
	width: 120px;
	text-align: right;
	vertical-align: top;
	margin: 8px 8px 0 0;
	clear: both;
}
form.contact input, form.contact textarea {
	display: inline-block;
	background: rgb(60, 77, 93);
	border: 1px solid;
	border-color: rgb(90, 104, 117);
	font-size: 14px;
	padding: 3px;
	width: 380px;
	margin-top: 5px;
}
form.contact textarea {
	height: 160px;
}
form.contact button {
	margin-left: 140px;
	width: 150px;
}
.error {
	color: rgb(255, 255, 0);
}

/* Purchase --------------------------------------------- */
form.purchase table {
	margin: 9px 10px 10px 10px;
	width: 430px;
}
form.purchase table tr.split {
	border-top: 1px solid;
}
form.purchase table tr.split td {
	padding-top: 4px;
}
form.purchase table tr.pad-bottom td {
	padding-bottom: 5px;
}
table.cart {
	width: 100%;
	margin-bottom: 20px;
}
table.cart td, table.cart th {
	padding: 5px;
}
table.cart tr { border-bottom: 1px dotted; }
table.cart th { border-bottom: 2px solid; }
table.cart tr.totals { border: none; }

.shop-price {
	padding: 20px 15px 0;
}
.shop-price h4 {
	float: left;
	line-height: 30px;
	font-size: 18px;
}

/* Results grid ------------------------------------------ */
div.img-grid {
	display: block;
	float: left;
	background: transparent url('./../images/div.grid-img.png');
	margin: 0 0 16px 6px;
	padding: 4px;
}
div.img-grid-small, ul#category_list li a div {
	display: block;
	float: left;
	background: transparent url('./../images/div.grid-img-small.png');
	margin: 0 0 12px -4px;
	padding: 4px;	
}
div.grid-header h2 {
	margin-left: 10px;
}
div.grid-header form {
	display: inline;
}


/* Margins etc. ------------------------------------------ */
ul.navigation li {
	display: block;
	float: left;
}
ul.navigation.top {
	float: right;
	font-size: 14px;
	font-weight: bold;
}
ul.navigation.top a span {
	font-size: 10px;
	color: rgb(255, 255, 255);
}
ul.navigation.top a {
	padding: 5px 10px;
	margin-left: 5px;
}
ul.navigation.top a:hover {
	color: rgb(255, 255, 255);
	background: rgb(66, 80, 94);
	background: rgba(255, 255, 255, 0.2);
}
.collection-navigation {
	margin: 10px 0;
}

/* Utility -------------------------------------------- */
.access, .help { display: none; }
.first { margin-top: 0 !important; }
.no-margin { margin: 0;}
.extra-margin-top { margin-top: 10px;}
.extra-margin-bottom { margin-bottom: 10px;}
.relative { position: relative; }
img { vertical-align: middle;}
.align-right { text-align: right; }
.align-center { text-align: center; }
#image-tip {
	display:none;
	opacity: .95;
	width: 169px;
	height: 82px;
	padding: 20px;
	background: url(./../images/black_arrow.png);
}

div#cart_overlay { 
  display:none;
  z-index:10000;
  width: 805px;
  min-height:200px; 
  border:1px solid #333; 
	padding: 20px 0;
}
div#cart_overlay div.close {
    background-image: url(./../images/close.png); 
    position:absolute; 
    right:-15px; 
    top:-15px; 
    cursor:pointer; 
    height:35px; 
    width:35px; 
} 

div#category_selection {
	position: relative;
}
div#category_popup {
	display: none;
	top: 50px;
	left: -240px;
	position: absolute;
	width: 520px;
	padding: 10px;
}
ul#category_list li {
	height: 60px;
	width: 250px;
	display: block;
	float: left;
}
ul#category_list li a {
	display: block;
	padding: 9px 20px;
}
ul#category_list li a div.img-box {
	margin: -9px 5px 0 -15px;
	padding: 4px;
	width: 60px;
	height: 50px;
	float: left;
}
ul#category_list span {
	display: block;
}

/* Replacing text with graphics ----------------------- */
h1 {
	text-indent: -9999px;
	padding-top: 22px;
	margin: 0 0 20px 8px;
}
h1 a {
	display: block;
	width: 277px;
	height: 74px;
}
div#partners {
	height: 58px;
	padding: 22px 170px 0 0;
	margin-right: 8px;
	background: url('./../images/div.partners.png') no-repeat right;
}

#display_image { position: relative; }
#display_image img { width: auto; height: auto; }
.photo_link { position: absolute; top: 0; width: 49%; height: 100%; display: block; }
.photo_link div { display: none; }
.photo_link:hover div { display: block; }
.photo_link div { background: rgb(0, 0, 0); background: rgba(0,0,0,.75); height: 100px; padding: 10px; margin: 10px; }
#previous_photo img { float: left; margin-right: 10px;}
#next_photo img { float: right; margin-left: 10px; }
#previous_photo { left: 0; float: left; }
#next_photo { right: 0; float: right; text-align: right; }

/* Enhancements / Fixes */
.mozilla-margin-fix { border-top: 1px solid transparent;}

div#cart_overlay, div#category_popup {
  -moz-box-shadow:0 0 50px 5px rgb(0, 0, 0);
  -webkit-box-shadow: 0 0 25px rgb(0, 0, 0);
}
a.link, div#cart_overlay {
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	border-radius: 20px;
	border-radius-top-right: 0;
}
ul.meta-data li, #previous_photo div, #next_photo div {
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
}
ul.navigation.top a {
	-moz-transition: all 0.2s;
	-o-transition: all 0.2s;
	-webkit-transition: all 0.2s;
	transition: all 0.2s;
	text-shadow: 1px 1px 1px rgba(0, 0, 0, 1);
}
ul.navigation.top a, .help p, .box {
	-webkit-border-radius: 15px;
	-moz-border-radius: 15px;
	border-radius: 15px;
}
h3, a.link, h4.title, .large {
	text-shadow: rgb(0, 0, 0) 1px 1px 1px;
}


