/* General HTML elements */
form, p, h1, h2, h3, h4, h5, h6, div, img, ul, ol, li, blockquote { margin: 0; padding: 0; }
body { margin: 0; padding: 0; }
img { border: none; }

h1 { margin: 10px 0; }
h2 { margin: 10px 0; }
h3 { margin: 10px 0; }
p { margin: 10px 0; }
address { margin: 10px 0 15px 0; }
ul, ol { margin: 10px 0; padding: 0 0 0 2em; }
ul.right { margin: 5px; }
li { margin: 4px 0; }

/* Useful Classes */
.left { float: left !important; }
.right { float: right !important; }
.clear_left { clear: left; display: block; }
.clear_right { clear: right; display: block; }
.clear_both { clear: both; display: block; }
.hide { display: none; }
img.icon { vertical-align: middle; }
p.clear_both { margin: 0; padding: 0; }
p.divider { border-top-width: 2px; height: 1px; margin: 20px 0; clear: both; }

/* A-Z Index */
ul.azindex { margin: 10px 0; padding: 0; }
ul.azindex li { display: inline; margin: 0; }
ul.azindex li a { margin: 2px; width: 20px; height: 20px; line-height: 20px; float: left; }

/* General Forms */
form { display: inline; }
label { float: left; width: 120px; padding: 0 5px 0 0; }
label.inline { display: inline; float: none; width: auto; padding: 0; }
input.text, select, textarea { border-width: 1px; vertical-align: middle; }
input.button { cursor: pointer; vertical-align: middle; border: none; }
input.button.product_info { float: right; margin: 12px 0 0 0; }
fieldset { padding: 5px; margin: 10px 5px; border-width: 1px; }
fieldset.column { width: 46%; float: left; }
legend { padding: 0 10px; margin: 0 0 0 -5px; }
input.checkbox { border: none; }
ul.errors label { display: inline; float: none; width: auto; padding: 0; }

/* Tables */
table { width: 100%; margin: 0; clear: both; }
table#sizes_and_colours { width: auto; clear: none; }
thead th { padding: 2px 5px; }
tbody th { padding: 2px 5px; }
tbody td { padding: 2px 5px; }
tr.last td { border-width: 1px; padding: 2px 5px; }
table img { vertical-align: middle; }

/* Container */
div#container { width: 840px; padding: 0; margin: 0 auto; }
a#skip_navigation { display: block; padding: 3px; }

/* Left Column */
div#left_column { width: 194px; float: left; margin: 0; }

ul#main_menu { width: 186px; margin: 0; padding: 0; }
ul#main_menu li { margin: 0; padding: 1px; }
ul#main_menu li a { display: block; width: 186px; height: 18px; line-height: 18px; text-indent: 18px; }
ul#main_menu ul.sub_menu li a { height: 14px; line-height: 14px; }
ul.main_nav { width: 186px; margin: 0; padding: 0; }
ul.main_nav li { margin: 0; padding: 1px; }
ul.main_nav li a { display: block; width: 186px; height: 18px; line-height: 18px; text-indent: 18px; }
ul.main_nav ul.sub_menu li a { height: 14px; line-height: 14px; }
ul.sub_menu { width: 186px; margin: 0; padding: 0 0 10px 0; }

/* Boxes */
div.box { width: 186px; margin: 2px 0; padding: 0; }
div.box img { display: block;}
div.box p img { display: inline; }
div.box a img { padding: 2px 4px 3px 5px }

/* Content */
div#content { width: 638px; float: right;  }
div#content.homepage { width: 430px; float: left; margin: 0 0 0 5px; }

/* Latest News */
ul#news_and_events { margin:  10px 0; padding: 0; }
ul#news_and_events li { width: 134px; float: left; padding-left: 2px; padding-right: 6px }

/* Right Column */
div#right_column { width: 200px; float: right; margin: 0; }

div.column { width: 48%; }

/* Search Form */
.search_form { display: block; padding: 0; vertical-align: middle }
.search_form h2 { margin: 0 0 10px 0; }
.search_form p { margin: 20px 0 0 0; }
.search_form .end { padding: 0 0 30px 0px; }
.search_form label { float: none; width: auto; display: block; padding: 1px 0; }
.search_form .large { width: 180px; }
.search_form .small { width: 80px; }
.search_form .text { width: 60px; }

/* Footer */
div#footer { width: 844px; height: 55px; line-height: 55px; clear: both; margin: 0 auto; }
