.wc-stripe-card-icons-container,
.wc-stripe-paymentRequest-icons-container {
    float: right;
    display: inline-block;
}

ul.payment_methods li[class*=payment_method] {
    margin: 0;
    padding: 0;
}

li[class*=payment_method] input[type=radio] {
    margin: 0 10px 0 5px;
}

li[class*=payment_method] input[type=radio] + label:not(.wc-stripe-label-payment-type) {
    margin: 0;
}

.woocommerce-checkout #payment ul.payment_methods li[class*=payment_method_stripe_]:nth-child(n + 2),
ul.payment_methods li[class*=payment_method_stripe_]:nth-child(n + 2) {
    margin: 0;
}

li.payment_method_stripe_cc .wc-stripe-card-icons-container img.wc-stripe-card-icon,
li.payment_method_stripe_payment_request .wc-stripe-paymentRequest-icons-container img {
    max-width: 44px;
    max-height: 27px;
    width: 44px;
    height: 27px;
    float: none;
    display: inline;
}

li.payment_method_stripe_payment_request .wc-stripe-paymentRequest-icons-container img {
    width: 25px;
    height: 25px;
    max-width: 25px;
    max-height: 25px;
}

ul.payment_methods label[for*="payment_method_stripe"]:after {
    clear: right;
    content: "";
    display: block;
}

li.payment_method_stripe_cc .wc-stripe-card-icons-container img.wc-stripe-card-icon:nth-child(2n+2) {
    margin: 0px 2px;
}

li.payment_method_stripe_cc .wc-stripe-card-icons-container img.wc-stripe-card-icon.open.visa {
    padding-top: 2px;
}

ul.payment_methods li[class*=payment_method_stripe_] label > img:first-of-type {
    float: right !important;
}

.wc-stripe_cc-new-method-container {
    margin-bottom: 1em;
}

.wc-stripe_cc-container .StripeElement {
    box-sizing: border-box;
    height: 40px;
    padding: 10px 12px;
    border-radius: 4px;
    background-color: white;
    -webkit-transition: box-shadow 150ms ease;
    transition: box-shadow 150ms ease;
}

input.wc-stripe-payment-type,
input.wc-stripe-klarna-category {
    display: none !important;
}

body .wfacp_main_form.woocommerce .wc-stripe-save-source label.checkbox {
    padding: 0 !important;
}

label.wc-stripe-label-payment-type,
input[type=radio] + label.wc-stripe-label-payment-type,
label.wc-stripe-label-klarna-category {
    margin-bottom: 1em;
    display: block;
    padding: 0 !important;
    color: #000;
}

.theme-flatsome div.wc-stripe-saved-methods-container {
    margin: 0 0 1em 0;
}

label.wc-stripe-label-payment-type:before,
label.wc-stripe-label-klarna-category:before {
    content: "";
    display: inline-block;
    width: 11px;
    height: 11px;
    border: 2px solid #fff;
    box-shadow: 0 0 0 2px #000;
    background: #fff;
    margin-left: 4px;
    margin-right: .5em;
    border-radius: 100%;
    -webkit-transform: translateY(2px);
    -ms-transform: translateY(2px);
    transform: translateY(2px);
}

input.wc-stripe-payment-type:checked + label.wc-stripe-label-payment-type:before,
input.wc-stripe-klarna-category:checked + label.wc-stripe-label-klarna-category:before {
    background: #000;
}

label.wc-stripe-label-payment-type:after {
    content: none !important;
    display: none !important;
}

.wc-stripe-saved-methods-container .select2-container .select2-selection--single .wc-stripe-select2-container,
.select2-results__options li.wc-stripe-select2-container {
    display: flex;
    align-items: center;
    height: 42px;
    line-height: 42px !important;
}

.select2-container .select2-selection--single .wc-stripe-select2-container:before,
.select2-results__options li.wc-stripe-select2-container:before {
    content: '';
    background-repeat: no-repeat;
    background-size: 40px 24px;
    width: 40px;
    height: 42px;
    display: inline-block;
    margin-right: 8px;
    background-position: center;
}

.select2-container .select2-selection--single .wc-stripe-select2-container.visa:before,
.select2-results__options li.wc-stripe-select2-container.visa:before,
.select2-results__options li.wc-stripe-select2-container.visa:before {
    background-image: url(../img/cards/visa.svg);
}

