/**
 * moneymaker.css
 *
 * @author Dane MacMillan <work@danemacmillan.com>
 *
 * @todo Remove duplicated CSS from cart.css and checkout.css, which has been
 * copied here, due to shared elements in each section. For compaibility, they
 * were copied, but after checkout is complete, remove the CSS from those
 * stylesheets that exist in here.
 */

.button {
    background: #03A9F4;
    border: 0;
    border-radius: 2px;
    color: #222;
    cursor: pointer;
    outline: none;
    display: block;
}

.button:active {
    transform: scale(0.98);
}

.button-inline {
    border: 0;
    width: auto;
    float: right;
}

.button-deemphasis {
    background: #fff;
    box-shadow: none;
    color: #03A9F4 !important;
    text-shadow: none;
    border: 1px solid #efefef;
    border-bottom: 2px solid #efefef;
    transition: all 0.2s ease;
}

.button-deemphasis:hover,
.button-deemphasis:focus,
.button-deemphasis:active {
    border: 1px solid #03A9F4;
    border-bottom: 2px solid;
}

.button-moneymaker {
    line-height: 3;
    padding: 0 20px;
    box-shadow: none;
}

.button-moneymaker .fa {
    opacity: 0;
    position: absolute;
    margin-right: 10px;
    -webkit-transition: opacity 0.2s ease;
    transition: opacity 0.2s ease;
    top: 1px;
}
    .rtl .button-moneymaker .fa {
        margin-right: unset;
        margin-left: 10px;
    }


.button-disable {
    pointer-events: none !important;
    opacity: 0.75 !important;
}





/* Feedback */
.moneymaker-feedback {
    background-color: #fcf8e3;
    padding: 20px 40px;
    color: #8a6d3b;
    font-size: 14px;
}
    .moneymaker-feedback .fa {
        color: #d6e9c6;
        font-size: 20px;
        padding: 0 20px 0 0;
        position: relative;
        top: 2px;
    }

    .moneymaker-feedback-error {
        background-color: #E98181;
        color: #fff;
    }
        .moneymaker-feedback-error .fa {
            color: rgba(255,255,255,0.30);
        }
        .moneymaker-feedback-error a {
            color: inherit;
            border-bottom: 1px solid #fff;
            text-shadow: none;
            font-weight: bold;
        }
        .moneymaker-feedback-error a:hover {
            border-bottom-width: 2px;
        }

    .moneymaker-feedback-top {
        margin: -40px -40px 20px -40px;
        /*border-bottom: 1px solid #faebcc;*/
    }
    .moneymaker-feedback-middle {
        margin: 20px -40px 20px -40px;
        /*border-top: 1px solid #faebcc;*/
    }
    .moneymaker-feedback-bottom {
        margin: 20px -40px -40px -40px;
        /*border-top: 1px solid #faebcc;*/
    }

    #moneymaker-feedback-noshippingrategroups {
        margin: 40px 0 20px 0;
    }


.cart-product-list {
    margin-bottom: 0;
}
.cart-product-item{}

.cart-product-list li {
    border-bottom: 1px solid #f5f5f5;
    clear: both;
    margin: 0 0;
    padding: 1.5rem 0;
    transition: all 0.2s ease;
    position: relative;
}
.js-cart-product-item-remove-limbo {
    pointer-events: none;
}
.js-cart-product-item-remove-limbo img {
    transform: scale(0.80);
}

/* Note: transforms are not collapsible, so best alternative is to
transition height property. Transitions on height do not work if height is
auto, so there is JS that calculates height of each item right before
CSS selector is appended to element.*/
.cart-product-item.js-cart-product-item-remove-success {
    overflow: hidden;
    height: 0 !important;
    padding: 0 20px !important;
    opacity: 0;

    /* Note that instead of trying to animate height, which has the
    limitation mentioned above, the max-height property can be used
    instead. Review the `calculateCartProductItemHeights` method in
    cart.js, which does not need to run with this update.
     */
    /*height: 0 !important;*/
    max-height: 0;
}

.cart-product-item-remove-spinner {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: transparent;
    text-align: center;
    padding-top: 120px;
    font-size: 0;
    opacity: 0;
    transition: all 0.4s ease;
    z-index: -1;
}
.cart-product-item-remove-spinner.js-cart-product-item-remove-spinner-reveal {
    background-color: rgba(255,255,255,0.70);
    opacity: 1;
    font-size: 24px;
    z-index: 1;
}

