#main{
    display:flex;
    justify-content: space-between;
    margin-bottom:100px;
}

#main .order_form{
    width:700px;
}

#main .order_form .item{

}

#main .order_form .item .header{
    position: relative;
    display:flex;
    height:80px;
    background: #F4F5F7;
    font-family: EBGaramond;
    font-style: normal;
    font-weight: 500;
    font-size: 32px;
    line-height: 80px;
    letter-spacing: 0.02em;
    color: #ACACAC;
}

#main .order_form .item .active{
    color: #124945;
}

#main .order_form .item .header span:first-child{
    width:76px;
    text-align: center;
}

#main .order_form .item .header span:nth-child(3){
    position:absolute;
    right:40px;
    top:0;
}

#main .order_form .item .header span:nth-child(3) button{
    font-family: Montserrat;
    font-style: normal;
    font-weight: normal;
    font-size: 14px;
    line-height: 80px;
    color: #124945;
    text-decoration: underline;
    cursor:pointer;
    padding:0;
    border:0;
    background: rgba(0, 0, 0, 0);
}

#main .order_form .item .body_container{
    display:flex;
    flex-direction: column;
    padding:40px 46px 48px 76px;
}

#main .order_form .item .body_container .input_text, #main .order_form .item .body_container .input_textarea{
    position:relative;
    display:block;
}

#main .order_form .item .body_container .input_textarea{
    margin:22px 0 12px;
}

#main .order_form .item .body_container .input_text span, #main .order_form .item .body_container .input_textarea span{
    position:absolute;
    left:7px;
    top:-7px;
    background:#fff;
    font-family: MontserratBold;
    font-style: normal;
    font-weight: bold;
    font-size: 12px;
    line-height: 15px;
    color: #124945;
    padding:0 4px;
}

#main .order_form .item .body_container input[type="text"], #main .order_form .item .body_container input[type="date"]{
    background: #FFFFFF;
    border: 1px solid #E8E8E8;
    height: 48px;
    padding:0 12px;
    font-family: Montserrat;
    font-style: normal;
    font-weight: normal;
    font-size: 16px;
    color: #333;
}

#main .order_form .item .body_container textarea{
    background: #FFFFFF;
    border: 1px solid #E8E8E8;
    height: 72px;
    width:100%;
    padding:12px;
    font-family: Montserrat;
    font-style: normal;
    font-weight: normal;
    font-size: 16px;
    color: #333;
}

#main .order_form .item .body_container .from{
    display:flex;
    justify-content: space-between;
    margin-bottom:24px;
}

#main .order_form .item .body_container .input_checkbox{
    display:flex;
    cursor:pointer;
    margin-top:22px;
    margin-bottom:4px;
}

#main .order_form .item .body_container .input_checkbox .note{
    font-family: Montserrat;
    font-style: normal;
    font-weight: normal;
    font-size: 16px;
    line-height: 22px;
    color: #ACACAC;
}

#main .order_form .item .body_container .input_checkbox input[type="checkbox"]{
    display: none;
}

#main .order_form .item .body_container .input_checkbox .label{
    font-family: Montserrat;
    font-style: normal;
    font-weight: normal;
    font-size: 16px;
    line-height: 22px;
    color: #333333;
}

#main .order_form .item .body_container .input_checkbox .checkbox{
    display:block;
    width:16px;
    height:16px;
    background: #FFFFFF;
    border: 1px solid #ACACAC;
    margin-right:8px;
    flex-shrink: 0;
}

#main .order_form .item .body_container .input_checkbox:hover .checkbox{
    border: 1px solid #124945;
}

#main .order_form .item .body_container .input_checkbox input:checked ~ .checkbox{
    background: #124945;
    border: 1px solid #124945;
    background-image: url(../img/icons/done.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

#main .order_form .item .body_container .btn{
    display:block;
    height: 40px;
    width: 180px;
    text-align: center;
    background: #124945;
    font-family: MontserratBold;
    font-style: normal;
    font-weight: 500;
    font-size: 13px;
    line-height: 40px;
    color: #FFFFFF;
    cursor: pointer;
    margin-top:44px;
    text-decoration: none;
    border:0;
    padding:0;
    transition: all 0.3s;
}

