/* -------------------------------------------- *
 * Payment Methods
 */
.payment-methods {
  margin-bottom: 20px;
}

.payment-methods dt {
  padding: 5px 0;
}

.payment-methods dd {
  padding-top: 10px;
}

.payment-methods .form-list {
  position: relative;
  display: inline-block;
  max-width: 100%;
  margin: 5px 15px 15px;
  padding: 15px;
  border: 1px solid #cccccc;
  background: #f4f4f4;
}

.payment-methods .form-list:before {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-right: 10px solid transparent;
  border-left: 10px solid transparent;
  border-bottom: 10px solid #cccccc;
  border-top: none;
  top: -11px;
  left: 30px;
}

.payment-methods .form-list:after {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-right: 10px solid transparent;
  border-left: 10px solid transparent;
  border-bottom: 10px solid #f4f4f4;
  border-top: none;
  top: -10px;
  left: 30px;
}

.payment-methods .form-list li:last-child {
  margin-bottom: 0;
}

/* ============================================ *
 * Checkout - Layout
 * ============================================ */
.cart-table {
  float: left;
  width: 100%;
  margin-bottom: 30px;
}

.cart .button {
  white-space: normal;
}

.cart-forms,
.cart-totals-wrapper,
.crosssell {
  float: right;
  clear: right;
  width: 100%;
  padding-left: 20px;
}

.cart-totals,
.cart-forms .discount,
.cart-forms .giftcard,
.cart-forms .shipping {
  padding: 10px;
  background-color: #f4f4f4;
  border: 0;
}

.cart-table,
.cart-totals,
.cart-forms .discount,
.cart-forms .giftcard,
.cart-forms .shipping {
  margin-bottom: 20px;
}

.checkout-cart-index #postcode {
  width: 100%;
}

.display-both-prices .cart-table {
  float: none;
  width: 100%;
}
.display-both-prices .cart-forms {
  float: left;
  padding-right: 10px;
  padding-left: 0;
}
.display-both-prices .cart-totals-wrapper,
.display-both-prices .crosssell {
  padding-left: 10px;
}
.display-both-prices .cart-forms,
.display-both-prices .cart-totals-wrapper,
.display-both-prices .crosssell {
  width: 50%;
}
.display-both-prices .crosssell {
  clear: right;
  float: right;
}

@media only screen and (max-width: 979px) {
  .display-single-price .cart-table {
    float: none;
    width: 100%;
  }
  .display-single-price .cart-forms {
    float: left;
    padding-right: 10px;
    padding-left: 0;
  }
  .display-single-price .cart-totals-wrapper,
  .display-single-price .crosssell {
    padding-left: 10px;
  }
  .display-single-price .cart-forms,
  .display-single-price .cart-totals-wrapper,
  .display-single-price .crosssell {
    width: 50%;
  }
  .display-single-price .crosssell {
    clear: right;
    float: right;
  }
}
@media only screen and (max-width: 599px) {
  .product-cart-sku {
    display: none;
  }

  .display-both-prices .cart-forms,
  .display-both-prices .cart-totals-wrapper,
  .display-both-prices .crosssell,
  .display-single-price .cart-forms,
  .display-single-price .cart-totals-wrapper,
  .display-single-price .crosssell {
    padding-top: 0;
    padding-left: 0;
    padding-right: 0;
    float: none;
    width: 100%;
  }
}
.display-single-price:after {
  content: '';
  display: table;
  clear: both;
}

/* ============================================ *
 * Checkout - Cart
 * ============================================ */
.cart .page-title {
  margin-bottom: 15px;
  border-bottom: 0;
}
.cart .page-title:after {
  content: '';
  display: table;
  clear: both;
}
.cart .page-title h1 {
    float: left;
    border-bottom: none;
    margin-bottom: 20px;
    margin-right: 10px;
    margin-left: 10px;
    margin-top: 10px;
    text-transform: none;
    color: #000;
}

.checkout-types {
  float: none;
  text-align: right;
  max-width: 100%;
  /* We always want this shipping method to display on its own line */
}
.checkout-types li {
  vertical-align: top;
  margin: 0 0 5px 5px;
}
.checkout-types li:after {
  content: '';
  display: table;
  clear: both;
}
.checkout-types li img {
  display: inline;
  vertical-align: top;
}
.checkout-types li:first-child {
  margin-left: 0;
}
.checkout-types .method-checkout-cart-methods-multishipping {
  display: none;
  text-align: center;
  text-decoration: underline;
}
.checkout-types.top li {
  display: inline-block;
}
.checkout-types.top .bml_button {
  display: inline-block;
  vertical-align: top;
}
.checkout-types.top .bml_button img {
  display: block;
}
.checkout-types.top .paypal-logo .paypal-or {
  margin-top: 5px;
}
.checkout-types.bottom .paypal-logo a, .checkout-types.minicart .paypal-logo a {
  display: block;
}
.checkout-types.bottom .paypal-or, .checkout-types.minicart .paypal-or {
  margin: 0px;
  display: block;
  text-align: center;
}

@media only screen and (min-width: 741px) {
  .checkout-types.bottom .paypal-or {
    text-align: right;
    padding-right: 70px;
  }
}
.cart-totals .checkout-types .btn-checkout {
  margin-bottom: 7px;
  font-weight: 22px;
  text-transform: uppercase;
  font-weight: bold;
  width: 100%;
}

@media only screen and (max-width: 740px) {
  .checkout-types {
    float: none;
    text-align: center;
  }
  .checkout-types.bottom .paypal-or, .checkout-types.minicart .paypal-or {
    width: auto;
    float: none;
  }

  .checkout-types li {
    float: none;
    width: 100%;
    margin-left: 0;
  }
}
@media only screen and (max-width: 599px) {
  .btn-checkout {
    width: 100%;
  }
}
.cart-table th,
.cart-table td,
.cart-table tbody td {
  border-bottom: none;
  vertical-align: top;
}
.cart-table h2 {
  color: #636363;
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 0;
}
.cart-table thead th,
.cart-table tbody td {
  background-color: transparent;
  padding: 10px 5px;
}
.cart-table .product-cart-info,
.cart-table .product-cart-actions {
  padding-left: 15px;
}
.cart-table .product-cart-info .sku {
	font-size: 14px;
	display: block;
}
.cart-table .product-cart-info h2.product-name a:hover {
	color: #84196f;
}
.cart-table tr {
  border-bottom: 1px solid #ddd;
}
.cart-table tfoot tr {
	border-bottom: 0;
  background: none;
}
.cart-table tfoot tr > td:after {
  content: '';
  display: table;
  clear: both;
}
.cart-table span.or {
  font-size: 9px;
  padding: 0 5px;
  text-transform: uppercase;
}
.cart-table .product-cart-image .cart-links,
.cart-table .product-cart-info .btn-remove,
.cart-table .product-cart-actions .button {
  display: none;
}
.cart-table .product-cart-image {
  padding-left: 0;
  padding-right: 0;
}
.cart-table .product-cart-image .product-image img {
  max-width: 100%;
  width: 100%;
}
.cart-table .product-cart-image a.cart-edit {
  display: none;
}
.cart-table .product-cart-sku {
  font-style: italic;
  font-size: 12px;
  margin: 5px 0 12px;
}
.cart-table .product-cart-sku .label {
  font-weight: 600;
}
.cart-table .btn-empty {
  float: left;
}
.cart-table .product-cart-total,
.cart-table .product-cart-price {
  text-align: center;
}
.cart-table .cart-tax-total {
  position: relative;
  cursor: pointer;
}
.cart-table .cart-tax-total:after {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-right: 6px solid #3399cc;
  border-left: none;
  position: absolute;
  top: 3px;
  right: -11px;
}
.cart-table .cart-tax-total.cart-tax-total-expanded:after {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-right: 6px solid transparent;
  border-left: 6px solid transparent;
  border-top: 6px solid #3399cc;
  border-bottom: none;
  right: -15px;
  top: 6px;
}
.cart-table .cart-links > li {
  white-space: nowrap;
  line-height: 1.3;
  margin-bottom: 5px;
  min-width: 65px;
  font-size: 13px;
}
.cart-table .cart-links > li > a {
  display: block;
}
.cart-table .cart-links > li:last-child {
  margin-bottom: 0;
}
.cart-table .product-cart-actions {
  min-width: 60px;
  text-align: center;
}
.cart-table .product-cart-actions .qty {
  height: 30px;
  border-color: silver;
  border-radius: 0;
  margin-bottom: 10px;
  text-align: center;
  width: 3.2em;
}
.cart-table .product-cart-actions .button {
  margin-bottom: 5px;
}
.cart-table .item-options {
  padding-left: 0 !important;
  margin-left: 0 !important;
  margin-top: 5px !important;
}

