.nw-block-components-form .nw-block-components-checkout-step {
    background: none;
    border: none;
    margin: 0;
    padding: 0 0 0 36px;
    position: relative;
}
.nw-block-components-title.nw-block-components-checkout-step__title {
    position: relative;
}
body {
    counter-reset: checkout-step;
}
form.checkout fieldset {
    margin-bottom: 30px;
}
form.checkout .smaller {
    font-size: 16px;
    line-height: 20px;
}
.nw-block-components-form .nw-block-components-text-input,
.nw-block-components-text-input {
    margin-top: 0;
    position: relative;
    white-space: nowrap
}
.nw-block-components-form .nw-block-components-text-input label,
.nw-block-components-text-input label {
    color: inherit;
    cursor: text;
    font-family: inherit;
    font-size: inherit;
    font-style: inherit;
    font-weight: inherit;
    letter-spacing: inherit;
    line-height: inherit;
    margin: 0;
    max-width: calc(100% - 32px);
    overflow: hidden;
    position: absolute;
    text-decoration: inherit;
    text-overflow: ellipsis;
    text-transform: inherit;
    top: 0;
    transform: translateY(15px);
    transform-origin: top left;
    transition: all .2s ease;
    left: 18px !important;
}
.nw-block-woocommerce-checkout input[type="email"],
.nw-block-woocommerce-checkout input[type="number"],
.nw-block-woocommerce-checkout input[type="password"],
.nw-block-woocommerce-checkout input[type="search"],
.nw-block-woocommerce-checkout input[type="tel"],
.nw-block-woocommerce-checkout input[type="text"],
.nw-block-woocommerce-checkout input[type="url"],
textarea {
    border-radius: 0!important;
    font-family: 'futura-pt', sans-serif!important;
    font-size: 18px!important;
    line-height: 24px!important;
    color: #2A2A2A!important;
    padding: 21px 17px 6px!important;
    box-shadow: none!important;
}
.nw-block-components-combobox .nw-block-components-combobox-control label.components-base-control__label,
.nw-block-components-form .nw-block-components-combobox .nw-block-components-combobox-control label.components-base-control__label,
.nw-block-components-form .nw-block-components-text-input label,
.nw-block-components-text-input label {
    left: 18px!important;
}
.nw-block-components-combobox.is-active .nw-block-components-combobox-control label.components-base-control__label,
.nw-block-components-combobox:focus-within .nw-block-components-combobox-control label.components-base-control__label,
.nw-block-components-form .nw-block-components-combobox.is-active .nw-block-components-combobox-control label.components-base-control__label,
.nw-block-components-form .nw-block-components-combobox:focus-within .nw-block-components-combobox-control label.components-base-control__label,
.nw-block-components-form .nw-block-components-text-input input:autofill + label,
.nw-block-components-form .nw-block-components-text-input.is-active label,
.nw-block-components-text-input input:autofill + label,
.nw-block-components-text-input.is-active label{
    transform: translateY(.3em) scale(0.8)!important;
}
.woocommerce form .form-row-first,
.woocommerce form .form-row-last,
.woocommerce-page form .form-row-first,
.woocommerce-page form .form-row-last {
    width: 49%;
}
.nw-block-components-checkout-step--with-step-number .nw-block-components-checkout-step__title::before {
    background: transparent;
    border: 0;
    border-radius: 0;
    content: " " counter(checkout-step) ".";
    content: " " counter(checkout-step) "."/"";
    counter-increment: checkout-step;
    left: -24px;
    margin: 0;
    padding: 0;
    position: absolute;
    text-align: center;
    top: 0;
    transform: translateX(-50%);
    vertical-align: baseline;
    white-space: nowrap;
}
.nw-block-components-checkout-step__container {
    position: relative;
}
.nw-block-components-checkout-step--with-step-number .nw-block-components-checkout-step__container:after,
.nw-block-components-checkout-step--with-step-number .nw-block-components-checkout-step__container:after {
    border-left: 1px solid hsla(0,0%,7%,.11);
    content: "";
    height: 100%;
    left: -24px;
    position: absolute;
    top: 0;
}

.nw-block-components-address-address-wrapper:not(.editing) .nw-block-components-address-form-wrapper {
    height: 0;
    opacity: 0;
    visibility: hidden;
    overflow: hidden;
}
.nw-block-components-address-address-wrapper.editing .nw-block-components-address-card-wrapper {
    height: 0;
    opacity: 0;
    visibility: hidden;
}
.nw-block-components-address-card {
    padding: 10px;
    border: 1px solid #DCDCDC;
    display: flex;
    margin-bottom: 20px;
}
.nw-block-components-address-card a.nw-block-components-address-card__edit {
    margin-left: auto;
}