.select2-container .select2-selection--single .wc-stripe-select2-container.mastercard:before,
.select2-results__options li.wc-stripe-select2-container.mastercard:before,
.select2-results__options li.wc-stripe-select2-container.mastercard:before {
    background-image: url(../img/cards/mastercard.svg);
}

.select2-container .select2-selection--single .wc-stripe-select2-container.americanexpress:before,
.select2-results__options li.wc-stripe-select2-container.americanexpress:before,
.select2-results__options li.wc-stripe-select2-container.americanexpress:before {
    background-image: url(../img/cards/amex.svg);
}

.select2-container .select2-selection--single .wc-stripe-select2-container.amex:before,
.select2-results__options li.wc-stripe-select2-container.amex:before,
.select2-results__options li.wc-stripe-select2-container.amex:before {
    background-image: url(../img/cards/amex.svg);
}

.select2-container .select2-selection--single .wc-stripe-select2-container.discover:before,
.select2-results__options li.wc-stripe-select2-container.discover:before,
.select2-results__options li.wc-stripe-select2-container.discover:before {
    background-image: url(../img/cards/discover.svg);
}

.select2-container .select2-selection--single .wc-stripe-select2-container.mastercard:before,
.select2-results__options li.wc-stripe-select2-container.mastercard:before,
.select2-results__options li.wc-stripe-select2-container.mastercard:before {
    background-image: url(../img/cards/mastercard.svg);
}

.select2-container .select2-selection--single .wc-stripe-select2-container.dinersclub:before,
.select2-results__options li.wc-stripe-select2-container.dinersclub:before,
.select2-results__options li.wc-stripe-select2-container.dinersclub:before {
    background-image: url(../img/cards/diners.svg);
}

.select2-container .select2-selection--single .wc-stripe-select2-container.diners:before,
.select2-results__options li.wc-stripe-select2-container.diners:before,
.select2-results__options li.wc-stripe-select2-container.diners:before {
    background-image: url(../img/cards/diners.svg);
}

.select2-container .select2-selection--single .wc-stripe-select2-container.jcb:before,
.select2-results__options li.wc-stripe-select2-container.jcb:before,
.select2-results__options li.wc-stripe-select2-container.jcb:before {
    background-image: url(../img/cards/jcb.svg);
}

.select2-results__options li.wc-stripe-select2-container.wc-stripe-ach:before {
    display: none;
}

#wc-stripe-card-element {
    margin-bottom: 1em;
}

.wc-stripe_cc-container .wc-stripe-save-source .save-source-label {
    display: block;
    margin-top: 10px;
}

.wc-stripe_cc-container .wc-stripe-save-source input[type="checkbox"] {
    opacity: 0;
    position: absolute;
    width: 20px;
    height: 20px;
}

.wc-stripe_cc-container .wc-stripe-save-source label.checkbox {
    position: relative;
}

.wc-stripe_cc-container .save-source-checkbox {
    height: 20px;
    width: 20px;
    position: relative;
    background-color: white;
    display: block;
    border-radius: 3px;
    border: 1px solid #bababa;
}

.wc-stripe_cc-container .save-source-checkbox:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
}

.wc-stripe_cc-container .wc-stripe-save-source input[type="checkbox"]:checked + .save-source-checkbox:after {
    left: 6px;
    top: 2px;
    width: 7px;
    height: 12px;
    border: solid #2196F3;
    border-width: 0 3px 3px 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box
}

li.payment_method_stripe_googlepay,
li.payment_method_stripe_applepay,
li.payment_method_stripe_payment_request {
    display: none;
}

#place_order.wc-stripe-hide,
#payment #place_order.wc-stripe-hide,
.woocommerce-checkout-review-order #payment #place_order.wc-stripe-hide{
    position: absolute !important;
    z-index: -1000 !important;
    height: 0 !important;
    padding: 0 !important;
    opacity: 0 !important;
}

.wc-stripe-product-checkout-container {
    display: none;
    width: 100%;
}

.wc-stripe-product-checkout-container.bottom {
    margin-top: 1em;
}

.wc-stripe-product-checkout-container.top {
    margin-bottom: 1em;
}

.wc-stripe-product-checkout-container.active {
    display: block;
}

.wc-stripe-product-checkout-container ul.wc_stripe_product_payment_methods,
.wc-stripe-cart-checkout-container ul.wc_stripe_cart_payment_methods {
    list-style: none;
    margin: 0px;
    padding: 0px;
}

