/* 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: 0 0 15px 0; padding: 25px 0 0 0; }
h2 { margin: 15px 0; }
h3 { margin: 15px 0; }
p { margin: 15px 0; }
p.winner { padding: 10px; }
address { margin: 10px 0 15px 0; }
ul, ol { margin: 15px 0; padding: 0 0 0 2em; }
li { margin: 4px 0; }
blockquote { padding: 1px 10px; margin: 10px 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; }
div.column { width: 50%; }
p.clear_both { margin: 0; padding: 0; }

/* General Forms */
form { display: inline; }
label { float: left; width: 130px; padding: 0 5px 0 0; display: block; }
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: 3px 0 0 0; }
fieldset { padding: 5px 10px; margin: 10px 5px; border-width: 1px; }
legend { padding: 0 10px; margin: 0 0 0 -5px; }
input.checkbox { border: none; }
ul.errors label { display: inline; float: none; width: auto; padding: 0; }

fieldset.active { margin: 5px 0; padding: 1px 15px; border: none; }
fieldset.active legend { padding: 3px 10px; margin: 0 0 0 -15px; }
fieldset.inactive { margin: 5px 0; padding: 1px 15px; border: none; }
fieldset.inactive legend { padding: 3px 10px; margin: 0 0 0 -15px; }

fieldset.left, fieldset.right { margin: 10px 0; padding: 1px 5px; border: none; width: 48%; }
fieldset fieldset { padding: 1px 5px; margin: 10px 0; border: none; }
fieldset fieldset legend { padding: 3px 0; margin: 0 0 0 -5px !important; }

/* 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: 900px; padding: 30px 50px; margin: 0 auto; }
div#voucher { padding: 1px 10px; margin: 10px 0; }

/* Header */
div#header { margin: 0; padding: 0; clear: both; }
div#header form { display: block; float: right; clear: right; }
div#header form p { margin: 8px 0; }
div#header form input.button { margin: 0 0 0 17px; }
div#header form input.text { width: 136px; }

div#header ul { display: block; padding: 3px 2px; margin: 0; clear: both; }
div#header ul li { display: inline; border-left-width: 1px; padding: 0 11px; margin: 0; }
div#header ul li.first { border-left: none; }
div#header ul li.basket { border-left: none; padding: 0 12px 0 30px; float: right; }

/* Content */
div#content { margin: 0; padding: 0; clear: both; }
img#main_image { float: left; margin: 0 20px 10px 0; }

div#column { width: 341px; float: right; }

/* Product Lists */
ul.product_list { margin: 0; padding: 0; clear: both; }
ul.product_list h3 { margin: 8px 0 0 0; height: 30px; }
ul.product_list p { margin: 8px 0 0 0; height: 40px; }
ul.product_list p.price { margin: 8px 0 0 0; height: auto; }
ul.product_list li { float: left; width: 155px; height: 360px; padding: 10px 0; margin: 0 0 0 31px; }
ul.product_list li.row_start { margin: 0; }
img.overlay { position: absolute; left: auto; top: auto; margin: 0; }

ul.home li { height: auto; padding: 0; }

/* Mini Product Lists */
ul.mini_product_list { margin: 0; padding: 0; clear: both; }
ul.mini_product_list h3 { margin: 8px 0 0 0; height: 30px; }
ul.mini_product_list li { float: left; width: 100px; height: 200; padding: 10px 0; margin: 0 0 0 31px; }
ul.mini_product_list li.row_start { margin: 0; }

/* Product Page */
ul#images { width: 465px; float: right; margin: 0; padding: 0; }
ul#images li { margin: 0; padding: 0; display: inline; }
ul#images li img { float: right; }

img#product_image { float: right; }
ul#detail_images { float: right; margin: 0 10px 0 0; padding: 0; }
ul#detail_images li { margin: 0; padding: 0; display: inline; }
ul#detail_images li a img { border-width: 1px; margin: 0 0 0 10px; vertical-align: top; }

/* Footer */
div#footer { margin: 0; padding: 0; clear: both; }
div#footer ul { display: block; padding: 3px 4px; margin: 0; }
div#footer ul li { display: inline; border-left-width: 1px; padding: 0 12px; margin: 0; }
div#footer ul li.first { border-left: none; }
div#footer ul li.copyright { border-left: none; float: none; text-align: center; }

/* Checkout */
div.checkout_column { float: left; width: 32%; }
div.checkout_column fieldset p { margin: 5px 0; }
div.checkout_column fieldset p label { float: none; width: auto; }

/* CMS */
.wym_box { clear: both; }

/* Image Zoom Bits */
div#main_image { float: right; width: 310px; height: 470px; cursor: crosshair; }
div#main_image div#main_image { float: none; display: block; }
div#image_zoom { position: absolute; left: auto; top: auto; margin: 10px 0 0 -210px; width: 200px; height: 200px; border: 1px solid #E58DA2; background: #fff; display: none; }
div#image_zoom_highlight { position: absolute; left: auto; top: auto; width: 98px; height: 98px; border: 1px solid #fff; display: none; opacity: 30%; }