@media only screen and (max-width: 770px) {
  .cart-table th {
    font-size: 12px;
  }
  .cart-table th,
  .cart-table td {
    padding: 7px 6px;
  }
  .cart-table .product-cart-actions > li {
    white-space: inherit;
  }
}
@media only screen and (max-width: 699px) {
  .display-both-prices .cart-table thead th.cart-total-head,
  .display-both-prices .cart-table td.product-cart-total {
    display: none;
  }
}
@media only screen and (max-width: 599px) {
  .cart-table colgroup, .cart-table thead {
    display: none;
  }
  .cart-table tr {
    display: block;
    margin-bottom: 10px;
    padding-bottom: 10px;
    position: relative;
    width: 100%;
  }
  .cart-table tr:after {
    content: '';
    display: table;
    clear: both;
  }
  .cart-table tr:last-child {
    margin-bottom: 0;
  }
  .cart-table tfoot tr {
    padding-bottom: 0;
  }
  .cart-table td {
    border: none;
    display: block;
  }
  .cart-table td[data-rwd-label] {
    padding-left: 15px;
    margin-bottom: 6px;
  }
  .cart-table td[data-rwd-label] .price {
    font-weight: normal;
  }
  .cart-table td[data-rwd-label]:before {
    content: attr(data-rwd-label) ":";
    font-size: 12px;
    padding-right: 5px;
    text-transform: uppercase;
  }
  .cart-table td.product-cart-price {
    text-align: left;
  }
  .cart-table h2 {
    font-size: 12px;
  }
  .cart-table .cart-links {
    padding-top: 5px;
    padding-right: 5px;
  }
  .cart-table .cart-links > li {
    white-space: normal;
    text-align: center;
  }
  .cart-table .cart-links > li > a {
    padding: 2px 0px;
  }
  .cart-table .cart-tax-info {
    font-style: italic;
    padding-left: 15px;
    font-size: 13px;
  }
  .cart-table .cart-tax-info .price {
    font-size: 13px;
  }
  .cart-table .product-cart-image {
    width: 25%;
    float: left;
    padding-bottom: 0;
  }
  .cart-table .product-cart-image a.cart-edit {
    display: block;
    font-size: 16px;
    text-align: center;
    text-transform: uppercase;
  }
  .cart-table .product-cart-info,
  .cart-table td[data-rwd-label] {
    float: right;
    width: 75%;
  }
  .cart-table .product-cart-actions,
  .cart-table .product-cart-price {
    padding-bottom: 0;
    padding-top: 0;
    float: right;
  }
  .cart-table .product-cart-remove,
  .cart-table .product-cart-total,
  .cart-table .product-cart-actions .cart-links {
    display: none;
  }
  .cart-table .product-cart-image .cart-links,
  .cart-table .product-cart-info .btn-remove {
    display: block;
  }
  .cart-table .product-cart-actions .button {
    display: none;
  }
  .cart-table .product-cart-info .btn-remove {
    float: right;
    margin: -4px 0px 2px 7px;
  }
  .cart-table .product-cart-info .product-cart-sku {
    margin-bottom: 5px;
  }
  .cart-table .product-cart-actions {
    text-align: left;
  }
  .cart-table .product-cart-actions .qty {
    margin-right: 7px;
    margin-bottom: 7px;
  }
  .cart-table .price,
  .cart-table .product-cart-price:before {
    font-weight: 500;
    font-size: 18px;
  }
  .cart-table .cart-footer-actions {
    text-align: center;
    width: 100%;
  }
  .cart-table .cart-footer-actions #empty_cart_button {
    float: right;
  }
  .cart-table .cart-footer-actions .btn-continue {
    float: left;
  }
  .cart-table .cart-footer-actions .btn-update,
  .cart-table .cart-footer-actions span.or {
    display: none;
  }

  .display-both-prices .cart-table td[data-rwd-tax-label]:before {
    content: attr(data-rwd-tax-label) ":";
  }
}
/* ============================================ *
 * Checkout - Estimate Shipping and Tax
 * ============================================ */
.shipping h2 {
  font-size: 12px;
  font-weight: bold;
  margin: 0 0 5px;
}
.shipping select {
  max-width: 100%;
  height: 30px;
  display: block;
  border: 1px solid silver;
}
.shipping select.validation-failed {
  border-color: #df280a;
}
.shipping .shipping-desc {
  display: none;
}
.shipping .buttons-set {
  border: none;
  margin: 0;
  padding: 0;
}
.shipping .form-list:after {
  content: '';
  display: table;
  clear: both;
}
.shipping .form-list li {
  float: left;
  margin: 5px 2% 10px 0;
}
.shipping .form-list .shipping-country {
  width: 37%;
}
.shipping .form-list .shipping-region {
  width: 41%;
}
.shipping .form-list .shipping-postcode {
  margin-right: 0;
  width: 18%;
}
.shipping .form-list .shipping-postcode input {
  margin-top: 4px;
}
.shipping .form-list .input-box {
  padding-top: 0;
}
.shipping .form-list input {
  height: 30px;
  margin-top: 4px;
}
.shipping .form-list label {
  font-size: 13px;
  font-weight: 400;
  text-transform: uppercase;
  white-space: nowrap;
}
.shipping .sp-methods {
  padding: 10px 0 0;
  text-align: left;
}
.shipping .sp-methods dd {
  margin-bottom: 10px;
}
.shipping .sp-methods label {
  font-size: 12px;
  font-style: italic;
  min-width: 100px;
}
.shipping .sp-methods label span {
  font-weight: bold;
  font-style: normal;
}
.shipping #co-shipping-method-form .buttons-set .button {
  float: left;
  margin-left: 0;
}
.shipping #co-shipping-method-form .sp-methods dd label {
  border: 1px solid #cccccc;
  background-color: #ececec;
  min-width: 220px;
}
.shipping #co-shipping-method-form .sp-methods dd label:hover {
  background-color: #dbdbdb;
}

