.hidden {display: none}

form p.field {
  margin-bottom: 0.5em;
  clear: both;
}
form p.field span.req {
  color: red;
  float: left;
  margin-left: 2px;
  position: relative;
  top: -3px;
}
form p.field input[type=text] {
  float: left;
  margin: 0 5px 7px 0;
}
form p.field select {
  float: left;
  margin: 0 5px 7px 0;
}
form p.field.radios { line-height: 150%; }

fieldset { 
	margin-bottom: 1em; 
  /*border: 1px dotted grey;*/
}

legend {
  font-size: 120%;
  margin-bottom: 0.2em; 
  margin-left: 1em;
}

#cart-form {
  display: inline;
  float: left;
  width: 270px;
}

.no_margin_or_padding {
  margin: 0;
  padding: 0;
}
.leftie {
  float: left;
  width: 49%;
}
.rightie {
  float: right;
  width: 49%;
}
.clearfix {
  overflow: hidden;
  display: inline-block;
}
.clearfix { display: block; }
.nowrap { white-space: nowrap; }
.no-bullets { list-style: none; }
.inline-list {
  list-style-type: none;
  margin: 0px;
  padding: 0px;
  display: inline;
}
.inline-list li {
  margin: 0px;
  padding: 0px;
  display: inline;
}
.colborder {
  padding-right: 24px;
  margin-right: 25px;
  border-right: 1px solid #eeeeee;
}

button, a.button, input.button {
  -moz-border-radius: 0.3em;
  -webkit-border-radius: 0.3em;
  border-radius: 0.3em;
  background: #efefef url(../images/buttons/bg-button.png) center left repeat-x !important;
  border-style: solid;
  border-width: 1px !important;
  border-color: #dddddd #999999 #999999 #dddddd !important;
  -moz-outline-radius: 0.3em;
  color: #4e5f00;
  display: inline-block;
  font-family: Helvetica Neue, Helvetica, Arial, Sans-serif;
  font-size: 1.1em !important;
  font-size-adjust: none;
  font-stretch: normal;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  line-height: 1.2em;
  margin: 0px;
  overflow: visible;
  padding: 10px 17px;
  text-decoration: none;
  width: auto;
  height: auto;
  cursor: pointer;
}
button.primary, a.button.primary, input.button.primary {
  color: #4e5f00;
  font-weight: bold;
}

button.quick, a.button.quick, input.button.quick {
  color: #4e5f00;
  padding: 3px;
  margin: 4px 0 0 6px;
  width: 80px;
}

button:hover { background-image: url(../images/buttons/bg-button-hover.png) !important; }
a.button:hover { background-image: url(../images/buttons/bg-button-hover.png) !important; }
input.button:hover { background-image: url(../images/buttons/bg-button-hover.png) !important; }
button.large, a.button.large, input.button.large {
  -moz-border-radius: 0.3em;
  -webkit-border-radius: 0.3em;
  border-radius: 0.3em;
  font-size: 1.4em !important;
  line-height: 1.4em;
}
button.small, a.button.small, input.button.small {
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
  border-radius: 4px;
  font-size: 0.9em;
  line-height: 1.4em;
  padding: 10px 10px;
}
button.small img { margin: 0 3px 0 0 !important; }
a.button.small img { margin: 0 3px 0 0 !important; }
input.button.small img { margin: 0 3px 0 0 !important; }
button.update img { margin-right: 7px; }
button.checkout img { margin-right: 7px; }
a.button.update img { margin-right: 7px; }
a.button.checkout img { margin-right: 7px; }
input.button.update img { margin-right: 7px; }
input.button.checkout img { margin-right: 7px; }
button img { vertical-align: middle; }
a.button img { vertical-align: middle; }
input.button img { vertical-align: middle; }
button:focus { outline: none; }
a.button:focus { outline: none; }
input.button:focus { outline: none; }
button::-moz-focus-inner {
  padding: 0px;
  border: none;
}
p a.button img { margin: 0 5px 0 0; }
p button img { margin: 0 5px 0 0; }

div#subtotal {
  width: 55%;
  text-align: right;
}

table th {
  background: transparent;
  border-bottom: 1px solid #dddddd;
}
table#cart tr td {
  border-bottom: 1px solid #dddddd;
  padding: 1em 0;
}
table#cart tr#none td { 
	border-bottom: none; 
 	text-align: center;
  padding: 20px 0 0 0;
  font-size: 120%;
}

table#cart h4 { margin-bottom: 0em; }

table#cart-detail {
	width: 55%;
}

table#cart-detail td {
  vertical-align: middle;
}

div.links  { 
  margin: 30px 0 0 0;
}

div.links a  { 
  margin: 0 0 0 30px;
}

label { font-weight: bold; }



div#checkout #checkout_form_address label.error {
  color: red;
  float: left;
  text-align: left;
  display: inline-block;
  top: 0px;
  font-size: 11px;
  border: none;
  padding: 0px;
  width: auto;
}

#signup #new-customer {
  display: inline;
  float: left;
  width: 470px;
  margin-right: 10px;
}
#signup #new-customer h2 { margin-bottom: 0.25em; }
#signup #new-customer p { margin-bottom: 10px; }
#signup #new-customer p input.title {
  padding: 3px;
  margin: 0px;
}
#signup #new-customer input[type=checkbox] { top: 0em; }
#login #existing-customer {
  display: inline;
  float: left;
  width: 470px;
  margin-right: 10px;
}
#login #existing-customer h2 { margin-bottom: 0.25em; }
#login #existing-customer p { margin-bottom: 10px; }
#login #existing-customer p input.title {
  padding: 3px;
  margin: 0px;
}
#login #existing-customer input[type=checkbox] { top: 0em; }