#main .order_form .item .body_container .btn:hover{
    background: #0A2C29;
}

#main .order_form .item .footer_container{
    display:flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding:32px 105px 45px 88px;
}

#main .order_form .item .footer_container span{
    display:block;
}

#main .order_form .item .footer_container span:first-child{
    font-family: MontserratBold;
    font-style: normal;
    font-weight: bold;
    font-size: 12px;
    line-height: 15px;
    color: #124945;
    margin-bottom:6px;
}

#main .order_form .item .footer_container span:nth-child(2){
    font-family: Montserrat;
    font-style: normal;
    font-weight: normal;
    font-size: 16px;
    line-height: 22px;
    color: #333333;
}

#main .order_form .item .footer_container .footer_break{
    flex-basis: 100%;
    height: 29px;
}

#main .order_form .item .body_container #pay_type{
    display:flex;
    justify-content: space-between;
}

#main .order_form .item .body_container #pay_type .input_radio{
    display:flex;
    margin-bottom:38px;
    cursor:pointer;
}

#main .order_form .item .body_container #pay_type .input_radio input{
    display:none;
}

#main .order_form .item .body_container #pay_type .input_radio .radio{
    position:relative;
    display:block;
    width:16px;
    height:16px;
    background: #FFFFFF;
    border: 1px solid #ACACAC;
    margin-right:8px;
    transition: all 0.3s;
}

#main .order_form .item .body_container #pay_type .input_radio input:hover ~ .radio{
   border: 1px solid #124945;
}

#main .order_form .item .body_container #pay_type .input_radio input:checked ~ .radio{
    background: #124945;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e");
    border:1px solid #124945;
}

#main .order_form .item .body_container #pay_type .input_radio .name b{
    font-family: MontserratBold;
    font-style: normal;
    font-weight: bold;
    font-size: 16px;
    line-height: 22px;
    color: #333333;
}

#main .order_form .item .body_container #pay_type .input_radio .name .price{
    font-family: Montserrat;
    font-style: normal;
    font-weight: normal;
    font-size: 16px;
    line-height: 22px;
    color: #ACACAC;
}

#main .order_form .item .body_container #pay_type .input_radio .name .info{
    font-family: Montserrat;
    font-style: normal;
    font-weight: normal;
    font-size: 13px;
    line-height: 18px;
    color: #333333;
}

#main .order_form .item .body_container .address_container .input_checkbox_margin{
    margin-bottom:30px;
}

#main .order_form .item .body_container .address_container #to_address{
    width:560px;
    padding-right: 50px;
}

#main .order_form .item .body_container .address_container label[for="to_address"]{
    position:relative;
}

#main .order_form .item .body_container .address_container .to_address_div{
    position: relative;
}

#main .order_form .item .body_container .address_container .to_address_div img{
    position:absolute;
    z-index: 9;
    width:16px;
    height:21px;
    top:14px;
    right:30px;
    cursor:pointer;
}

#main .order_form .item .body_container .delivery_self_container #map{
    width: 300px;
    height: 294px;
}

#main .order_form .item .body_container .address_container #map2{
    width: 558px;
    height: 294px;
    margin-top:24px;
}

#main .order_form .item .body_container .address_container .address_details{
    display:flex;
    flex-wrap: wrap;
    margin-top:32px;
}

#main .order_form .item .body_container .address_container .address_details .input_text{
    width:156px;
    margin-right:24px;
    margin-bottom:24px;
}

#main .order_form .item .body_container .address_container .address_details .input_text select,
#main .order_form .item .body_container .address_container .address_details .input_text input[type="text"],
#main .order_form .item .body_container .address_container .address_details .input_text input[type="date"]{
    width:100%!important;
    height:48px;
    background: #FFFFFF;
    border: 1px solid #E8E8E8;
    padding:0 12px;
    font-family: Montserrat;
    font-style: normal;
    font-weight: normal;
    font-size: 16px;
    color: #333;
}