/* Clearfix product listing */
.cart-product-list li:after {
    content: '';
    display: table;
    clear: both;
}

.cart-product-list li:last-of-type {
    border: 0 !important;
}

.cart-product-info {
    border: 1px solid transparent;
}

.cart-product-list img {
    width: 200px;
    float: left;
    margin-right: 40px;
    transition: all 0.2s ease;
}

.cart-product-details {
    margin-left: 240px;
}

.cart-product-id {
    border: 0;
    padding: 0;
    color: #b3b3b3 !important;
    font-size: 12px !important;
    font-weight: normal !important;
}

.cart-product-description {
    color: #999;
}

.cart-product-config-type {

}

.cart-product-config-value {
    font-weight: 400;
}

/* Multiplication calc */
.cart-product-price {
    display: inline-block;

}

.cart-product-unit {
    font-weight: normal;
}

.cart-product-price-unit {
    line-height: 2;
    margin-left: 20px;
}

.cart-product-price-math {
    color: #999;
    margin-left: 20px;
}

.cart-product-unit .cart-product-price-quantity {
    padding: 0 5px;
    width: 50px;
    transition: all 0.4s ease;
    border: 1px solid #efefef;
    border-radius: 2px;
}
.js-unsaved-changes {
    transition: all 0.4s ease;
    box-shadow: 0 0 6px 0 #ffff00 !important;
}

.cart-product-subtotal-calculate {
}

.cart-product-subtotal {
    overflow: hidden;
    color: #999;
    font-weight: normal;
    display: block;
}

.cart-product-price-math-equal {
    float: left;
    font-size: 20px;
    line-height: 1;
    opacity: 1;
    transition: all 0.2s ease;
}

.cart-product-subtotal-calculate hr {
    margin: 0.75rem 0;
}

.cart-product-price-subtotal {
    float: right;
    color: #000;
    font-weight: bold;
}





#checkout-pledge-review .cart-product-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

#checkout-pledge-review .cart-product-list li {
    padding: 20px 0 20px 0;
    margin: 0
}

#checkout-pledge-review .cart-product-list li:first-of-type {
    padding-top: 0;
}

#checkout-pledge-review .cart-product-list li:hover {
    box-shadow: none;
}

#checkout-pledge-review .cart-product-list li img {
    width: 60px;
    padding: 0 0 0 0;
    margin: 0 20px 0 60px;
}
    .rtl #checkout-pledge-review .cart-product-list li img {
        float: right;
    }

#checkout-pledge-review .cart-product-info,
#checkout-pledge-review .cart-product-details {
    overflow: hidden;
}

#checkout-pledge-review .cart-product-name,
#checkout-pledge-review .cart-product-description {
    float: left;
    width: 60%;
}
    .rtl #checkout-pledge-review .cart-product-name,
    .rtl #checkout-pledge-review .cart-product-description {
        float: right;
    }

#checkout-pledge-review .cart-product-price {
    width: 40%;
}
    .rtl #checkout-pledge-review .cart-product-price {
        float: left;
    }

#checkout-pledge-review .cart-product-details {
    margin-left: 0;
}

#checkout-pledge-review .cart-product-name {
    margin: 0;
    font-size: 14px;
    pointer-events: none;
}
    #checkout-pledge-review .cart-product-name a {
        border: 0;
        color: #000;
    }


#checkout-pledge-review .cart-product-description,
#checkout-pledge-review .cart-product-price,
#checkout-pledge-review .cart-product-unit {
    font-size: 12px;
}

#checkout-pledge-review .cart-product-price {
    pointer-events: none;
    text-align: right;
    margin-top: 7px;
}
    #checkout-pledge-review .cart-product-price-math {
        margin: 0 5px;
    }
    #checkout-pledge-review .cart-product-price-quantity {
        -moz-appearance: number-input;
        -webkit-appearance: none;
        border: none;
        text-align: right;
        padding: 0;
        width: 30px;
    }

#checkout-pledge-review .cart-product-description {
    float: left;
    margin: 0;
    line-height: 1.5;
}
    .rtl #checkout-pledge-review .cart-product-description {
        float: right;
    }

    #checkout-pledge-review .cart-product-description p {
        margin: 0;
    }

#checkout-pledge-review .cart-product-subtotal-calculate hr {
    margin: 2px 0;
}

#checkout-pledge-review .cart-product-price-quantity {

}