#billing-fields.hidden,
.nw-block-components-address-form__billing_email {
    height: 0;
    opacity: 0;
    visibility: hidden;
    margin-bottom: 0;
}

/*** Payment block ***/
#add_payment_method #payment,
.woocommerce-cart #payment,
.woocommerce-checkout #payment {
    background: transparent;
    padding: 0;
}
.woocommerce-checkout #payment .nw-block-components-radio-control-accordion-option {
    border: 1px solid #DCDCDC;
    padding: 15px 15px 15px 60px;
    position: relative;
}
.woocommerce-checkout #payment .nw-block-components-radio-control-accordion-option label.nw-block-components-radio-control__option {
    width: 100%;
}

.nw-block-components-radio-control-accordion-option__item > *
/*#shipping_option_container*/
{
    border: 1px solid #DCDCDC;
    border-bottom: none;
}
.nw-block-components-radio-control .nw-block-components-radio-control-accordion-option__item:last-of-type > label:not(.nw-block-components-radio-control__option_checked){
    border-bottom:  1px solid #DCDCDC;
}
.woocommerce-checkout .nw-block-components-checkout-step__container #payment ul.payment_methods{
    border-bottom: none;
}
.nw-block-components-radio-control.nw-block-components-radio-control__option_checked,
.nw-block-components-radio-control-accordion-option__item.nw-block-components-radio-control__option_checked,
#shipping_option_container.nw-block-components-radio-control__option_checked {
    border:none;
    box-shadow: inset 0 0 0 2px currentColor;
}
.nw-block-components-radio-control__option {
    width: 100%;
    color: inherit;
    cursor: pointer;
    display: block;
    font-family: inherit;
    font-size: inherit;
    font-style: inherit;
    font-weight: inherit;
    letter-spacing: inherit;
    line-height: inherit;
    position: relative;
    text-decoration: inherit;
    text-transform: inherit;
    padding: 16px 10px 16px 60px;
    margin-bottom: 0;
}
.nw-block-components-radio-control__option.nw-block-components-radio-control__option_checked {
    border: 1px solid black;
    box-shadow: inset 0 0 0 1px black;
}


.nw-block-components-radio-control-accordion-option .nw-block-components-radio-control__input,
.nw-block-components-radio-control .nw-block-components-radio-control__input,
.nw-block-components-radio-control__option .nw-block-components-radio-control__input {
    -moz-appearance: none;
    appearance: none;
    background: #fff;
    border: 1px solid rgba(25,23,17,.48);
    border-radius: 50%;
    cursor: pointer;
    display: inline-block;
    height: 1.5em;
    left: 16px;
    margin: inherit;
    margin-bottom: inherit;
    margin-top: -1px;
    min-height: 24px;
    min-width: 24px;
    position: absolute;
    /*top: 50%;*/
    /*transform: translateY(-45%);*/
    width: 1.5em;
    z-index: -1;
}
.nw-block-components-radio-control-accordion-option .nw-block-components-radio-control__input:checked::before,
.nw-block-components-radio-control .nw-block-components-radio-control__input:checked::before,
.nw-block-components-radio-control__option .nw-block-components-radio-control__input:checked::before {
    background: #000;
    border-radius: 50%;
    content: "";
    display: block;
    height: .75em;
    left: 50%;
    margin: 0;
    min-height: 12px;
    min-width: 12px;
    position: absolute;
    top: 50%;
    transform: translate(-50%,-50%);
    width: .75em;
}

span.nw-block-components-radio-control__secondary-label {
    float: right;
}

.nw-block-components-radio-control__label-group img {
    max-width: 100px;
}

.nw-block-components-radio-control-accordion-content {
    height: 0;
    visibility: hidden;
}
.nw-block-components-radio-control-accordion-option .nw-block-components-radio-control__input:checked {

}

#payment .nw-block-components-radio-control__option_checked .nw-block-components-radio-control-accordion-content,
#shipping-option .nw-block-components-radio-control__option_checked .nw-block-components-radio-control-accordion-content {
    height: auto;
    visibility: visible;
}
#payment .nw-block-components-radio-control__option_checked .nw-block-components-radio-control-accordion-content p,
#shipping-option .nw-block-components-radio-control__option_checked .nw-block-components-radio-control-accordion-content p {
    padding-top:10px;
}
#payment .nw-block-components-radio-control__option_checked .nw-block-components-radio-control-accordion-content p:last-of-type,
#shipping-option .nw-block-components-radio-control__option_checked .nw-block-components-radio-control-accordion-content p:last-of-type {
    margin-bottom:0;
}
.nw-block-components-radio-control__option_checked .nw-block-components-radio-control__label{
    font-weight: 500;
}