#main .order_form .item .body_container .address_container .address_details .input_text input[type="date"]::-webkit-calendar-picker-indicator{
    position: absolute; right:12px;
}

#main .order_form .item .body_container .address_container .address_details .input_checkbox span{
    font-family: Montserrat;
    font-style: normal;
    font-weight: normal;
    font-size: 14px;
    line-height: 22px;
}

#main .order_form .item .body_container .address_container .address_details .input_checkbox{
    margin-top:16px;
}

#main .order_form .item .body_container .delivery_self_container{
    display:flex;
    justify-content: space-between;
}

#main .order_form .item .body_container .delivery_self_container .delivery_self_shop_address{
    display:flex;
    flex-direction: column;
}

#main .order_form .item .body_container .delivery_self_container .delivery_self_shop_address_item{
    width: 252px;
    height: 72px;
    border-left: 4px solid #fff;
    background: #fff;
    margin-left:16px;
    padding:24px 16px;
    cursor:pointer;
}

#main .order_form .item .body_container .delivery_self_container .delivery_self_shop_address .active{
    border-left: 4px solid #124945;
    background: #F4F5F7;
}

#main .order_form .item .body_container .delivery_self_container .delivery_self_shop_address_item .address{
    display:block;
    font-family: MontserratBold;
    font-style: normal;
    font-weight: bold;
    font-size: 16px;
    line-height: 22px;
    color: #333333;
}

#main .order_form .item .body_container .delivery_self_container .delivery_self_shop_address_item .timetable{
    display:block;
    font-family: Montserrat;
    font-style: normal;
    font-weight: normal;
    font-size: 14px;
    line-height: 20px;
    color: #333333;
}

#main .order_form .item .body_container .delivery_self_container .delivery_self_shop_address_item .opentime{
    display:block;
    font-family: Montserrat;
    font-style: normal;
    font-weight: normal;
    font-size: 14px;
    line-height: 20px;
    color: #acacac;
    margin-top:2px;
    margin-bottom:8px;
}

#main .order_form .item .body_container .delivery_self_container .delivery_self_shop_address_item .opentime .open{
    font-family: MontserratBold;
    font-weight: 600;
    color:green;
}

#main .order_form .item .body_container .delivery_self_container .delivery_self_shop_address_item .opentime .close{
    font-family: MontserratBold;
    font-weight: 600;
    color:red;
}

#delivery{
    display:flex;
    flex-direction: row!important;
}

#delivery .delivery_type{
    display:flex;
    flex-direction: column;
    flex-shrink: 0;
    width:200px;
    margin-right:16px;
}

#delivery .delivery_type input{
    display:none;
}

#delivery .delivery_type label{
    display:flex;
    width:100%;
    background: #fff;
    cursor:pointer;
}

#delivery .delivery_type input:checked+label{
    border-right:4px solid #124945;
    background:#f4f5f7;
}

#delivery .delivery_type label .name{
    display:flex;
    flex-direction: column;
    margin:20px;
}

#delivery .delivery_type label .name b{
    font-family: MontserratBold;
    font-size: 16px;
    line-height: 20px;
}

#delivery .delivery_type label .name span{
    display: block;
    font-family: Montserrat;
    font-style: normal;
    font-weight: normal;
    font-size: 14px;
    line-height: 20px;
    color: #acacac;
    margin: 10px 0;
}

#delivery .delivery_type_options{
    display:flex;
    flex-direction: column;
    width:100%
}

#delivery .delivery_type_options label{
    display:flex;
    margin:20px 0;
}

#delivery .delivery_type_options label .name{
    font-family: Montserrat;
    font-style: normal;
    font-weight: normal;
    font-size: 14px;
    line-height: 22px;
    color: #124945;
}

#delivery .delivery_type_options label input[type="radio"]{
    display:none;
}

#delivery .delivery_type_options label input[type="text"]{
    display:block;
    margin-top:60px;
    width: 100%;
}