@media only screen and (max-width: 770px) {
  .shipping .shipping-form .form-list > li {
    width: 100%;
    float: none;
  }
  .shipping .shipping-form .form-list > li label {
    display: block;
  }
  .shipping .shipping-form .form-list > li input,
  .shipping .shipping-form .form-list > li select {
    width: 100%;
  }
}
.cart .cart-totals {
  text-align: right;
}
.cart .cart-totals:after {
  content: '';
  display: table;
  clear: both;
}
.cart .cart-totals table {
    font-size: 14px;
    margin-bottom: 20px;
    text-transform: none;
    font-family: 'Source Sans Pro';
    width: 100%;
    font-weight: 100;
    color: #000;
}
.cart .cart-totals table td {
  padding: 2px 0px;
  font-size: 19px;
}
.cart .cart-totals table td:first-child {
  padding-right: 10px;
  min-width: 120px;
}
.cart .cart-totals table tbody tr:last-child td,
.cart .cart-totals table tbody tr:last-child th {
  padding-bottom: 10px;
}
.cart .cart-totals table tfoot {
  border-top: 1px solid #E6E6E6;
  border-bottom: 1px solid #E6E6E6;
}
.cart .cart-totals table tfoot td {
  font-size: 24px;
  padding: 2px 5px;
  vertical-align: top;
}
.cart .cart-totals table tfoot strong span,
.cart .cart-totals table tfoot span.price {
}
.cart .cart-totals table tfoot strong {
  font-weight: 400;
}

@media only screen and (max-width: 600px) {
  .cart-totals {
    text-align: right;
  }
}
@media only screen and (max-width: 770px) {
  .cart .cart-totals table tfoot td {
    font-size: 20px;
  }
}
.discount-form:after,
#giftcard-form:after {
  content: '';
  display: table;
  clear: both;
}

#discount-coupon-form,
.cart .giftcard {
  width: 100%;
}
#discount-coupon-form h2,
.cart .giftcard h2 {
  display: none;
}
#discount-coupon-form label,
.cart .giftcard label {
  font-size: 15px;
  font-weight:600;
  letter-spacing: 0.2px;
  text-align: left;
  text-transform: none;
  min-width: 105px;
  display: block;
  color: #000;
  font-family: 'Source Sans Pro';
  margin-right: 10px;
}
#discount-coupon-form .field-wrapper,
.cart .giftcard .field-wrapper {
  display: table;
  width: 100%;
}
#discount-coupon-form .validation-advice,
.cart .giftcard .validation-advice {
  display: inline;
}
#discount-coupon-form .button-wrapper,
.cart .giftcard .button-wrapper {
  display: table-cell;
  vertical-align: bottom;
  width: 1%;
}
#discount-coupon-form .button-wrapper button  {
	background: #851970;
    color: #fff;
    padding: 0 20px;
    height: 35px;
}
#discount-coupon-form .button-wrapper button span {
	color: #fff;
	text-decoration: none;
}
#discount-coupon-form .button-wrapper > button,
.cart .giftcard .button-wrapper > button {
  float: left;
}
#discount-coupon-form .input-text,
.cart .giftcard .input-text {
  border-radius: 0;
  height: 35px;
  margin: 0px 10px 0 0;
  width: 100%;
  display: table-cell;
}
#discount-coupon-form .button-wrapper > button.cancel-coupon {
	margin-top: 10px;
}
#discount-coupon-form .input-text:focus {
	outline-color: #000;
	outline: none;
	border: 1px solid #000;
}
.cart .giftcard p {
  margin-bottom: 7px;
}

.cart .giftcard .check-gc-status {
  float: left;
  padding: 0px;
}
.cart .giftcard .check-gc-status > span > span {
  font-size: 14px;
  text-transform: none;
}

/* ============================================ *
 * Checkout - Cart Cross sell
 * ============================================ */
.crosssell h2 {
  color: #3399cc;
}
.crosssell .item a.product-image {
  width: auto;
  float: left;
}

/* Change the layout to 2 columns at a breakpoint that is higher than a 3 columns layout would normally break */
@media only screen and (max-width: 979px) {
  .crosssell {
    /* Undo three-column config */
  }
  .crosssell .products-grid > li:nth-child(even),
  .crosssell .products-grid > li:nth-child(3n),
  .crosssell .products-grid > li {
    width: 47.72727%;
    margin-right: 4.54545%;
  }
  .crosssell .products-grid > li:nth-child(odd) {
    clear: left;
  }
  .crosssell .products-grid > li:nth-child(even) {
    margin-right: 0;
  }
  .crosssell .products-grid > li:nth-child(3n+1) {
    clear: none;
  }
}
@media only screen and (max-width: 599px) {
  .cart-table .cart-tax-total:after {
    right: -9px;
  }
  .cart-table .cart-tax-total.cart-tax-total-expanded:after {
    right: -13px;
  }
}
@media only screen and (max-width: 320px) {
  .crosssell ul .item {
    padding: 0 0px 40px;
  }
  .crosssell ul .product-details .crosssell-actions {
    padding: 0 5px;
  }
}
/* ============================================ *
 * Checkout - One Page
 * ============================================ */
.checkout-onepage-index .col-right,
.checkout-onepage-index .col-left {
  display: none;
}

.checkout-onepage-index .col-main {
  width: auto;
  float: none;
}

@media only screen and (min-width: 980px) {
  .checkout-onepage-index .col-main {
    float: left;
    width: 68.75%;
    padding-right: 20px;
  }
  .checkout-onepage-index .col-right,
  .checkout-onepage-index .col-left {
    width: 31.25%;
    display: block;
  }
  .checkout-onepage-index .col-right {
    padding-left: 0;
  }
}
.opc select {
  width: 365px;
}

/* -------------------------------------------- *
 * Section Styling - Default
 */
.opc .section .step-title {
  width: 100%;
  border-top: 1px solid #ececec;
  position: relative;
  -moz-user-select: none;
  -ms-user-select: none;
  -webkit-user-select: none;
  -o-user-select: none;
  user-select: none;
}
.opc .section .step-title:after {
  content: '';
  display: table;
  clear: both;
}

.opc .section.allow:not(.active) .step-title {
  cursor: pointer;
}

/* Using .no-touch since touch devices emulate hover, thereby making steps look active that are not */
.no-touch .opc .section.allow:not(.active) .step-title:hover {
  background-color: #f4f4f4;
}

.opc .section.active .step-title {
  border-bottom: 1px solid #ececec;
}

.opc .section .step-title a {
  display: none;
}

.opc .section.allow:not(.active) .step-title a {
  display: block;
  float: right;
  line-height: 40px;
  height: 40px;
  padding: 0px 10px;
}

.no-touch .opc .section .step-title a:hover {
  text-decoration: none;
}

.opc .section .step-title .number,
.opc .section.allow.active .step-title .number,
.no-touch .opc .section.allow:hover .step-title .number {
  width: 26px;
  height: 26px;
  text-align: center;
  color: #FFFFFF;
  line-height: 26px;
  background-color: #3399cc;
  display: block;
  position: absolute;
  top: 50%;
  left: 10px;
  margin-top: -13px;
}

.opc .section.allow .step-title .number {
  background-color: #99cce5;
}

.opc .section.allow .step-title h2 {
  color: #a0a0a0;
}

.opc .section.allow .step-title:hover h2,
.opc .section.active .step-title h2 {
  color: #3399cc;
}

.opc .section .step-title h2 {
  font-size: 16px;
  font-weight: 400;
  line-height: 40px;
  height: 40px;
  float: left;
  margin: 0px 4px 0px 45px;
}

.opc .section .step {
  padding: 20px;
}
.opc .section .step:after {
  content: '';
  display: table;
  clear: both;
}
@media only screen and (max-width: 979px) {
  .opc .section .step {
    padding: 10px;
  }
}

.opc select {
  max-width: 365px;
  width: 100%;
}

.opc h3 {
  font-weight: 500;
}

.opc .buttons-set {
  text-align: left;
}
.opc .buttons-set button.button {
  float: left;
  margin-left: 0;
  margin-right: 10px;
  margin-bottom: 0;
}
.opc .buttons-set p.required {
  float: right;
  margin-left: 5px;
  margin-bottom: 0;
}
.opc .buttons-set .back-link {
  float: right;
  margin: 0;
}
.opc .buttons-set a {
  line-height: 20px;
  display: inline-block;
  padding: 5px 5px 5px 0;
}

