.filter-wrapper {
    width: 100%;
    padding-top: 25px
}

.filter-wrapper .filter-header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    margin-bottom: 40px;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.filter-wrapper .filter-header .fh-col {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding-right: 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.filter-wrapper .filter-header .fh-col:first-child {
    width: 33%
}

.filter-wrapper .filter-header .fh-col:nth-child(2) {
    width: 23%
}

.filter-wrapper .filter-header .fh-col:nth-child(3) {
    width: 23%
}

.filter-wrapper .filter-header .fh-col:nth-child(4) {
    width: 21%;
    padding-right: 0 !important
}

.filter-wrapper .filter-header .fh-col label {
    width: 100%;
    display: block;
    margin-bottom: 10px
}

.filter-wrapper .filter-header .fh-col .date-ico {
    position: relative;
    width: 50%;
    padding-right: 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.filter-wrapper .filter-header .fh-col .date-ico:last-child {
    padding-right: 0
}

.filter-wrapper .filter-header .fh-col .date-ico:before {
    content: "\f073";
    font-family: "FontAwesome";
    font-size: 16px;
    color: #afafaf;
    position: absolute;
    left: 10px;
    top: 0;
    line-height: 40px
}

.filter-wrapper .filter-header .fh-col input {
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    height: 40px;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    border: 1px solid #c2c2c2;
    background-color: #fff;
    padding: 0 10px 0 35px;
    outline: none
}

.filter-wrapper .filter-header .fh-col select {
    height: 40px;
    width: 100%;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    border: 1px solid #c2c2c2;
    background-color: #fff;
    outline: none;
    padding: 0 10px
}

.filter-wrapper .filter-header .fh-col .uk-button-large {
    height: 40px;
    width: 100% !important;
    line-height: 40px;
    font-size: 14px;
    padding: 0 15px;
    border-radius: 3px
}

.filter-wrapper .filter-body-wrap .filter-body-top-row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    margin-bottom: 5px
}

.filter-wrapper .filter-body-wrap .filter-body-top-row .f-body-col {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    color: #d1d0d0
}

.filter-wrapper .filter-body-wrap .filter-body .filter-body-row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 17px 0;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border-bottom: 1px solid #e5e5e5
}