#delivery .delivery_type_options label .radio_input{
    flex-shrink: 0;
    display:block;
    width:22px;
    height:22px;
    border:1px solid #acacac;
    border-radius: 50%;
    margin-right:10px;
}

#delivery .delivery_type_options label input:checked + .radio_input{
    border:1px solid #124945;
    background: #124945;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e");
}

#delivery .delivery_type_options label input:checked ~ .name{
    font-family: MontserratBold!important;
    font-weight: bold!important;
}

#order_form_4 .input_checkbox{
    margin-top:6px!important;
}

#order_form_4 .input_textarea{
    margin-top:30px!important;
}

#order_form_4 .pay_body_last_item{
    display:flex;
    justify-content: space-between;
    margin-top:48px;
}

#order_form_4 .pay_body_last_item .btn{
    margin-top:0!important;
}

#order_form_4 .pay_body_last_item .note{
    width: 375px;
    font-family: Montserrat;
    font-style: normal;
    font-weight: normal;
    font-size: 13px;
    line-height: 18px;
    color: #777777;
}

#order_form_4 .pay_body_last_item .note a{
    font-family: Montserrat;
    font-style: normal;
    font-weight: normal;
    font-size: 14px;
    line-height: 20px;
    color: #124945;
}

#order_bill{
    width: 350px;
    background: #FFFFFF;
    border: 1px solid #E8E8E8;
    padding:32px 24px 47px;
    margin-bottom:32px;
}

#order_bill .goods{
    display:flex;
    flex-direction: column;
}

#order_bill .goods .goods_item{
    display:flex;
    flex-direction: row;
    margin-bottom:24px;
}

#order_bill .goods .goods_item .goods_item_img img{
    width:95px;
}

#order_bill .goods .goods_item .goods_item_description{
    display:flex;
    flex-direction: column;
    justify-content: space-between;
    width:240px;
    padding-left:16px;
}

#order_bill .goods .goods_item .goods_item_description .goods_item_description_row{
    display:flex;
    flex-direction: row;
    justify-content: space-between;
}

#order_bill .goods .goods_item .goods_item_description .goods_item_description_row b{
    display:block;
    font-family: MontserratBold;
    font-style: normal;
    font-weight: 600;
    font-size: 16px;
    line-height: 22px;
    color: #124945;
    margin-right:10px;
}

#order_bill .goods .goods_item .goods_item_description .goods_item_description_row span{
    font-family: Montserrat;
    font-style: normal;
    font-weight: 500;
    font-size: 13px;
    line-height: 18px;
    color: #ACACAC;
}

#order_bill .goods .goods_item .goods_item_description .goods_item_description_row strong{
    font-family: Montserrat;
    font-style: normal;
    font-weight: 500;
    font-size: 13px;
    line-height: 18px;
    color: #333333;
}

#order_bill .goods .goods_item .goods_item_description .goods_item_description_row .price{
    font-family: MontserratBold;
    font-style: normal;
    font-weight: bold;
    font-size: 20px;
    line-height: 30px;
    color: #124945;
}

#order_bill .goods .goods_item .goods_item_description .goods_item_description_row .counter{
    display: flex;
    height:30px;
    width:86px;
    justify-content: space-between;
    align-items: center;
    font-family: Montserrat;
    font-style: normal;
    font-weight: 600;
    font-size: 14px;
    line-height: 30px;
}

#order_bill .goods .goods_item .goods_item_description .goods_item_description_row .counter .minus,
#order_bill .goods .goods_item .goods_item_description .goods_item_description_row .counter .plus,
#order_bill .goods .goods_item .goods_item_description .remove_good{
    cursor:pointer;
}

#order_bill .goods .goods_item .goods_item_description .goods_item_description_row .counter img{
    width:13px;
}

#order_bill .bills{
    display:flex;
    flex-direction: column;
    justify-content: space-between;
    border-top:1px solid #E8E8E8;
    padding-top:32px;
    margin-top:8px;
}

#order_bill .bills .bills_item{
    display:flex;
    font-family: MontserratBold;
    font-style: normal;
    font-weight: 600;
    font-size: 16px;
    line-height: 22px;
    color: #124945;
    margin-bottom:6px;
}