@media only screen and (max-width: 479px) {
  .opc .buttons-set .button + .buttons-set .button,
  .paypal-express-review .buttons-set .button + .buttons-set .button {
    margin-left: 0;
  }
}
.opc #opc-login .step {
  padding: 0px;
}
.opc #opc-login .buttons-set {
  border-top: 0;
  padding-top: 5px;
}

@media only screen and (max-width: 770px) {
  .opc #opc-login .description,
  .opc #opc-login p.required {
    display: none;
  }
}
#opc-payment .note {
  padding: 10px;
}

/* -------------------------------------------- *
 * This section hides everything but the "Checkout Method" step of the checkout process and fades in the content
 * once the customer progresses to the next step. The purpose of this is to simplify what the customer has to focus on.
 * It is limited to larger viewports since smaller devices are inherently going to be focused solely on the
 * "Checkout Method" step.
 */
.opc.opc-firststep-login .section:not(#opc-login) .step-title,
.opc-block-progress-step-login {
  -webkit-transition: opacity 300ms linear;
  -webkit-transition-delay: 0;
  -moz-transition: opacity 300ms linear 0;
  -o-transition: opacity 300ms linear 0;
  transition: opacity 300ms linear 0;
}

.opc.opc-firststep-login .section#opc-login .step-title .number {
  -webkit-transition: width 80ms linear;
  -webkit-transition-delay: 0;
  -moz-transition: width 80ms linear 0;
  -o-transition: width 80ms linear 0;
  transition: width 80ms linear 0;
}

.opc.opc-firststep-login .section#opc-login .step-title h2 {
  -webkit-transition: margin-left 80ms linear;
  -webkit-transition-delay: 0;
  -moz-transition: margin-left 80ms linear 0;
  -o-transition: margin-left 80ms linear 0;
  transition: margin-left 80ms linear 0;
}

/* When a user progresses from the "Checkout Method" to "Billing Information" for the first time, the              */
/* "opc-has-progressed-from-login" class gets added to the body. Also, the .opc element will only have the         */
/* "opc-firststep-login" class if the first step of the checkout is the "Checkout Method" (eg, not when logged in) */
body:not(.opc-has-progressed-from-login) .opc.opc-firststep-login .section:not(#opc-login) .step-title,
body:not(.opc-has-progressed-from-login) .opc-block-progress-step-login {
  opacity: 0;
}

body:not(.opc-has-progressed-from-login) .opc.opc-firststep-login .section#opc-login .step-title .number {
  width: 0px;
  overflow: hidden;
}

body:not(.opc-has-progressed-from-login) .opc.opc-firststep-login .section#opc-login .step-title h2 {
  margin-left: 0px;
}

/* -------------------------------------------- *
 * Shipping and Payment methods
 */
.sp-methods {
  margin: 0 0 8px;
}
.sp-methods dt {
  margin: 13px 0 5px;
  font-weight: bold;
}
.sp-methods dt:first-child {
  margin: 0 0 5px;
}
.sp-methods dd li {
  margin: 5px 0;
}
.sp-methods label img {
  float: left;
}
.sp-methods label a {
  margin-top: 6px;
  float: right;
  margin-left: 10px;
}
.sp-methods .price {
  font-weight: bold;
}
.sp-methods .form-list {
  padding-left: 20px;
}
.sp-methods .form-list li {
  margin: 0 0 8px;
}
.sp-methods select.month {
  width: 120px;
  margin-right: 10px;
}
.sp-methods select.year {
  width: 96px;
}
.sp-methods input.cvv {
  width: 4em !important;
}
.sp-methods #advice-validate-cc-exp-ccsave_expiration {
  max-width: 130px;
}
.sp-methods .checkmo-list li {
  margin: 0 0 5px;
  content: '';
  display: table;
  clear: both;
}
.sp-methods .checkmo-list label {
  width: 165px;
  padding-right: 15px;
  text-align: right;
  float: left;
}
.sp-methods .checkmo-list address {
  float: left;
}
@media only screen and (max-width: 479px) {
  .sp-methods .checkmo-list {
    padding-left: 0;
  }
  .sp-methods .checkmo-list label {
    width: 135px;
  }
}
.sp-methods .release-amounts {
  margin: 0.5em 0;
}
.sp-methods .release-amounts button {
  float: left;
  margin: 5px 10px 0 0;
}

/* One Page Checkout */
.block-progress {
  border: 0;
  margin: 0;
  border-left: 1px solid #cccccc;
  padding-left: 20px;
}
.block-progress .block-content {
  font-size: 13px;
}
.block-progress dt {
  padding-top: 6px;
  margin: 0;
  margin-bottom: 10px;
  color: #636363;
  font-size: 14px;
  font-weight: bold;
  font-style: normal;
  line-height: 1.4;
  text-rendering: optimizeSpeed;
  text-transform: uppercase;
  margin-bottom: 6px;
  text-transform: uppercase;
  font-weight: normal;
  color: #a0a0a0;
}
.block-progress dt.complete {
  color: #636363;
}
.block-progress dd {
  padding-left: 15px;
  margin-bottom: 10px;
  font-style: italic;
}
.block-progress dd address {
  font-style: italic;
}
.block-progress #payment-progress-opcheckout .subtitle {
  margin-bottom: 3px;
}
.block-progress .payment-info dt {
  padding: 0;
  margin: 0 0 3px 0;
  color: #636363;
  text-transform: none;
  font-style: italic;
  float: left;
  clear: both;
  font-size: 13px;
}
.block-progress .payment-info dt:after {
  content: ': ';
}
.block-progress .payment-info dd {
  float: left;
  margin-bottom: 3px;
  font-size: 13px;
}
.block-progress .payment-info:after {
  content: '';
  display: table;
  clear: both;
}

/* review step */
#checkout-review-table .btn-remove img {
  display: none;
}

#checkout-review-table-wrapper {
  clear: both;
}

#review-buttons-container {
  width: 100%;
  margin-top: 15px;
  margin-bottom: 15px;
}
#review-buttons-container .btn-checkout {
  min-width: 220px;
}
#review-buttons-container .please-wait {
  float: left;
  margin-right: 10px;
}
#review-buttons-container .f-left {
  float: right;
}

@media only screen and (max-width: 599px) {
  .linearize-table-large.checkout-review-table thead tr:nth-child(1n+2) {
    display: none;
  }
}
@media only screen and (max-width: 479px) {
  .linearize-table.checkout-review-table thead tr:nth-child(1n+2) {
    display: none;
  }
}
/* show/hide "change" link for progress step depend on complete status
 * should be placed in .css file */
.opc-block-progress dt.complete a,
.opc-block-progress dt.complete .separator {
  display: inline;
}

.opc-block-progress dt a,
.opc-block-progress dt .separator {
  display: none;
}

/* On small screens, the progress review content will be moved to the review step via JS. Styled via this CSS: */
#checkout-step-review .opc-block-progress {
  border-left: none;
  padding-left: 0;
}
#checkout-step-review .opc-block-progress .block-title {
  display: none;
}
#checkout-step-review .opc-block-progress .block-content {
  display: block !important;
  padding: 0;
}
#checkout-step-review .opc-block-progress .block-content > dl > div {
  float: left;
  width: 50%;
}
@media only screen and (max-width: 479px) {
  #checkout-step-review .opc-block-progress .block-content > dl > div {
    float: none;
    width: auto;
  }
}
#checkout-step-review .opc-block-progress .block-content .changelink {
  display: none;
}