ol.progress-steps {
  list-style: none;
  margin: 0;
  padding: 0;
  line-height: 1em;
  font-size: 12px;
}
ol.progress-steps li {
  margin: 0;
  padding: 0;
  list-style: none;
  display: block;
  float: left;
  color: #999999;
  background-position: top left;
  background-repeat: no-repeat;
  background-image: url(../images/step-progress/incomplete-incomplete.gif);
}
ol.progress-steps li span {
  padding: 5px 14px 7px 24px;
  display: block;
  float: left;
  background-position: top right;
  background-repeat: no-repeat;
}
ol.progress-steps li a {
  text-decoration: none;
  color: #333333;
}
ol.progress-steps li.current-first span { padding-left: 14px; }
ol.progress-steps li.completed-first span { padding-left: 14px; }
ol.progress-steps li.current-first { background-image: url(../images/step-progress/current-first.gif); }
ol.progress-steps li.completed-first { background-image: url(../images/step-progress/completed-first.gif) !important; }
ol.progress-steps li.current { color: #ffffff; }
ol.progress-steps li.current-first { color: #ffffff; }
ol.progress-steps li.current-last { color: #ffffff; }
ol.progress-steps li.completed { background-image: url(../images/step-progress/completed-completed.gif); }
ol.progress-steps li.current { background-image: url(../images/step-progress/completed-current.gif); }
ol.progress-steps li.current-last { background-image: url(../images/step-progress/completed-current.gif); }
ol.progress-steps li.next { background-image: url(../images/step-progress/current-incomplete.gif); }
ol.progress-steps li.next-last { background-image: url(../images/step-progress/current-incomplete.gif); }
ol.progress-steps li.last span { background-image: url(../images/step-progress/incomplete-right.gif); }
ol.progress-steps li.next-last span { background-image: url(../images/step-progress/incomplete-right.gif); }
ol.progress-steps li.current-last span { background-image: url(../images/step-progress/current-right.gif); }

div#checkout { position: relative; width: 45%;}
div#checkout .progress-steps {
  position: absolute;
  top: 0.5em;
  right: 0;
}
div#checkout form {
  background-position: top right;
  background-repeat: no-repeat;
}
div#checkout #checkout_form_address { background-image: url("../images/steps/2.png"); }
div#checkout #checkout_form_delivery { background-image: url("../images/steps/3.png"); }
div#checkout #checkout_form_address label {
  width: 190px;
  float: left;
  padding-right: 10px;
  text-align: right;
}

div#checkout #checkout_form_address input { width: 304px; }
div#checkout #checkout_form_address select { width: 304px; }
div#checkout #checkout_form_address p.checkbox { padding-left: 200px; }
div#checkout #checkout_form_address .form-buttons { padding-left: 200px; }
div#checkout #checkout_form_address p.checkbox label {
  width: auto !important;
  float: none !important;
}

div#checkout #checkout_form_address p.checkbox input { width: auto !important; }
div#checkout #checkout_form_payment { background-image: url("../images/steps/5.png"); }
div#checkout #checkout_form_payment select { width: 75px; }
div#checkout #checkout_form_payment #payment {
  display: inline;
  float: left;
  width: 310px;
  margin-right: 10px;
}
div#checkout #checkout_form_payment #order_details {
  display: inline;
  float: left;
  width: 470px;
  margin-right: 10px;
}
div#checkout #payment-methods {
  list-style: none;
  display: block;
  padding: 0;
  margin: 0;
  width: 720px;
}
div#checkout #payment-methods li {
  display: block;
  display: inline;
  float: left;
  width: 190px;
  margin-right: 10px;
}
div#checkout #payment-methods li.last {
  display: inline;
  float: left;
  width: 190px;
}

.index {
  width: 60%;
  font-size: 125%;
}

.index td{
	padding: 10px 15px; 0 0;   
}

.index td.price {
  text-align: center;
  font-weight: normal;
}

.index td.qty {
  text-align: center;
}

.index td.total {
  text-align: center;
}

#order-total td {
  padding-top: 15px;
 	border: top 1px solid #000; 
}

.flash {
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  font-size: 1.3em;
  margin-bottom: 1em;
  padding: 0.8em;
}
.flash.notice {
  background: #ccddff url(../images/shadow_top.png) 0px -50px repeat-x;
  color: #556699;
  border: 1px solid #99aacc;
}
.flash.errors {
  background: #f4b4b4 url(../images/shadow_top.png) 0px -50px repeat-x;
  color: #000000;
  border: 1px solid #000000;
}
.formError {
  font-size: 1.3em;
  margin-bottom: 1em;
  padding: 0.8em;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  background: #f4b4b4 url(../images/shadow_top.png) 0px -50px repeat-x;
  color: #000000;
  border: 1px solid #000000;
}
.formError p { margin: 0px; }
.formError ul { margin-bottom: 0px; }
.formError h2 {
  font-weight: bold;
  font-size: 1em;
  margin: 0px;
}
.errorExplanation {
  font-size: 1.3em;
  margin-bottom: 1em;
  padding: 0.8em;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  background: #f4b4b4 url(../images/shadow_top.png) 0px -50px repeat-x;
  color: #000000;
  border: 1px solid #000000;
}
.errorExplanation p { margin: 0px; }
.errorExplanation ul { margin-bottom: 0px; }
.errorExplanation h2 {
  font-weight: bold;
  font-size: 1em;
  margin: 0px;
}
.fieldWithErrors { clear: none; }
.no_margin_or_padding {
  margin: 0;
  padding: 0;
}