.block-progress:after { clear: both; content: ''; display: block; }

/******************************************************************************* Checkout styles */
.checkout-onepage-index .page-title h1 { border-bottom: 0; display: inline-block; font-size: 24px; vertical-align: middle; }

.checkout-onepage-index .page-title .confidence-booster.mini { display: inline-block; margin-bottom: 15px; margin-left: 20px; margin-top: 0; padding-bottom: 3px; vertical-align: middle; width: 360px; }

.checkout-onepage-index .page-title .confidence-booster-link { width: 50%; }

@media only screen and (max-width: 979px) { .checkout-onepage-index .page-title h1 { display: block; margin-bottom: 10px; padding-bottom: 0; vertical-align: baseline; }
  .checkout-onepage-index .page-title .confidence-booster.mini { background-color: #f5f4f0; display: block; margin-bottom: 15px; margin-left: 0; padding-bottom: 0; text-align: center; vertical-align: baseline; width: auto; }
  .checkout-onepage-index .page-title .confidence-booster-link { width: 33.33%; } }

@media only screen and (max-width: 650px) { .checkout-onepage-index .page-title .confidence-booster-link { padding-left: 5px; padding-right: 5px; width: auto; }
  .checkout-onepage-index .page-title .confidence-booster-link span { display: inline-block; margin-top: 0; text-align: left; } }

.please-wait { margin-top: 10px; }

/******************************************************************************* One Page Checkout - Step Number */
.opc .section .step-title .number, .opc .section.allow.active .step-title .number { position: absolute; top: 50%; left: 10px; background-color: #e2e0d8; color: #797979; font-weight: 700; }

.opc .section.allow .step-title .number, .opc .section.active.allow .step-title .number { background-color: #2dafb4; color: #fff; font-weight: 400; }

.no-touch .opc .section.allow:hover .step-title .number { background-color: #2dafb4; }

.no-touch .opc .section.active.allow:hover .step-title .number { background-color: #2dafb4; }

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

/******************************************************************************* One Page Checkout - Step Title */
.opc .section .step-title { border: 1px solid #e5e5e5; border-bottom: none; }

.opc .section.allow .step-title { background-color: #f5f4f0; }

.no-touch .opc .section.allow:not(.active) .step-title:hover { background-color: #e2e0d8; }

.opc .section.active .step-title { background-color: #f5f4f0; border-bottom: 1px solid #e5e5e5; }

#opc-review .step-title { border-bottom: 1px solid #e5e5e5; }

.opc .section .step-title h2 { color: #535454; font-size: 14px; font-weight: 400; letter-spacing: .1em; }

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

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

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

.opc .section.allow:not(.active) .step-title a { color: #535454; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; }

/******************************************************************************* One Page Checkout - Step content */
.opc .step h3 { font-size: 14px; font-weight: 700; letter-spacing: .1em; margin-bottom: 30px; }

.opc .form-list label, .opc .col2-set .form-list .control label { color: #535454; cursor: pointer; font-size: 16px; font-weight: 400; }

.opc .form-list input[type="radio"] { margin-top: 13px; }

.opc .fieldset p.required, .opc .required p.required { display: none; }

.opc .forgotpassword { max-width: 365px; text-align: right; }

.opc .forgotpassword a { border-bottom: 1px solid #2dafb4; font-size: 12px; font-weight: 400; }

.opc .buttons-set { border-top: 0; }

.opc .buttons-set button.button { font-weight: 400; letter-spacing: .1em; padding: 12px 30px; }

.opc .buttons-set .back-link { display: none; }

/******************************************************************************* Checkout Method */
.opc #opc-login .step { padding: 20px 10px; }

#checkout-step-login .description { display: none; }

@media screen and (min-width: 771px) { #checkout-step-login .col-1 { width: 46%; } }

#checkout-step-login .col-1 label { background-color: #e2e0d8; border: 1px solid #cbcece; }

#checkout-step-login .col-1 label:hover { background-color: #ccc9bb; }

#checkout-step-login .col-2 { border-left: 1px solid #e5e5e5; }

@media screen and (min-width: 771px) { #checkout-step-login .col-2 { width: 54%; } }

@media screen and (min-width: 771px) { #checkout-step-login .col-2 { padding-left: 30px; } }

@media screen and (max-width: 770px) { #checkout-step-login .col-2 { border-left: 0; } }

#checkout-step-login .pslogin-block .pslogin-buttons ul { text-align: center; }

/******************************************************************************* Billing/Shipping Logged In */
.opc #billing-address-select, .opc #shipping-address-select { max-width: 94%; }

/******************************************************************************* Shipping Method */
.opc .shipping-messages { color: #f06236; }

.opc #checkout-shipping-method-load .sp-methods dd label, .opc #co-shipping-method-form .sp-methods dd label { border: 1px solid #cbcece; background-color: #e2e0d8; cursor: pointer; max-width: 100%; width: 310px; }

.opc #checkout-shipping-method-load .sp-methods dd label:hover, .opc #co-shipping-method-form .sp-methods dd label:hover { background-color: #ccc9bb; }

.opc #checkout-shipping-method-load .sp-methods dd input:checked + label, .opc #co-shipping-method-form .sp-methods dd input:checked + label { background-color: #ccc9bb; }

.opc #co-shipping-method-form .buttons-set .button { padding: 12px 30px; }

/******************************************************************************* Payment Information */
#checkout-payment-method-load dt label { background-color: #e2e0d8; border: 1px solid #cbcece; color: #404141; cursor: pointer; font-size: 16px; max-width: 100%; width: 300px; }

#checkout-payment-method-load dt label:hover { background-color: #ccc9bb; }

#checkout-payment-method-load dt label a { border-bottom: 2px solid #2dafb4; color: #535454; float: left; font-size: 14px; margin-top: 10px; text-transform: uppercase; }

#checkout-payment-method-load dt input:checked + label { background-color: #ccc9bb; }

#p_method_paypal_express { margin-top: 25px; }

#payment_form_cybersource_soap { padding: 20px; }

#payment_form_cybersource_soap label { color: #404141; text-transform: uppercase; }

/******************************************************************************* Order Review */
.opc .data-table thead th, .opc .data-table tbody td { font-family: "Lato", Helvetica, Arial, sans-serif; }

@media screen and (max-width: 599px) { .opc .data-table thead th, .opc .data-table tbody td { border: 0; } }

.opc .data-table thead { border-top: 1px solid #e5e5e5; }

.opc .data-table thead th { background-color: #f5f4f0; letter-spacing: .1em; padding: 10px 5px; }

.opc .data-table tbody td { padding: 20px 5px; }

.opc .data-table tbody .last td { border-bottom: 0; }

@media screen and (max-width: 599px) { .opc .data-table td[data-rwd-label]:before { font-family: "Lato", Helvetica, Arial, sans-serif; }
  .opc .data-table .price, .opc .data-table .product-cart-price:before { font-family: "Lato", Helvetica, Arial, sans-serif; } }

.opc #checkout-review-submit .f-left { font-size: 14px; }

.opc #checkout-review-submit .f-left a { border-bottom: 2px solid #2dafb4; color: #535454; font-size: 12px; letter-spacing: .1em; margin-left: 10px; padding: 0; text-transform: uppercase; }

.opc #checkout-review-submit .f-left a:hover { color: #2dafb4; }

/******************************************************************************* Step 6 - Order Review - Product Info */
.opc .data-table .product-name { font-weight: 700; letter-spacing: .1em; margin-bottom: 10px; }

.opc .data-table .product-cart-sku { font-family: "Lato", Helvetica, Arial, sans-serif; font-style: normal; margin: 0; margin-bottom: 10px; }

.opc .data-table tbody td .item-options { margin-left: 0; }

.opc .data-table .item-options { padding-left: 0; }

.opc .data-table .item-options dt, .opc .data-table .item-options dd { font-size: 12px; }

.opc .data-table .item-options dd { margin-bottom: 0; padding-left: 0; }

.opc .data-table .price { font-size: 12px; font-weight: 700; letter-spacing: .1em; }

.opc .data-table .input-text.qty { display: block; margin: auto; margin-top: -5px; width: 30px; }

@media screen and (max-width: 599px) { .opc .data-table .input-text.qty { display: inline; margin-top: 0; } }

/******************************************************************************* Step 6 - Order Review - Totals */
.opc .data-table tfoot tr { background-color: #f5f4f0; }

.opc .data-table tfoot tr.last { background-color: #e2e0d8; }

.opc .data-table tfoot td { font-size: 14px; font-weight: 700; letter-spacing: .1em; padding: 0px 30px 5px; text-transform: uppercase; }

.opc .data-table tfoot .first td { padding-top: 25px; }

.opc .data-table tfoot tr:nth-child(3) td { padding-bottom: 25px; }

.opc .data-table tfoot .price { font-size: 14px; font-weight: 400; }

.opc .data-table tfoot tr.last td { padding: 10px 30px; }

.opc .data-table tfoot tr.last .price { font-weight: 700; }

/******************************************************************************* Progress Block */
.block-progress { border: 0; margin-top: 71px; margin-bottom: 10px; }

@media screen and (max-width: 979px) { .block-progress { margin-top: 20px; margin-bottom: 20px; } }

.block-progress .block-title { background-color: #e2e0d8; margin-bottom: 0; }

.block-progress .block-title strong { color: #3f4040; font-size: 16px; }

body:not(.customer-account) .block:first-child .block-title { padding: 10px 20px; }

.block-progress .block-content { margin-top: 0; }

.block-progress dt { background-color: #f5f4f0; color: #535454; font-family: "Lato", Helvetica, Arial, sans-serif; letter-spacing: .1em; margin: 0; padding: 10px 20px; position: relative; }

.block-progress dt:before { border-bottom: 1px solid #e5e5e5; content: ''; margin: auto; width: 90%; position: absolute; left: 0; right: 0; bottom: 0; }

.block-progress dt.complete { border: 0; color: #404141; }

.block-progress dt.complete:before { display: none; }

.block-progress .changelink { display: none; }

#payment-progress-opcheckout dt:before { display: none; }

.block-progress dd { border: 1px solid #e5e5e5; color: #535454; font-family: "Lato", Helvetica, Arial, sans-serif; font-style: normal; margin: 0; padding: 10px 20px 10px 30px; }

@media screen and (max-width: 979px) { .block-progress dd { border: 0; } }

.block-progress dd address { font-style: normal; }

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: 1; }

/******************************************************************************* Cart Summary */
.block-minicart { border: 0; margin-bottom: 20px; padding-left: 20px; }

@media screen and (max-width: 979px) { .block-minicart { display: none; } }

.block-minicart .block-title { background-color: #e2e0d8; border-top: 0; clear: both; margin-bottom: 0; padding: 10px 20px; }

@media screen and (max-width: 979px) { .block-minicart .block-title { margin-top: 20px; } }

.block-minicart .block-title strong { color: #3f4040; font-size: 16px; }

.block-minicart .block-title .edit { color: #535454; float: right; font-size: 12px; letter-spacing: .1em; margin-top: 4px; text-transform: uppercase; }

/******************************************************************************* Cart Summary - Products */
.block-minicart .block-content { margin-top: 0; }

.block-minicart .item { position: relative; padding: 20px; }

.block-minicart .item:before { border-bottom: 1px solid #e5e5e5; content: ''; margin: auto; width: 90%; position: absolute; left: 0; right: 0; bottom: 0; }

.block-minicart .item:last-child:before { display: none; }

.block-minicart .checkout-progress-minicart-products-list { background-color: #f5f4f0; margin-bottom: 10px; }

.block-minicart .checkout-progress-minicart-products-list .item { margin-left: 0; }

.block-minicart .product-image { border: 0; float: left; margin-right: 20px; }

.block-minicart .product-details { font-size: 12px; overflow: hidden; }

.block-minicart .product-details .label { font-weight: 700; text-transform: uppercase; }

.block-minicart .product-name { font-size: 14px; font-weight: 900; letter-spacing: .1em; }

.block-minicart .qty-wrapper { margin-bottom: 10px; }

.block-minicart .promotion-message { margin-top: 10px; }

.block-minicart .promotion-message .applied { color: #2dafb4; }

.block-minicart .promotion-message .excluded { color: #404141; font-style: italic; }

.block-minicart .old-price { color: #bebebe; text-decoration: line-through; }

.block-minicart .new-price { color: #404141; margin-left: 5px; }

/******************************************************************************* Cart Summary - Totals table */
.block-minicart #shopping-cart-totals-table { background-color: #f5f4f0; width: 100%; }

.block-minicart tbody { border-top: 30px solid #f5f4f0; border-bottom: 30px solid #f5f4f0; }

.block-minicart tbody td { font-size: 14px; font-weight: 700; letter-spacing: .1em; padding: 5px 40px 5px 20px; text-transform: uppercase; }

.block-minicart tbody td + td { padding-left: 0; padding-right: 40px; }

.block-minicart tbody .price { font-weight: 400; }

.block-minicart tfoot { background-color: #e2e0d8; }

.block-minicart tfoot td { font-size: 14px; font-weight: 700; letter-spacing: .1em; padding: 10px 40px 10px 20px; text-transform: uppercase; }

.block-minicart tfoot td + td { padding-left: 0; padding-right: 40px; }

/******************************************************************************* Certificates - Verisign */
.opc-block.verisign { display: none; }

/******************************************************************************* Paypal Express Review */
.paypal-express-review .page-title { margin: 20px 0 10px; }

.paypal-express-review .page-title h1 { margin: 0 10px; }

.paypal-express-review .col2-set .col-1, .paypal-express-review .col2-set .col-2 { padding: 0px 20px 20px; }

.paypal-express-review .info-set { margin: 20px 10px; }

.paypal-express-review .info-set h2, .paypal-express-review .info-set h3 { margin: 0 0 10px; }

.paypal-express-review .info-set h2 a, .paypal-express-review .info-set h3 a { font-size: 16px; letter-spacing: .1em; white-space: nowrap; }

.paypal-express-review .info-set h3 { font-size: 18px; }

.paypal-express-review #review-buttons-container .button { margin-right: 10px; padding: 7px 30px; }

.paypal-express-review #review-buttons-container .button:hover { cursor: pointer; }

.paypal-express-review #review-buttons-container .button:focus { outline: none; }

.paypal-express-review #review-buttons-container .please-wait { display: inline-block; float: right; }

.paypal-express-review #review-buttons-container .please-wait img { display: inline-block; }

/******************************************************************************* Checkout - Hidden Header/Footer Elements */
.checkout-onepage-index .bar-about-us, .checkout-onepage-index #header-middle .skip-nav-wrapper, .checkout-onepage-index #header-middle .middle-container, .checkout-onepage-index #header-search, .checkout-onepage-index .skip-search, .checkout-onepage-index #promo-bar, .checkout-onepage-index .footer-top, .checkout-onepage-index .footer-bottom { display: none; }

.checkout-onepage-index #header-middle { border-bottom: 1px solid #e8e8e8; }