@media only screen and (max-width: 479px) {
  #checkout-review-table thead > tr > th {
    display: none;
  }
  #checkout-review-table thead > tr > th:first-child {
    display: block;
  }

  #checkout-review-table thead > tr > th:first-child {
    display: block;
  }
}
#checkout-step-review .centinel > p {
  margin-bottom: 10px;
}
#checkout-step-review .centinel iframe {
  width: 100%;
  min-height: 400px;
}

/* Gift options */
.gift-messages-form .item {
  content: '';
  display: table;
  clear: both;
  margin-top: 30px;
}
.gift-messages-form .item h5 {
  font-weight: bold;
}
.gift-messages-form .item .product-img-box {
  width: auto;
  float: left;
  padding-right: 15px;
}
.gift-messages-form .item .details {
  float: left;
}

.gift-message-form .inner-box > div {
  content: '';
  display: table;
  clear: both;
  width: 100%;
  margin-top: 15px;
  display: block;
}
.gift-message-form .inner-box > div.extra-options-container p {
  margin-bottom: 15px;
}
.gift-message-form .gift-wrapping-form label {
  margin-right: 10px;
}
.gift-message-form .gift-wrapping-form img {
  float: left;
}
.gift-message-form .gift-wrapping-form .gift-wrapping-design {
  height: 75px;
}
.gift-message-form .gift-wrapping-form .gift-wrapping-design:after {
  content: '';
  display: table;
  clear: both;
}
.gift-message-form .gift-wrapping-form .gift-wrapping-design .image-box {
  margin-right: 5px;
}
.gift-message-form .gift-item {
  padding-bottom: 10px;
  margin-bottom: 10px;
  border-bottom: solid 1px #ececec;
}
.gift-message-form .gift-item:after {
  content: '';
  display: table;
  clear: both;
}
.gift-message-form .gift-item .product-img-box {
  width: 200px;
}
.gift-message-form .gift-item .product-img-box .product-image {
  width: 75px;
  margin-left: auto;
  margin-right: auto;
}
.gift-message-form .gift-item .product-img-box .product-name {
  display: block;
}
.gift-message-form .gift-item .fieldset {
  margin-left: 200px;
}

@media only screen and (max-width: 770px) {
  .gift-message-form .giftmessage-area {
    max-width: 100%;
  }
  .gift-message-form .gift-item .product-img-box {
    width: 100%;
    float: none;
  }
  .gift-message-form .gift-item .fieldset {
    margin-left: 0px;
  }
  .gift-message-form .gift-item .fieldset textarea {
    width: 100%;
  }
}
/* ============================================ *
 * Checkout - Success
 * ============================================ */
.checkout-onepage-success .col-main {
  padding: 0;
  text-align: center;
}
.checkout-onepage-success .buttons-set {
  margin: 10px 0;
  text-align: center;
}
.checkout-onepage-success .buttons-set button {
  float: none;
}

/* ============================================ *
 * Tax - Full Tax Summary
 * ============================================ */
#checkout-review-table .summary-collapse,
#shopping-cart-totals-table .summary-collapse,
body.customer-account .data-table .summary-collapse {
  position: relative;
  cursor: pointer;
}
#checkout-review-table .summary-collapse:before,
#shopping-cart-totals-table .summary-collapse:before,
body.customer-account .data-table .summary-collapse:before {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-right: 7px solid transparent;
  border-left: 7px solid transparent;
  border-top: 7px solid #3399cc;
  border-bottom: none;
  position: static;
  display: inline-block;
  margin-right: 5px;
}
#checkout-review-table .summary-collapse:hover:before,
#shopping-cart-totals-table .summary-collapse:hover:before,
body.customer-account .data-table .summary-collapse:hover:before {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-right: 7px solid transparent;
  border-left: 7px solid transparent;
  border-top: 7px solid #246b8f;
  border-bottom: none;
  position: static;
  display: inline-block;
  margin-right: 5px;
}
#checkout-review-table .show-details .summary-collapse:before,
#shopping-cart-totals-table .show-details .summary-collapse:before,
body.customer-account .data-table .show-details .summary-collapse:before {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-right: 7px solid transparent;
  border-left: 7px solid transparent;
  border-bottom: 7px solid #3399cc;
  border-top: none;
  position: static;
  display: inline-block;
  margin-right: 5px;
}
#checkout-review-table .show-details .summary-collapse:hover:before,
#shopping-cart-totals-table .show-details .summary-collapse:hover:before,
body.customer-account .data-table .show-details .summary-collapse:hover:before {
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  display: block;
  border-right: 7px solid transparent;
  border-left: 7px solid transparent;
  border-bottom: 7px solid #246b8f;
  border-top: none;
  position: static;
  display: inline-block;
  margin-right: 5px;
}

#shopping-cart-totals-table tfoot td .summary-collapse:before, #shopping-cart-totals-table tfoot td .summary-collapse:hover:before {
  margin-bottom: 5px;
}

/* ============================================ *
 * Checkout Billing Fix to place the Captcha properly
 * ============================================ */
#co-billing-form ul.form-list > .control {
  float: left;
  margin: 0 0 5px;
  width: 100%;
}

/* ============================================ *
 * Billing Agreements
 * ============================================ */
.billing-agreements .info-box {
  margin-bottom: 30px;
}
.billing-agreements .info-box:after {
  content: '';
  display: table;
  clear: both;
}
.billing-agreements .info-box .form-list {
  max-width: 400px;
  width: 100%;
}
.billing-agreements .info-box .box-title {
  margin-top: 20px;
  margin-bottom: 7px;
}
.billing-agreements .info-box .button {
  float: right;
  margin-top: 7px;
}
@media only screen and (max-width: 479px) {
  .billing-agreements .info-box .button {
    width: 100%;
    float: none;
  }
}
.billing-agreements #payment_method {
  width: 100%;
  margin-top: 7px;
  margin-bottom: 7px;
}

.billing-agreement-view-header-wrapper .heading {
  max-width: 80%;
}
@media only screen and (max-width: 479px) {
  .billing-agreement-view-header-wrapper .heading {
    max-width: 100%;
  }
}

.billing-agreement-details td, .billing-agreement-details th {
  padding: 3.5px;
}

@media only screen and (max-width: 979px) {
  .billing-agreements .data-table .created-at,
  .billing-agreements .data-table .updated-at {
    display: none;
  }
}

/* ============================================ *
 * Checkout - Multiple Addresses
 * ============================================ */
body[class*="checkout-multishipping-"] .checkout-progress {
  width: 100%;
  float: left;
  margin-bottom: 25px;
}
body[class*="checkout-multishipping-"] .checkout-progress > li {
  float: left;
  width: 20%;
  text-align: center;
  padding: 8px 1% 6px;
  background: #f4f4f4;
  text-transform: uppercase;
  border-bottom: 1px solid #cccccc;
  border-right: 1px solid #cccccc;
  margin-bottom: 10px;
}
body[class*="checkout-multishipping-"] .checkout-progress > li.active {
  background-color: #dddddd;
}
body[class*="checkout-multishipping-"] .checkout-progress > li.last {
  border-right: 0px;
}
body[class*="checkout-multishipping-"] .page-title {
  float: left;
  width: 100%;
  margin-bottom: 15px;
}
body[class*="checkout-multishipping-"] .page-title h1 {
  border: 0 none;
  float: left;
  margin-top: 2px;
  margin-right: 2%;
}
body[class*="checkout-multishipping-"] .page-title .button {
  float: right;
}
body[class*="checkout-multishipping-"] .multiple-checkout > h2 {
  text-transform: none;
  font-size: 17px;
  margin-bottom: 15px;
}
body[class*="checkout-multishipping-"] .messages {
  float: left;
  width: 100%;
}
body[class*="checkout-multishipping-"] .col-2.col-wide {
  width: 66%;
}
body[class*="checkout-multishipping-"] .col-1.col-narrow {
  width: 30%;
}
body[class*="checkout-multishipping-"] .actions {
  margin-bottom: 10px;
}
body[class*="checkout-multishipping-"] .grand-total {
  text-align: right;
  font-size: 16px;
  font-weight: bold;
}
body[class*="checkout-multishipping-"] #checkout-review-submit {
  float: right;
}
body[class*="checkout-multishipping-"] #review-buttons-container {
  float: right;
  text-align: right;
}