#order_bill .bills .bills_item .value{
    text-align: right;
}

#order_bill .bills .bills_item div:nth-child(2){
    background-image: url(../img/dotted-line.png);
    background-position: center bottom;
    background-repeat: repeat-x;
    background-size: auto;
    flex-grow: 1;
    margin:0 16px 5px;
}

#order_bill .bills .bills_item_total{
    display:flex;
    font-family: MontserratBold;
    font-style: normal;
    font-weight: bold;
    font-size: 24px;
    line-height: 29px;
    color: #124945;
    margin-top:16px;
}

#attention{
    width: 352px;
    background: #F4F5F7;
    padding:24px 24px 48px;
}

#attention .header{
    font-family: MontserratBold;
    font-style: normal;
    font-weight: bold;
    font-size: 18px;
    line-height: 28px;
    color: #124945;
    margin-bottom:16px;
}

#attention .body{
    font-family: Montserrat;
    font-style: normal;
    font-weight: normal;
    font-size: 14px;
    line-height: 20px;
    color: #333333;
    margin-bottom:16px;
}

#attention .footer{
    font-family: MontserratBold;
    font-style: normal;
    font-weight: bold;
    font-size: 14px;
    line-height: 20px;
    color: #333333;
}

#order_success_window,
#empty_basket{
    display:flex;
    flex-direction: column;
    align-items: center;
    background: #FFFFFF;
    margin:110px auto 200px;
}

#order_success_window .header,
#empty_basket .header{
    font-family: EBGaramond;
    font-style: normal;
    font-weight: normal;
    font-size: 56px;
    line-height: 56px;
    text-align: center;
    letter-spacing: 0.02em;
    color: #124945;
    margin-top:32px;
}

#order_success_window .body,
#empty_basket .body{
    font-family: Montserrat;
    font-style: normal;
    font-weight: normal;
    font-size: 18px;
    line-height: 28px;
    text-align: center;
    color: #333333;
    margin-top:29px;
    margin-bottom:30px;
}

#order_success_window .footer a,
#empty_basket .footer a{
    font-family: Montserrat;
    font-style: normal;
    font-weight: normal;
    font-size: 14px;
    line-height: 20px;
    color: #124945;
}

#notice {
    font-family: Montserrat;
    font-style: normal;
    font-weight: normal;
    font-size: 14px;
    line-height: 18px;
    margin: 10px 15px;
    color: #f33;
    display: none;
}

.required_star{
    font-size: 7px;
    color:#cc6d69;
}

