:root {
    --inputHeight: 70px;
    --formWidth: calc( ( (1140px - var(
    --carInfoWidth) ) - 0rem) / 2  - 1.5rem);
    --carInfoWidth:320px;
    --formWidthNp: calc( ( (1140px - var(
    --carInfoWidth) ) - 0rem) / 2  - 2.5rem);
}
.payment_section{
    padding: 2rem 0;
}
.payment_widgets_row{display: flex;align-items: flex-start;}
.payment_widget{
    width: calc((1140px - var(--carInfoWidth) ) - 1.5rem);
    border: 1px solid #f4f4f4;
    padding: 1rem .5rem;
    margin-right: 2rem;
    border-radius: 6px;
}
.payment_widget_summary .payment_widget_title{border:none;margin-bottom: 0;width: 100%;}

.payment_widget_title{
    margin-bottom: 1rem;
    font-size: 1rem;
    font-weight: 550;
    color: #444343;
    padding-bottom: .6rem;
    padding-left: .5rem;
    width: calc((1140px - var(--carInfoWidth) ) - 3.2rem);
}

.payment_forms{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    width: 100%;
    margin: auto;
}
.invoice_type input{
    width: auto;
    height: auto !important;
    outline: none !important;
    appearance: auto;
    margin-right: .5rem;
}
.payment_forms > .form-group{
    position: relative;
    margin-bottom: 1.5rem;
    display: flex;
    flex-direction: column;
    height: var(--inputHeight);
    width: var(--formWidth);
    padding: 0 .5rem;
}
.phone_group_row{
    height: var(--inputHeight);
    width: var(--formWidth);
    display: flex;
    padding: 0 .5rem;
    flex-direction: column;
}
.phone_group_row .form-group:last-child{width: 100%;flex: 0 0 auto;position: static;padding-left: 62px;outline: none;box-shadow: none !important;}
.phone_group_row .form-group{
    /* width: 100%; */
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
}