/*** Checkout summary ***/
.checkout-summary-overview span.product-qty,
.checkout-summary-overview span.product-price {
    font-size: 14px;
    line-height: 22px;
    display: block;
}
.nw-block-woocommerce-checkout .checkout-summary-overview .cart-summary-row .woocommerce-Price-amount,
.checkout-summary-overview .product-subtotal .woocommerce-Price-amount {
    font-weight: 600;
}
.cart-summary-row {
    padding: 20px 0;
    border-bottom: 1px solid #DCDCDC;
}
.cart-summary-row:last-of-type {
    border-bottom: none;
}

.woocommerce-checkout #payment div.form-row {
    padding: 0;
}

.woocommerce #payment #place_order, .woocommerce-page #payment #place_order{
    text-align: center;
    cursor: pointer;
    letter-spacing: 0px;
    opacity: 1;
    display: inline-block;
    padding: 18px 24px;
    text-decoration: none !important;
    background-color: var(--brand-blue);
    font-family: 'futura-pt', sans-serif;
    font-size: 1.25rem;
    line-height: 20px;
    color: #fff !important;
    font-weight: 500;
    border: none;
    -webkit-box-shadow: none;
    box-shadow: none;
}
.woocommerce #payment #place_order:hover,
.woocommerce #payment #place_order:focus,
.woocommerce #payment #place_order:active{
    background-color: var(--brand-grey);
    color: #fff;
}
.woocommerce .cart-collaterals {
    border: none;
    padding: 0 0 1.25rem 0;
}
.container.nw-checkout-container{
    padding-right: 0 !important;
    padding-left:0 !important;
}
.container.nw-checkout-container .checkout-form-container{
    padding-left:36px !important;
}
@media(max-width: 575.98px) {
    .container.nw-checkout-container .checkout-form-container{
        padding-left:0 !important;
    }
    .nw-block-components-checkout-step--with-step-number .nw-block-components-checkout-step__title::before{
        position: static;
        margin-right: 8px;
    }
    .nw-block-components-checkout-step--with-step-number .nw-block-components-checkout-step__container:after, .nw-block-components-checkout-step--with-step-number .nw-block-components-checkout-step__container:after {
        display: none;
    }
}
.nw-checkout-container .checkout-summary-overview .woocommerce-cart-form__cart-item{
    padding-bottom: 0;
    margin-bottom: 0;
}
.nw-checkout-container .checkout-summary-overview .product-subtotal{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
}
.nw-checkout-container .checkout-summary-overview .cart-summary-row .includes_tax,
.nw-checkout-container .checkout-summary-overview .cart-summary-row .tax_label{
    display: block;
    font-weight: 400;
}
.nw-checkout-container .checkout-summary-overview .cart-summary-row .product-name .woocommerce-Price-amount,
.nw-checkout-container .checkout-summary-overview .cart-summary-row .includes_tax .woocommerce-Price-amount,
.nw-checkout-container .checkout-summary-overview .cart-summary-row .tax_label .woocommerce-Price-amount{
    font-weight: 400;
}
.nw-checkout-container .cart-summary-row.order-total .col-6:first-of-type{
    font-weight: 600;
}
.nw-checkout-container .cart-summary-row.order-total .woocommerce-Price-amount bdi{
    font-size:20px;
}
#nw-block-components-totals-coupon-form .woocommerce-form-coupon{
    border:none;
    padding:0;
    display: block !important;
}
#nw-block-components-totals-coupon-form input{
    padding: 11px 6px !important;
}
#nw-block-components-totals-coupon-form .form-row.form-row-last{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}
a.nw-collapse-order-summary-button{
    padding-top:20px;
    border-top: 1px solid #DCDCDC;

}
a.nw-collapse-order-summary-button h5{
    margin-bottom: 0;
}
a.nw-collapse-order-summary-button,
a.nw-collapse-order-summary-button:hover{
    text-decoration: none;
}
a.nw-collapse-order-summary-button svg{
    transform: rotateX(0deg);
    transition: all .2s ease;
}
a.nw-collapse-order-summary-button.collapsed svg{
    transform: rotateX(180deg);
    transition: all .2s ease;
}
a.nw-collapse-order-summary-button.collapsed + .cart-summary-row{
    padding-bottom: 0;
    transition: all .2s ease;
}
#main-content .woocommerce-terms-and-conditions-wrapper .woocommerce-form__label .woocommerce-form__input{
    margin-bottom: 4px;
    margin-right: 0;
}

/* style for: Legacy checkout experience */
.woocommerce-checkout #payment ul.payment_methods .stripe-card-group,
.woocommerce-checkout #payment ul.payment_methods .wc-stripe-elements-field,
.woocommerce-checkout #payment ul.payment_methods .wc-stripe-iban-element-field{
    width: 100%;
}
.woocommerce-checkout #payment ul.payment_methods .nw-block-components-radio-control-accordion-option__item > label{
    padding: 16px;
}