/*
 * Cart styles
 */

div#cart {
}

div#cart a{ 
color:#1878b2;
font-weight:bold;
}

div#cart table {
  font-size: 1.2em;
  border-collapse: collapse;
  border: none;
  margin: 20px 0 12px 0;
  padding: 0;
  width: 100%;
}
div#cart table tr td,
div#cart table tr th {
  font-weight: normal;
  text-align: left;
  vertical-align: top;
  border: none;
  margin: 0;
  padding: 8px;
}

div#cart table tr th.medium-column {
  width: 140px;
}
div#cart table tr th.small-column {
  width: 100px;
}

/*
 * Cart table header
 */

div#cart table thead tr th {
  background: #293f4a;
  border-right: 5px solid #2C3339;
  border-bottom: 11px solid #2C3339;
}
div#cart table thead tr th.price {
  border-right: none;
}


/*
 * Cart table footer
 */

div#cart table tfoot tr.product-total th,
div#cart table tfoot tr.product-total td {
  background: #293f4a;
  border-bottom: 5px solid #2C3339;
}
div#cart table tfoot tr.product-total th {
  text-align: right;
}
div#cart table tfoot tr.product-total td {
  font-weight: bold;
  text-align: right;
}

div#cart table tfoot tr.region-selector-and-delivery-total th,
div#cart table tfoot tr.region-selector-and-delivery-total td {
  border-bottom: 5px solid #2C3339;
}
div#cart table tfoot tr.region-selector-and-delivery-total td.region-selector {
}
div#cart table tfoot tr.region-selector-and-delivery-total td.region-selector fieldset {
  border: none;
  margin: 0;
  padding: 0;
}
div#cart table tfoot tr.region-selector-and-delivery-total td.region-selector fieldset label {
  font-size: 0.8em;
  font-weight: bold;
  margin-right: 5px;
}
div#cart table tfoot tr.region-selector-and-delivery-total td.region-selector fieldset select {
  font-size: 0.8em;
}
div#cart table tfoot tr.region-selector-and-delivery-total th {
  text-align: right;
}
div#cart table tfoot tr.region-selector-and-delivery-total td.delivery-total {
  font-weight: bold;
  text-align: right;
}

div#cart table tfoot tr.overall-total th,
div#cart table tfoot tr.overall-total td {
  background: #293f4a;
}
div#cart table tfoot tr.overall-total th {
  text-align: right;
}
div#cart table tfoot tr.overall-total td {
  font-weight: bold;
  text-align: right;
}


/*
 * Cart table body
 */

div#cart table tbody tr th,
div#cart table tbody tr td {
  background: #254a5b;
  border-right: 5px solid #2c3339;
  padding-bottom: 12px;
}
div#cart table tbody tr.last th,
div#cart table tbody tr.last td {
  border-bottom: 11px solid #2c3339;
  padding-bottom: 8px;
}
div#cart table tbody tr td.quantity {
  text-align: center;
}
div#cart table tbody tr td.quantity a.remove-link {
  color: #fff;
  font-size: 0.7em;
}
div#cart table tbody tr td.quantity fieldset {  
  border: none;
  margin: 0;
  padding: 0;
  width:115px;
}
div#cart table tbody tr td.quantity fieldset label {
  display: none;
}
div#cart table tbody tr td.quantity fieldset select {
  font-size: 0.8em;
}
div#cart table tbody tr td.price {
  font-weight: bold;
  text-align: right;
}

div#cart table tbody tr td ul.details-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
div#cart table tbody tr td ul.details-list li {
  margin: 0 0 6px 0;
  padding: 0;
}

div#cart p#credit-cards {
  float: left;
  width: 150px;
}

div#cart p.shop-more-button {
  float: right;
  text-align: right;
  margin-right: 10px;
}


/*
 * Checkout details form - General styles
 */

