/* set defaults - font and take padding off tables so it doesn't have to be defined for each <table> tag.
   A better option is to explicitly use padding if you need it.

   Font sizes all relative to the "body" tag below and by using "em" it means if the user increases the font size on the browser (DDA compliance)
   then the sizes increase on the site in proportion too.

   #1A3C6B - page background
   #335F9A - header
   #5B7DA8 - left hand column
   #335F9A - footer
*/
body { font-family: Verdana; font-size: .80em; background-color: white;}

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, blockquote, th, td {
	margin:0;
	padding:0;
}

table {border-collapse: collapse;}

/* this sets the overall width of the template so that we don't have to define it all the way through - plus it centres it */
#page {margin: 0 auto; width:762px; }

/* Region: TOP MENU  */
#regTopMenuBar { width: 100%; background-color:white; color: #cccccc; padding: 3px 3px 3px 3px; margin-top: 5px; border-left: 1px solid #874EAD; border-top: 1px solid #874EAD; border-right: 1px solid #874EAD;}
#regTopMenuBar #MenuLinks { background-color:#265277; padding-top: 4px; padding-bottom: 4px;}
#regTopMenuBar #MenuLinks .MenuItem { padding: 0px 20px 0px 10px; display: inline; font-size: .9em}
#regTopMenuBar #MenuLinks .MenuItem a {color: white; font-weight: bold; text-decoration: none;}
#regTopMenuBar #MenuLinks .MenuItem a:hover {color:yellow; text-decoration: none;}

/* Region: FOOTER */ 
#regFooter {width: 100%; font-size: .8em; padding-bottom: 0px;  background-color: #874EAD; border-bottom: 1px solid #874EAD; border-left: 1px solid #874EAD; border-right: 1px solid #874EAD;}
#regFooter td {color: white; padding: 4px 8px 4px 4px;}
#regFooter A {color: white; font-weight: normal; text-decoration: none;}
#regFooter A:hover {text-decoration: underline;}

/* Region: Middle bit encompassing left menu and body content (and right menu if appropriate) */
#regMainContent {width: 100%; border-right: 1px solid #874EAD; border-left: 1px solid #874EAD;}

/* Region: Left hand menu/column */
#regLeftMenu {font-size: 1em; vertical-align:top; color: #44749D; width: 206px; height: 600px; padding: 0px 2px 5px 2px; background-image: url( images/template/menu_bg.jpg); background-repeat: no-repeat;}
#regLeftMenu a {color: black; text-decoration: none;}
#regLeftMenu h2 {font-size: .85em; font-weight: bold; color: white; padding: 2px 5px 2px 2px; background-color:#44749D; margin-top: 3px; }

#regLeftMenu .searchBox {background-color: #CBDAE6; padding: 2px 4px 3px 4px; margin: 0px 0px 14px 0px;}
#regLeftMenu .menuItemsBox { padding: 0px 0px 10px 0px;}
#regLeftMenu .productCategoriesBox {padding: 0px 0px 10px 0px;}
#regLeftMenu .rssIcons {font-size: .8em; margin: 10px 5px 10px 15px; }
#regLeftMenu .bookmarkSite{font-size: .8em; margin: 10px 0px 10px 0px; text-align:center; }

#regLeftMenu #scrollerPanelNews { height: 170px; padding: 5px; font-size: 1em; font-family: Arial; text-align:left;}

#regLeftMenu .MenuItem { font-size: .85em; margin: 0px 0px 1px 10px; padding: 2px 0px 2px 12px; background-image: url(images/template/menu_arrow_purple.gif); background-repeat:no-repeat; background-position: 0px 3px; }
#regLeftMenu .MenuItem A { color:black; font-weight: bold; text-decoration: none;}
#regLeftMenu .MenuItem A:hover {text-decoration: underline;}

#regLeftMenu .subMenuItem { font-size: .8em; margin: 0px 0px 1px 25px; padding: 2px 4px 2px 12px; background-image: url(images/template/menu_arrow_purple.gif); background-repeat:no-repeat; background-position: 0px 3px; }
#regLeftMenu .subMenuItem A { color:black; font-weight: bold; text-decoration: none; }
#regLeftMenu .subMenuItem A:hover {text-decoration: underline; }