#checkout-pledge-review .cart-product-hanging {
    display: none;
}














.cart-wallet-content {
    margin: 20px 0;
    color: #999;
}

.cart-wallet-content strong {
    font-weight: normal;
    color: #000;
    float: right;
}
    .rtl .cart-wallet-content strong {
        float: left;
    }

.cart-sub-amount {
    font-size: 12px;
    padding-left: 5px;
    clear: both;
    overflow: hidden;
}

.cart-sub-amount strong {
    color: #999;
}

.cart-sub-amount a,
.cart-sub-amount a:active {
    display: inline;
    color: #999;
    border: none;
}

.cart-sub-discount strong {
    color: #000;
    font-size: 14px;
}

.cart-sub-discount #discount-coupon-form {
    display: inline-block;
}

.cart-sub-discount .button-cart-discount-remove {
    padding: 1px 5px 2px 5px !important;
    border-radius: 2px;
    line-height: 1;
    font-size: 14px;
    margin-right: 10px;
    background-color: #333;
    border: 1px solid #444;
    border-bottom-width: 2px;
    text-decoration: none !important;
    color: #CECECE;

    display: inline-block;
    width: auto;
 }
.cart-sub-discount .button-cart-discount-remove:hover {
    color: #03A9F4;
}
.cart-sub-discount .button-cart-discount-remove:before {
    content: '\00D7';
}

.cart-sub-discount ul {
    padding-left: 0;
    margin-left: 20px;
}

.cart-sub-discount-ask {
    text-align: center;
}

.cart-total-big,
.cart-total-big strong {
    font-size: 20px;
    font-weight: bold;
    transition: all 0.3s ease;
}


/**
 * Coupon form.
 */

.cart-discount-form form {
    position: relative;
}

.cart-discount-form input {
}

.cart-discount-form button {
}

.cart-discount-form-apply {

}

.cart-wallet .cart-coupon-input {
    font-size: 1.2rem !important;
    border: 0 !important;
    width: 100%;
    height: auto;
    transition: all 0.2s ease;
    border-radius: 2px !important;
    text-align: left;
    cursor: pointer;
    background-color: #444;
    line-height: 3;
    padding: 0 1.0rem;
    box-shadow: 0 1px 1px 0 rgba(0,0,0,0.10) !important;
    color: initial;
}

.cart-wallet #cart-coupon-submit {
    opacity: 0;
    position: absolute;
    top: 0;
    right: 0;
    padding: 0 1.0rem;
    font-size: 1.2rem !important;
    background: #03A9F4;
    color: #222 !important;
    text-shadow: none;
    box-shadow: none;
    transition: all 0.2s ease;
    border: 0;
    line-height: 3;
    border-radius: 2px;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    visibility: hidden;
}

.cart-wallet .cart-coupon-input:active,
.cart-wallet .cart-coupon-input:focus {
    background-color: #fff;
    cursor: text;
}

.cart-wallet .cart-coupon-input:active + #cart-coupon-submit,
.cart-wallet .cart-coupon-input:focus + #cart-coupon-submit {
    opacity: 1;
    visibility: initial;
}

.cart-wallet .cart-coupon-input::placeholder {
    color: #03A9F4;
}

.cart-wallet .cart-coupon-input:active::placeholder,
.cart-wallet .cart-coupon-input:focus::placeholder {
    color: #999;
}

#checkout-pledge-review .cart-wallet-content {
    border-top: 4px solid #f5f5f5;
    list-style: none;
    padding: 10px 40px 0 180px;
    margin: 0 -40px 20px -40px;
}

#checkout-pledge-review .cart-wallet-content li {
    padding: 0 10px 0 0;
}
    #checkout-pledge-review .cart-sub-amount {
        padding-left: 10px !important;
        font-size: 12px;
    }
    #checkout-pledge-review .totals-separator {
        padding: 0 !important;
    }

.checkout hr {
    border: 1px solid #efefef;
    box-shadow: 0 0 1px 1px #fff;
}

#checkout-passage-review .cart-wallet-content {
    list-style: none;
    padding: 0;
    margin: 10px 40px;
    font-size: 14px;
    color: #999 !important;
}

#checkout-passage-review .cart-discount-form,
#checkout-passage-review .cart-discount-form + li,
#checkout-passage-review .cart-sub-discount-form,
#checkout-passage-review .cart-sub-discount-form + li {
    display: none;
}

