/* Cart table */

table.cart {
	width: 515px;
	margin: 10px 10px 10px 0;
	display: table;
	border-collapse: collapse;
}

table.cart tr {
	text-align: left;
}

table.cart tr.carthead {
	text-align: left;
	padding-left: 10px;
}

table.cart tr.carthead td {
	color: #c2c2c2;
	font-weight: bold;
	line-height: 100%;
	text-align: center;
	background: url(../images/cart_head_corners.png) no-repeat -20px 0;
	vertical-align: middle;
	height: 26px;
	margin: 0;
	padding: 0 3px;
}

table.cart tr.carthead td.product {
	background-position: 0 0;
	padding-left: 10px;
}

table.cart tr.carthead td.total {
	background-position: right 0;
}

table.cart tr td, table.cart tr.line2 td {
	background-color: #e6ebf0;
	color: black;
	text-align: right;
	vertical-align: middle;
	height: 41px;
	margin: 0;
	padding: 0 10px;
	border-bottom: 1px solid black;
}

table.cart tr.line2 td {
	background-color: #fafafe;
}

table.cart tr td.pricecell {
	vertical-align: middle;
	width: 30px;
}

table.cart tr td.totalcell {
	vertical-align: middle;
	width: 54px;
}

table.cart tr td.wholeempty {
	color: black;
	font-size: 12px;
	text-align: center;
	vertical-align: middle;
}

table.cart tr td.quantity {
	color: black;
	font-size: 12px;
	text-align: center;
	vertical-align: middle;
	width: 52px;
}

table.cart tr td.quantity input {
	color: black;
	font-size: 12px;
	font-family: "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", geneva, verdana, sans-serif;
	line-height: 100%;
	background-color: #f2f2f2;
	text-align: center;
	vertical-align: middle;
	width: 20px;
	margin: 0;
	padding: 3px 2px 2px;
	border-color: gray silver silver gray;
	border-style: solid;
	border-width: 1px;
}

table.cart tr td.quantity img {
	vertical-align: middle;
}

table.cart tr td.product {
	text-align: left;
	vertical-align: middle;
	padding-left: 10px;
}

table.cart tr td.productimage {
	text-align: left;
	vertical-align: middle;
	width: 28px;
	padding-right: 0;
	padding-left: 10px;
}

table.cart tr td.productimage img {
	width: 28px;
	height: 28px;
	float: left;
}

table.cart td.product p {
	font-size: 11px;
	line-height: 100%;
	margin: 0;
}

table.cart td.product p.title {
	font-size: 12px;
	line-height: 100%;
	margin: 0;
	font-weight: bold;
	color: #333;
}

div.coupon {
	height: 40px;
	margin: 0 0 10px;
	padding: 0 0 0 10px;
}

div.coupon p {
	color: black;
	font-size: 11px;
	line-height: 150%;
	margin: 0;
	padding: 0;
}

div.coupon input {
	font-size: 12px;
	font-family: "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", geneva, verdana, sans-serif;
	line-height: 100%;
	vertical-align: middle;
	margin: 0 10px 0 0;
	padding: 0;
}

div.coupon input.couponbox {
	font-size: 12px;
	font-family: "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", geneva, verdana, sans-serif;
	line-height: 100%;
	background-color: #f2f2f2;
	text-align: left;
	vertical-align: middle;
	width: 150px;
	padding: 3px 2px 2px 4px;
	border-color: gray silver silver gray;
	border-style: solid;
	border-width: 1px;
}

div.coupon input.validate {
	vertical-align: middle;
}

div.totals {
	text-align: right;
	width: 210px;
	float: right;
	margin: 0 20px 8px 0;
}

div.totals .label {
	color: #2a2828;
	font-size: 12px;
	font-weight: bold;
	margin-top: 0;
	margin-bottom: 0;
	margin-left: 10px;
}

div.totals .sum, div.totals .sumtotal {
	width: 65px;
	float: right;
}

div.totals .sumtotal {
	color: red;
	font-size: 14px;
	font-weight: bold;
	vertical-align: text-bottom;
	margin: 0;
	padding: 0;
}

div.totals .update {
	height: 40px;
	margin: 2px 0 0;
	padding-top: 3px;
}

div.totals .update input {
	vertical-align: middle;
	margin-top: -4px;
}

div.totals .update p {
	font-size: 11px;
	line-height: 150%;
	margin: 0 0 0 10px;
	padding: 0;
}

div.cartfooter {
	text-align: center;
	margin: 10px 10px 10px 0;
	padding-right: 10px;
	padding-left: 10px;
}

div.cartfooter .back {
	float: left;
	margin-right: 10px;
}

div.cartfooter .finish {
	float: right;
	margin-top: -2px;
}

div.cartbottom {
	line-height: 100%;
	background: url(../images/cart_head_corners.png) no-repeat 0 -30px;
	height: 26px;
	margin: 0;
	padding: 0 3px;
}

/* Addresses table */

table.addr {
	width: 515px;
	margin: 10px 10px 5px 0;
	display: table;
	border-collapse: collapse;
}

table.addr td {
	background-color: #fafafe;
	color: black;
	line-height: 120%;
	text-align: left;
	vertical-align: middle;
	width: 425px;
	height: 28px;
	margin: 0;
	padding-right: 0;
	padding-left: 0;
}