.wc-stripe-cart-checkout-container {
    margin: 0;
    padding: 0;
    clear: both;
}

.wc-stripe-cart-checkout-container ul.wc_stripe_cart_payment_methods {
    margin-bottom: 1.5em;
}

.wc-stripe-product-checkout-container ul.wc_stripe_product_payment_methods li[class*=payment_method_stripe_],
.wc-stripe-cart-checkout-container ul.wc_stripe_cart_payment_methods li[class*=payment_method_stripe_] {
    margin: 0 0 1em 0;
}

.wc_stripe_product_payment_methods .gpay-button,
.wc_stripe_cart_payment_methods .gpay-button {
    width: 100% !important;
    margin: 0;
}

.wc_stripe_product_payment_methods .disabled {
    opacity: 0.45;
}

.woocommerce-cart .stripe_cart_gateway_active .wc-proceed-to-checkout .checkout-button,
.stripe_cart_gateway_active .checkout-button {
    margin-bottom: 0px;
}

.wc-stripe-cart-or {
    margin: 1em 0;
    text-align: center;
}

li.wc-stripe-payment-method.or {
    display: none;
}

.wc-stripe-cart-checkout-container ul.wc_stripe_cart_payment_methods.active li.wc-stripe-payment-method.or {
    display: block;
    margin: 15px 0;
}

.wc-stripe-cart-checkout-container ul.wc_stripe_cart_payment_methods.active li.wc-stripe-payment-method.or p {
    margin: 0;
}

li[class*=payment_method_stripe_].active ~ li.wc-stripe-payment-method.or {
    display: block;
    margin: 0;
}

li.payment_method_stripe_applepay label:first-of-type img {
    width: 49px;
    max-height: 32px;
}

li.payment_method_stripe_googlepay label:first-of-type img {
    width: 48px;
    max-height: 35px;
}

li.payment_method_stripe_googlepay label:first-of-type img[src*=googlepay_standard] {
    width: 60px;
    max-height: 35px;
}

li.payment_method_stripe_ach label:first-of-type img {
    width: 32px;
    height: 32px;
    min-width: 32px;
    min-height: 32px;
}

.gpay-button:hover {
    background-origin: content-box;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
}

.gpay-button:active {
    background-origin: content-box;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
}

.gpay-button:focus {
    background-origin: content-box;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
}

@supports (-webkit-appearance: -apple-pay-button) {
    .apple-pay-button {
        display: block;
        -webkit-appearance: -apple-pay-button;
        width: 100%;
        max-width: 100%;
        min-width: 200px;
        height: 40px;
        max-height: 40px;
    }

    .apple-pay-button-black {
        -apple-pay-button-style: black;
    }

    .apple-pay-button-white {
        -apple-pay-button-style: white;
    }

    .apple-pay-button-white-with-line {
        -apple-pay-button-style: white-outline;
    }

    .applepay-top-container .apple-pay-button {
        max-width: 240px;
    }

    .woocommerce-checkout-payment .apple-pay-button {
        max-width: 240px;
    }

    body.single-product div.product form.cart .wc_stripe_product_payment_methods .apple-pay-button{
        max-width: 100%;
    }
}

.wc-stripe-banner-checkout {
    display: none;
    padding: 20px 15px 0 15px;
    border: 1px solid #d1d1d1;
    border-width: 0 0 1px;
    position: relative;
    margin: 1em 0;

}

.wc-stripe-banner-checkout.active {
    display: block;
}

.wc-stripe-banner-checkout span.banner-title {
    position: absolute;
    display: flex;
    align-items: center;
    top: -13px;
    right: 0;
    left: 0;
    background: transparent;
    white-space: nowrap;
    font-size: 16px;
}

.wc-stripe-banner-checkout span.banner-title:before,
.wc-stripe-banner-checkout span.banner-title:after {
    content: ' ';
    height: 1px;
    background: #d1d1d1;
    display: block;
    width: 50%;
}

.wc-stripe-banner-checkout span.banner-title:before {
    margin-right: 8px;
}

.wc-stripe-banner-checkout span.banner-title:after {
    margin-left: 8px;
}

.wc-stripe-banner-checkout ul.wc_stripe_checkout_banner_gateways {
    list-style: none;
    margin: 0;
    padding: 0;
}

