.b-rating_filter { position: relative; }
.b-rating_filter_form { position: relative; margin-top: -20px; padding: 20px 0 34px; background: #fff; /*border-bottom: 70px solid #F2F2F2; */}

/* * * Rating filter :: top * * */
.b-rating_filter_top { position: relative; margin-bottom: 24px; }

@media (max-width: 767px) {

    .b-rating_filter_top { margin-bottom: 34px; }

}

/* * * Rating filter :: search * * */
.b-rating_filter_search_field { position: relative; }

.b-rating_filter_search_field .b-form_box_field input[type="text"] { padding: 0 0 0 40px; height: 46px; font: 400 18px 'Open Sans', sans-serif; color: #8591A2; background: #fff; border: none; border-bottom: 2px solid rgba(0, 0, 0, .12); border-radius: 0; }
.b-rating_filter_search_field .b-form_box_field input[type="text"]:focus { box-shadow: none; border-color: #FB6A95; }

.b-rating_filter_search_field .b-form_box_field input:-ms-input-placeholder { color: #8591A2 !important; }
.b-rating_filter_search_field .b-form_box_field input:-moz-placeholder { color: #8591A2 !important; }
.b-rating_filter_search_field .b-form_box_field input::-webkit-input-placeholder { color: #8591A2 !important; }

.b-rating_filter_search_field .b-form_box_field input:focus:-ms-input-placeholder { color: transparent !important; }
.b-rating_filter_search_field .b-form_box_field input:focus:-moz-placeholder { color: transparent !important; }
.b-rating_filter_search_field .b-form_box_field input:focus::-webkit-input-placeholder { color: transparent !important; }

.b-rating_filter_search_btn { position: absolute; top: 0; left: 0; padding: 10px 0; width: 40px; height: 44px; background: #fff; border: none; border-radius: 0; }

.b-rating_filter_search_btn svg { display: block; margin: 0; transition: opacity 250ms, visibility 250ms; }
.b-rating_filter_search_btn svg [fill] { transition: fill 250ms; }

.b-rating_filter_search_btn:hover svg [fill] { fill: #FB6A95; }

@media (max-width: 767px) {

    .b-rating_filter_search_field .b-form_box_field input[type="text"] { font: 400 16px 'Open Sans', sans-serif; }

}

/* * * Rating filter :: stars * * */
.b-rating_filter_stars { position: relative; }
.b-rating_filter_stars_label { font: 400 14px/1 'Open Sans', sans-serif; color: #8591A2; }

.b-rating_filter_stars_wg { display: block; position: relative; margin-top: 11px; width: 140px; height: 19px; background: #fff url('./img/rating-filter-star-empty.svg') left top repeat-x; cursor: pointer; }
.b-rating_filter_stars_wg_select { position: absolute; left: 0; top: 0; bottom: 0; width: 0; height: 100%; max-width: 100%; overflow: hidden; background: inherit; background-image: url('./img/rating-filter-star.svg'); pointer-events: none; }

.b-rating_filter_stars_wg_result { position: absolute; left: 100%; top: 1px; margin-left: 10px; font: 600 18px/1 'Open Sans', sans-serif; white-space: nowrap; color: #4F4F4F; pointer-events: none; }

@media (max-width: 767px) {

    .b-rating_filter_stars { margin-top: 26px; }
    .b-rating_filter_stars_label { font-weight: 700; }

    .b-rating_filter_stars_wg { margin-top: 8px; width: 175px; height: 24px; background-size: auto 100%; }
    .b-rating_filter_stars_wg_select { background-size: auto 100%; }

    .b-rating_filter_stars_wg_result { top: 4px; }

}

/* * * Rating filter :: spoiler * * */
.b-rating_filter_spoiler_box { display: none; position: relative; }
.b-rating_filter_spoiler_box_inner { padding-bottom: 16px; }

.b-rating_filter_spoiler_toggle { display: inline-block; position: relative; padding: 0 22px 0 0; font: 600 14px 'Open Sans', sans-serif; color: #FB6A95; background: none; border: none; transition: all 250ms; cursor: pointer; }
.b-rating_filter_spoiler_toggle:before { position: absolute; right: 0; top: 50%; margin-top: -4px; width: 10px; height: 10px; background: url('./img/rating-filter-arrow-down.svg') center center no-repeat; transition: all 250ms; content: ''; }

.b-rating_filter_spoiler_toggle span { border-bottom: 1px dashed; transition: all 250ms; }
.b-rating_filter_spoiler_toggle:hover span { border-bottom-color: transparent; }

.b-rating_filter_spoiler.opened .b-rating_filter_spoiler_toggle:before { transform: rotate(-180deg); }

@media (max-width: 767px) {

    .b-rating_filter_spoiler_box_inner { padding-bottom: 26px; }

}

/* * * Rating filter :: row * * */
@media (max-width: 767px) {

    .b-rating_filter_row ~ .b-rating_filter_row { margin-top: 28px; }
    .b-rating_filter_row_label { margin-bottom: 16px; font: 700 14px 'Open Sans', sans-serif; color: #8591A2; }

}

@media (min-width: 768px) {

    .b-rating_filter_row ~ .b-rating_filter_row { margin-top: 14px; }

    .b-rating_filter_row { display: table; width: 100%; border-collapse: separate; border-spacing: 0; }
    .b-rating_filter_row > * { display: table-cell; vertical-align: top; }

    .b-rating_filter_row_label { padding-top: 8px; width: 95px; font: 400 14px/1 'Open Sans', sans-serif; color: #8591A2; }
    .b-rating_filter_row_content { padding-left: 16px; }

}

/* * * Rating filter :: selector * * */
.b-rating_filter_selector { position: relative; cursor: default; }

.b-rating_filter_selector_result { display: inline-block; position: relative; margin-bottom: 12px; margin-right: 12px; padding: 8px 32px 8px 12px; font: 600 14px/1 'Open Sans', sans-serif; color: #231F20; border-radius: 15px; transition: all 250ms; cursor: default; }
.b-rating_filter_selector_result:hover { background: #F2F2F2; }

.b-rating_filter_selector_result_cancel { position: absolute; top: 50%; right: 2px; margin-top: -15px; width: 30px; height: 30px; background: url('./img/rating-filter-reset.svg') center center no-repeat; transition: all 250ms; cursor: pointer; }
.b-rating_filter_selector_result_cancel:hover { opacity: .5; }

.b-rating_filter_selector_field { display: inline-block; position: relative; padding: 3px 0 5px; margin-bottom: 12px; margin-left: 12px; }

.b-rating_filter_selector_field_toggle { display: inline-block; position: relative; padding: 0 22px 0 0; font: 600 14px 'Open Sans', sans-serif; color: #FB6A95; background: none; border: none; transition: all 250ms; cursor: pointer; }
.b-rating_filter_selector_field_toggle:before { position: absolute; right: 0; top: 50%; margin-top: -4px; width: 10px; height: 10px; background: url('./img/rating-filter-arrow-down.svg') center center no-repeat; transition: all 250ms; content: ''; }

.b-rating_filter_selector_field_toggle span { border-bottom: 1px dashed; transition: all 250ms; }
.b-rating_filter_selector_field_toggle:hover span { border-bottom-color: transparent; }

.b-rating_filter_selector_field.opened .b-rating_filter_selector_field_toggle:before { transform: rotate(-180deg); }

.b-rating_filter_selector_field_box { position: absolute; z-index: 100; left: 50%; top: 100%; margin-top: 6px; margin-left: -240px; width: 480px; padding: 24px; background: #fff; border-radius: 4px; box-shadow: 0 4px 16px rgba(0, 0, 0, .12); box-sizing: border-box; opacity: 0; visibility: hidden; transition: opacity 0ms, visibility 0ms, transform 0ms; }
.b-rating_filter_selector_field.opened .b-rating_filter_selector_field_box { opacity: 1; visibility: visible; transition-duration: 250ms, 250ms, 0ms; }

.b-rating_filter_selector_field_box_search { margin-top: -16px; margin-bottom: 20px; }

.b-rating_filter_selector_field_box_search input[type="text"] { display: block; position: relative; padding: 0; width: 100%; height: 40px; font: 400 18px 'Open Sans', sans-serif; color: #8591A2; background: #fff; border: none; border-bottom: 1px solid rgba(0, 0, 0, .12); box-sizing: border-box; border-radius: 0; transition: all 250ms; }
.b-rating_filter_selector_field_box_search input[type="text"]:focus { box-shadow: none; border-color: #FB6A95; }

.b-rating_filter_selector_field_box_search input[type="text"]:-ms-input-placeholder { color: rgba(0, 0, 0, .12) !important; }
.b-rating_filter_selector_field_box_search input[type="text"]:-moz-placeholder { color: rgba(0, 0, 0, .12) !important; }
.b-rating_filter_selector_field_box_search input[type="text"]::-webkit-input-placeholder { color: rgba(0, 0, 0, .12) !important; }

.b-rating_filter_selector_field_box_search input[type="text"]:focus:-ms-input-placeholder { color: transparent !important; }
.b-rating_filter_selector_field_box_search input[type="text"]:focus:-moz-placeholder { color: transparent !important; }
.b-rating_filter_selector_field_box_search input[type="text"]:focus::-webkit-input-placeholder { color: transparent !important; }

.b-rating_filter_selector_field_checkbox { display: inline-block; vertical-align: middle; position: relative; padding-left: 34px; font: 600 14px/1.35714285714286 'Open Sans', sans-serif; color: #231F20; box-sizing: border-box; cursor: pointer; }
.b-rating_filter_selector_field_checkbox input { position: absolute; left: 0; top: 0; opacity: 0; visibility: hidden; pointer-events: none; }

.b-rating_filter_selector_field_checkbox span:before { position: absolute; left: 0; top: 50%; margin-top: -9px; width: 18px; height: 18px; background: #fff; border: 2px solid #231F20; box-sizing: border-box; border-radius: 2px; content: ''; }
.b-rating_filter_selector_field_checkbox input:checked ~ span:before { background: #231F20 url('./img/check.svg') center center / contain no-repeat; }

.b-rating_filter_selector_field_box_list { letter-spacing: -5px; }
.b-rating_filter_selector_field_box_list .b-rating_filter_selector_field_checkbox { margin: 0 2% 22px 0; width: 48%; letter-spacing: normal; }

.b-rating_filter_selector_field_box_footer { margin-top: 8px; }

.b-rating_filter_selector_field_box_footer .e-btn_3d { box-shadow: inset 0 -3px 0 rgba(0, 0, 0, .12); }
.b-rating_filter_selector_field_box_footer .e-btn svg { margin-right: 5px; width: 11px; height: 11px; }

@media (max-width: 767px) {

    .b-rating_filter_selector { margin-right: -12px; margin-bottom: -12px; }
    .b-rating_filter_selector_result { background: #F2F2F2; }

    .b-rating_filter_selector_field { display: block; margin: 0 12px 12px 0; }
    .b-rating_filter_selector_field_box { left: 0; right: 0; padding: 24px 20px; margin-left: auto; width: auto; transform: none !important; }

    .b-rating_filter_selector_field_box_list { margin-right: -16px; padding-right: 16px; max-height: 290px; overflow-x: hidden; overflow-y: auto; }

    .b-rating_filter_selector_field_box_list .b-rating_filter_selector_field_checkbox { display: block; width: auto; margin: 0 0 32px; }
    .b-rating_filter_selector_field_box_list .b-rating_filter_selector_field_checkbox:last-child { margin-bottom: auto; }

    .b-rating_filter_selector_field_box_footer { margin: 16px -20px -24px; padding: 12px 24px; border-top: 1px solid rgba(0, 0, 0, .12); }
    .b-rating_filter_selector_field_box_footer .e-btn { height: 54px; }

    .b-rating_filter_selector_field_box_footer .e-btn_gray { padding-left: 30px !important; font-size: 13px; line-height: 1.23076923076923; }
    .b-rating_filter_selector_field_box_footer .e-btn_gray svg { position: absolute; left: 14px; top: 50%; margin-top: -5px; }

}

/* * * Rating filter :: inputs * * */
.b-rating_filter_controls { position: relative; }

.b-rating_filter_controls_item { display: inline-block; vertical-align: middle; position: relative; padding: 5px 0 5px 26px; margin-bottom: 12px; margin-left: 12px; font: 600 14px/1.42857142857143 'Open Sans', sans-serif; color: #231F20; box-sizing: border-box; cursor: pointer; }
.b-rating_filter_controls_item input { position: absolute; left: 0; top: 0; opacity: 0; visibility: hidden; pointer-events: none; }

.b-rating_filter_controls_item input[type="checkbox"] ~ span:before { position: absolute; left: 0; top: 50%; margin-top: -9px; width: 18px; height: 18px; background: #fff; border: 2px solid #231F20; box-sizing: border-box; border-radius: 2px; content: ''; }
.b-rating_filter_controls_item input[type="checkbox"]:checked ~ span:before { background: #231F20 url('./img/check.svg') center center / contain no-repeat; }

.b-rating_filter_controls_item input[type="radio"] ~ span:before { position: absolute; left: 0; top: 50%; margin-top: -7px; width: 14px; height: 14px; background: #fff url('./img/radio.svg') center top no-repeat; box-sizing: border-box; border-radius: 50%; content: ''; }
.b-rating_filter_controls_item input[type="radio"]:checked ~ span:before { background-position: center bottom; }

@media (max-width: 767px) {

    .b-rating_filter_controls { margin-top: 18px; }
    .b-rating_filter_controls_item { display: block; margin-left: 12px; }

}