form#checkout-details {
  border-top: 1px solid #293f4a;
  margin-top: 12px;
  padding-top: 24px;
}
form#checkout-details h3 {
  font-size: 1.4em;
  font-weight: normal;
  margin: 0 0 15px 0;
}
form#checkout-details sup.mandatory {
  color: #900;
  font-size: 0.8em;
}
form#checkout-details fieldset {
  border: none;
  margin: 0 0 30px 0;
  padding: 0;
}
form#checkout-details fieldset.controls {
  border-top: 1px solid #293f4a;
  margin: -8px 0 0 0;
  padding-top: 20px;
}

form#checkout-details fieldset div.field {
  display:inline-block;
}

form#checkout-details fieldset div.field {
  background: #293f4a;
  overflow: hidden;
  display:block;
  margin-bottom: 5px;
  padding: 8px;
}
form#checkout-details fieldset div.field label {
  text-align: right;
  float: left;
  margin: 2px 12px 0 0;
  width: 175px;
}

form#checkout-details fieldset div.field label.inline{
  float:none;
  display:inline;
  padding-left:5px; 
  margin-right:2px; 
  width:auto;  
}

form#checkout-details fieldset div.field label span.note {
  font-size: 0.8em;
  font-style: italic;
  vertical-align: top;
}
form#checkout-details fieldset div.field label span.invalid {
  color: #f55;
  font-size: 0.8em;
  text-align: right;
  display: block;
  margin-top: 2px;
}
form#checkout-details fieldset div.field input.text,
form#checkout-details fieldset div.field select {
  color:#000000;
  background:#ffffff;
  font-size: 0.9em;
  float: left;
}

form#checkout-details fieldset div.field input.inline{
  display:inline;

  float:none !important;
}

form#checkout-details fieldset div.field input.text {
  border: 1px solid #ccc;
  padding: 3px;
  width: 180px;
}
form#checkout-details fieldset div.field input.text.large {
  width: 280px;
}
form#checkout-details fieldset div.field input.text.small {
  width: 100px;
}
form#checkout-details fieldset div.field input.text.tiny {
  width: 50px;
}
form#checkout-details input.auto{
  width:auto!important;
}

form#checkout-details input.noborder{
  border:none !important;
}

form#checkout-details fieldset div.field select {
  width: auto;
}

form#checkout-details fieldset div.group {
  float: left;
  margin-bottom: -8px;
  width: 300px;
}
form#checkout-details fieldset div.group input,
form#checkout-details fieldset div.group select {
  display: block;
  float: none !important;
  margin-bottom: 8px;
}

form#checkout-details fieldset.controls p.mandatory-fields {
  font-size: 0.9em;
  float: left;
  margin: 8px 0 0 0;
}
form#checkout-details fieldset.controls div.continue-button {
  float: right;
}


/*
 * Checkout details form - Specific styles
 */

form#checkout-details div.delivery-address-same-as-above,
form#checkout-details div#delivery-address-same-as-above {
  background: #293f4a;
  margin-bottom: 5px;
  padding: 8px;
}

form#checkout-details div.delivery-address-same-as-above input,
div#delivery-address-same-as-above input {
  vertical-align: middle;
  margin: 0 2px 0 187px;
  border:none !important;
}

form#checkout-details div.delivery-address-same-as-above input,
div#delivery-address-same-as-above input{
  margin:5px 2px 0 0;
}


div.delivery-address-same-as-above input,
div#delivery-address-same-as-above input{
  float:left !important;
  width:auto !important;
}

form#checkout-details div.same-as-above label,
div.delivery-address-same-as-above label, 
div#delivery-address-same-as-above label {
  vertical-align: middle;
}

form#checkout-details fieldset div.same-as-above label span.invalid {
  display:block;
  padding-left:50px;
}


div#checkout-details div#start-date,
div#checkout-details div#expiry-date {
  overflow: hidden;
}
div#start-date input.text,
div#expiry-date input.text {
  margin-right: 5px;
  width: 30px !important;
}
div#start-date span.separator,
div#expiry-date span.separator {
  float: left;
  margin: 2px 5px 0 0;
}
div#start-date span.format,
div#expiry-date span.format {
  font-size: 0.8em;
  float: left;
  margin: 4px 0 0 3px;
}

div.friend{
  width:331px;
  float:left;
  margin-right:10px;
}

form#checkout-details fieldset div.friend div.field label{
  width:124px;
}