.wc-stripe-banner-checkout ul.wc_stripe_checkout_banner_gateways li.wc-stripe-checkout-banner-gateway {
    margin: 0 0 20px 0;
    display: none;
}

.wc-stripe-banner-checkout ul.wc_stripe_checkout_banner_gateways li.wc-stripe-checkout-banner-gateway .gpay-button {
    margin: 0;
}

.wc-stripe-banner-checkout ul.wc_stripe_checkout_banner_gateways .gpay-button {
    width: 100%;
}

.wc_stripe_product_payment_methods .payment_method_stripe_payment_request .StripeElement,
.wc_stripe_cart_payment_methods .payment_method_stripe_payment_request .StripeElement {
    padding: 0px;
    width: 100%;
}

.woocommerce-checkout #wc-stripe-payment-request-container.StripeElement {
    width: 240px;
    padding: 0px;
}

.wc-stripe-checkout-banner-gateway #wc-stripe-payment-request-banner.StripeElement {
    width: 100%;
}

ul.payment_methods li.payment_method_stripe_p24 img {
    max-width: 90px;
    width: 90px;
    max-height: 45px;
}

ul.payment_methods li.payment_method_stripe_ideal img {
    max-width: 38px;
    width: 38px;
    max-height: 35px;
}

ul.payment_methods li.payment_method_stripe_fpx img {
    max-width: 75px;
    width: 75px;
    max-height: 25px;
}

ul.payment_methods li.payment_method_stripe_klarna img {
    max-width: 72px;
    width: 72px;
    max-height: 20px;
}

ul.payment_methods li.payment_method_stripe_giropay img {
    max-width: 65px;
    width: 65px;
    max-height: 28px;
}

ul.payment_methods li.payment_method_stripe_eps img {
    max-width: 70px;
    width: 70px;
    max-height: 46px;
}

ul.payment_methods li.payment_method_stripe_multibanco img {
    max-width: 48px;
    width: 48px;
    max-height: 48px;
}

ul.payment_methods li.payment_method_stripe_sepa img {
    max-width: 67px;
    width: 67px;
    max-height: 18px;
}

ul.payment_methods li.payment_method_stripe_sofort img {
    max-width: 70px;
    width: 70px;
    max-height: 21px;
}

ul.payment_methods li.payment_method_stripe_bancontact img,
label[for=payment_method_stripe_bancontact] img {
    width: 60px;
    height: 42px;
    max-width: 60px;
    max-height: 42px;
}

ul.payment_methods li.payment_method_stripe_wechat label img {
    max-width: 82px;
    width: 82px;
    max-height: 23px;
}

ul.payment_methods li.payment_method_stripe_alipay img {
    max-width: 72px;
    width: 72px;
    height: 36px;
    max-height: 36px;
}

ul.payment_methods li.payment_method_stripe_grabpay img {
    max-width: 95px;
    width: 95px;
    max-height: 28px;
}

#wc-stripe-card-element {
    width: 100%;
}

li.banner_payment_method_stripe_payment_request .StripeElement {
    padding: 0px;
}

.single-product .blockMsg {
    border: none !important;
    background-color: transparent !important;
}

#wc-stripe-card {
    position: absolute !important;
    top: 50%;
    right: 8px;
    transform: translatey(-50%);
    width: 23px;
    height: 15px;
    padding: 0px;
    border: none;
}

#wc-stripe-card.active {
    width: 32px;
    height: 20px;
}

input[id=stripe-postal-code]:focus {
    outline: none;
    background: transparent;
    border: none;
    box-shadow: none;
}

div.postalCode:focus {
    outline: none;
    border: none;
}

li[class*="payment_method_stripe"] .select2-container .select2-selection--single {
    height: 42px;
    padding: 0 5px;
}

li[class*="payment_method_stripe"] .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 42px;
    top: 1px;
    right: 1px;
}

.blockUI.blockMsg {
    font-size: 20px;
    white-space: nowrap;
}

#wc-stripe-payment-request-container.disabled {
    opactity: 0.45;
}

.wc-stripe-paymentRequest-icons-container img {
    float: none;
}

.select2-container .select2-selection--single .wc-stripe-select2-container.wc-stripe-ach:before {
    display: none;
}

ul.wc_stripe_cart_payment_methods li.wc-stripe-payment-method button,
ul.wc_stripe_product_payment_methods li[class*=payment_method_stripe_] button,
ul.wc_stripe_checkout_banner_gateways li button {
    margin: 0;
}