.checkout-multishipping-addresses .btn-remove2 {
  text-indent: -5555px;
  display: block;
  width: 22px;
  height: 22px;
}

.checkout-multishipping-shipping .gift-messages {
  margin-top: 20px;
}
.checkout-multishipping-shipping .gift-messages-form {
  margin-top: 15px;
}
.checkout-multishipping-shipping .gift-messages-form h4 {
  margin-top: 15px;
  margin-bottom: 5px;
}
.checkout-multishipping-shipping .gift-messages-form .form-list {
  margin-top: 10px;
  margin-bottom: 25px;
}
.checkout-multishipping-shipping .gift-messages-form .item {
  margin-top: 15px;
}

.checkout-multishipping-shipping .col-1 .box-title h2, .checkout-multishipping-shipping .col-1 .box-title h3, .checkout-multishipping-shipping .col-1 .box-title h4, .checkout-multishipping-shipping .col-2 .box-title h2, .checkout-multishipping-shipping .col-2 .box-title h3, .checkout-multishipping-shipping .col-2 .box-title h4,
.checkout-multishipping-billing .col-1 .box-title h2,
.checkout-multishipping-billing .col-1 .box-title h3,
.checkout-multishipping-billing .col-1 .box-title h4,
.checkout-multishipping-billing .col-2 .box-title h2,
.checkout-multishipping-billing .col-2 .box-title h3,
.checkout-multishipping-billing .col-2 .box-title h4,
.checkout-multishipping-overview .col-1 .box-title h2,
.checkout-multishipping-overview .col-1 .box-title h3,
.checkout-multishipping-overview .col-1 .box-title h4,
.checkout-multishipping-overview .col-2 .box-title h2,
.checkout-multishipping-overview .col-2 .box-title h3,
.checkout-multishipping-overview .col-2 .box-title h4 {
  font-weight: normal;
  width: 100%;
  background: #f4f4f4;
  border-bottom: 1px solid #cccccc;
  padding: 10px;
  font-size: 14px;
}
.checkout-multishipping-shipping .col-1 > h4, .checkout-multishipping-shipping .col-2 > h4,
.checkout-multishipping-billing .col-1 > h4,
.checkout-multishipping-billing .col-2 > h4,
.checkout-multishipping-overview .col-1 > h4,
.checkout-multishipping-overview .col-2 > h4 {
  font-weight: normal;
  width: 100%;
  background: #f4f4f4;
  border-bottom: 1px solid #cccccc;
  padding: 10px;
  font-size: 14px;
}
.checkout-multishipping-shipping .col-1 .box-content, .checkout-multishipping-shipping .col-2 .box-content,
.checkout-multishipping-billing .col-1 .box-content,
.checkout-multishipping-billing .col-2 .box-content,
.checkout-multishipping-overview .col-1 .box-content,
.checkout-multishipping-overview .col-2 .box-content {
  margin-bottom: 25px;
  padding-left: 10px;
  margin-top: 10px;
}

.checkout-multishipping-billing .sp-methods dt {
  float: left;
  width: 100%;
}

.checkout-multishipping-payment-customerbalance input.checkbox {
  margin-left: 15px;
}

#multiship-addresses-table > tbody > tr > td.a-center.last > a {
  background-image: none;
}

#review-order-form > div:nth-child(3) > div.divider {
  width: 100%;
  clear: both;
}

@media only screen and (max-width: 979px) {
  body[class*="checkout-multishipping-"] .checkout-progress span {
    word-spacing: 300px;
  }

  #review-order-form .col-1,
  #review-order-form .col-2 {
    float: none;
    width: auto;
    border: 0;
    padding-right: 0;
    padding-left: 0;
  }
}
@media only screen and (max-width: 770px) {
  body[class*="checkout-multishipping-"] .checkout-progress span {
    width: 12px;
  }
  body[class*="checkout-multishipping-"] .checkout-progress li {
    width: 100%;
    margin: 0;
    text-align: left;
    padding-left: 3%;
    border-right: 0px;
  }
  body[class*="checkout-multishipping-"] .checkout-progress span {
    word-spacing: 1px;
    width: 12px;
  }
  body[class*="checkout-multishipping-"] .box-title {
    float: left;
    width: 100%;
  }
  body[class*="checkout-multishipping-"] .page-title .button {
    float: left;
    margin-bottom: 10px;
  }
  body[class*="checkout-multishipping-"] .linearize-table tfoot td {
    text-align: right;
  }
  body[class*="checkout-multishipping-"] .linearize-table select {
    width: 100%;
    min-width: 200px;
  }
  body[class*="checkout-multishipping-"] .col-1.col-narrow, body[class*="checkout-multishipping-"] .col-2.col-wide {
    width: 100%;
    padding: 0;
  }
}
@media only screen and (max-width: 599px) {
  .checkout-multishipping-addresses .linearize-table tbody td[data-rwd-label] {
    text-align: left;
    padding-left: 10px;
    margin-top: 12px;
  }
}
@media only screen and (max-width: 479px) {
  body[class*="checkout-multishipping-"] .buttons-set .back-link {
    display: block;
  }
}

/* -------------------------------------------- *
 * Checkout Agreements
 */
.checkout-agreements li {
  margin-bottom: 20px;
}

.checkout-agreements .agreement-content {
  overflow-y: auto;
  max-width: 670px;
  max-height: 125px;
  margin-bottom: 10px;
  padding: 10px;
  border: 1px solid #cccccc;
  background: #f4f4f4;
}

/* -------------------------------------------- *
 * CVV Security Code
 */
.cvv-what-is-this {
  margin-left: 10px;
  font-size: 13px;
  line-height: 24px;
}

