/* CSS Document */

/*
colours
========================
purple			#7e1085
green			#008361
*/

/* @group site defaults */

* { margin: 0; padding: 0; }

html { }

body { margin: 0 auto; width: 940px; color: #424242; font: normal 14px/1.5 Helvetica, Arial, sans-serif; background: url(/site/images/header-bg.png) repeat-x left top; }
body#tinymce { width: auto; background: none; }

a { color: #7e1085; text-decoration: underline; }
a:hover { text-decoration: none; }
p { display: block; margin: 1em 0; }
h1, h2, h3 { display: block; color: #2b2b2b; }
h1 { font-size: 28px; }
h2 { font-size: 20px; margin-top: 1.5em; }
h3 { font-size: 16px; margin-top: 1.5em; }

.left { float: left; }
.right { float: right; }
.clear { clear: both; }

a img { border: 0; }

img.left { margin: 0px 10px 10px 0px }
img.right { margin: 0px 0px 10px 10px }
img.center { display: block; margin: 0px auto; }

/* @group image sizes */

/* Small: small=100x0@100% */
img.small { width: 100px; }
/* Medium: medium=230x0@100% */
img.medium { width: 230px; }
/* Large: large=448x0@100% */
img.large { width: 448px; }
/* Sidebar: sidebar=300x0@100% */
img.sidebar { width: 300px; }
/* Bottle: bottle=35x0@100% */
img.bottle { width: 35px; }

/* @end */

table { width: 95%; border-collapse: collapse; }
table th { background: #eee; xcolor: #000; padding: 2px; border: #ddd solid 1px; }
table td { padding: 1px 2px; border: #eee solid 1px; }

.error { display:none; font-size: 14px; color: red; }

/* @end */


/* @group main layout */

#header,
#footer,
#navigation { display: block; width: 940px; margin: 0px auto; clear: both; }

#products,
.cmsmaintext { display: block; float: left; width: 450px; padding: 0 20px; }
#filter,
#minibasket,
#specialoffers,
.cmssidebartext { display: block; float: left; width: 221px; padding: 0 0 10px; border: solid 2px #eee; }

#homepage { display: block; float: left; width: 715px; overflow: hidden; }
#content-primary { display: block; float: left; width: 695px; padding-right: 20px; }

#content-primary ol,
#content-primary ul,
#content-secondary ol,
#content-secondary ul { margin: 1em 0; padding-left: 2em; }

blockquote { margin: 1em; background: #e7e7e7; padding: 1em; color: #000; }

/* @end */


/* @group header */

#header { height: 100px; }
#header img#logo { margin: 13px 0 0 15px; }

#quicknav { display: block; width: auto; float: right; margin-top: 50px; color: white; }
#quicknav li { display: block; float: left; }
#quicknav li a { display: block; float: left; padding: 0 5px; color: white; text-decoration: none; }
#quicknav li a:hover { text-decoration: underline; }

/* @end */

/* @group navigation */

#navigation ul { display: block; height: 40px; padding: 0; width: 940px; background: url(/site/images/navigation-break.png) no-repeat right top; margin-bottom: 20px; }
#navigation ul li { display: block; float: left; width: 114px; padding-left: 3px; background: url(/site/images/navigation-break.png) no-repeat left top; }
#navigation ul li a { display: block; float: left; width: 114px; height: 40px; line-height: 40px; text-align: center; color: #008361; text-decoration: none; }
#navigation ul li a:hover { background: url(/site/images/navigation-bg.png) repeat-x left bottom; color: #424242; }

/* @end */

/* @group product */

.product { border: solid 2px #eee; margin: 10px 0; clear: both; xpadding: 10px; overflow: hidden; }
.product img { float: right; padding: 10px 10px 10px 0; }
.product h2 { margin-top: 0; padding: 10px; }
.product h2 a { color: #7e1085; }
.product p { padding-left: 10px; }
.product .price { color: #008361; }
.product .rrp { color: #424242; text-decoration: line-through; }
.product .salescode { font-size: 12px; color: #888; }

.product .actions { display: block; clear: both; height: 28px; line-height: 28px; padding: 2px 2px 1px 12px; background: url(/site/images/products-action-bg.png) no-repeat left bottom; }
.product .actions form { display: block; float: right; width: auto; height: 28px; }

.product .actions label { font-size: 12px; display: block; float: left; color: #777; padding-left: 15px; background: url(/site/images/product-action-break.png) no-repeat left top; }
.product .actions select { display: block; float: left; width: 90px; height: 16px; font-size: 11px; margin: 5px 15px 0 5px; }
.product .actions input.quantity { display: block; float: left; width: 20px; border: 1px solid #ddd !important; height: 16px; text-align: center; margin: 5px 15px 0 5px; }
.product .actions a.add { display: block; float: left; height: 28px; padding: 0 15px; background: url(/site/images/product-action-break.png) no-repeat left top; font-weight: bold; text-decoration: none; }
.product .actions a.add:hover { background: url(/site/images/product-action-hover-bg.png) repeat-x left top; }

#product { width: 690px; float: left; margin: 0 20px 20px 0; }
#product h1 { padding: 10px 0 0 10px; }
#product.product .actions { background: url(/site/images/product-action-bg.png) no-repeat left top; }

#filter {  }
#filter dt,
#filter dd a { height: 30px; text-indent: 10px; line-height: 30px; color: #424242; }
#filter dt { font-weight: bold; color: white; background: url(/site/images/section-top-bg.png) no-repeat left top; }
#filter dd { padding: 0px 10px; }
#filter dd a { display: block; text-decoration: none; border-bottom: 1px solid #eee; }
#filter dd a:hover { background: #eee; color: #7e1085; }

#minibasket { padding-bottom: 0; }
#minibasket #baskettitle,
#minibasket .basketlinks { display: block; height: 30px; text-indent: 10px; line-height: 30px; }
#minibasket #baskettitle { color: white; background: url(/site/images/section-top-bg.png) no-repeat left top; font-weight: bold; }
#minibasket .basketlinks { border-top: 2px solid #eee;  }
#minibasket p { padding: 0 10px; }

#popupbasket { padding: 10px; }
#popupbasket table { width: 100%; font-size: 12px; }
#popupbasket table caption { display: none; }
#popupbasket table th { color: #008361; background: white; border: 0 none; border-bottom: 1px solid #008361; text-align: left; }
#popupbasket table tr.lineitem { border-bottom: #eee solid 1px; }
#popupbasket table td { padding: 3px 0; border: 0 none; }
#popupbasket table td.qty { text-align: center; }
#popupbasket table tr.totalprice td,
#popupbasket table tr.totalprice th { border-bottom: 1px solid #008361; border-top: 1px solid #008361; color: #008361; }

#specialoffers { margin-top: 20px; }
#specialoffers h3 { display: block; height: 30px; margin: 0; text-indent: 10px; line-height: 30px; color: white; background: url(/site/images/section-top-bg.png) no-repeat left top; font-weight: bold; font-size: 14px; }
#specialoffers ul { list-style: none; }
#specialoffers li,
#specialoffers li a { display: block; font-size: 12px; line-height: 16px; color: #424242; }
#specialoffers li a { text-decoration: none; border-bottom: 1px solid #eee; padding: 6px 10px; }
#specialoffers li a:hover { background: #eee; color: #7e1085; }

/* @end */

#homepage { display: block; float: left; width: 715px; overflow: hidden; }
#homepage h1 { margin: 10px 0 0 10px; }
#homepage p,
#homepage img { margin: 10px; }
.one,
.two,
.three { display: block; float: left; border: 2px solid #eee; margin: 0 20px 20px 0; overflow: hidden; }
.one { width: 690px; }
.two { width: 333px; height: 250px; }
.three { width: 214px; height: 205px; }

.two h2 { height: 40px; text-indent: 10px; line-height: 40px; font-weight: bold; color: white; margin-top: 0 !important; font-size: 22px; }
.two.purple { background: url(/site/images/top-two-purple.png) no-repeat left top; }
.two.green { background: url(/site/images/top-two-green.png) no-repeat left top; }

.three h3 { height: 30px; text-indent: 10px; line-height: 30px; font-weight: bold; color: white; margin-top: 0 !important; font-size: 14px; }
.three.purple { background: url(/site/images/promo-top-bg.png) no-repeat left top; }
.three.green { background: url(/site/images/section-top-bg.png) no-repeat left top; }


/* @group footer */

/* @end */


/* @group form layout - wufoo */

/* form */

input { border: 0 none; padding: 0; }

form ol { margin: 0 !important; padding: 0 !important; list-style-type: none; width: 100%; }
form li { margin: 0; width: 62%; padding: 4px 5px 2px 9px; position: relative; }
form li ol li { width: auto; }

form li:after,
.buttons:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }

form li,
.buttons { display: inline-block; }
* html form li,
* html .buttons { height: 1%; }

form li,
.buttons { display: block; }

form li ol li { margin: 0 4px 0 0; padding: 0 0 8px 0; }
form li ol li { float: left; }
form li.left { display: inline; width: 48%; }
form li.right { display: inline; width: 48%; }
form li.left .medium,
form li.right .medium { width: 100%; }

form li ol li label { padding-top: 3px; clear: both; color: #008361; display: block; }
form li .datepicker { float: left; margin: .1em 5px 0 0; padding: 0; width: 16px; height: 16px; cursor: pointer !important; }

.info,
fieldset { border-style: none; border-bottom: 1px dotted #999; margin: 1.5em 0; padding-bottom: 1em; }
legend { font-size: 120%; font-weight: bold; color: #000; margin-left: -7px; }
fieldset>legend { margin-left: 0; color: #7e1085; }

/* ----- fields and labels ----- */

label.desc { display: block; padding: 0 0 1px 0; line-height: 1.5; color: #000; font-weight:bold; }

input.text,
input.file,
textarea.textarea,
select.select { margin: 0; font-size: 100%; color: #000; }

input.text,
textarea.textarea,
.firefox select.select { border-top: 1px solid #7c7c7c; border-left: 1px solid #c3c3c3; border-right: 1px solid #c3c3c3; border-bottom: 1px solid #ddd; background: #fff url(/site/images/fieldbg.gif) repeat-x top; }

input.text,
input.file { padding: 2px 0 2px 0; }

input.checkbox,
input.formradio { display: block; line-height: 1.4em; margin: 6px 0 0 3px; width: 13px; height: 13px; }
label.choice { display: block; line-height: 1.4em; margin: -1.55em 0 0 25px; padding: 4px 0 5px 0; width: 90%; }
label.list { margin-left: 50px; }

textarea.textarea{ font-family: "Tahoma", Arial, Verdana, sans-serif; }

select.select { margin: 1px 0; padding: 1px 0 0 0; }
select.select[class]{ margin: 0;	padding:1px 0 1px 0; }
*:first-child+html select.select[class]{ margin: 1px 0; }
.safari select.select { margin-bottom: 1px; font-size: 120% !important; }

/* sizes */

.third { width: 32% !important; }
.half { width: 48% !important; }
.full { width: 100% !important; }

input.tiny,
select.tiny { width: 40px; }

input.small,
select.small { width: 25%; }

input.medium,
select.medium { width: 50%; }

input.large,
select.large,
textarea.textarea { width: 100%; }

textarea.small { height: 5.5em; }
textarea.medium { height: 10em; }
textarea.large { height: 20em; }

/* required */

form .req { float: none; color: red; font-weight: bold; }

/* instructions */

form li.focused { background: #eee; }
form li.focused label { xcolor: #000; }
form .instruct { position: absolute; top: 0; left: 100%; z-index: 1000; width: 42%; margin: 0 0 0 8px; padding: 8px 10px 9px 10px; border: 1px solid #fffd98; background: #fffd98; line-height: 130%; font-size: 90%; color: #000; visibility: hidden; }
form .instruct small { font-size: 105%; }
form li.focused .instruct,
form li:hover .instruct{ visibility: visible; }

/* buttons */

.buttons { clear: both; margin-top: 10px; margin-bottom: 20px; border-top: 1px dotted #fff; padding-top: 10px; }
.buttons input { width: auto; overflow: visible; border: 1px solid #7c7c7c; margin: 0px 10px; padding: 0px 10px; }

/* @end */


/* @group basket */

.basket table { margin-bottom: 20px; }
.basket table caption { text-align: left; margin-top: 20px; padding: 3px 5px; }
.basket table th { xtext-align: left; border: 0 none; }
.basket table td { padding: 3px 5px; border: 0 none; }
.basket table tr.lineitem { border-bottom: #eee solid 1px; width: 85%; }
.basket table th.price,
.basket table td.price { text-align: right !important; width: 15%; }
.basket table td.total { text-align: right; font-weight: bold; }
.basket table tr.totalvat th,
.basket table tr.totalvat td,
.basket table tr.totalprice th,
.basket table tr.totalprice td { background: none; font-weight: bold; text-align: right; }

.basket input.addfield { text-align: center; } /*this is the qty field */

.basket table tr.lineitem td img { float: left; width: 50px; padding-right: 15px; }
.basket table tr.lineitem td .title { display: block; }
.basket table tr.lineitem td .title a { xcolor: #333; }
.basket table tr.lineitem td .author { display: block; color: #666; }
.basket table tr.lineitem td .salescode { display: block; color: #666; }

.basket table#addressdetails tbody td { border: 2px solid #eee; }

col#deletecolumn { text-align: center; width: 5%; }
col#productcodecolumn { width: 5%; text-align: left; }
col#desciptioncolumn { width: 65%; text-align: left; }
col#quantitycolumn { text-align: center; width: 5%; }
col#itempricecolumn { text-align: right; width: 10%; }
col#totalpricecolumn { text-align: right; font-weight: bold; width: 10%; }
col#invoiceaddress { width: 50%; }
col#deliveryaddress { width: 50%; }

.basket ul.requiredfields { color: red; }
.basket li.requiredfield {  }

.basket ul#cardlist { display: block; clear: both; list-style: none; margin-top: 20px; }
.basket ul#cardlist li { float: left; display: block; margin: 0 10px 10px 0; }
.basket ul#cardlist li a { float: left; display: block; border: #eee solid 2px; text-align: center; width: 95px; height: 25px; text-decoration: none; padding-top: 95px; }
.basket ul#cardlist li a:hover { background-color: #eee; }

.visa { background: url(/store/images/visa.png) no-repeat center 10px; }
.visadelta { background: url(/store/images/visadebit.png) no-repeat center 10px; }
.visaelectron { background: url(/store/images/visaelectron.png) no-repeat center 10px; }
.mastercard { background: url(/store/images/mastercard.png) no-repeat center 10px; }
.solo { background: url(/store/images/solo.png) no-repeat center 10px; }
.other { background: url(/store/images/other.png) no-repeat center 10px; }

/* @end */


/* Styles that need to be added to the CMS */
/* Red: Red */
.red { color: red; }

/* Green: green */
.xgreen { color: green; }

/* Border: border */
.border { padding: 10px; border: 1px dotted black; }

/* Border (red): bordered */
.bordered { padding: 10px; border: 1px solid red; }

/* @group admin */

iframe { border: 0 none; margin-top: 20px; overflow: hidden; clear: both; }
#uploadframe { height: 250px; width: 400px; }
#progressframe { height: 100px; width: 100%; }
.progressbar { padding-top: 10px; padding: 0; border: 1px solid #eee; }
.progressbaron { background: #008361; }
.progressbaroff { background: transparent none; }
.progressstatus { font-size: 0.8em; color: #7e1085; }

/* @end */

/* @group fancybox */

div#fancy_overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #666;
	display: none;
	z-index: 30;
}

* html div#fancy_overlay {
	position: absolute;
	height: expression(document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollHeight : document.body.offsetHeight + 'px');
}

div#fancy_wrap {
	text-align: left;
}

div#fancy_loading {
	position: absolute;
	height: 40px;
	width: 40px;
	cursor: pointer;
	display: none;
	overflow: hidden;
	background: transparent;
	z-index: 100;
}

div#fancy_loading div { position: absolute; top: 0; left: 0; width: 40px; height: 480px; background: url(/site/images/fancy_progress.png) no-repeat; }

div#fancy_loading_overlay {
	position: absolute;
	background-color: #FFF;
	z-index: 30;
}

div#fancy_loading_icon { position: absolute; background: url(/site/images/fancy_loading.gif) no-repeat; z-index: 35; width: 16px; height: 16px; }

div#fancy_outer {
	position: absolute;
    top: 0;
    left: 0;
    z-index: 90;
    padding: 18px 18px 33px 18px;
    margin: 0;
    overflow: hidden;
    background: transparent;
    display: none;
}
div#fancy_outer td { border: 0; }

div#fancy_inner {
	position: relative;
	width:100%;
	height:100%;
	xborder: 1px solid #BBB;
	background: #FFF;
}

div#fancy_content {
	margin: 0;
	z-index: 100;
	position: absolute;
}

div#fancy_div { xbackground: #000; xcolor: #FFF; height: 100%; width: 100%; overflow: auto; z-index: 100; }

img#fancy_img {
	position: absolute;
	top: 0;
	left: 0;
	border:0; 
	padding: 0; 
	margin: 0;
	z-index: 100;
	width: 100%;
	height: 100%;
}

div#fancy_close { position: absolute; top: -12px; right: -15px; height: 30px; width: 30px; background: url(/site/images/fancy_closebox.png) top left no-repeat; cursor: pointer; z-index: 181; display: none; }

#fancy_frame {
	position: relative;
	width: 100%;
	height: 100%;
	display: none;
}

#fancy_ajax {
	width: 100%;
	height: 100%;
	overflow: auto;
}

a#fancy_left, a#fancy_right {
	position: absolute; 
	bottom: 0px; 
	height: 100%; 
	width: 35%; 
	cursor: pointer;
	z-index: 111; 
	display: none;
	background-image: url(data:image/gif;base64,AAAA);
	outline: none;
}

a#fancy_left {
	left: 0px; 
}

a#fancy_right {
	right: 0px; 
}

span.fancy_ico {
	position: absolute; 
	top: 50%;
	margin-top: -15px;
	width: 30px;
	height: 30px;
	z-index: 112; 
	cursor: pointer;
	display: block;
}

span#fancy_left_ico { left: -9999px; background: url(/site/images/fancy_left.png) no-repeat; }
span#fancy_right_ico { right: -9999px; background: url(/site/images/fancy_right.png) no-repeat; }

a#fancy_left:hover { visibility: visible; }
a#fancy_right:hover { visibility: visible; }
a#fancy_left:hover span { left: 20px; }
a#fancy_right:hover span { right: 20px;  }

.fancy_bigIframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: transparent; }

div#fancy_bg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 70; border: 0; padding: 0; margin: 0; }
	
div.fancy_bg { position: absolute; display: block; z-index: 70; border: 0; padding: 0; margin: 0; }
div.fancy_bg_n { top: -18px; width: 100%; height: 18px; background: url(/site/images/fancy_shadow_n.png) repeat-x; }
div.fancy_bg_ne { top: -18px; right: -13px; width: 13px; height: 18px; background: url(/site/images/fancy_shadow_ne.png) no-repeat; }
div.fancy_bg_e { right: -13px; height: 100%; width: 13px; background: url(/site/images/fancy_shadow_e.png) repeat-y; }
div.fancy_bg_se { bottom: -18px; right: -13px; width: 13px; height: 18px; background: url(/site/images/fancy_shadow_se.png) no-repeat; }
div.fancy_bg_s { bottom: -18px; width: 100%; height: 18px; background: url(/site/images/fancy_shadow_s.png) repeat-x; }
div.fancy_bg_sw { bottom: -18px; left: -13px; width: 13px; height: 18px; background: url(/site/images/fancy_shadow_sw.png) no-repeat; }
div.fancy_bg_w { left: -13px; height: 100%; width: 13px; background: url(/site/images/fancy_shadow_w.png) repeat-y; }
div.fancy_bg_nw { top: -18px; left: -13px; width: 13px; height: 18px; background: url(/site/images/fancy_shadow_nw.png) no-repeat; }

div#fancy_title { position: absolute; bottom: -23px; left: 0; width: 100%; z-index: 100; display: none; }
div#fancy_title div { color: white; font: bold 12px Arial; padding-bottom: 3px; text-align: center; }
div#fancy_title table { margin: 0 auto; }
div#fancy_title table td { padding: 0; vertical-align: middle; }

td#fancy_title_left { height: 32px; width: 15px; background: url(/site/images/fancy_title_left.png) repeat-x; }
td#fancy_title_main { height: 32px; background: url(/site/images/fancy_title_main.png) repeat-x; }
td#fancy_title_right { height: 32px; width: 15px; background: url(/site/images/fancy_title_right.png) repeat-x; }

/* @end */