ul.payment_methods li[class*=payment_method] {
    margin: 0;
    padding: 10px 0;
}

ul.payment_methods li[class*=payment_method] input[name=payment_method] {
    margin: 0 10px 0 5px;
    float: none;
}

ul.payment_methods li[class*=payment_method] > input[name=payment_method] + label {
    padding-top: 0;
    padding-right: 0;
    padding-bottom: 0;
}

ul.payment_methods {
    list-style: none;
}

ul.payment_methods li[class*=payment_method_stripe_] .wc-stripe_cc-new-method-container label:before {
    display: none;
}

.wc-stripe_cc-container .wc-stripe-save-source label.checkbox {
    padding: 0 !important;
    margin: 0px;
}

.wc-stripe_cc-container .wc-stripe-save-source .save-source-label {
    padding: 0;
    margin-bottom: 5px;
}

div[id*=wc_stripe_local_payment_stripe_].StripeElement {
    border: 1px solid #eee;
    border-radius: 4px;
}

.qrcode-message {
    margin: 10px 0 0 0;
}

#wc_stripe_local_payment_stripe_sepa,
#wc_stripe_local_payment_stripe_becs {
    padding: 10px 12px;
    box-shadow: 0 1px 3px 0 #e6ebf1;
}

.wc-stripe-local-desc.stripe_sepa,
.wc-stripe-local-desc.stripe_becs {
    margin: 10px 0;
}

.wc-stripe-clear {
    clear: both;
    height: 0;
    visibility: hidden;
}

.wc-stripe-gateway-desc p {
    margin: 0;
}

div.payment_method_stripe_cc,
div.payment_method_stripe_sepa,
div.payment_method_stripe_ideal,
div.payment_method_stripe_fpx,
#wc_stripe_local_payment_stripe_klarna,
li[class*=payment_method_stripe_] div.wc-stripe_googlepay-container.has_tokens,
li[class*=payment_method_stripe_] div.wc-stripe_applepay-container.has_tokens,
li[class*=payment_method_stripe_] div.wc-stripe_payment_request-container.has_tokens {
    margin-top: 10px;
}

.wc-stripe-gateway-desc {
    margin-top: 10px;
}

#wc-stripe-card-element.StripeElement--webkit-autofill {
    background-color: transparent !important;
}

#wc_stripe_local_payment_stripe_klarna .stripe-klarna-categories {
    list-style: none;
    margin: 0;
    padding: 10px;
}

li.payment_method_stripe_klarna,
li.payment_method_stripe_alipay,
li.payment_method_stripe_bancontact,
li.payment_method_stripe_becs,
li.payment_method_stripe_eps,
li.payment_method_stripe_fpx,
li.payment_method_stripe_giropay,
li.payment_method_stripe_ideal,
li.payment_method_stripe_multibanco,
li.payment_method_stripe_p24,
li.payment_method_stripe_sepa,
li.payment_method_stripe_sofort,
li.payment_method_stripe_wechat {
    display: none;
}

.widget_shopping_cart_content .wc-stripe-mini-cart-payment-methods{
    list-style: none;
    margin: 0;
    padding: 0;
}
.widget_shopping_cart_content .wc-stripe-mini-cart-payment-methods li{
    margin: 0;
}

.widget_shopping_cart_content a.wc-stripe-gpay-mini-cart,
.widget_shopping_cart_content a.wc-stripe-applepay-mini-cart,
.widget_shopping_cart_content a.wc-stripe-payment-request-mini-cart{
    background: transparent;
    padding: 0;
    border: none;
}
a.wc-stripe-gpay-mini-cart .gpay-button,
a.wc-stripe-applepay-mini-cart .apple-pay-button{
    width: 100%;
    margin: 0;
}
.wc-stripe-payment-request-mini-cart.StripeElement{
    padding: 0;
    background: transparent;
    border: none;
    width: 100%;
}
.wc-stripe-payment-request-mini-cart.StripeElement .__PrivateStripeElement{
    width: 100%;
}

.widget_shopping_cart_content .wc-stripe-overlay{
    display: none !important;
    position: absolute;
    background: rgba(255, 255, 255, 0.75);
    height: 100%;
    width: 100%;
    z-index: -1;
}
.widget_shopping_cart_content .wc-stripe-overlay.active{
    display: block !important;
    z-index: 9999;
}