/* Custom */ 
.btn-checkout {
	max-width: 100%;
    background: #A7B80E;
    font-family: 'Source Sans Pro';
    font-size: 17px;
    line-height: 35px;
    text-transform: uppercase;
    font-weight: bold;
}
.btn-checkout:hover {
	background: #bacd0f;
}
#shopping-cart-table {
	margin-top: 0;
	border-top: 0px;
	margin-bottom: 15px;
}
#shopping-cart-table .product-name {
	font-size: 19px;
	color: #000;
	text-transform: none;
	font-weight: 400;
}
@media only screen and (max-width: 771px) {
	.cart-table td[data-rwd-label]:before {
		content: '';
		display: none;
	}
	.cart-table .qty-up,
	.cart-table .qty-down {
	    background: #851970;
	    font-family: 'Source Sans Pro';
	    font-size: 20px;
	    height: 30px;
	    line-height: 19px;
	    padding-bottom: 1px;
	    width: 30px;
	    color: #fff;
	    border: 0;
	}
	.cart-table .product-cart-actions .qty {
		margin-right: -4px;
		margin-left: -5px;
		color: #000;
		font-family: 'Source Sans Pro';
		border-left: 0;
		margin-bottom: 6px;
		vertical-align: top;
	}
	.cart-table td[data-rwd-label] .price {
		color: #000;
		font-weight: 700;
	}
	.cart-table .product-cart-info, .cart-table td[data-rwd-label] {
		width: 66.66%;
	}
	.cart-table .product-cart-image {
		width: 33.33%;
	}
	.cart-table .product-cart-image .cart-links {
		display: none;
	}
	#shopping-cart-table .product-name {
		width: 90%;
	}
	.cart-table .product-cart-info .btn-remove {
		background: none !important;
		text-indent: initial !important;
		font: initial !important;
		margin: 0px 0px 2px 7px;
		position: absolute;
		float: none;
		right: 10px;
		width: 15px;
	}
	.cart-table .product-cart-info .btn-remove:before {
		/* content: '\f00d'; */ 
	    font-family: 'FontAwesome';
	    position: absolute;
	    right: 5px;
	    color: #000;
	    font-weight: bold;
	    transform: translateY(-50%);
	    top: 50%;
	}
	.display-single-price .cart-table {
		margin: auto;
		width: 95%;
	}
	.cart-table .cart-footer-actions {
		padding: 20px 0px;
	}
	#shopping-cart-table .button2 {
		border: 1px solid #000;
		background: #fff;
	}
	#shopping-cart-table .button2 span, .button2 span span {
		color: #000;
		text-decoration: none;
		text-transform: none;
	} 
	#shopping-cart-table tfoot tr {
		border-bottom: 0;
	}
	.cart-forms .discount {
		padding: 10px 10px 15px 10px;
		width: 95%;
		margin: 15px auto;
	}
	.checkout-types .method-checkout-cart-methods-multishipping a {
		font-size: 16px;
		color: #000;
		text-decoration: underline;
	}
	.cart .cart-totals {
		width: 95%;
		margin: auto;
	}
	.btn-checkout:active,
	.btn-checkout:focus,
	.btn-checkout:hover {
		background: #bccf12;
	}
	
	/* Onestepcheckout */ 
	div.onestepcheckout-threecolumns div.onestepcheckout-column-left {
		width: 100%;
		margin-right: 0;
		border-right: 0;
		background: #fff;
	}
	div.onestepcheckout-threecolumns div.onestepcheckout-column-middle {
		width: 100%;
		margin-right: 0;
	}
	div.onestepcheckout-threecolumns div.onestepcheckout-column-right {
		width: 100%;
		margin-right: 0;
		background: #fff;
	}
	.cart .cart-left .trustpilot {
		width: 100% !important;
	}
	.cart .cart-left .usps p {
		font-weight: bold;
		text-align: left;
	    color: #84196f;
	    font-size: 17px;
	    margin-bottom: 20px;
	}
	.cart .cart-left .usps ul li {
		float: left;
		font-size: 16px;
		width: 50%;
	}


}

/* Custom */ 
.cart {
	padding: 30px 15px 0 15px;
}
.cart .button2 {
	padding: 0;
}
.cart .button2 span {
	text-decoration: underline;
    background: #fff;
    color: #000;
    padding-left: 20px;
}
#empty_cart_button span {
	padding-left: 0 !important;
}
.cart .discount-form .button2 span {
    display: inline-block;
    padding: 0 15px;
    border: 0;
    background: #851970;
    font-weight: bold;
    text-transform: uppercase;
    color: #FFFFFF;
}
.cart .discount-form .button2 span:hover {
	color: #fff !important;
}
.cart .qty-up,
.cart .qty-down {
	width: 40px;
    border: 0;
    background: #dddddd;
    line-height: 25px;
    padding-bottom: 5px;
    font-size: 25px;
    font-family: 'Exo Semibold';
    height: 30px;
    vertical-align: top;
}
.cart .qty-up {
	margin-left: -4px;
}
.cart .qty-down {
	margin-right: -4px;
}
.cart .btn-remove {
    font-family: 'Exo Bold';
    font: 16px 'Exo Bold';
    -webkit-text-stroke: 1px #b8002a;
    text-stroke: 1px solid #b8002a;
    color: #b8002a;
    background-image: none !important;
    text-indent: initial;
}
#discount-coupon-form label {
	float: left;
	vertical-align: middle;
	line-height: 35px;
}
#discount-coupon-form .field-wrapper {
	float: left;
}
.cart .boxofwine .text {
	font-size: 15px;
}
.cart .boxofwine .text .price {
	color: #b8002a;
}
.cart .cart-wrapper {
	float: right;
	width: 40%;
}
.cart .cart-left {
	width: 60%;
	float: left;
}
.cart .btn-remove2 {
	vertical-align: initial;
}
.cart .cart-upsell {
	float: left;
	width: 100%;
	margin-bottom: 30px;
    border-top: 1px solid #DDD;
    margin-top: 30px;
}
.cart-table tfoot tr td {
	padding: 10px 0;
	padding-top: 20px;
}
.product-cart-image img {
	margin: auto;
}
.cart .cart-left .usps {
	text-align: left;
	float: left;
	border-right: 1px solid #ddd;
	margin-bottom: 20px;
	width: 65%;
	padding-bottom: 20px;
	padding-top: 20px;
}
.cart .cart-left .trustpilot {
	text-align: left;
	float: left;
	margin-bottom: 20px;
	width: 35%;
	padding-bottom: 20px;
}
.cart .cart-left .usps ul li {
	font-size: 14px;
    color: #5d5d5d;
    display: block;
    line-height: 30px;
}
.cart .trustpilot-widget {
	margin-top: 15px;
	overflow: hidden;
}
.cart .trustpilot-widget iframe {
	width: 100% !important;
}
.cart .button2 span:hover,
.cart .button2 span span:hover {
	color: #000 !important;
}
.cart-table tr td {
	font-size: 19px;
}
.cart-table thead th {
	text-align: center;
	font-weight: bold;
	border-top: 0;
	color: #000;
	text-transform: uppercase;
}
@media only screen and (max-width: 1200px) {
	.cart {
		padding: 30px 20px;
	}
	.cart .cart-left {
		width: 50%;
	}
	.cart .cart-wrapper {
		width: 50%;
	}
	.cart .cart-left .usps {
		width: 50%;
	}
	.cart .cart .block-nextshipment {
		width: 50%;
	}
}
@media only screen and (max-width: 980px) {
	.cart .block-nextshipment {
		width: 50%;
	}
	.cart .cart-wrapper,
	.cart .cart-left {
		width: 100%;
	}
	.cart .cart-wrapper {
		margin-bottom: 25px;
	}
	#discount-coupon-form .input-text, .cart .giftcard .input-text {
		width: 100%;
	}
}
@media only screen and (max-width: 575px) {
	.cart .cart-left .usps,
	.cart .block-nextshipment {
		width: 100%;
		border-bottom: 1px solid #ddd;
	}
	.cart .block-nextshipment {
		padding-bottom:20px;
	}
	.cart .cart-left .usps {
		margin-bottom: 10px;
		border-bottom: 1px solid #ddd;
		border-right: 0;
		padding: 0 10px;
	}
}

@media only screen and (min-width: 600px) and (max-width: 940px) {
	.cart-table .product-cart-actions .qty {
		width: 100%;
	}
	.cart .qty-up, .cart .qty-down {
		width: 100%;
		margin: auto !important;
	}
}
@media only screen and (min-width: 771px) {
	.cart-table .product-cart-image .product-image img {
		max-width: 120px;
	}
	.cart .cart-left .usps p {
		font-weight: bold;
		text-align: left;
	    color: #84196f;
	    font-size: 17px;
	    margin-bottom: 20px;
	}
	.cart .cart-left .usps ul li {
		float: left;
		font-size: 16px;
		width: 50%;
	}
	#billing_address {
		width: 100%;
		clear: both;
		display: block;
	}
	#billing_address_list > li {
		width: 50%;
		float: left;
	}
	#billing_address_list li .input-box {
		width: 100% !important;
	}
	#billing_address_list > li:nth-child(3) {
		width: 100% !important;
	}
	.checkout-top .header-top-usps {
		padding: 25px; 0;
		padding-bottom: 0;
		border-bottom: 0;
	}
}