.payment_forms .form-group input{
    border-radius: 6px;
    height: 42px !important;
    font-size: .875rem;
}
.payment_forms .form-group.error label{
    color: rgb(225, 36, 36);
}
.payment_forms select{font-size: .875rem;color:#666666}
.payment_forms .label_effect{
    background-color: transparent;
    border-radius: 4px;
    display: inline-flex;
    letter-spacing: 0px;
    transition-duration: 0.1s, 0.1s;
    transition-property: opacity, top;
    position: absolute;
    font-size: .875rem;
    top: 34%;
    left: 12px;
    padding: 0px;
    color: #666666;
    padding-left: 1rem;
    cursor: text;
}
.payment_forms label{
    color: #666666;
    font-size: .875rem;
    margin-bottom: .5rem;
}
.phone_group_row > .phone_group_row_border > .form-group > input{
    border: none;
    background: none;
}
.phone_group_row_border{
    border: 1px solid #ced4da;
    border-radius: 6px;
    height: 50px;
    position: relative;
    display: flex;
    width: 100%;
}
.phone_group_row .ui.fluid.dropdown2{border:none;height: 100%;background: none;width: 100%;}
.phone_group_row > .phone_group_row_border > .form-group > label{
    padding-left: 0;
    font-size: .875rem !important;
    left: calc(40px + 12px) !important;
}
.phone_group_row > .phone_group_row_border > .form-group > input[data-type=phone]{width:100%;outline: none !important;box-shadow: none !important;}
.phone_group_row > .phone_group_row_border > .form-group > input{
    font-size: .875rem !important;
    padding-left: 0;
}

.birthdate_groups{
    position: relative;
    margin-bottom: 2rem;
    display: flex;
    flex-direction: row;
    height: 70px;
    width: var(--formWidth);
    padding: 0 0.5rem;
    flex-wrap: wrap;
}
.birthdate_groups{padding-top: 0;}
.birthdate_group{
    display: flex;
    width: 100%;
}
.birthdate_groups label{
    color: #666666;
    font-size: .875rem;
    display: none;
}
.birthdate_groups .birthdate_form label::after{
    content:"\f078";
    font-family:"Font Awesome 5 Pro";
    font-weight:300;
    margin-left: .5rem;
    position: absolute;
    right: 16px;
}

.birthdate_form{width:33.333%;padding: 0 .8rem;border-right: 1px solid #dedede;display: flex;align-items: center;height: 48px;position: relative;}
.birthdate_groups .label_effect{
    position: static;
    padding-left: 0;
    top: 0px;
    background: white;
    padding: 0 4px;
    left: 18px;
    font-size: .8rem;
    font-size: .875rem;
    padding: 0;
    margin: 0;
}
.birthdate_groups select{
    border: none;
    background: none;
    opacity: 0;
}
.birthdate_form:last-child{border-right:none}
.birthdate_group_border{
    border: 1px solid #ced4da;
    border-radius: 6px;
    width: 100%;
    margin-top:.5rem;
}

.select2-container .select2-selection--single .select2-selection__rendered{
    color:#666666 !important;
    font-weight: 400 !important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow b{
    font-weight:350 !important;
    color:#666666 !important;
}
.select2-container--default .select2-selection--single .select2-selection__arrow{
    top: 5px;
}

.birth_day_empty{display:none}
.select2-container{min-width: calc(var(--formWidth) / 3 - .4rem) !important;margin-top: 12px;padding-left: 13px;margin-left: -10px;}
.select2-dropdown{min-width: calc(var(--formWidth) / 3 - .4rem) !important;border: none;box-shadow: rgba(0, 0, 0, 0.12) 0px 1px 10px 0px;}
.car_search_fields .select2-container{width:100% !important;margin-top: 0;}
.select2-search--dropdown{display:none}
.select2-results__option{
    height: 40px;
    color: rgb(63 70 69);
    font-size: .8rem !important;
    padding: 13px 8px !important;
}
.select2-results__option:before{display:none}
.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable:hover,.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable{
    background: rgb(240 240 240) !important;
    color: rgb(63 70 69);
}
.select2-results__option:hover{
    background: rgb(240 240 240) !important;
}
.payment_widget_summary{width: 360px;min-width: 360px;position: sticky;top: 0;/* box-shadow: 0px 3px 22px rgba(0, 0, 0, 0.13); */border: 1px solid #dedede;}


.car_search_fields .select2-container .select2-selection--single .select2-selection__rendered{font-weight:600 !important;
    color: #232B33 !important;}

.vehicle_summary .location_pickup_form_group{
    min-width: 25% !important;
    padding-right: 0 !important;
}

.vehicle_summary .location_pickup_form_group .form_group_inputs{width:100% !important;max-width: 100% !important;}
.vehicle_summary .car_search_fields{padding:0 1rem;}

.birthdate_form .select2-container--default .select2-selection--single .select2-selection__arrow{
    right: 10px;
}
.payment_car_name{font-size: 1.1rem;font-weight: 650;line-height: normal;padding-left: .5rem;color: #262b3f;}

.car_informations{
    padding: 0;
    height: auto;
    display: flex;
    flex-direction: column;
    align-content: flex-end;
    padding-top: 2.5rem;
    width: 100%;
    justify-content: center;
    align-items: center;
}
.car_information{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    padding: 0 1.2rem;
    justify-content: flex-start;
    align-items: flex-end;
    margin: auto;
    width: 100%;
    background: #eeeeee78;
    border-radius: 4px;
}
.car_information_item:nth-child(1),.car_information_item:nth-child(2){}
.car_information_item{
    width: 33.333333%;
    padding: 1rem 0;
    display: flex;
    align-items: flex-start;
    font-weight: 550;
    color: #262b3f;
    font-size: .8rem;
    justify-content: flex-start;
    border: none;
    display: flex;
}
.car_information_item img{
    height: 19px;
    margin-right: .5rem;
    display: flex;
}
.car_promo_box_head_start{
    display: flex;
    width: 55%;
}
.car_information_item span{
    /* min-width: 90px; */
}
.car_promo_box_img{}
.car_promo_box_img img{
    height: 130px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: auto;
    object-fit: contain;
    padding: .5rem;
}

.car_information_item:nth-child(2n){
}
.payment_car_img{
    margin-top: 1.5rem;
}
.payment_car_img img{
    height: 100px;
    margin: auto;
    display: flex;
}
.checkbox_label{
    display: flex;
    flex-direction: row-reverse;
    top: 0;
}
.tc_group{}

div.not_tc{
    display: flex;
    position: absolute;
    right: 15px;
    top: 26px;
    font-size: .82rem;
    padding-right: 1rem;
    height: 48px;
}
.checkbox_label input{
    position: static;
    visibility: visible;
    width: auto;
    margin-right: .5rem;
}
.payment_widgets_start{
    padding-right: 2rem;
}
.mt-6{margin-top:2rem}
.select2_modern{
    border: 1px solid #dedede;
    border-radius: 6px;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-right: 0;
}
.invoice_type{
    display: flex;
    width: 100% !important;
    flex-direction: row !important;
    height: auto;
    flex-direction: column !important;
    margin-bottom: .5rem !important;
}

.invoice_type .form-check{
    display: flex;
    align-items: center;
    flex-direction: row-reverse;
}
.invoice_type label{
    position: static !important;
    padding: 0 !important;
    display: flex;
    line-height: normal !important;
    font-size: .85rem;
    color: #646464;
}
.invoice_type .form-check label{
    font-size: .875rem;
    margin-right: .5rem;
}

.select2_modern .select2-container{
    height: auto;
    margin: 0;
    padding-left: 0;
}
.select2_modern .select2-container .select2-selection--single{padding:0 1rem}


.select2_modern .select2-container--default .select2-selection--single .select2-selection__arrow{
    right: 11px;
}
w-full2{}

.ui.selection.active.dropdown2 .menu{
    min-width: var(--formWidthNp);
}

.label_effect_group.focused .label_effect{
    top: -4px;
    background: white;
    padding: 0 14px;
}

.label_effect_group input{box-shadow:none !important}
.car_information_item_end{
    display: flex;
    width: 100%;
    padding: 0 1.2rem;
    margin-top: .2rem;
    background: #eeeeee78;
    border-radius: 4px;
}
.car_information_item_end .car_information_item{
    width: 100%;
    align-items: center;
}

.car_information_locations{
    display: flex;
    width: 100%;
    flex-direction: column;
    padding-top: 1rem;
}
.car_information_location{
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    padding: 0 1.2rem;
    padding-top: 0.5rem;
    margin-bottom: 1rem;
    color: #363636;
    border-left: 1px;
    border-left-style: dashed;
    padding-left: 1rem;
    margin-left: 1rem;
    border-color: #aaa;
}
.location_title{font-weight: 550;font-size: .875rem;}
.pickup_date{
    margin-top: .25rem;
    font-size: .875rem;
}
.payment_final{
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding: 0;
    width: 100%;
}
.payment_final button{
    background: #44c127 !important;
    border-color: #44c127 !important;
    font-size: .875rem;
    padding: .85rem 1rem;
    border-radius: 17px;
    width: 100%;
}

.payment_final button i{}
.custom_switch{
    display: flex !important;
    flex-direction: row !important;
    position: relative !important;
    display: flex;
    min-height: 51px;
    padding: 1rem 0 !important;
    padding-left: 5rem !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    align-items: center;
    height: 52px;
    width: 50% !important;
}
.custom_switch input[type=checkbox]{padding: 0;position: absolute;z-index: -1;opacity: 0;height: auto !important;border-radius: 0;}
.custom_switch label{
    position: relative;
    margin-bottom: 0;
    vertical-align: top;
    display: flex;
    flex-direction: column;
}

.custom_switch label::before {
    content:'';
    left: -4.5rem;
    width: 4rem;
    pointer-events: all;
    border-radius: 0.6565rem;
    height: 1.875rem;
    border: none;
    background-color: #e7eaf3;
    border-radius: 6.1875rem;
    transition: background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
    position: absolute;
    top: calc( 50% - calc(1.875rem / 2) );
}

.custom_switch label::after {
    content:'';
    display:block;
    background: no-repeat 50%/50% 50%;
    width: 1.25rem;
    height: 1.25rem;
    background-color: #ebf0f7;
    border-radius: 0.6565rem;
    transition: background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out;
    transition: transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
    transition: transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out;
    top: calc( 50% - calc(1.28rem / 2) );
    left: calc(-4.22rem);
    background-color: #fff;
    position: absolute;
}
.custom_switch input:checked{}
.custom_switch input:checked~ label::before {
    color: #fff;
    border-color: #282828;
    background-color: #282828;
}

.custom_switch input:checked~.label::before, .custom_switch input:focus~.label::before, .custom_switch input:active~label::before {
    box-shadow: 0 0 0 0 transparent;
}
.custom_switch input:checked~label::after {
    background-color: #fff;
    -webkit-transform: translateX(2.687rem);
    transform:translateX(2.187rem) ;
}
.custom_switch .product_title{
    margin-bottom: .25rem;
    font-size: .9rem;
    font-weight: 500;
}
.custom_switch .product_desc{
    font-size: .75rem;
    color: #8b8b8b;
    width: 90%;
    line-height: 15px;
    margin-top: .2rem;
}

.product_title .badge{
    background: #2f3035;
    color: white;
    padding: .3rem .5rem;
    font-size: .75rem;
    font-weight: 550;
}
.product_forms{flex-direction: row;}
.product_forms .custom_switch{}
.price_span b{font-weight:450}
.w-full2{width: 99% !important;min-height: 100px;}
.price_span{
    margin-top: 0.25rem;
    font-size: .875rem;
    padding: .25rem 0;
    color: #585858;
}
.car_price_box{
    display: flex;
    border-radius: 4px;
    flex-direction: column;
    border: 1px solid #dedede;
    width: 92%;
    margin: auto;
    padding: .5rem 1rem;
}
.car_price_box_title{
    font-weight: 600;
    color: #4c4c4c;
    margin-top: .5rem;
    border-bottom: 1px solid #dedede;
    padding-bottom: .7rem;
}
.car_price_col{
    padding: 1rem;
    background: #adbbc757;
    display: flex;
    align-items: center;
    font-size: .9rem;
    border-radius: 6px;
    margin-top: 1rem;
}

.car_price_col b{
    margin-left: .25rem;
}

.card_groups{
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
}
.card_groups_label{
    font-size: .875rem;
    color: #666666;
    margin-bottom: .2rem;
}
.card_select{
    display: flex;
    padding: 0 .25rem;
    width: 50%;
}
.card_group{
    display: flex;
    width: 100%;
    flex-direction: row;
    flex-wrap: wrap;
    margin-bottom: 1rem;
    padding-right: 0;
    margin-left: -15px;
}
.card_group .form-group{
    width: 33.3333%;
    padding: 0 .5rem;
    position: relative;
}
.cvv_group{
    width: 25% !important;
}

.card_group .form-group{
    width: auto !important;
    flex: 1 1 auto !important;
}

@media(max-width:768px){
    div.not_tc{height:31px}
    .payment_widgets_start{padding-right:0;width: 100%;}
    .vehicle_steps_wrapper{z-index: 2;position: relative}
    .payment_widgets_row{
        flex-direction: column;
        padding: 0 15px;
        margin: 0;
    }
    .payment_widget_summary{
        min-width: inherit;
    }
    .payment_section{padding-top:0rem !important}
    .vehicle_steps ul li a{
        display: flex;
        justify-content: center !important;
        align-items: center;
        font-size: .7rem !important;
    }
    .vehicle_steps ul li{
        padding: 0 .25rem !important;
    }
    .payment_widget_title,.payment_widget{width:100% !important}

    .cvv_group{
        margin-top: 1rem !important;
    }
    :root {
        --inputHeight: 50px;
        --formWidth: 100% !important;
        --carInfoWidth: 100% !important;
        --formWidthNp: 100% !important;
    }
    .payment_forms .form-group:last-child{
        margin-bottom: 0;
        padding-bottom: 0;
    }
    .phone_group_row{margin-bottom:1.5rem;width: 100% !important;}
    .payment_forms > .form-group{
        width: 100% !important;
        /* height: auto; */
    }
    .credit_card_view{width:100%;min-height: 150px !important;}
    .credit_card_view_wrapper,.credit_card_form{width:100% !important}
    .payment_forms{
        flex-direction: column !important;
    }
}
.invoice_type_row{
    display: flex;
}
.selectH{height:50px !important;}
.payment_widget_card{/* box-shadow: 0px 3px 22px rgba(0, 0, 0, 0.13); */padding: 1rem 0;margin-bottom: 2rem;border-radius: 6px;}

.invoice_type .form-check:first-child{
    padding-left: 0;
}

.card_select select{height: 43px;}
.credit_card_view{
    transition: .3s ease-in;
    margin: 10px 0;
    padding: 10px;
    min-height: 110px;
    border-radius: 6px;
    position: relative;
    border: solid 1px #e6e6e6;
    box-sizing: border-box;
    background-image: linear-gradient(to bottom,#fefdfd,#fcfbfa);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-width: 270px;
    height: 100%;
    margin-bottom: 2rem;
}
.credit_card_top{
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.credit_card_bank_logo{}
.credit_card_type{}
.credit_card_number{
    font-size: .85rem;
}
.credit_card_month{
    font-size: .85rem;
}
.credit_card_form{
    width: 60%;
    justify-content: center;
    align-items: center;
    display: flex;
    flex-direction: row;
    margin: auto;
    flex-wrap: wrap;
    margin: 0;
    margin-bottom: 1rem;
}
.credit_card_view_wrapper{
    width: 40%;
    display: flex;
    justify-content: center;
}

.credit_card_bottom{
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-end;
    padding-bottom: 5px;
    line-height: normal;
    font-size: .85rem;
    color: #3d3d3d;
    font-weight: 450;
}
.credit_card_forms{
    flex-direction: row;
}

.credit_card_form > .form-group{
    width: 50%;
}
.payment_header{}
.payment_header .main_header{
    box-shadow: none !important;
    border-bottom: 1px solid #dedede;
    height: 60px;
}
.vehicle_steps_wrapper{
    padding: 1rem 0;
    margin-top: 1rem;
    position: relative;
    z-index: 2;
}

.payment_header .main_header .logo img{
    height: 28px;
}
.vehicle_steps_divider.success{
    background: #2dc44d;

}
.vehicle_steps_divider.active{
    background: #ccd1d3;
}
.vehicle_steps_divider{
    background: #ccd1d3;
    content: "";
    display: block;
    height: 2px;
    left: 20%;
    position: absolute;
    top: 50%;
    width: 100%;
    z-index: -1;
}

.vehicle_steps ul li a{
    z-index: 9;
    width: 80%;
}
.vehicle_steps ul li:first-child{padding-left:0}
.vehicle_steps ul li:last-child .vehicle_steps_divider{width: 80%;left: 10%;}

.vehicle_steps ul li:first-child a{
    margin-left: 0;
}
.coupon_code_wrapper{margin-top: 1rem;display: flex;}
[data-alert='coupon']{
    margin-top: 1rem;
    font-size: .8rem;
    line-height: normal;
    font-weight: 450;
}

.coupon_code_wrapper input{
    margin-right: .5rem;
    font-size: .875rem;
}
.coupon_code_wrapper button.btn-danger{
    background:#cf1717;
    border-color:#cf1717
}

.coupon_code_wrapper button.btn-success{
    background: #44c127;
    border-color: #44c127;
}
.alert_message{}

[data-alert='coupon'] button{
    background: none;
    border: none;
    font-size: 1.25rem;
    font-weight: 550;
    position: absolute;
    right: 7px;
    top: 1px;
    color: #cf1717;
}

[data-alert='coupon'].alert-success button{
    color:#44c127 !important;
}

.strikeThrough{text-decoration: line-through;}

.car_price_col[data-discount-price-group]{
    display:block;
    background: #53b88f;
    color: white;
}

.payment_share{
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.reservation_cancel_btn{}
.reservation_cancel_btn button{
    font-size: .875rem;
    font-weight: 450;
    display: flex;
    justify-content: center;
    align-items: center;
}
.reservation_cancel_btn button i{
    margin-right: .5rem;
}

.payment_share_btn{}
.payment_share_btn a{
    display: flex;
    background: #eee;
    padding: .5rem;
    border-radius: 6px;
    font-size: .875rem;
    font-weight: 450;
    color: #444444;
}
.payment_share_btn a i{margin-right:.5rem}
.reservationCancelModal{}
.reservationCancelModal .modal-header .modal-title{font-weight:700}
.reservationCancelModal .modal-footer button{
    font-size: .8rem;
    border: none;
    font-weight: 400;
}
.reservationCancelModal .form-group{}

.reservationCancelModal .form-group label{font-weight:450}
.reservationCancelModal .form-group label,.reservationCancelModal .form-group select,.reservationCancelModal .form-group textarea{font-size:.875rem}
.reservationCancelModal .form-group textarea{outline:none;box-shadow:none}


.money_points_wrapper{flex-direction: column;margin-bottom: 1rem;padding: 1rem;background: #e0e9de;display: flex;align-items: flex-start;font-size: .9rem;border-radius: 6px;margin-top: 1rem;justify-content: start;text-align: left;}
.money_points{padding: 0;font-size: .875rem;display: flex;}
.money_points_title{
}
.money_points_price{
    font-weight: 600;
    margin-left: .5rem;
}
[data-action='point_submit'].btn-success{
    border-color: #44c127;
    background: white;
    color: #44c127;
}

[data-action='point_submit'].btn-danger{
    border-color: #cf1717;
    background: white;
    color: #cf1717;
}

[data-action='point_submit']{

    font-weight: 600;
    font-size: .9rem;
    width: 100%;
    border-radius: 6px;
}
