* { margin: 0; padding: 0; border: 0; outline: none; }
html { height: 100%; }
body { background-color: #fff; background-repeat: no-repeat; background-attachment: fixed; background-position: top center; height: 100%; }
body { font: 12px/20px Arial, Helvetica, sans-serif; color: #333; }
a { color: #999; }
a:hover { text-decoration: none; }
p { margin: 8px 0; }
h1, h2, h3 { font-family: Georgia, Times, "Times New Roman", serif; font-weight: normal; color: #ce4b4b; }
h1 { font-size: 32px; line-height: 36px; margin-bottom: 8px; }
h2 { font-size: 24px; line-height: 28px; margin-bottom: 8px; }
h3 { font-size: 18px; line-height: 22px; margin-bottom: 8px; }
input, textarea, select { font: 12px Arial, Helvetica, sans-serif; border: 1px solid #ccc; padding: 3px; }
input, textarea { width: 250px; }

.wrapper { width: 860px; margin: 0 auto; }

.topbar { position: fixed; width: 100%; top: 0; left: 0; height: 42px; background: url('../gfx/bg-topbar.png'); z-index: 50; }
.topholder a { color: #555; font-weight: bold; }
.topholder { float: right; }
.accountinfo { float: left; font-size: 10px; line-height: 16px; padding: 3px 35px 0 0; text-align: right; color: #555; }
.basketinfo { display: block; }
.topholder form { float: left; padding-top: 8px; }
#shopsearch { position: relative; left: -20px; height: 18px; font: bold 11px Arial, sans-serif; color: #999; background: #fff; border-right: 0; padding: 3px 3px 2px; width: 150px; }
#shopsearch:focus { color: #333; }
.shopgosearch { position: absolute; height: 25px; width: 20px; margin-left: -20px; background: #fff url('../gfx/magnify.gif'); padding: 0 2px; }
.shopgosearch:active { color: #f0f0f0; background: #fe6452; }
.topbar form input { border: 1px solid #999; }
.topbar form:hover input { border-color: #333; }

.mainbody { padding: 62px 0 10px; }
.container { background: url('../gfx/bg-body.png'); }
.header { background: url('../gfx/bg-header-dark.jpg'); height: 192px; margin-bottom: 10px; }
.logo { float: right; margin: 30px 10px 0; }

.container a { color: #ce4b4b; }

.fl_menu { float: left; width: 189px; padding-bottom: 10px; list-style: none; }
.fl_menu a { display: block; padding: 0 10px; font: 18px/36px Georgia, Times, "Times New Roman", serif; text-decoration: none; }
.fl_menu li { border-bottom: 1px solid #ccc; }
.fl_menu li.current a { border-left: 5px solid #ce4b4b; margin-left: -5px; }
.fl_menu a:hover { background: #fff; }
.fl_menu ul { list-style: none; display: none; }
.fl_menu li.current ul, .fl_menu ul.subcur { display: block; }
.fl_menu ul li { border-bottom: 0; }
.fl_menu li.current ul a { border-left: 0; margin-left: 0; }
.fl_menu ul a { font-size: 14px; line-height: 28px; border-bottom: 0; padding: 0 15px; }

.breadcrumbs { font-size: 10px; text-transform: uppercase; color: #999; }
.breadcrumbs a { margin: 3px; color: #999; }
.breadcrumbs a.noleft { margin-left: 0; }

.bodytext { float: left; width: 460px; margin-right: 10px; padding: 0 0 10px 10px; border-left: 1px solid #bbb; min-height: 800px; height: auto!important; height: 800px; }
.bodytext ul { margin-left: 20px; }
.rhscol { float: left; width: 180px; }
.mainend { clear: left; padding-bottom: 10px; }
.fl_store .bodytext { width: 660px; margin-right: 0; }
.fl_store .rhscol { display: none; }

.footer { text-align: right; font-size: 10px; line-height: 16px; color: #999; padding-bottom: 20px; }

#fl_loading { position: fixed; top: 10px; right: 10px; padding: 5px; background: #fff; border: 1px solid #f6f6f6; display: none; z-index: 50; }

/* store styles */

option { padding-right: 10px; }

.colourpick a {
	display: inline-block;
	width: 20px;
	height: 20px;
	border: 2px solid #eee;
	margin: 0 0 5px 5px;
}
.colourpick a, a.prodbox span.colbox {
	display: inline-block;
	width: 20px;
	height: 20px;
	border: 2px solid #ccc;
	margin: 0 5px 5px 0;
}
.colourpick a.coloursel { border-color: #666; }
a.prodbox span.colavail { display: block; font-size: 10px; text-transform: uppercase; }
a.prodbox span.colbox {
	border-width: 1px;
	width: 15px;
}
.rrpline, .priceline, .salepriceline {
	display: block;
	text-decoration: line-through;
}
.curprice { text-decoration: none; }
.salepriceline { color: #c00; }
.prodbox .curprice { font-size: 1em; }

.productpricing {
	margin: 10px 0;
	padding: 5px;
	background: #eee;
	border: 1px solid #ccc;
	width: 200px;
}

.productimg {
	width: 402px;
	float: right;
	margin: 0 10px 10px;
}
#productimg { width: 400px; border: 1px solid #ccc; }
.productimgthumbs { margin-top: 10px; }
.productdescription { margin-bottom: 10px; }

#quantity { font-weight: bold; }

.shopbutton, .emailsub, .commentsub {
	width: auto;
	border: 1px solid #ccc;
	font-weight: bold;
	margin-top: 10px;
	padding-left: 22px;
	font-size: 14px;
	background: #eee no-repeat 3px 4px;
}
.shopbutton:hover, .emailsub:hover, .commentsub:hover {
	background-color: #dff4ff;
	border: 1px solid #c2e1ef;
}
.shopbutton:focus, .emailsub:focus, .commentsub:focus {
	background-color: #dff4ff;
	border: 1px solid #c2e1ef;
	color: #369!important;
}
.basketadd {
	display: block;
	background-image: url('../gfx/icons/basket_add.png');
}
.checkout { background-image: url('../gfx/icons/basket_go.png'); }
.gosort, .updatebasket { background-image: url('../gfx/icons/products_reload.png'); }
.gosignin { background-image: url('../gfx/icons/user_go.png'); }
.gocreateaccount { background-image: url('../gfx/icons/user_add.png'); }
.gosendlink, .gosendfriend, .gorefreq { background-image: url('../gfx/icons/email_go.png'); }
.gochangepass { background-image: url('../gfx/icons/lock_edit.png'); }
.gosaveaddress { background-image: url('../gfx/icons/house_go.png'); }
.gosavedetails { background-image: url('../gfx/icons/user_edit.png'); }
.goaddreview { background-image: url('../gfx/icons/review_add.png'); }
.emailsub { display: block; background-image: url('../gfx/icons/email_go.png'); }
.commentsub { display: block; background-image: url('../gfx/icons/user_add.png'); }
#mailspamcode, #commspamcode { margin-right: 5px; }
.addtobasket .productoption {
	display: block;
	margin-bottom: 10px;
}
.addtobasket .productoptioncol {
	display: block;
	margin-bottom: 5px;
}
.productoptioncol .lab {
	display: inline-block;
	vertical-align: top;
}

.saleicon {
	position: absolute;
	font-weight: bold;
	margin-left: 630px;
}

.reviewtitle {
	font-weight: bold;
	display: block;
	font-size: 12px;
}
.reviewstars { display: block; float: right; }
.reviewresponse { 
	margin: 10px;
	padding: 5px;
	border: 1px solid #ccc;
	background: #f6f6f6;
}
.reviewresponse span {
	font-size: 10px; 
	display: block;
	text-transform: uppercase;
}

.reviewtime { font-size: 10px; display: block; text-transform: uppercase; }

.reviewodd, .revieweven { padding: 5px; margin-top: 10px; }
.reviewodd { background: #fff; border: 1px solid #eee; }
.revieweven { background: #eee; border: 1px solid #fff; }

.divider { margin: 20px 0; height: 1px; background: #ccc; }

a.prodbox, a.finalbox {
	display: block;
	float: left;
	margin: 6px 6px 6px 0;
	width: 210px;
	border: 1px solid #ccc;	
	background: #fff;
	text-decoration: none;
	position: relative;
}
a.finalbox { margin-right: 0; }
a.prodbox:hover { border: 1px solid #999; }
a.prodbox span, a.finalbox span { display: block; padding: 0 3px; }
a.prodbox span.prodprice, a.prodbox span.price { display: inline; padding: 0; }
a.prodbox img { width: 210px; }
a.prodbox .prodtitle, a.prodbox .cattitle { font-size: 15px; line-height: 22px; }
a.prodbox .catinfo, a.prodbox .proddesc { padding: 5px; background: #efefef; font-family: Georgia, Times, "Times New Roman", serif; }

.rhscol a.prodbox { margin: 0 0 12px 0; }
.rhscol a.prodbox, .rhscol a.prodbox img { width: 180px; }
.rhscol a.prodbox .proddesc { width: 170px; }

.sortorder { margin: 10px 0; }
.subpages { margin-top: 5px; }
.subpages a { margin-right: 5px; }
.subpages a.currentprodpage { color: #ccc; }

.signinform label, .addreview label, .sendfriend label, .delarea label, .fl_mailform label, .fl_label {
	display: block;
	text-transform: uppercase;
	font-size: 10px;
}
.fl_mailform img { position: relative; top: 5px; }
textarea.wrapmsg { width: 250px; }
#fl_commsbox { padding: 0; margin: 5px 0; border: 0; background: transparent; }
.fl_commentname, .fl_commentmessage { margin-left: 0; }

label.listaddress { text-transform: none; font-size: 11px; }
.signinform label.checkbox { padding: 3px 0; }
.signinform input { display: block; }
input.checkbox { margin-right: 5px; }
.accountheader { font-weight: bold; }
.accountoptions li { margin-left: 10px; list-style: disc; padding-left: 5px; padding-bottom: 3px; }
input.checkbox { width: auto; padding: 0; border: 0; display: inline; }
.signuptcs {
	width: 320px;
	font-size: 11px;
	border: 1px solid #ccc;
	padding: 3px;
	height: 200px;
	overflow: auto;
	background: #fff;
}
#titleother { visibility: hidden; width: 150px; display: inline; }
table.storebasket { border-collapse:collapse; width: 100%; }
.storebasket td { padding: 3px; }
tr.problemrow { background: #c99; }
.vartypes { text-transform: uppercase; font-size: 10px; }
tr.basketbuttons { text-align: right; }
.storeheader {
	position: absolute;
	width: 645px;
	top: 170px;
	text-align: right;
}
tr.basketbuttons input { margin-left: 5px; }
input#disccode { width: 100px; }
.returneditems { margin-left: 10px; padding-left: 10px; border-left: 1px dotted #a3c727; }
.ratingbar { margin: 5px 0; }
form.addreview { margin-top: 5px; }
.catproducts { font-size: 9px; line-height: 14px; text-transform: uppercase; margin-bottom: 5px; }
.fl_store h1 { width: 650px; }

.productimgthumbs a { display: block; float: left; border: 1px solid #fff; margin: 0 2px 2px 0; }
.productimgthumbs a:hover { border: 1px solid #eee; }
.productsendfriend { clear: left; padding: 10px 0 0; }
.pagesendfriend { padding: 10px; }
.pagesendfriend h3 { text-transform: none; }
.sfprodname { font-weight: bold; }
.basketinfo { display: block; margin: 2px 0 5px; }

.prodprice { font-size: 12px; }
.prodbox .salepriceline { text-transform: uppercase; }

tr.headerrow { font-weight: bold; font-size: 12px; text-transform: uppercase; }
tr.overalltot { font-weight: bold; text-transform: uppercase; }

table.orderdetails, table.orderlist { width: 650px; border-collapse: collapse; }
table.orderdetails td, table.orderlist td { padding: 5px 4px; }
table.orderlist td { font-size: 12px; }
table.orderlist tr.ordereven { background: #f6f6f6; }
.giftwrapcol { width: 80px; }

.shopsharebar a { padding-left: 20px; background-repeat: no-repeat; margin-right: 8px; }
.shopsharebar .facebook { background-image: url('../gfx/share/facebook-sm.png'); }
.shopsharebar .twitter { background-image: url('../gfx/share/twitter-sm.png'); }


.fl_blogpost1, .fl_blogpost2 { border-bottom: 1px dotted #eee; margin-bottom: 10px; padding-bottom: 10px; }

.prodbox .prodviewbutton, .prodbox .prodlongdesc, .prodbox .catdesc, .fl_frontpage .breadcrumbs, .fl_frontpage h1 { display: none; }

a.colourchart { display: block; float: left; border: 1px solid #eee; padding: 3px; text-align: center; margin-bottom: 10px; }
.colourchart img { display: block; margin: 0 auto; }
a.colourchart:hover { border-color: #ccc; }
.addtobasket { clear: left; float: left; padding: 5px; border: 1px solid #ccc; background: #eee; width: 200px; }

a.shareto { float: left; }
.currencies { clear: left; }
.pagetypefront .breadcrumbs { display: none; }
.productpricing .curprice { font-size: 1.2em; font-weight: bold; }
a.prodbox span.pricedesc, a.finalbox span.pricedesc { display: inline; padding: 0; }
a.prodbox span.saveline { display: none; }
.savepriceline { display: none; }
.payments { float: left; }

button.paymentmethod { display: block; width: 648px; margin: 0 0 10px 0; padding: 5px; border: 1px solid #ccc; background: #fff; text-align: left; font: 12px/20px Arial, Helvetica, sans-serif; color: #ce4b4b; cursor: pointer; }
button.paymentmethod:hover { border-color: #999; }
button.paymentmethod span.paymenttitle { display: block; font: 16px/20px Georgia, Times, "Times New Roman", serif; padding-bottom: 5px; }

@media all and (max-width: 900px) {
    .wrapper { width: 740px; }
    .bodytext, .fl_store .bodytext { margin-right: 0; min-height: 100px; width: 540px; }
    .fl_store h1 { width: auto; }
    a.prodbox, a.finalbox, a.prodbox img { width: 174px; }
    .rhscol { display: none; }
    .footer { text-align: center; }
    .payments { float: none; display: inline-block; margin-bottom: 20px; }
    .productimg, #productimg { width: 300px; }
}
@media all and (max-width: 767px) {
	html, body { min-width: 320px; -webkit-text-size-adjust:none; }
	.wrapper { width: auto; padding: 0 20px; }
    #menu { display: none; }
    .bodytext, .fl_store .bodytext { float: none; border-left: 0; width: auto; padding-right: 10px; }
    a.prodbox, a.finalbox { -moz-box-sizing: border-box; box-sizing: border-box; width: 31%; margin: 2% 1% 0; display: inline-block; vertical-align: top; float: none; }
    .fl_store .bodytext .clear { display: none; }
    a.prodbox img { width: 100%; }
    
    img { max-width: 100%; }
    input, textarea, .fl_mailform textarea, textarea.wrapmsg, select, .signuptcs { width: 100%; -moz-box-sizing: border-box; box-sizing: border-box; }
	select#usertitle, td select, .sortorder select { width: auto!important; max-width: 100px; }
	input#disccode { width: 60px; }
	button img { margin: 3px 0 10px 10px!important; max-width: 120px!important; }
	table.orderdetails, table.orderlist { width: 100%; }
	td { font-size: 10px!important; line-height: 14px; }
	.breadcrumbs { line-height: 14px; }
	.breadcrumbs a { display: inline-block; }
	input#shopsearch { -moz-box-sizing: content-box; box-sizing: content-box; }

	#menubutton { position: absolute; top: 180px; left: 30px; width: 38px; height: 38px; background: #fff; cursor: pointer; z-index: 16; border: 1px solid #ce4b4b; -webkit-tap-highlight-color: rgba(0,0,0,0); -webkit-user-select: none; }
    #menubutton .rowbar { position: absolute; top: 19px; left: 8px; width: 22px; height: 2px; background: #ce4b4b; }
    #menubutton .rowtop { top: 11px; }
    #menubutton .rowbottom { top: 27px; }
    #menubutton.menushown { background: #ce4b4b; border-color: #ce4b4b; }
    #menubutton.menushown .rowbar { background: #000; }
    #menubutton:active { background: #ce4b4b; border-color: #ce4b4b; }
    #menubutton:active .rowbar { background: #fff; }
    #menu { display: none; position: static; width: auto; height: auto; margin: -10px 0 0; padding: 0; border: 0; }
    .fl_menu { float: none; width: auto; margin: 0; border-bottom: 1px solid #ccc; background: transparent; text-align: center; padding: 0; }
    .fl_menu ul { display: none!important; }
    .fl_menu li, .fl_menu a { display: block; float: none; width: auto!important; height: auto!important; margin: 0!important; border: 0!important; }
}
@media all and (max-width: 649px) {
	.productimg, #productimg { width: 250px; }
    .productpricing, .addtobasket { margin-right: 270px; width: auto; }
    .sortbar { display: inline-block; margin-right: 5px; }
}
@media all and (max-width: 579px) {
    a.prodbox, a.finalbox { width: 48%; }
    .topholder { float: none; }
    .topholder form { position: absolute; top: 40px; left: 0; right: 0; float: none; padding: 0; }
    #shopsearch { box-sizing: border-box!important; left: 0; width: 100%; padding-right: 23px; height: 25px; }
    .accountinfo { padding-right: 0; float: none; text-align: center; }
    .cms_imgright, .cms_imgleft { max-width: 150px; height: auto!important; }
    .header { height: 96px; background-size: auto 120px; background-position: bottom left; }
    .logo { margin-top: 15px; }
    .logo img { width: 192px; }
    #menubutton { top: 93px; }
}
@media all and (max-width: 479px) {
    .topholder a { display: inline-block; }
    .basketinfo { display: inline; margin-left: 5px; }
    .basketinfo:before { content: "| "; }
    .productpricing, .addtobasket { margin-right: 190px; }
	.productimg, #productimg { width: 170px; }
	.payments { display: none; }
}
@media all and (max-width: 460px) {
    .header { background-size: auto 96px; }
}
@media all and (max-width: 400px) {
	.wrapper { padding: 0 10px; }
    .cms_imgleft, .cms_imgright { max-width: 120px; }
	.productimg, #productimg { width: 100%; margin-right: 0; }
    .productpricing, .addtobasket { margin-right: 0; clear: both; }
    .instructions { display: none; }
}