#checkout-pledge-review .cart-wallet-content,
#checkout-passage-review .cart-wallet-content {
    color: #999;
}

#checkout-pledge-review .cart-wallet-content strong,
#checkout-passage-review .cart-wallet-content strong {
    color: #000;
}

#checkout-pledge-review .cart-sub-amount strong,
#checkout-passage-review .cart-sub-amount strong {
    color: #999;
}

#checkout-pledge-review .cart-sub-discount strong,
#checkout-passage-review .cart-sub-discount strong {
    color: #000;
    font-size: 14px;
}

#checkout-pledge-review .cart-sub-discount-ask,
#checkout-passage-review .cart-sub-discount-ask {
    text-align: center;
}
#checkout-pledge-review .cart-sub-discount-ask a:hover,
#checkout-passage-review .cart-sub-discount-ask a:hover {
    display: inline !important;
    color: #03A9F4;
    border-bottom: 2px solid #03A9F4;
}

#checkout-pledge-review .cart-total-big,
#checkout-passage-review .cart-total-big,
#checkout-pledge-review .cart-total-big strong,
#checkout-passage-review .cart-total-big strong {
    font-size: 20px;
    font-weight: bold;
    transition: all 0.3s ease;
    text-shadow: 0 0 1px #fff, 0 0 1px #fff;
}

#checkout-pledge-review .cart-total-big,
#checkout-passage-review .cart-total-big {
    display: block !important;
}

#checkout-pledge-review .fieldset-data-retry {
    position: relative;
    z-index: 2;
}

#checkout-pledge-review .button-secondary {
    background-color: #ffffff;
    border: 1px solid #3fa9f5;
    box-shadow: none;
    color: #3fa9f5;
    line-height: 3;
    padding: 0 20px;
    margin-top: 0.75rem;
}





















.shipping-carriers {
    margin: 0 -5px;
}

.shipping-carriers,
.shipping-carriers li {
    display: inline-block;
}

.shipping-carriers li {
    margin: 0px !important;
    padding: 5px;
}

.shipping-carriers input {
    opacity: 0;
    position: absolute;
}

.shipping-carriers label {
    position: relative;
    background-color: rgba(0, 0, 0, 0.4);
    padding: 10px;
    cursor: pointer;
    border-radius: 2px;
    box-shadow: inset 0 0 6px 1px #000;
    border: 1px solid transparent;
    font-weight: normal;
    font-size: 16px;
    line-height: 1.75;
    transform: scale(0.96);
    transition: all 0.1s ease;
}

.shipping-carriers label .cart-shipping-price-actual {
    font-weight: bold;
    background-color: #fff;
    color: #000;
    padding: 4px;
    margin-right: 4px;
    border-radius: 2px;
}

.shipping-carriers input:checked + label,
.shipping-carriers .shipping-carrier-checked {
    border: 1px solid #fff;
    transform: scale(1);
    pointer-events: none;
}

.shipping-carriers label {
    background-position: -18px center;
    background-repeat: no-repeat;
    background-size: auto 140px;
    display: flex;
    align-items: center;
}

.shipping-carrier-logo-container,
.shipping-carrier-info {
    display: inline-block;
}

.shipping-carrier-logo {
    background-color: #FFFFFF;
    border-radius: 50%;
    max-height: 6rem;
    padding: 3px;
    margin-right: 1rem;
}

body.checkout-index-index .shipping-carrier-logo {
    max-height: 4rem;
}

.cart-shipping-spinner {
    position: absolute;
    top: 0px;
    right: 0px;
    bottom: 0px;
    left: 0px;
    background-color: rgba(0, 0, 0, 0.75);
    text-align: center;
    padding: 25px;
    font-size: 0;
    opacity: 0;
    transition: all 0.2s ease;
}

.cart-shipping-spinner.cart-shipping-spinner-reveal {
    opacity: 1;
    font-size: 20px;
}

.checkout-success {
    margin-bottom: 1.5rem;
}


/**
 * Font Awesome faster spinner speed.
 */
.fa-spin-fast {
    display: inline-block;
    -webkit-animation: spin-fast 700ms infinite linear;
    animation: spin-fast 700ms infinite linear;
}
@-webkit-keyframes spin-fast {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(359deg);
        transform: rotate(359deg);
    }
}
@keyframes spin-fast {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(359deg);
        transform: rotate(359deg);
    }
}
