/* ============================================ *
 * Checkout - Layout
 * ============================================ */
.cart-table {
    float: left;
    width: 60%;
}

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

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

.cart-totals,
.cart-forms .discount,
.cart-forms .giftcard,
.cart-forms .shipping {
    padding: 10px;
    background-color: var(--maho-color-background-alt);
    border: 1px solid var(--maho-color-border);
}

.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;
}

td.product-cart-remove a {
    display: inline-block;
}

@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: 10px;
}
.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: block;
}
.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;
}

@media only screen and (max-width: 599px) {
    .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: var(--maho-color-text-primary);
    font-size: 0.875rem;
    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 tr {
    border-bottom: 1px solid var(--maho-color-border-dark);
}
.cart-table tfoot tr {
    background: none;
}
.cart-table tfoot tr > td:after {
    content: '';
    display: table;
    clear: both;
}
.cart-table span.or {
    font-size: 0.563rem;
    padding: 0 5px;
    text-transform: uppercase;
}
.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: 0.75rem;
    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 var(--maho-color-primary);
    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 var(--maho-color-primary);
    border-bottom: none;
    right: -15px;
    top: 6px;
}
.cart-table .product-cart-actions {
    min-width: 60px;
    text-align: center;
}
.cart-table .product-cart-actions .qty {
    height: 30px;
    border-color: var(--maho-color-border-dark);
    border-radius: 0;
    margin-bottom: 10px;
    text-align: center;
    width: 3.2em;
}
.cart-table .product-cart-actions .button {
    margin-bottom: 5px;
}

@media only screen and (max-width: 770px) {
    .cart-table th {
        font-size: 0.75rem;
    }
    .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]:before {
        content: attr(data-rwd-label) ":";
        font-size: 0.75rem;
        padding-right: 5px;
        text-transform: uppercase;
    }
    .cart-table td.product-cart-price {
        text-align: left;
    }
    .cart-table .cart-tax-info {
        font-style: italic;
        padding-left: 15px;
        font-size: 0.813rem;
    }
    .cart-table .cart-tax-info .price {
        font-size: 0.813rem;
    }
    .cart-table .product-cart-image {
        width: 25%;
        float: left;
        padding-bottom: 0;
    }
    .cart-table .product-cart-image a.cart-edit {
        display: block;
        font-size: 1rem;
        text-align: center;
        text-transform: uppercase;
    }
    .cart-table .product-cart-info,
    .cart-table td[data-rwd-label] {
        float: left;
        width: 65%;
    }
    .cart-table .product-cart-actions,
    .cart-table .product-cart-price {
        padding-bottom: 0;
        padding-top: 0;
        float: right;
    }
    .cart-table td.product-cart-remove {
        display: flex;
        flex-direction: column;
        position: absolute;
        top: 0;
        right: 0;
    }

    .cart-table .product-cart-total {
        display: none;
    }
    .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: 0.938rem;
    }
    .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: 0.75rem;
    font-weight: bold;
    margin: 0 0 5px;
}
.shipping select {
    max-width: 100%;
    height: 30px;
    display: block;
    border: 1px solid var(--maho-color-border-dark);
}
.shipping select.validation-failed {
    border-color: var(--maho-color-error);
}
.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: 0.813rem;
    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: 0.75rem;
    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 var(--maho-color-border);
    background-color: var(--maho-color-background-hover);
    min-width: 220px;
}
.shipping #co-shipping-method-form .sp-methods dd label:hover {
    background-color: var(--maho-color-background-hover);
}

@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: 0.75rem;
    margin-bottom: 20px;
    text-transform: uppercase;
    width: 100%;
}
.cart .cart-totals table td {
    padding: 2px 0px;
}
.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 var(--maho-color-text-light);
    border-bottom: 1px solid var(--maho-color-text-light);
}
.cart .cart-totals table tfoot td {
    font-size: 1.5rem;
    padding: 2px 5px;
    vertical-align: top;
}
.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: 1.125rem;
    }
}
.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: 0.75rem;
    font-weight: 400;
    text-align: left;
    text-transform: uppercase;
    min-width: 105px;
    display: inline-block;
    margin-right: 10px;
}
#discount-coupon-form .field-wrapper,
.cart .giftcard .field-wrapper {
    display: inline-block;
}
#discount-coupon-form .validation-advice,
.cart .giftcard .validation-advice {
    display: inline;
}
#discount-coupon-form .button-wrapper,
.cart .giftcard .button-wrapper {
    display: inline-block;
    vertical-align: bottom;
}
#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: 30px;
    margin: 4px 10px 0 0;
    width: 190px;
}

.cart .giftcard p {
    margin-bottom: 7px;
}

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

/* ============================================ *
 * Checkout - Cart Cross sell
 * ============================================ */
.crosssell h2 {
    color: var(--maho-color-primary);
}
.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: 100%;
    padding-right: 1px;
    margin-left: 20px;
    border: 1px solid #ddd;
        background-color: white;

    }
    .checkout-onepage-index .col-right,
    .checkout-onepage-index .col-left {
        max-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 var(--maho-color-background-hover);
    position: relative;
    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: var(--maho-color-background-alt);
}

.opc .section.active .step-title {
    border-bottom: 1px solid var(--maho-color-background-hover);
}

.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.allow .step-title h2 {
    color: var(--maho-color-text-secondary);
}

.opc .section.allow .step-title:hover h2,
.opc .section.active .step-title h2 {
    color: var(--maho-color-primary);
}

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

.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 {
    transition: opacity 300ms 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 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 var(--maho-color-border);
    padding-left: 20px;
}
.block-progress .block-content {
    font-size: 0.813rem;
}
.block-progress dt {
    padding-top: 6px;
    margin: 0;
    margin-bottom: 10px;
    color: var(--maho-color-text-primary);
    font-size: 0.875rem;
    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: var(--maho-color-text-secondary);
}
.block-progress dt.complete {
    color: var(--maho-color-text-primary);
}
.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: var(--maho-color-text-primary);
    text-transform: none;
    font-style: italic;
    float: left;
    clear: both;
    font-size: 0.813rem;
}
.block-progress .payment-info dt:after {
    content: ': ';
}
.block-progress .payment-info dd {
    float: left;
    margin-bottom: 3px;
    font-size: 0.813rem;
}
.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;
    }
}

@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;
    }
}

/* 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 var(--maho-color-background-hover);
}
.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;
}
