/* CSS Resets */

html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,font,img,ins,kbd,q,s,samp,small,strike,sub,sup,tt,var,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{margin:0;padding:0;border:0;outline:0;font-weight:inherit;font-style:inherit;font-size:100%;font-family:inherit;vertical-align:baseline;}
body{line-height:1.3;color:black;background:white;}
ol,ul{list-style:none;}
table{border-collapse:collapse;border-spacing:0;}
caption,th,td{text-align:left;font-weight:normal;}
blockquote:before,blockquote:after,q:before,q:after{content:"";}
blockquote,q{quotes:"""";}
input,textarea{vertical-align:middle;font-size:inherit;font-family:Arial,Helvetica,sans-serif;font-size:1em;outline:0;}
a img{border:none;}


html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,address,cite,code,del,dfn,em,img,ins,q,small,strong,sub,sup,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{border:0;margin:0;padding:0}article,aside,figure,figure img,figcaption,hgroup,footer,header,nav,section,video,object{display:block}a img{border:0}figure{position:relative}figure img{width:100%}

/* -- GENERAL STRUCTURE -- */

body {
	font: 12px/1.3 Helvetica, Arial, sans-serif;
}

#pagecontainer {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	overflow: hidden;
}

#pagecontent {
	margin-bottom: 15px;
	padding: 9px;
	overflow: hidden;
	clear: both;
}


/* -- HEADER -- */

header {
	overflow: hidden;
}

header #logo {
	float: left;
	width: 23%;
	margin: 35px 9px 10px;
	text-align: center;
}

header #logo a {
	display: block;
	margin: 0;
	padding: 1px 0;
	font-size: 180%;
	width: 100%;
	height: 100%;
}

nav {
	float: left;
	margin: 35px 0 10px;
	overflow: hidden;
}

nav li {
	display: inline-block;
	margin: 4px 10px;
}

nav li a {
	display: block;
	font-size: 140%;
}

#account {
	float: right;
	margin: 9px 10px;
}

#account li {
	display: inline-block;
	margin: 5px 0;
}

#account a {
	display: block;
	margin: 0 3px 0 6px;
	padding: 0 10px;
	font-size: 110%;
}

.sitesearch {
	float: right;
	margin: 0 10px;
	clear: right;
}

.sitesearch input {
	display: inline;
	width: 14em;
}

.sitesearch button {
	float: none;
	width: auto;
	margin: 0;
}


/* -- LOGIN -- */

section.content.login,
section.content.forgottenpassword {
	float: left;
	width: 32%;
	margin: 25px 0;
	padding: 0 8%;
	border-right: 1px solid #999;
}

section.content.registerinfo {
	float: left;
	width: 32%;
	margin: 25px 0 25px -1px;
	padding: 0 8%;
	border-left: 1px solid #999;
}

#login {
	margin: 0 auto;
}

.forgot {
	margin: 5px 10px;
	text-align: right;
}

#login button,
#forgotten_password button {
	float: right;
	margin: 1em 3%;
}


/* -- SIDEBAR -- */

#sidebar {
	float: left;
	width: 18%;
	margin-right: 9px;
}

.sidenav li a {
	display: block;
	margin-bottom: 5px;
	padding: 6px 8px;
	font-size: 150%;
}

.sidenav li ul {
	display: none;
}

.sidenav li.current ul {
	display: block
}

.sidenav li li a {
	padding: 3px 8px 3px 16px;
	font-size: 120%;
}

.subscribe {
	width: 92%;
	margin: 20px 9px 0;
	overflow: hidden;
}

.subscribe p {
	margin-bottom: 5px;
	font-size: 110%;
}

.subscribe input {
	width: 94%;
	margin: 5px 0;
	padding: 3px 5px;
	font-size: 110%;
}

.subscribe button,
.filter button {
	float: right;
	margin: 0;
	padding: 3px 15px 4px;
	clear: both;
}

.filter {
	margin-top: 20px;
	overflow: hidden;
}

.filter h3 {
	margin: 0 9px;
	font-size: 150%;
}

.filter form {
	padding: 9px;
	overflow: hidden;
}

.filter label {
	float: left;
	margin: 3px 0 15px;
	font-size: 120%;
	clear: left;
}

.filter select {
	float: right;
	width: auto;
	margin: 2px 0 14px 5px;
	font-size: 100%;
	clear: right;
}


/* -- BREADCRUMBS -- */

.breadcrumbs {
	margin-bottom: 8px;
	font-size: 80%;
}


/* -- CONTENT -- */

.content {
	float: right;
	width: 80%;
}

.content h1 {
	font-size: 200%;
	margin-bottom: 15px;
}

.content h1 span {
	font-size: 70%;
	font-weight: lighter;
}

.content h1 span.searchterm {
	font-size: 100%;
	font-weight: lighter;
}

.content h3 {
	font-size: 160%;
	margin-bottom: 15px;
}

.content p {
	margin-bottom: 15px;
}

hr {
	height: 1px;
	margin: 30px;
	border: 0 none;
}


/* -- HOME -- */

.content.home {
	width: 75%;
}

.content .banner ul {
	margin: 0;
}

.content .banner li {
	list-style: none;
}

.banner img {
	width: 734px;
	height: 389px;
}

.featured {
	padding-bottom: 15px;
	text-align: center;
}

.featured li {
	display: inline-block;
	width: 15%;
	padding: 9px 4px;
	text-align: center;
}

.featured li img {
	width: 100%;
}

.featured li a {
	display: block;
	font-size: 120%;
	vertical-align: bottom;
}

.links {
	margin-bottom: 15px;
	padding: 15px 0;
	text-align: center;
}

.links li {
	display: inline-block;
	margin: 5px 20px;
	font-size: 140%;
}


/* -- CATEGORY -- */

.content .category li {
	display: inline-block;
	width: 19%;
	margin: 0 1.5% 3.5%;
	padding: 1%;
	list-style: none;
	vertical-align: top;
}

.category li a {
	display: block;
}

.category li a.productname {
	margin: 5px;
}

.category li img {
	width: 100%;
}


/* -- SEARCH RESULTS -- */

.searchresults dt {
	font-size: 170%;
	margin-bottom: 5px;
}

.searchresults dd {
	margin: 0 15px 50px 0;
	padding: 20px 10px;
	border-top: 1px solid #666;
	border-bottom: 1px solid #666;
}

.searchresults .category {
	margin: 0;
}

.searchresults .category li {
	margin-bottom: 0;
}

.searchresults li.viewmore {
	width: 20%;
	vertical-align: bottom;
	border: 0 none;
}

li.viewmore img {
	width: auto;
	max-width: 50px;
	max-height: 50px;
}


/* -- PRODUCT -- */

#add_product {
	float: left;
	width: 29%;
	margin-bottom: 25px;
}

.price {
	margin: 20px 0;
	text-align: center;
}

.price h2 {
	display: inline-block;
	font-size: 200%;
	text-align: center;
	line-height: 1;
}

.price p {
	display: inline-block;
	margin: 0;
}

.price .shipping {
	margin-left: 60px
}

#add_product label {
	float: left;
	width: 45%;
	margin: 0 5% 0 0;
	padding: 10px 0 8px 0;
	font-size: 120%;
}

#add_product input {
	float: right;
	width: 30%;
	margin: 7px 0 6px;
	text-align: right;
}

#add_product select {
	float: right;
	width: 45%;
	margin: 8px 0;
	font-size: 100%;
}

#add_product button {
	float: right;
	margin-left: 0;
	clear: right;
}

#gallery {
	float: right;
	width: 68%;
	height: 270px;
	margin-bottom: 25px;
	overflow: hidden;
}

#gallery .mainimage {
	float: left;
	margin: 0;
}

#gallery .mainimage img {
	border: 1px solid #000;
	width: auto;
}

#gallery .thumbnails {
	float: left;
	height: 100%;
	margin: 0 0 0 0.7%;
}

#gallery .thumbnails li {
	height: 23%;
	margin-top: 5%;
}

#gallery .thumbnails li:first-child {
	margin-top: 0;
}

#gallery .thumbnails li img {
	border: 1px solid #000;
}

.productdetails {
	width: 100%;
	margin-top: 20px;
	overflow: hidden;
	clear: both;
}

.productdetails .description {
	float: left;
	width: 60%;
	margin-right: 3%;
}

.productdetails .specification {
	float: left;
	width: 60%;
	margin-right: 3%;
}

.productdetails .optioninfo {
	float: left;
	width: 35%;
}

.related {
	clear: both;
}

.related li {
	display: inline-block;
	width: 15%;
	margin-right: 1%;
	text-align: center;
}

.related li img {
	width: 100%;
	border: 1px solid #000;
}

.product h3 {
	margin-bottom: 5px;
	font-size: 120%;
	font-weight: bold;
}

.content ul,
.content ol {
	margin: 0 20px 15px;
}

.content ul li,
.content ol li {
	
}

.content ul li {
	list-style: disc;
}


/* -- CART -- */

.cart {
	margin: 15px 0 30px;
}

.cart th {
	padding: 10px 5px;
	font-weight: 600;
	text-align: center;
	vertical-align: middle;
}

.cart td {
	padding: 10px 5px;
	vertical-align: middle
}

.cart .productnamehead {
	text-align: left;
}

.cart thead tr {
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
}
.cart tbody tr {
	border-bottom: 1px solid #ccc;
}

.cart .remove {
	padding-left: 15px;
	text-align: center;
}

.invoiceno,
.invoicedate,
.invoicestatus,
.invoicetotal,
.productcode,
.quantity {
	text-align: center;
}

.price,
.invoicedetails {
	text-align: right;
}

.productname {
	
}

form .cart td input {
	width: 90%;
	text-align: right;
}

.totals td {
	padding: 10px 5px;
	text-align: left;
	font-weight: bold;
}

.totals .totalprice {
	width: 297px;
	text-align: right;
}

.totals .total,
.totals .totalprice {
	border-top: 1px solid;
	border-bottom: 1px solid;
}

#cart_form button,
#cart_form a.button,
#payment_form button,
#payment_form a.button,
#shipping_form button,
#shipping_form a.button ,
#nab-checkoutform button,
#nab-checkoutform a.button {
	float: right;
	margin: 30px 0 0 10px;
}


/* -- INVOICE -- */

#invoice {
	margin-bottom: 30px;
	padding-bottom: 30px;
	border-bottom: 1px solid #ccc;
	clear: both;
}

.invoice.head {
	overflow: hidden;
}

.invoice.head .logo {
	display: none;
	float: right;
	width: 25%;
	height: 80px;
	text-align: right;
}

.invoice.head .logo img {
	max-width: 100%;
	max-height: 100%;
}

.invoice.button {
	float: right;
	margin: 5px 10px 20px 0;
}

.invoice.delivery {
	float: left;
	width: 25%;
}

.invoice.instructions {
	float: left;
	width: 45%;
}

.invoice.number,
.invoice.payment {
	float: right;
	width: 28%;
}

.invoice.number strong,
.invoice.payment strong {
	float: left;
	width: 55%;
	margin-right: 10%;
}


/* -- FOOTER -- */

footer {
	height: 70px;
}

#footernav {
	float: right;
	margin-bottom: 10px;
}

#footernav li {
	display: inline;
	padding: 0 12px 0 16px;
	font-size: 110%;
}

footer p {
	float: right;
	clear: right;
}


/* -- FORM -- */

form label {
	display:block;
	margin-bottom: 0.3em;
	margin-top: 1.5em; /*so the spacing is nice for the error messages*/
}

form input,
form select,
form textarea {
	display:block;
	width: 300px;
	border: 1px solid #000;
	padding: 0.25em 0.25em;
}

form input[disabled],
form input[readonly] {
	background-color: rgba(255, 255, 255, 0.5);
	border-color: rgba(208, 211, 212, 0.25) !important;
}

form input:focus,
form textarea:focus {
	/* when the form element is selected */
	border-color: blue;
}

form textarea {
	height: 100px;
}

form button {
	margin: 1em auto;
	padding: 3px 15px 4px;
	margin-left: 205px;
	line-height: 1.3;
}

form button,
form a.button {
	float: right;
	margin: 20px 20px 0 0;
	line-height: 1;
	font-size: 100%;
}

form select {
	margin: 7px 0;
	padding: 1px;
}

form fieldset.selects select {
	display:inline-block;
}

form fieldset.radiochecks {
	margin-left: 20px;
	width: 100%;
}


form fieldset.radiochecks label.error {
	color: #d94646;
}

form fieldset.radiochecks input,
form fieldset.radiochecks label {
	display:inline-block;
	width: auto;
	float:left;
	line-height: 24px;
	margin-top: 0!important;
}

form fieldset.radiochecks input[type="radio"] {
	clear:left;
	margin: 5px 1em 6px 3px!important;
	padding: 0 0 0 0;
	/* margin-right: 1em; */
	line-height: 24px;
	border: 0 none;
}

form fieldset.radiochecks input[type="checkbox"] {
	clear:left;
	margin: 7px 1em 5px 3px!important;
	padding: 0 0 0 0;
	/* margin-right: 1em; */
	line-height: 24px;
	border: 0 none;
}

form fieldset.radiochecks fieldset {
	clear:both;
	margin-left: 2.4em;
}

form fieldset.radiochecks fieldset input,
form fieldset.radiochecks fieldset label {
	float:none;
	display:block;
	width: 80%;
	line-height: 1em;
}

form fieldset.radiochecks fieldset label {
	margin-bottom: 3px;
	width: 100%;
}


/* -- REGISTER FORM -- */

#register_form {
	width: 45%;
}

#account_form {
	width: 100%;
}

#register_form fieldset,
#account_form fieldset {
	padding-bottom: 15px;
	overflow: hidden;
}

#register_form fieldset fieldset,
#account_form fieldset fieldset {
	float: left;
	margin-right: 10px;
	padding-bottom: 0;
}

#register_form label,
#account_form label {
	display: inline-block;
	margin-top: 1em;
}

#register_form button,
#account_form button {
	float: right;
	margin: 0 20px 0 0;
}

#customer_title {
	width: 50px;
}

#customer_name,
#customer_surname {
	width: 107px;
}

#customer_state,
#customer_postcode {
	width: 141px;
}

#register_form p.error,
#account_form p.error {
	margin-bottom: 0;
}

#account_form .half {
	float: left;
	width: 50%;
}

#account_form .userdetails,
#account_form .accountdetails,
#account_form .contactdetails,
#account_form .billingdetails,
#account_form .shippingdetails {
	width: 100%;
}

#account_form .shippingdetails {
	margin: 0;
}


/* -- CHECKOUT PROCESS FORMS -- */

#checkout_form {
	float: right;
	width: 45%;
	margin: 30px 2.5% 0;
}

#checkout_form label {
	display: inline-block;
	margin-top: 1em;
}

#checkout_form fieldset fieldset {
	float: left;
	margin-right: 10px;
}

.infoblurb {
	float: left;
	width: 40%;
	margin: 30px 3% 0;
}

.infoblurb h3 {
	margin-bottom: 30px;
}

.shippingdetails {
	float: left;
	width: 50%;
	margin-top: 30px;
	overflow: hidden;
}

#payment_form,
#nab-checkoutform {
	width: 50%;
	margin: 40px auto 0;
}

#payment_form label,
#payment_form input,
#nab-checkoutform label,
#nab-checkoutform input {
	width: 90%;
}

#payment_form select,
#nab-checkoutform select {
	width: 93%;
}

#payment_method input[type="radio"] {
	float: left;
	width: auto;
	margin: 11px 5px 14px 0;
	margin-top: 10px !important;
	clear: none;
}

#payment_method label {
	float: left;
	width: auto;
	margin: 0 20px 0 0;
	line-height: 1;
}

#payment_form label[for="card_expiry"],
#nab-checkoutform label[for="card_expiry"],
#card_expiry {
	float: left;
	width: 50%;
	clear: left;
}

#card_expiry select {
	float: left;
	width: 45%;
	margin-right: 5%;
}

.cvv {
	float: right;
	width: 40%;
	margin: 0 6% 2px 0;
	clear: right;
}

#card_cvv {
	margin-top: 9px;
}

#payment_form label img,
#nab-checkoutform label img {
	margin: 0;
	padding: 0;
	border: 0 none;
}

#payment_method label {
	line-height: 32px;
	margin-top: 1px !important;
}

.paymentMethod_direct_deposit {
	margin-top: 20px;
}

.paymentMethod_direct_deposit/*,
.paymentMethod_credit_card*/ {
	display: none;
}


/* -- ERRORS AND SMALLPRINT -- */

form p.error {
	color: #c00;
	margin-top: 0.5em;
}

form input.error,
form textarea.error {
	border-color: #c00;
}

form #date_of_birth select {
	width: 6em;
	float:left;
	margin-left: 1em;
}

form .ok {
	color: #669900;
}

.content form .ok li {
	list-style: none;
}


/* -- WHITE LABEL STYLING -- */

body {
	background-color: #f3f3f3;
	color: #444;
}

a {
	color: #8393a1;
	text-decoration: none;
}

a:hover {
	color: #000;
	text-decoration: underline;
}

a.button {
	background-color: #f3f3f3;
	padding: 5px 10px;
	border: 1px solid;
	line-height: 1;
	font-size: 100%;
}

hr {
	background-color: #ccc;
}

#pagecontent {
	background-color: #fff;
}

#account li,
#footernav li {
	border-left: 1px solid;
}

#account li:first-child,
#footernav li:first-child {
	border-left: 0 none;
}

.sidenav li a {
	background-color: #eee;
}

.sidenav li.current a {
	background-color: #999;
	color: #fff;
}

.sidenav li.current li a {
	background-color: transparent;
	color: #8393a1;
}

.sidenav li.current li.current a {
	background-color: #ccc;
	color: #fff;
}

.filter form {
	border-top: 1px solid #999;
	border-bottom: 1px solid #999;
}

.featured,
.links {
	border-bottom: 1px solid;
}

.price .shipping {
	color: #999;
}

.category li {
	border: 1px solid #ccc;
}

.category li a {
	color: #666;
}

.cart,
.totals {
	background-color: transparent;
}

.cart thead tr {
	background-color: #eee;
}

#footernav li:last-child {
	padding-right: 0;
}

/* -- SHIPPING METHOD -- */

#customer_addresses {
	float: left;
	width: 25%;
}

#customer_addresses .customer_address {
	background-color: #eee;
	width: 100%;
	margin-bottom: 10px;
	padding: 10px 10px 13px;
	border-radius: 8px;
	text-align: center;
	clear: left;
}

.customer_address h3 {
	text-align: left;
}

.customer_address p {
	text-align: left;
}

.customer_address a.button {
	display: inline-block;
	margin-top: 5px;
	font-size: 90%;
}

.shippingmethod {
	float: right;
	width: 70%;
	margin-top: 10px;
}

.shippingmethod tr {
	border-top: 1px solid #d0d3d4;
	border-bottom: 1px solid #d0d3d4;
}

.shippingmethod td {
	padding-top: 1em;
	padding-bottom: 1em;
	vertical-align: middle;
}

.shippingmethod td.text {
	text-align: left;
}

.shippingmethod td.currency {
	text-align: right;
}

.shippingmethod input {
	width: auto;
}

.content .shippingmethod img {
	max-width: 139px;
	max-height: 100px;
	margin: 0;
	padding: 0;
	border: 0 none;
}

.shippingmethod label {
	margin: 0;
	padding: 0;
}

.shippingmethod td span {
	font-size: 70%;
}

.shippingmethod td span.error {
	color: #c00;
}