/* Region: right hand menu/column */
#rightcolumn .rhsNewsHeading {padding-top: 10px;}
#rightcolumn .rhsNewsHeading A {color: #885a99; font-weight:bold; font-size:.85em; text-decoration: none; }
#rightcolumn .rhsNewsBody {color: #1e1e1e; font-size:.85em; text-decoration: none;}
#rightcolumn .rhsNewsBody:hover {color: #555555; font-size:.85em; text-decoration: none;}

/* set the 750px width below to be the width (920 - left hand menu width).. */
#regBodyContent {vertical-align:top; padding-left:20px; padding-right:15px; width: 526px; padding-bottom: 25px; background-color: White; font-size: .85em}
#regBodyContent h1 {margin-top: 10px; margin-bottom: 5px; font-size: 1.8em; font-weight: normal; color: #72349B}
#regBodyContent h2 {margin-top: 15px; margin-bottom: 3px; font-size: 1.1em; font-weight: bold; color: #333333;}

#regBodyContent select {font-size: 1.1em; padding-left: 2px;}
#regBodyContent input {font-size: 1.1em; padding-left: 2px;}

#regBodyContent a {text-decoration: underline; font-weight: bold; color: #F58027; }
#regBodyContent .MessageToUser {font-weight: bold; color: red; padding-top: 5px; padding-bottom: 10px} 
#regBodyContent .breadcrumbtrail {padding-top:5px; padding-bottom:10px}
#regBodyContent .breadcrumbtrail A {color: #F8A261}
#regBodyContent .highlight {background-color:Yellow}

/* put table cells for the main body content to have a 1px padding by default */
#regBodyContent table td {padding: 1px 1px 1px 1px}

/* code below allows customised bullet points with graphics to be added - also includes fix for IE */
#regBodyContent ul { margin-left: 10px; padding-left: 0; list-style: none; }
#regBodyContent ul li {	 padding-left: 14px; background-image: url(images/bullets/dot.gif); background-repeat: no-repeat; background-position: 0 7px;}
html[xmlns] #regMainContent ul { padding-left: 2em;} 
html[xmlns] #regMainContent ul li { background: none; /* undo the background-image */ list-style-image: url(images/bullets/dot.gif); padding: 0px;}


/* Button styles */
#regBodyContent .button {font-weight: bold; color: #111111;}
#regBodyContent .CancelButton {font-weight: normal; color: Red;}

/* datagrid styles */
#regBodyContent .datagridHeader {background-color: #cccccc;font-weight: bold; padding-top: 3px; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; margin-bottom: 10px;}
#regBodyContent .datagridItem {background-color: #efefef; border-bottom: 1px solid #666666}
#regBodyContent .datagridAlternatingItem {background-color: #ffffff; border-bottom: 1px solid #666666}


/* Payment/checkout/myaccount order history page styles */  
#regBodyContent .PaymentForm {margin-left: 30px; margin-top:8px; width: 90%;}
#regBodyContent .PaymentForm .heading {width: 140px}
#regBodyContent .PaymentForm input, textarea {font-size: 1em;}
#regBodyContent .PaymentFormHeading { font-weight: bold; color: Navy; margin-top: 10px}
#regBodyContent .PaymentSecureSeal  { text-align:center; margin-top: 10px; }

