/* 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; }
h2 { margin: 10px; }
h3 { margin: 10px; }
p { margin: 10px; }
address { margin: 10px; }
ul, ol { margin: 10px; padding: 0 0 0 2em; }
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, .special { 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: 12px 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; }

/* Tables */
table { margin: 5px 15px 30px 15px; clear: both; border-width: 1px; }
caption { margin: 0; padding: 0; }
thead th { padding: 5px 10px; }
tbody th { padding: 5px 10px; }
tbody td { padding: 5px 10px; }

/* Container */
div#container { width: 980px; padding: 0; margin: 0 auto; }

/* Header */
div#header { padding: 30px 10px; clear: both; }
div#header form { float: right; display: block; margin: 10px; }
div#header form p { margin: 0; }
div#header form label { display: inline; float: none; width: auto; padding: 0; vertical-align: middle; }
div#header form input { vertical-align: middle; }
div#header ul { float: right; clear: right; margin: 10px; padding: 0; }
div#header ul li { display: inline; padding: 0 10px; margin: 0; border-width: 0 0 0 1px; }
div#header ul li.first { border-width: 0; }

/* Promo Strip */
div#promo_strip { height: 235px; clear: both; padding: 10px 150px 0 500px; }

/* Main Menu */
ul#main_menu { height: 45px; line-height: 45px; border-width: 10px; padding: 0 10px; margin: 0; }
ul#main_menu li { display: inline; padding: 0 10px; margin: 0; border-width: 0 0 0 1px; }
ul#main_menu li.first { border-width: 0; }

/* Left Column */
div#left_column { width: 225px; float: left; margin: 0 0 0 10px; padding: 10px 5px; }
div#left_column h3 { margin: 10px 25px 3px 25px; border-width: 0 0 1px 0; padding: 2px 0; }
div#left_column ul { margin: 3px 25px; padding: 0; }
div#left_column ul li { margin: 3px 0; }

/* Shopping Basket Button */
a#shopping_basket { display: block; margin: 0 5px 20px 5px; padding: 15px 10px; }
a#shopping_basket strong { display: block; }

/* Content */
div#content { width: 715px; float: right; padding: 5px 0; margin: 0 10px 0 0; }

/* Categories */
ul#categories { margin: 0; padding: 0; }
ul#categories li { width: 235px; height: 230px; float: left; padding: 0; margin: 0 5px 0 0; }
ul#categories li.row_end { margin: 0; }
ul#categories li a { display: block; height: 220px; padding: 0; margin: 0 5px; border-width: 0 0 0 0; }
ul#categories li strong { display: block; padding: 10px 5px; margin: 0 0 2px 0; }
ul#categories li span.left { padding: 2px 6px; }
ul#categories li em.price { float: right; padding: 2px 6px; }

/* Product Page */
img#main_product_image { float: right; margin: 10px 15px; }

form#add_to_basket_form { float: right; width: 330px; margin: 10px; padding: 1px 0; }
form#add_to_basket_form label { float: none; display: block; width: auto; }
form#add_to_basket_form ul { padding: 0; }

/* Footer */
div#footer { border-width: 10px 0 0 0; padding: 10px; clear: both; }
div#footer p { margin: 0; }

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