.filter-wrapper .filter-body-wrap .filter-body .filter-body-row .date-col {
    position: relative;
    padding-left: 25px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.filter-wrapper .filter-body-wrap .filter-body .filter-body-row .date-col:before {
    content: "\f073";
    font-family: "FontAwesome";
    font-size: 16px;
    color: #afafaf;
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translate(0, -55%);
    -ms-transform: translate(0, -55%);
    transform: translate(0, -55%)
}

.filter-wrapper .filter-body-wrap .filter-body .filter-body-row .order-col .uk-button-large {
    height: 40px;
    width: 100% !important;
    line-height: 40px;
    font-size: 14px;
    padding: 0 15px;
    border-radius: 3px
}

.filter-wrapper .filter-body-wrap .filter-body .filter-body-row:last-child {
    border-bottom: none;
    margin-bottom: 50px
}

.date-col {
    width: 16%
}

.way-col {
    width: 32%;
    padding-right: 5%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.days-col {
    width: 20%
}

.money-col {
    width: 11%
}

.order-col {
    width: 21%
}

.ui-state-active, .ui-state-highlight, .ui-widget-content .ui-state-active, .ui-widget-content .ui-state-highlight {
    border: 1px solid #fb6925;
    background: #fb6925;
    color: #fff
}

.program-wrapper {
    padding-top: 20px;
    padding-bottom: 50px
}

.program-wrapper .grafik-link {
    padding-left: 25px;
    position: relative;
    margin-bottom: 30px;
    color: #12255d !important;
    display: inline-block
}

.program-wrapper .grafik-link:before {
    content: "\f073";
    font-family: "FontAwesome";
    font-size: 16px;
    color: #12255d;
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translate(0, -55%);
    -ms-transform: translate(0, -55%);
    transform: translate(0, -55%)
}

.program-wrapper .program-detail-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.program-wrapper .program-detail-box .program-detail-info {
    width: calc(100% - 250px)
}

.program-wrapper .program-detail-box .program-detail-info .detail-info-row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    margin-bottom: 20px
}

.program-wrapper .program-detail-box .program-detail-info .detail-info-row .detail-info-col {
    width: 58%;
    padding-right: 5%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.program-wrapper .program-detail-box .program-detail-info .detail-info-row .title-info-col {
    font-weight: 700;
    width: 42%;
    padding-right: 0
}

.program-wrapper .program-detail-box .program-price {
    width: 250px;
    height: 100%;
    background: #fff;
    border: 1px solid #dfdfdf;
    border-radius: 5px;
    padding: 20px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    text-align: center
}

.program-wrapper .program-detail-box .program-price .price-value {
    display: block;
    font-size: 20px;
}

.program-wrapper .program-detail-box .program-price .price-value span {
    font-size: 16px;
    font-weight: 700
}

.program-wrapper .program-detail-box .program-price .uk-button-large {
    width: 100% !important;
    border-radius: 3px
}

.program-wrapper .detail-days-wrapper {
    padding-top: 20px
}

.program-wrapper .detail-days-wrapper .days-title {
    font-weight: 700;
    width: 100%;
    display: block;
    margin-bottom: 20px
}

.program-wrapper .detail-days-wrapper .detail-days-row {
    position: relative;
    padding-left: 42px;
    padding-bottom: 20px
}

.program-wrapper .detail-days-wrapper .detail-days-row:before {
    content: "";
    width: 28px;
    height: 28px;
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-radius: 50%;
    border: 2px solid #f96933;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1
}

.program-wrapper .detail-days-wrapper .detail-days-row:after {
    content: "";
    width: 2px;
    height: calc(100% - 26px);
    background: #f96933;
    position: absolute;
    top: 26px;
    bottom: 0;
    left: 13px;
    z-index: 0
}

.program-wrapper .detail-days-wrapper .detail-days-row:last-child:after {
    display: none
}

.program-wrapper .detail-days-wrapper .detail-days-row .detail-days-title {
    color: #f96933;
    font-weight: 700;
    font-size: 20px;
    margin-bottom: 20px;
    width: 100%;
    line-height: 28px
}

.program-wrapper .detail-days-wrapper .detail-days-row .title-info {
    font-size: 18px;
    font-weight: 700;
    position: relative
}

.program-wrapper .detail-days-wrapper .detail-days-row .title-info .step-number {
    position: absolute;
    left: -22px;
    top: 0
}

.program-wrapper .detail-days-wrapper .detail-days-row .step-description {
    font-size: 14px;
    line-height: 1.5em;
    padding-top: 25px
}

.program-wrapper .detail-days-wrapper .detail-days-row .days-step-row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.program-wrapper .detail-days-wrapper .detail-days-row .days-step-row .days-step-col {
    width: 50%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.program-wrapper .detail-days-wrapper .detail-days-row .days-step-row .days-step-col:first-child {
    padding-right: 30px
}

.program-wrapper .detail-days-wrapper .detail-days-row .days-step-row .step-item {
    padding-left: 22px;
    margin-bottom: 25px
}

.zakaz-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-top: 50px;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding-bottom: 50px
}

.zakaz-wrapper .zakaz-title {
    margin-bottom: 30px
}

.zakaz-wrapper .shema-col {
    width: 390px
}

.zakaz-wrapper .shema-col .zakaz-title {
    padding-left: 45px
}

.zakaz-wrapper .form-col {
    width: calc(100% - 390px)
}

.zakaz-wrapper .zakaz-form {
    width: 100%;
    background: #fff;
    border: 1px solid #dfdfdf;
    border-radius: 5px;
    padding: 25px 15px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.zakaz-wrapper .zakaz-form label {
    display: block;
    margin-bottom: 10px
}

.zakaz-wrapper .zakaz-form .place-value, .zakaz-wrapper .zakaz-form input, .zakaz-wrapper .zakaz-form textarea {
    width: 100%;
    border-radius: 5px;
    border: 1px solid #c2c2c2;
    height: 40px;
    padding: 0 15px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    outline: none
}

.zakaz-wrapper .zakaz-form textarea {
    height: 125px;
    resize: none;
    padding: 10px;
    outline: none
}

.zakaz-wrapper .zakaz-form .place-value {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    overflow: hidden;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding-right: 0
}

.zakaz-wrapper .zakaz-form .place-value .value-wrap {
    width: calc(100% - 70px);
    overflow: hidden;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap
}

.zakaz-wrapper .zakaz-form .place-value .total-place {
    width: 70px
}

.zakaz-wrapper .zakaz-form .place-value .place-item-value {
    background: #eeae00;
    border-radius: 3px;
    line-height: 18px;
    font-size: 12px;
    font-weight: 700;
    color: #fff;
    position: relative;
    padding: 0 20px 0 7px;
    display: inline-block;
    margin-left: 5px
}

.zakaz-wrapper .zakaz-form .place-value .place-item-value .del-place {
    width: 7px;
    height: 7px;
    background: url(../img/delete.png) no-repeat 50%;
    background-size: contain;
    cursor: pointer;
    opacity: 0.6;
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
    position: absolute;
    top: 5px;
    right: 6px
}

.zakaz-wrapper .zakaz-form .place-value .place-item-value .del-place:hover {
    opacity: 1
}

.zakaz-wrapper .zakaz-form .zakaz-form-col, .zakaz-wrapper .zakaz-form .zakaz-form-row {
    width: 50%;
    margin-bottom: 20px;
    padding: 0 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.zakaz-wrapper .zakaz-form .zakaz-form-row {
    width: 100%
}

.zakaz-wrapper .zakaz-form .zakaz-form-row .zakaz-form-col {
    padding: 0 10px 0 0
}

.zakaz-wrapper .zakaz-form .zakaz-form-row:last-child {
    margin-bottom: 0
}

.zakaz-wrapper .zakaz-form .zakaz-form-row:last-child .zakaz-form-col {
    margin-bottom: 0
}

.zakaz-wrapper .zakaz-form .form-zakaz-info {
    margin-bottom: 20px;
    font-size: 14px
}

.zakaz-wrapper .zakaz-form .uk-button-large {
    border-radius: 3px
}

.shema-bus {
    display: block;
    width: 280px;
    overflow: hidden;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.shema-bus .shema-col-xs {
    background: #fff;
    border-radius: 3px;
    border: 1px solid #a3a3a3;
    width: 35px;
    text-align: center;
    padding-top: 5px;
    margin-top: 30px;
    margin-bottom: 20px;
    float: left
}

.shema-bus .shema-col-xs .title {
    font-size: 12px;
    font-weight: 700;
    margin-bottom: 5px
}

.shema-bus .shema-col-xs .item-row {
    font-size: 12px;
    font-weight: 700;
    line-height: 20px;
    padding-bottom: 10px
}

.shema-bus .shema-col-xs .item-row:last-child {
    padding-bottom: 3px
}

.shema-bus .bus-outer {
    border: 1px solid #b9b9b7;
    width: 189px;
    margin: 0 8px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 14px 6px 6px;
    border-radius: 25px;
    float: left
}

.shema-bus .bus-outer .bus-inner {
    width: 100%;
    height: 100%;
    border-radius: 25px;
    border: 1px solid #b9b9b7;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 8px 8px 15px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.shema-bus .bus-outer .bus-inner .bus-inner-col {
    width: 65px
}

.shema-bus .bus-outer .bus-inner .bus-inner-col .bus-inner-col__header {
    font-size: 11px;
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background: #fff;
    height: 32px;
    font-weight: 700;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border: 1px solid #b9b9b7;
    margin-bottom: 4px
}

.shema-bus .bus-outer .bus-inner .bus-inner-col .bus-inner-col__header img {
    display: inline-block
}

.shema-bus .bus-outer .bus-inner .bus-inner-col:first-child .bus-inner-col__header {
    border-radius: 25px 3px 3px 3px
}

.shema-bus .bus-outer .bus-inner .bus-inner-col:last-child .bus-inner-col__header {
    border-radius: 3px 25px 3px 3px
}

.shema-bus .bus-outer .bus-inner .bus-inner-col .place-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.shema-bus .bus-outer .bus-inner .bus-inner-col .place-wrap .place-item {
    width: 30px;
    height: 20px;
    line-height: 20px;
    border-radius: 3px;
    font-size: 12px;
    font-weight: 700;
    text-align: center;
    position: relative;
    color: #fff;
    margin-bottom: 10px
}

.shema-bus .bus-outer .bus-inner .bus-inner-col .place-wrap .place-item:before {
    content: "";
    height: 4px;
    border-radius: 3px;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -6px
}

.shema-bus .bus-outer .bus-inner .bus-inner-col .place-wrap .busy-place {
    background: #bd0711
}

.shema-bus .bus-outer .bus-inner .bus-inner-col .place-wrap .busy-place:before {
    background: #bd0711
}

.shema-bus .bus-outer .bus-inner .bus-inner-col .place-wrap .clear-place {
    background: #74b034;
    cursor: pointer
}

.shema-bus .bus-outer .bus-inner .bus-inner-col .place-wrap .clear-place:before {
    background: #74b034
}

.shema-bus .bus-outer .bus-inner .bus-inner-col .place-wrap .booked-place {
    background: #eeae00 !important
}

.shema-bus .bus-outer .bus-inner .bus-inner-col .place-wrap .booked-place:before {
    background: #eeae00 !important
}

.shema-bus .bus-outer .bus-inner .bus-inner-col .place-wrap .current-place {
    background: #eeae00 !important;
    cursor: pointer
}

.shema-bus .bus-outer .bus-inner .bus-inner-col .place-wrap .current-place:before {
    background: #eeae00 !important
}

.shema-bus .bus-outer .bus-inner .bus-inner-col .place-wrap .exit-item {
    border: 1px solid #a3a3a3;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    margin-bottom: 5px;
    text-align: center;
    font-weight: 700;
    line-height: 51px;
    font-size: 12px
}

.place-description {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    padding-top: 23px;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.place-description .place-description-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding-left: 30px;
    width: 50%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-bottom: 15px
}

.place-description .place-description-item .clear-place-ico {
    width: 30px;
    height: 18px;
    border-radius: 3px;
    background: #74b034
}

.place-description .place-description-item .busy-place-ico {
    width: 30px;
    height: 18px;
    border-radius: 3px;
    background: #bd0711
}

.place-description .place-description-item .booked-place-ico {
    width: 30px;
    height: 18px;
    border-radius: 3px;
    background: #eeae00
}

.place-description .place-description-item .place-description-info {
    padding-left: 5px
}

.zakaz-tour-info-box .title {
    font-size: 16px;
    display: block;
    width: 100%;
    margin-bottom: 35px
}

.tour-info-wrap {
    padding-bottom: 25px
}

.tour-info-wrap .tour-info-row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-bottom: 15px
}

.tour-info-wrap .tour-info-row .left-col {
    font-weight: 700;
    width: 250px
}

.tour-info-wrap .tour-info-row .right-col {
    width: calc(100% - 250px)
}

.tour-info-wrap .tour-info-row .right-col i {
    padding: 0 5px
}

.tour-info-wrap .tour-info-row .right-col span {
    font-size: 13px;
    color: #6d6d6d
}

.bottom-tour-info {
    padding-top: 25px;
    border-top: 1px solid #e5e5e5;
    padding-bottom: 50px
}

.bottom-tour-info p {
    font-size: 14px;
    opacity: 0.8;
    line-height: 1.7em
}

@media only screen and (max-width: 1024px) {
    .zakaz-wrapper .shema-col {
        width: 320px
    }

    .zakaz-wrapper .form-col {
        width: calc(100% - 320px)
    }
}

@media only screen and (max-width: 992px) {
    .filter-wrapper .filter-header {
        margin-bottom: 20px
    }

    .filter-wrapper .filter-header .fh-col {
        padding-right: 10px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        margin-bottom: 15px
    }

    .filter-wrapper .filter-header .fh-col:first-child {
        width: 50%
    }

    .filter-wrapper .filter-header .fh-col:nth-child(2) {
        width: 50%
    }

    .filter-wrapper .filter-header .fh-col:nth-child(3) {
        width: 50%
    }

    .filter-wrapper .filter-header .fh-col:nth-child(4) {
        width: 50%
    }

    .filter-wrapper .filter-body-wrap .filter-body-top-row {
        display: none
    }

    .filter-wrapper .filter-body-wrap .filter-body .filter-body-row {
        padding: 10px 0
    }

    .filter-wrapper .filter-body-wrap .filter-body .filter-body-row .f-body-col {
        margin-bottom: 20px
    }

    .program-detail-box .program-detail-info {
        width: 100% !important;
        margin-bottom: 20px
    }

    .program-detail-box .program-price {
        width: 100% !important;
        margin-bottom: 20px
    }

    .days-step-row .days-step-col {
        width: 100% !important
    }

    .date-col {
        width: 33%;
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1
    }

    .way-col {
        width: 100%;
        -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
        order: 4
    }

    .days-col {
        width: 33%;
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2
    }

    .money-col {
        width: 33%;
        -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
        order: 3
    }

    .order-col {
        width: 100%;
        -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
        order: 5;
        margin-bottom: 0 !important
    }
}

@media only screen and (max-width: 767px) {
    .zakaz-wrapper {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center
    }

    .zakaz-wrapper .shema-col {
        width: 280px;
        margin-bottom: 30px
    }

    .zakaz-wrapper .form-col {
        width: 100%
    }

    .zakaz-wrapper .zakaz-form .zakaz-form-col, .zakaz-wrapper .zakaz-form .zakaz-form-row:last-child .zakaz-form-col {
        width: 100%
    }

    .tour-info-wrap .tour-info-row {
        margin-bottom: 15px
    }

    .tour-info-wrap .tour-info-row .left-col {
        width: 100%;
        margin-bottom: 5px
    }

    .tour-info-wrap .tour-info-row .right-col {
        width: 100%
    }
}

@media only screen and (max-width: 480px) {
    .detail-info-row {
        margin-bottom: 0 !important
    }

    .detail-info-row .detail-info-col {
        width: 100% !important;
        margin-bottom: 15px
    }
}

@media only screen and (max-width: 400px) {
    .filter-wrapper .filter-header {
        margin-bottom: 20px
    }

    .filter-wrapper .filter-header .fh-col {
        padding-right: 0
    }

    .filter-wrapper .filter-header .fh-col:first-child {
        width: 100%
    }

    .filter-wrapper .filter-header .fh-col:nth-child(2) {
        width: 100%
    }

    .filter-wrapper .filter-header .fh-col:nth-child(3) {
        width: 100%
    }

    .filter-wrapper .filter-header .fh-col:nth-child(4) {
        width: 100%
    }

    .filter-wrapper .filter-body-wrap .filter-body .filter-body-row .f-body-col {
        width: 100% !important
    }
}