/* these styles are used on the view shopping basket page... */
#regBodyContent .BasketSummary {margin-left: 30px; width: 550px;}
#regBodyContent .BasketSummary .BasketSummaryTable {width: 100%; border-collapse: collapse; }
#regBodyContent .BasketSummary .BasketSummaryTable .BasketSummaryHeader { background-color: black; color: White; font-weight: bold;}
#regBodyContent .BasketSummary .BasketSummaryTable .BasketSummaryItem { border-bottom: 1px solid gray; padding-top: 1px; padding-bottom: 2px;}
#regBodyContent .BasketSummary .BasketSummaryTable .BasketItemQuantity {width: 20px; text-align:center; font-size: 1em; margin-left: 25px;}
#regBodyContent .BasketSummary .BasketSubtotal { width: 100%; text-align: right; border-top: 2px solid gray; margin-bottom: 3px; padding-top: 4px; padding-bottom: 1px;}
#regBodyContent .BasketSummary .BasketDelivery { width: 100%; text-align: right; border-top: 1px solid gray; margin-bottom: 3px; padding-top: 3px; padding-bottom: 1px;}
#regBodyContent .BasketSummary .BasketDelivery select {font-size: 1.05em; margin-left: 5px;}
#regBodyContent .BasketSummary .BasketDiscount { width: 100%; text-align: right; border-top: 1px solid gray; margin-bottom: 3px; padding-top: 3px; padding-bottom: 1px;}
#regBodyContent .BasketSummary .BasketVATAmount { width: 100%; text-align: right; border-top: 1px solid gray; margin-bottom: 6px; padding-top: 3px; padding-bottom: 1px;}
#regBodyContent .BasketSummary .BasketGrandTotal { width: 100%; text-align: right; border-bottom: 2px solid black; border-top: 1px solid black; font-weight: bold; font-size: 1.1em; margin-bottom: 15px; padding: 3px 0px 3px 0px;}
#regBodyContent .BasketSummary .BasketButtons {width: 100%}
#regBodyContent .BasketSummary .BasketButtons .UpdateQuantity {color: Navy; font-weight: bold; font-size: 1em; width:140px}
#regBodyContent .BasketSummary .BasketButtons .ContinueShopping { color: Navy; font-weight: bold; font-size: 1em; width:140px; margin-top: 20px}
#regBodyContent .BasketSummary .BasketButtons .Checkout {color: DarkGreen; font-weight: bold; font-size: 1em; width:83px}
#regBodyContent .BasketSummary .BasketButtons .CheckoutButton {color: DarkGreen; font-weight: bold; font-size: 1em;}
#regBodyContent .BasketSummary .ApplyDiscountCode {color: DarkGreen; font-weight: bold; font-size: 1em; width:65px}
#regBodyContent .BasketSummary .CartRemove { background-color: #FFFFFF;font-weight: bold; color: #000000; border: 0px}
#regBodyContent .BasketSummary .CartRemove:Hover { text-decoration: none;}

/* these styles are used on the final checkout page... */
#regBodyContent .PaymentSummary {margin-left: 30px; width: 550px;}
#regBodyContent .PaymentSummary .PaymentSummaryTable {width: 100%; }
#regBodyContent .PaymentSummary .PaymentSummaryTable .PaymentSummaryHeader { background-color: black; color: White; font-weight: bold;}
#regBodyContent .PaymentSummary .PaymentSummaryTable .PaymentSummaryItem { border-bottom: 1px solid gray; padding-top: 1px; padding-bottom: 2px;}
#regBodyContent .PaymentSummary .PaymentSubtotal { width: 100%; text-align: right; border-top: 2px solid gray; margin-bottom: 3px; padding-top: 4px; padding-bottom: 1px;}
#regBodyContent .PaymentSummary .PaymentDelivery { width: 100%; text-align: right; border-top: 1px solid gray; margin-bottom: 3px; padding-top: 3px; padding-bottom: 1px;}
#regBodyContent .PaymentSummary .PaymentDiscount { width: 100%; text-align: right; border-top: 1px solid gray; margin-bottom: 3px; padding-top: 3px; padding-bottom: 1px;}
#regBodyContent .PaymentSummary .PaymentVATAmount { width: 100%; text-align: right; border-top: 1px solid gray; margin-bottom: 6px; padding-top: 3px; padding-bottom: 1px;}
#regBodyContent .PaymentSummary .PaymentGrandTotal { width: 100%; text-align: right; border-bottom: 2px solid black; border-top: 1px solid black; font-weight: bold; font-size: 1.2em; margin-bottom: 15px; padding-top: 3px; padding-bottom: 3px;}

/* these styles are used on product list/detail pages ... */
#regBodyContent .ProductPhotos {margin-right: 10px; width:300px; }
#regBodyContent .ProductPhotos .MainPhoto {text-align:center; border: 1px solid black; height: 300px;}
#regBodyContent .ProductPhotos .ThumbnailCaption {font-weight:normal; text-align:center; color: #777777; padding: 5px 0px 5px 0px;}
#regBodyContent .ProductPhotos .ThumbnailPhoto { border: 1px solid #aaaaaa; height:90px; margin-left: 3px; margin-right: 3px; margin-bottom: 5px; text-align: center;}