/* Klarna checkout */
.checkout-klarna-index .main {
	background: #EBEBEB;
    padding: 20px;
    border-top: 1px solid #E2E2E1;
}
.checkout-klarna-index .col2-right-layout .col-main {
	width: 66.66%;
}
.checkout-klarna-index .col-right {
	width: 33.33%;
}
.checkout-klarna-index #summary_shipping {
	margin-bottom: 20px;
}
.checkout-klarna-index .shipping-rates li {
	padding: 0 10px;
	/* width: 33.33%; */
	width: 50%;
	float: left;
}
.checkout-klarna-index .shipping-rates {
	background: #fff;
    display: inline-block;
    padding: 30px;
    width: 100%;
    margin-bottom: 0;
}
.checkout-klarna-index .shipping-rates li:first-child {
	padding-left: 0;
}
.checkout-klarna-index .shipping-rates li:last-child {
	padding-right: 0;
}
.checkout-klarna-index .shipping-rates li label {
    width: 100%;
    background: #fff;
    border: 1px solid #000;
    height: 100px;
    font-size: 17px;
    cursor: pointer;
    padding-top: 20px;
    text-align: center;
}
.checkout-klarna-index .shipping-rates li label:hover {
	background: #EBEBEB;
}
.checkout-klarna-index .shipping-rates input[type="radio"] {
	display: none;
}
.checkout-klarna-index .shipping-rates input[type="radio"]:checked+label {
	background: #EBEBEB;	
}
.checkout-klarna-index #gls-droppoint-form,
.checkout-klarna-index #pacsoft-droppoint-form {
	background: rgb(255, 255, 255);
    width: 100%;
    padding: 30px;
    margin-bottom: 20px;
}
.checkout-klarna-index .block-title {
	background: #fff;
    margin-bottom: 0;
    padding: 20px 30px 0px 30px;
    border-top: 0;
}
.checkout-klarna-index .block-title strong {
	font-family: "Roboto Slab";
    font-size: 20px;
    color: #000;
    max-width: 395px;
    border-bottom: 1px solid #cdcdcc;
    text-transform: none;
    padding: 2px 0 15px 0px;
    display: block;
    position: relative;
}
.checkout-klarna-index .col-main .block-title strong {
    padding: 2px 0 15px 45px;
}
.checkout-klarna-index .col-main .block-title strong:before {
	content: '1';
    font-size: 12px;
    background-color: #494849;
    display: block;
    height: 27px;
    width: 27px;
    border-radius: 50%;
    position: absolute;
    top: 4px;
    padding: 6px;
    left: 0;
    line-height: 14px;
    text-align: center;
    font-size: 13px;
    color: white;
}
.checkout-klarna-index .block-title strong:nth-of-type(2):before {
	content: '2';
}
.checkout-klarna-index #shopping-cart-totals-table {
	width: 100%;
	font-size: 16px;
    font-family: 'Roboto Slab';
    padding: 10px 20px 10px 20px;
    background: #fff;
}
.checkout-klarna-index #shopping-cart-totals-table tr td:first-child {
	text-align: left;
}
.checkout-klarna-index #coupon-placeholder-checkout {
	display: none;
}
.checkout-klarna-index #coupon-form-checkout {
	display: block !important;
}
.checkout-klarna-index #checkout_summary #summary_coupon {
	padding: 20px;
    background: #fff;
    margin-top: 25px;
    margin-bottom: 15px;
}
.checkout-klarna-index #checkout_summary .input-group input {
	width: calc(100% - 88px);
	height: 35px;
}
.checkout-klarna-index #checkout_summary .input-group button.btn-info {
	background: #494849;
    /* display: inline-block; */
    padding: 7px 15px;
    border: 0;
    color: #FFF;
    font-size: 13px;
    font-weight: normal;
    line-height: 19px;
    text-align: center;
    margin-left: -3px;
    text-transform: uppercase;
    vertical-align: top;
    white-space: nowrap;
    height: 35px;
}
.checkout-klarna-index #summary_cart_table {
	background: #fff;
	padding: 0px 30px;
	width: 100%;
	display: block;
}
.checkout-klarna-index .data-table tbody td .item-options {
	margin-left: 0;
}
.checkout-klarna-index .data-table tbody td h3.product-name {
	color: #000;
	font-size: 13px;
    padding-top: 10px;
}
.checkout-klarna-index .data-table tbody td .item-options dt,
.checkout-klarna-index .data-table tbody td .item-options dd {
	font-size: 13px;
	color: #000;
}
.checkout-klarna-index #summary_cart_table .price {
	font-size: 16px;
	color: #000;
}
.checkout-klarna-index .col-main input[type="text"],
.checkout-klarna-index .col-main input[type="tel"] {
	font-size: 13px;
    height: 37px;
    border: 1px solid #b6b6b6;
    font-family: 'Roboto Slab';
}
.checkout-klarna-index .carrier-icon img {
	display: none !important;
}
.checkout-klarna-index .carrier-icon img:first-child {
	display: inline-block !important;
}
#checkout_summary .checkout-summary-widget:first-child {
	padding-top: 0;
}
#checkout_summary .checkout-summary-widget {
	padding-top: 0;
}
@media only screen and (max-width: 1100px) {
	.checkout-klarna-index .shipping-rates li {
		width: 50%;
	}
	.checkout-klarna-index .shipping-rates li:last-child {
		padding-left: 0;
		padding-right: 10px;
		margin-top: 0px;
	}
}
@media only screen and (max-width: 900px) {
	.checkout-klarna-index .col2-right-layout .col-main {
		width: 100%;
		padding-right: 0;
	}
	.checkout-klarna-index .col-right {
		width: 100%;
		padding-left: 0;
	}
	.checkout-klarna-index .shipping-rates li {
		width: 50%;
	}
	.checkout-klarna-index .shipping-rates li:last-child {
		padding-left: 0;
		padding-right: 10px;
		margin-top: 0px;
	}
}
@media only screen and (max-width: 770px) {
	.checkout-klarna-index .main-container {
		padding: 0;
	}
	.checkout-klarna-index .col2-right-layout .col-main {
		padding-right: 0;
		width: 100%;
	}
	.checkout-klarna-index .main {
		padding: 30px 0;
	}
}
@media only screen and (max-width: 500px) {
	.checkout-klarna-index .shipping-rates li label {
		font-size: 15px;
	}
	.checkout-klarna-index .shipping-rates li label .carrier-icon img {
		max-width: 80px;
		vertical-align: top !important;
	}
}
@media only screen and (max-width: 375px) {
	.checkout-klarna-index .shipping-rates li label {
		font-size: 13px;
	}
	.checkout-klarna-index .shipping-rates li label .carrier-icon img {
		max-width: 80px !important;
		vertical-align: top !important;
	}
}
#klarna-load-payment:not(.hidden) {
	display: block;
    margin: auto;
    margin-bottom: 30px;
    padding: 10px 25px;
    font-size: 17px;
}
@media only screen and (max-width: 771px) {
	.checkout-klarna-index .col-main input[type="text"] {
		font-size: 16px !important;
	}
}