@media (max-width: 1199px) {
    #main .order_form{
        width: 100%;
        padding:0;
        margin-right: 25px;
    }

    #main .order_form .item .header span:nth-child(3){
        visibility: hidden;
    }

    #main .order_form .item .body_container .input_text input{
        width:100%;
    }

    #main .order_form .item .footer_container{
        flex-direction: column;
        padding:24px 32px;
        height: auto;
    }

    #main .order_form .item .footer_container .footer_item{
        margin-bottom: 21px;
    }

    #main .order_form .item .header{
        height:48px;
        font-size: 22px;
        line-height: 48px;
    }

    #main .order_form .item .header span:first-child{
        width: 40px;
    }

    #main .order_form .item .body_container{
        padding: 24px 20px 40px;
    }

    #main .order_form .item .body_container .from{
        flex-direction: column;
    }

    #main .order_form .item .body_container .input_text{
        margin-bottom:22px;
    }

    #main .order_form .item .body_container #pay_type{
        flex-direction: column;
    }

    #main .order_form .item .body_container .address_container #to_address{
        width:100%;
    }

    #main .order_form .item .body_container .address_container .to_address_div img {
        right: 14px;
    }

    #main .order_form .item .body_container .address_container #map{
        width:100%;
    }

    #main .order_form .item .body_container .address_container #map2{
        width: 100%;
    }

    #main .order_form .item .body_container .address_container .address_details{
        justify-content: space-between;
    }

    #main .order_form .item .body_container .address_container .address_details .input_text{
        width:48%;
        margin-right: 0;
    }

    #main .order_form .item .body_container .address_container .address_details .input_text:first-child{
        width:100%;
    }

    #main .order_form .item .body_container .address_container .address_details .input_text:first-child input{
        width:48%;
    }

    #main .order_form .item .body_container .address_container .address_details .input_text:nth-child(4),
    #main .order_form .item .body_container .address_container .address_details .input_text:nth-child(5){
        width:100%;
    }

    #order_form_4 .pay_body_last_item {
        flex-direction: column;
    }

    #order_form_4 .pay_body_last_item .note{
        width:100%;
        margin-top:16px;
    }

    #order_form_4 .pay_body_last_item{
        margin-top:32px;
    }

    #main .order_form .item .body_container .delivery_self_container{
        flex-direction: column;
    }

    #main .order_form .item .body_container .delivery_self_container .delivery_self_item:first-child{
        width:calc(100% - 2px);
    }

    #main .order_form .item .body_container .delivery_self_container .delivery_self_shop_address_item{
        width:calc(100% - 34px)!important;
        margin-left:0;
    }

    #main .order_form .item .body_container .delivery_self_container .delivery_self_shop_address_item:first-child{
        margin-top:16px;
    }

    #main .order_form .item .body_container .address_container .address_details_self .input_text:first-child,
    #main .order_form .item .body_container .address_container .address_details_self .input_text:nth-child(2){
        width:100%;
    }

    #main .order_form .item .body_container .address_container .address_details_self .input_text:first-child input,
    #main .order_form .item .body_container .address_container .address_details_self .input_text:nth-child(2) input{
        width:100%;
    }
}

@media (max-width: 1080px) {

}

@media (max-width: 958px) {
    #main{
        justify-content: space-between;
    }

    #main section{
        width:48%;
        margin-right: 0;
    }

    #order_success_window .header,
    #empty_basket .header{
        font-size: 32px;
        line-height: 36px;
        margin-top: 64px;
    }

    #order_success_window .body,
    #empty_basket .body{
        font-size: 14px;
        line-height: 20px;
        margin-top: 16px;
        margin-bottom: 24px;
    }

    #order_success_window .footer,
    #empty_basket .footer{
        margin-bottom: 64px;
    }

    #order_bill{
        width: calc(100% - 42px)!important;
    }

    #attention{
        width: calc(100% - 42px)!important;
    }

    #delivery{
        flex-direction: column!important;
    }

    #delivery .delivery_type{
        flex-direction: row;
        width:100%;
        margin-right:0;
    }

    #delivery .delivery_type input:checked+label{
        border-right:0;
        border-bottom:4px solid #124945;
    }
}

@media (max-width: 768px) {
    #main {
        flex-direction: column-reverse;
    }

    #main section{
        width:100%;
    }

    #order_bill{
        width: calc(100% - 42px);
        padding: 20px 20px 40px;
    }

    #order_bill .goods .goods_item .goods_item_description{
        width:100%;
    }

    #order_bill .goods .goods_item .goods_item_description .goods_item_description_row b{
        font-size: 14px;
        line-height: 20px;
    }

    #order_bill .goods .goods_item .goods_item_description .goods_item_description_row span{
        display:none;
    }

    #order_bill .goods .goods_item .goods_item_description .goods_item_description_row .price{
        font-size: 16px;
    }

    #order_bill .bills .bills_item{
        font-size: 14px;
        line-height: 20px;
    }

    #order_bill .bills .bills_item_total{
        font-size: 18px;
        line-height: 28px;
    }

    #attention {
        width: calc(100% - 48px)!important;
        margin-bottom:24px;
    }
}

@media (max-width: 576px) {

}

@media (max-width: 480px) {

}

@media (max-width: 379px) {
    #order_bill .goods .goods_item .goods_item_img{
        width:72px;
        flex-shrink: 0;
    }

    #order_bill .goods .goods_item .goods_item_img img{
        width:100%;
    }

    #order_bill .goods .goods_item .goods_item_description .goods_item_description_row .counter {
        width: 66px;
    }
}