#regBodyContent .ProductSKUsTable .ProductSKUsHeader { background-color: black; color: White; font-weight: bold;}
#regBodyContent .ProductSKUsTable .ProductSKUsItem { border-bottom: 1px solid gray; padding-top: 1px; padding-bottom: 2px;}
#regBodyContent .ProductSKUsTable .ProductSKUsItem .buyNow {color: Red; font-weight: bold; font-size: .8em;}

#regBodyContent .SubCategoryThumbnailBrowse {}
#regBodyContent .SubCategoryThumbnailBrowse .Thumbnail {height: 150px; width: 120px}
#regBodyContent .SubCategoryThumbnailBrowse .Thumbnail .ThumbnailPhoto {border: 1px solid #aaaaaa; height:125px; margin-left: 3px; margin-right: 3px; margin-bottom: 2px; text-align: center;}
#regBodyContent .SubCategoryThumbnailBrowse .Thumbnail .ThumbnailText {text-align: center; padding-top: 3px; height: 25px; }

#regBodyContent .ProductThumbnailBrowse {}
#regBodyContent .ProductThumbnailBrowse .Thumbnail {height: 210px; width: 150px; margin-bottom: 7px;}
#regBodyContent .ProductThumbnailBrowse .Thumbnail .ThumbnailPhoto {border: 1px solid #aaaaaa; height:150px; margin-left: 3px; margin-right: 3px; margin-bottom: 2px; text-align: center;}
#regBodyContent .ProductThumbnailBrowse .Thumbnail .ThumbnailText {height: 28px; text-align: center; }
#regBodyContent .ProductThumbnailBrowse .Thumbnail .ProductPrice  {text-align: center; padding-top: 2px; padding-bottom: 12px; font-weight: bold; color: Gray; }

#regBodyContent .paging {padding-top: 10px; padding-bottom: 20px;}
#regBodyContent .paging a {text-decoration: none;}
#regBodyContent .paging table {width:100%}
#regBodyContent .paging .currentPageLabel {width: 180px; color: black;}
#regBodyContent .paging .previousPage {width: 100px; text-align: left; }
#regBodyContent .paging .previousPage a { color: Gray;}
#regBodyContent .paging .pageNumbers {text-align: center;}
#regBodyContent .paging .pageNumbers a.unselectedPage {font-weight: bold; color: #999999}
#regBodyContent .paging .pageNumbers a.selectedPage {font-weight: bold; color: red}
#regBodyContent .paging .nextPage {width: 80px; text-align: right; }
#regBodyContent .paging .nextPage a { color: Gray; }

/* Blog related styles... */  				  
#regBodyContent .BlogEntries p {padding-top: 0px; margin-top: 0px}
#regBodyContent .BlogEntries .blogPostTitle {padding-top: 5px;}
#regBodyContent .BlogEntries .blogPostTitle a {font-size: 1.2em; font-weight: bold;}
#regBodyContent .BlogEntries .blogDateFiled {color: Gray; padding-top: 2px; padding-bottom: 8px;}
#regBodyContent .BlogEntries .blogContent { padding-bottom: 10px;}   
#regBodyContent .BlogEntries .blogFooter {padding-bottom: 25px; border-bottom: 1px solid #cccccc; margin-bottom: 10px; }
#regBodyContent .BlogEntries .blogFooter .CommentSummary {float: left; width: 250px; display: inline; color: gray;  padding-top: 5px; }
#regBodyContent .BlogEntries .blogFooter .CommentSummary a {text-decoration: none; font-weight: normal; color: Gray;}
#regBodyContent .BlogEntries .blogFooter .SocialNetworking {float: right; display: inline; }
#regBodyContent .BlogEntries .blogNoEntries {margin-left: 15px; color: Navy; padding-top: 10px; }

