.onestep{
    #gateway{
        #loginbutton{
            @extend .mt-3;
        }
        @extend .p-3;
        border: 1px solid $gray-300;
        border-radius: .5rem;
    }
    .vat_check{
        @extend .p-3;
        background: $gray-100;
    }
    @extend .my-5;
    .panel-heading, .control-label{
        @extend .mb-3;
    }
    .checkout-left{
        @extend .pe-lg-5;
        .panel{
            @extend .mb-5;
            .control-label{
                &.required{
                    h3:after{
                        content: "*";
                        display: inline;
                        color: $danger;
                    }
                }
            }
        }
        .form-group{
            label{
                @extend .mb-0;
                font-weight: 600;
            }
            .error-block, .errorlist li{
                display: block;
                line-height: 1.5;
                font-size: .75rem;
                margin-top: .25rem;
            }
        }
        #shipping-address-form-block, #billing-address-form-block{
            .panel-body{
                .address-block{
                    display: flex;
                    flex-wrap: wrap;
                    @extend .mt-3;
                    @include media-breakpoint-up(lg){
                        margin-left: -$spacer / 4;
                        margin-right: -$spacer / 4;
                    }
                    .form-group{
                        @extend .px-1, .mb-3, .col-12;
                        label.required{
                            &:after{
                                content: "*";
                                display: inline;
                                color: $danger;
                            }
                        }
                    }
                    .id_shipping_address_form-title, .id_billing_address_form-title{@extend .col-lg-2;}
                    .id_shipping_address_form-house_number, .id_billing_address_form-house_number,
                    .id_shipping_address_form-line4, .id_billing_address_form-line4,
                    .id_shipping_address_form-state, .id_billing_address_form-state,
                    .id_shipping_address_form-postcode, .id_billing_address_form-postcode{@extend .col-lg-4;}
                    .id_shipping_address_form-first_name, .id_billing_address_form-first_name,
                    .id_shipping_address_form-last_name, .id_billing_address_form-last_name{@extend .col-lg-5;}
                    .id_shipping_address_form-line1, .id_billing_address_form-line1{@extend .col-lg-8;}
                    .id_shipping_address_form-line2, .id_billing_address_form-line2,
                    .id_shipping_address_form-line3, .id_billing_address_form-line3,
                    .id_shipping_address_form-phone_number, 
                    .id_billing_address_form-phone_number, .id_billing_address_form-email, .id_billing_address_form-country{@extend .col-lg-12;}
                }
                & > .well{
                    .form-check{
                        label{
                            padding: 0;
                            input{
                                @extend .form-check-input;
                            }
                        }
                    }
                }
            }
        }
        .shipping-methods#shipping-method-list{
            list-style: none;
            padding: 0;
            li{
                @extend .p-3, .bg-light, .mb-3;
                display: flex;
                align-items: center;
                user-select: none;
                position: relative;
                label{
                    @extend .ms-2, .stretched-link;
                    cursor: pointer;
                }
                .shipping-label{
                    display: flex;
                    flex-direction: column;
                    .help-text{
                        @extend .text-muted;
                        font-size: .75rem;
                    }
                }
                .shipping-price{
                    margin-left: auto;
                    display: flex;
                    flex-direction: row-reverse;
                    align-items: center;
                    .price_incl_tax{
                        font-weight: 600;
                    }
                    .price_excl_tax{
                        @extend .text-muted, .me-2;
                        font-size: .75rem;
                    }
                }
            }
        }
        .payment-methods{
            label{
                @extend .py-2, .ps-3;
                width: 100%;
                display: inline-flex;
                align-items: center;
                justify-content: space-between;
                border-top: 1px solid $gray-300;
                cursor: pointer;
                user-select: none;
                &:last-child{
                    border-bottom: 1px solid $gray-300;
                }
                span.payment-image{
                    border: 1px solid $gray-300;
                    padding: 1.2rem;
                    border-radius: 5px;
                    display: block;
                    background-position: center center;
                    background-size: 70%;
                    min-width: 3rem;
                }
                .label-text{
                    display: flex;
                    align-items: center;
                    span{
                        @extend .ms-3;
                        display: block;
                        font-weight: 600;;
                    }
                }
            }
        }
    }
    .checkout-right{
        .basket-totals-outer{
            @include media-breakpoint-up(lg){
                position: sticky;
                top: $spacer;
            }
            .basket-totals-wrapper{
                @include basket-totals-wrapper;
                @extend .mb-3;
                hr{
                    background-color: $gray-500;
                }
                .basket-totals{
                    table.totals-table{
                        table-layout: fixed;
                        tr{
                            td:first-child{
                                width: 60%;
                            }
                            th.total{
                                padding-top: 0;
                            }
                        }
                        &.tax-table{
                            tr{
                                td.total, th.total{
                                    font-weight: 700;
                                    opacity: 1;
                                }
                            }
                        }
                    }
                }
                .delivery_time{
                    display: flex;
                    align-items: baseline;
                    i{
                        margin-right: .5rem;
                    }
                    p{
                        margin-bottom: 0;
                    }
                }
                .terms_block{
                    @extend .mt-3;
                }
                .voucher_form{
                    @extend .mt-3;
                }
            }
        }
        .basket-lines{
            @extend .mb-3;
            h3{
                @extend .mb-3;
            }
            .basket-line{
                @extend .mx-0, .py-3;
                &:not(:last-child){
                    border-bottom: 1px solid $gray-300;
                }
                .product-image{
                    img{
                        width: 100%;
                    }
                }
                .product-specification{
                    display: flex;
                    flex-direction: column;
                    @include media-breakpoint-down(lg){
                        justify-content: space-between;
                    }
                    .total{
                        .price_color {
                            display: flex;
                            flex-direction: row;
                            align-items: center;
                            b{
                                font-size: 1.2rem;
                            }
                            small{
                                font-size: .7rem;
                                @extend .text-muted, .ms-2;
                            }
                        }
                        .quantity{
                            @extend .text-muted, .small, .py-1;
                        }
                        .basket-line-options{
                            @extend .mb-2;
                            .basket-line-option{
                                @extend .text-muted, .small, .py-1;
                                display: block;
                            }
                        }
                    }
                }
                .item-description{
                    p{
                        margin-bottom: 0;
                    }
                    .product-link{
                        @extend .text-dark;
                        &:not(:hover){
                            text-decoration: unset;
                        }
                    }
                }
            }
        }
        .checkout_button{
            button{
                @extend .mb-3;
                display: block;
                width: 100%;
            }
        }
    }
}

.errorlist{
    @extend .alert, .alert-danger;
    font-size: $font-size-sm;
}