table.addr tr.header td {
	background-color: #2a2828;
	color: #c2c2c2;
	font-size: 12px;
	font-weight: bold;
	line-height: 100%;
	height: 26px;
	margin: 0;
	padding: 0 3px 0 10px;
}

table.addr tr.footer td.titles, table.addr tr td.titles, table.addr tr {
	color: black;
	font-size: 11px;
	line-height: 120%;
	text-align: right;
	width: 90px;
	padding-right: 0;
}

table.addr tr.footer td {
	line-height: 100%;
	background: url(../images/cart_head_corners.png) no-repeat -20px -30px;
	height: 26px;
	margin: 0;
	padding: 0 3px;
}

table.addr tr.footer td.titles {
	background-position: left -30px;
}

table.addr tr.footer td.right {
	background-position: right -30px;
}

table.addr tr.top td {
	padding-top: 10px;
	border-top: 1px solid black;
}

table.addr tr.bottom td {
	vertical-align: top;
	height: 0;
	margin: 0;
	padding: 15px 0 10px;
	border-bottom: 1px solid black;
}

table.addr tr.bottompad td {
	padding-bottom: 15px;
}

table.addr tr.noheight td {
	font-size: 11px;
	line-height: 100%;
	height: 0;
}

table.addr tr.noheight td p {
	margin: 0 0 0 10px;
}

table.addr td.titles p {
	font-size: 11px;
	line-height: 100%;
	margin: 0;
}

table.addr input, table.addr textarea {
	font-size: 12px;
	font-family: "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", geneva, verdana, sans-serif;
	line-height: 100%;
	background-color: #f2f2f2;
	vertical-align: middle;
	margin-left: 10px;
	padding: 3px 2px 2px;
	border-color: gray silver silver gray;
	border-style: solid;
	border-width: 1px;
}

table.addr span.badtext input {
	background-color: #dbe1e4;
}

table.addr select {
	line-height: 100%;
	vertical-align: middle;
	margin-right: 0;
	margin-left: 10px;
	padding: 0;
}

table.addr input.image {
	border-style: none;
}

table.addr input.charremain {
	color: gray;
	font-size: 10px;
	line-height: 100%;
	background-color: #d5d5d5;
	text-align: center;
	width: 28px;
	margin: 0 3px 0 0;
	border-style: none;
}

table.addr input.address {
	width: 383px;
}

table.addr input.city {
	width: 130px;
}

table.addr input.city0 {
	width: 188px;
}

table.addr input.prov {
	width: 145px;
}

table.addr input.prov0 {
	width: 134px;
}

table.addr select.provca {
	width: 134px;
	margin-left: 6px;
}

table.addr select.provgb {
	width: 176px;
}

table.addr select.provau {
	width: 187px;
}

table.addr select.provit {
	width: 134px;
}

table.addr select.proves {
	width: 134px;
}

table.addr input.postal {
	width: 130px;
}

table.addr input.postal0 {
	width: 134px;
}

table.addr input.name {
	width: 144px;
}

table.addr input.email {
	width: 220px;
}

table.addr input.phone {
	width: 107px;
}

table.addr input.company {
	width: 220px;
}

table.addr select.country {
	width: 170px;
}

table.addr select.country0 {
	width: 166px;
}

table.addr textarea.notes {
	width: 383px;
	line-height: 130%;
}

/* Misc elements for above*/

table.addr td.titles .badaddr {
	font-weight: bold;
	line-height: 150%;
	background-image: url(../images/bullet_noenter_sm.png);
	background-repeat: no-repeat;
	background-attachment: scroll;
	background-position: 0 center;
	text-align: right;
	padding-left: 16px;
}

table.addr span.addrright {
	margin-left: 25px;
}

table.addr span.addrrightbad {
	font-weight: bold;
	line-height: 150%;
	background-image: url(../images/bullet_noenter_sm.png);
	background-repeat: no-repeat;
	background-attachment: scroll;
	background-position: 0 center;
	text-align: right;
	margin-left: 10px;
	padding-left: 15px;
}

img.phone {
	vertical-align: middle;
}

span.dupemarker {
	color: red;
	font-weight: 900;
	margin-left: -8px;
	float: left;
}

span.dupemarker2 {
	color: red;
	font-weight: 900;
	margin-right: 8px;
	margin-left: 3px;
}

p.dupemarker2 {
	margin-bottom: 0px;
}

p.addrerror_msg {
	color: #282828;
	font-weight: bold;
	line-height: 130%;
	background-image: url(../images/bullet_noenter_sm2.png);
	background-repeat: no-repeat;
	background-attachment: scroll;
	background-position: 0 center;
	margin-top: 2px;
	margin-bottom: 2px;
	margin-left: 20px;
	padding-left: 20px;
}

ul.addrerror_msg {
	color: #282828;
	line-height: 160%;
	margin-top: 2px;
	margin-left: 16px;
}

select.contacttoaddress {
	width: 250px;
	margin-left: 10px;
}

input.contactname {
	width: 250px;
}

input.contactemail {
	width: 250px;
}

input.contactsubject {
	width: 383px;
}

textarea.contactmessage {
	width: 383px;
}

p.toheading {
	color: black;
	font-size: 11px;
	font-weight: bold;
	line-height: 100%;
	vertical-align: middle;
	margin-left: 65px;
}