#regBodyContent .BlogDetail .blogPostTitle {font-size: 1.2em; font-weight: bold;}
#regBodyContent .BlogDetail .blogDateFiled {color: Gray; padding-top: 2px; padding-bottom: 8px;}
#regBodyContent .BlogDetail .blogContent { padding-bottom: 5px;}   
#regBodyContent .BlogDetail .blogCategories { padding-top: 7px; color: #444444; margin-left: 20px; padding-bottom: 3px;}   
#regBodyContent .BlogDetail .blogFooter {padding-bottom: 5px; border-bottom: 1px solid #cccccc; }
#regBodyContent .BlogDetail .blogNoEntry {margin-left: 15px; color: Navy; padding-top: 10px; }
#regBodyContent .BlogDetail .SocialNetworking {padding-top: 0px; text-align: right}
#regBodyContent .BlogDetail .OtherRecentPosts {padding-top: 0px; padding-bottom: 5px;}
#regBodyContent .BlogDetail .OtherRecentPosts .ListPosts {margin-left: 20px; padding-bottom: 3px;}

#regMainContent .BlogDetail .Comments {padding-top: 0px;}
#regMainContent .BlogDetail .Comments .NoCommentsYet {color: #444444; padding-bottom: 5px;}
#regMainContent .BlogDetail .Comments .ListComments {margin-left: 0px; padding-bottom: 5px;}
#regMainContent .BlogDetail .Comments .ListComments .SpecificPost {padding: 7px 5px 7px 5px; margin-bottom: 12px; border: 1px solid gray; background-color: #FFFED0;}
#regMainContent .BlogDetail .Comments .ListComments .SpecificPost .CommentBy {font-size: .9em; color: black; padding-bottom: 5px; }
#regMainContent .BlogDetail .Comments .ListComments .SpecificPost .Comment {font-size: .9em; }
#regMainContent .BlogDetail .Comments .ListComments .SpecificPost .ModeratedReply {background-color: #F5FABD; }
#regMainContent .BlogDetail .Comments .ListComments .SpecificPost .ModeratedReply .ReplyComment { }
#regMainContent .BlogDetail .Comments .ListComments .SpecificPost .ModeratedReply .ReplyDatestamp { }

#regBodyContent .BlogDetail .Comments .leaveComment input {margin-left: 0px;}
#regBodyContent .BlogDetail .Comments .leaveComment .heading {color: #333333; font-weight: bold; padding-top: 4px; }


/* not within a region because you may want to put in in various places on the site */
.blogCategoriesBox {padding: 0px 0px 10px 0px;}
.blogCategoriesBox .blogCategoryItem {font-size: .85em; margin: 0px 0px 1px 0px; padding: 4px 0px 4px 3px; border-bottom: 1px solid #8485DF; }
.blogCategoriesBox .blogCategoryItem A { color:#444444; font-weight: normal; text-decoration: none;}
.blogCategoriesBox .blogCategoryItem A:hover {text-decoration: underline;}

.blogArchiveBox {padding: 0px 0px 10px 0px;}
.blogArchiveBox .blogArchiveItem {font-size: .85em; margin: 0px 0px 1px 0px; padding: 4px 0px 4px 3px; border-bottom: 1px solid #8485DF; }
.blogArchiveBox .blogArchiveItem A { color:#444444; font-weight: normal; text-decoration: none;}
.blogArchiveBox .blogArchiveItem A:hover {text-decoration: underline;}

/*Password Tool CSS */
#password_description {font-size: 10px; font-style: italic;  }
#password_strength { height:10px; display:block; }
#password_strength_border { width: 160px; height: 10px; border: 1px solid black; }
.strength0 { width:160px; background:#cccccc; }
.strength1 { width:40px; background:#ff0000; }
.strength2 { width:80px; background:#56e500; }
.strength3 { background:#399800; width:120px; }
.strength4 { background:#4dcd00; width:160px; }



/* Products image zoom... */
#lightbox{ background-color:#eee; padding: 10px; border-bottom: 2px solid #666;	border-right: 2px solid #666;	}
#lightboxDetails{	font-size: 0.8em;	padding-top: 0.4em;	}	
#lightboxCaption{ float: left; }
#keyboardMsg{ float: right; }
#closeButton{ top: 5px; right: 5px; }
#lightbox img{ border: none; clear: both;} 
#overlay img{ border: none; }
#overlay{ background-image: url(js/lightbox/overlay.png); }

* html #overlay{
	background-color: #333;
	back\ground-color: transparent;
	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="js/lightbox/overlay.png", sizingMethod="scale");
	}
	
