.top-filter-input {
    visibility: hidden;
    position: absolute;
}

.top-filter-label {
    display: flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    color: #141414;
    font-size: 15px;
    font-style: normal;
    font-weight: 500;
    line-height: 130%;
    margin-right: 10px;
    cursor: pointer;
    border-radius: 4px;
    border: 1px solid #dfe1e3;
    background: var(--White, #fff);
    padding: 16px 15px 15px 15px;
    width: max-content;
    transition: all 0.2s;
}

.top-filter-label svg {
    margin-right: 10px;
    fill: #141414;
}

.top-filter-list {
    padding-left: 0px;
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
}

.top-filter-label:hover {
    opacity: 0.7;
    transition: opacity 0.3s linear;
}

.top-filter {
    display: flex;
    justify-content: space-between;
    margin: 0 0 20px;
}

.top-filter-search .top-filter-label {
    margin: 0;
    font-size: 0;
}

.top-filter-search .top-filter-label svg {
    margin-right: 0;
}

.checkselect.w_guidebook__filter-list {
    display: none;
    padding: 0;
}

.checkselect.w_guidebook__filter-list.w_is-active {
    display: inline-block;
    position: relative;
}

@media (max-width: 1280px) {
    .top-filter-label {
        font-size: 13px;
        padding: 15px 15px 14px 15px;
    }
}

@media (max-width: 1125px) {
    .top-filter-list {
        flex-wrap: wrap;
        margin-right: -10px;
    }

    .top-filter-label {
        margin-bottom: 10px;
        padding: 12px;
    }
    .top-filter-label svg {
        margin-right: 0;
    }
}

.filter-flex {
    display: flex;
}

.checkselect {
    position: relative;
    display: inline-block;
    min-width: 35%;
    text-align: left;
}

.filter-flex .w_btn {
    border: none;
    background: #fff;
    justify-content: space-between;
    padding: 0 20px;
    color: var(--Black, #141414);
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 1;
}

.filter-flex>div.w_btn {
    border-left: 1px solid #e2e4e7;
    border-top: 1px solid #e2e4e7;
    border-bottom: 1px solid #e2e4e7;
    position: relative;
}

.checkselect-control {
    position: relative;
    padding: 0 !important;
    height: 60px;
}

.checkselect-control::before {
    content: "";
    width: 17px;
    height: 10px;
    background: url("/images/svg/select-arr.svg");
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: calc(50% - 5px);
    right: 30px;
    z-index: 2;
}

.checkselect-control.active::before {
    transform: rotate(180deg);
    transition: all 0.3s linear;
}

.br-1 {
    border-right: 1px solid #e2e4e7;
}

.checkselect-control select {
    position: relative;
    display: inline-block;
    width: 100%;
    margin: 0;
    padding-left: 30px;
    padding-right: 30px;
    height: 100%;
    background: #fff;
    border: none;
    border-left: 1px solid #e2e4e7;
    border-top: 1px solid #e2e4e7;
    border-bottom: 1px solid #e2e4e7;
    border-bottom-left-radius: 4px;
    border-top-left-radius: 4px;
    color: var(--Black, #141414);
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 130%;
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    appearance: none;
}

.checkselect-over {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    cursor: pointer;
}

.checkselect-popup {
    display: none;
    box-sizing: border-box;
    margin: 0;
    padding: 20px 0;
    width: 100%;
    height: auto;
    max-height: 300px;
    position: absolute;
    top: 120%;
    left: 0px;
    border-radius: 4px;
    background: #fff;
    box-shadow: 0px 4px 30px 0px rgba(0, 0, 0, 0.08);
    z-index: 9999;
    overflow: auto;
    user-select: none;
}

.checkselect label {
    position: relative;
    display: block;
    margin: 0;
    padding: 4px 6px 4px 25px;
    color: #141414;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 130%;
    cursor: pointer;
}

.checkselect-popup input {
    position: absolute;
    top: 5px;
    left: 30px;
    margin: 0 !important;
    padding: 0;
}

.checkselect-popup label:hover {
    background: rgba(100%, 18%, 18%, 0.1);
}

.cntr {
    width: 100%;
}

.invisible {
    z-index: -1;
    width: 0;
    height: 0;
    opacity: 0;
}

.label-cbx {
    user-select: none;
}

.label-cbx input:checked+.checkbox {
    border: 2px solid rgba(68, 211, 112, 0.3);
}

.label-cbx input:checked+.checkbox svg polyline {
    stroke-dashoffset: 0;
}

.label-cbx:hover .checkbox svg path {
    stroke-dashoffset: 0;
}

.label-cbx .checkbox,
.w_directionSearch__list-item .checkbox {
    position: relative;
    top: 0px;
    float: left;
    width: 18px;
    height: 18px;
    border: 1px solid #E2E4E7;
    border-radius: 4px;
}

.filter-flex .label-cbx .checkbox,
.w_directionSearch__list-item .checkbox {
    margin-right: 10px;
}
.w_directionSearch__list-item a:hover {
    background: #F2F4F7;
}
.label-cbx .checkbox svg,
.w_directionSearch__list-item .checkbox svg {
    position: absolute;
    top: -3px;
    left: -3px;
}

.label-cbx .checkbox svg path,
.w_directionSearch__list-item .checkbox svg path {
    fill: none;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-dasharray: 71px;
    stroke-dashoffset: 71px;
    transition: all 0.6s ease;
}

.label-cbx .checkbox svg polyline,
.w_directionSearch__list-item .checkbox svg polyline {
    fill: none;
    stroke: #fff;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-dasharray: 18px;
    stroke-dashoffset: 18px;
    transition: all 0.3s ease;
}

.label-cbx>span {
    pointer-events: none;
    vertical-align: middle;
}

.filter-btn {
    color: #fff;
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    line-height: 130%;
    width: 200px;
    display: flex;
    height: 60px;
    justify-content: center;
    align-items: center;
    transition:
    color 0.3s ease,
    border-color 0.3s ease,
    background-color 0.3s ease;
    border-bottom-right-radius: 4px;
    border-top-right-radius: 4px;
}

#excursions--filters-form .filter-btn {
    height: 100%;
}

#directionSearchButton,
#distanceSearchButton,
#raitingSearchButton {
    border-radius: 0 !important;
}

#directionSearchButton .w_btn-text,
#distanceSearchButton .w_btn-text,
#raitingSearchButton .w_btn-text {
    color: var(--Black, #141414);
}

#directionSearchButton.w_btn svg,
#distanceSearchButton.w_btn svg,
#raitingSearchButton.w_btn svg {
    fill: none;
}

.w_is-opened .w_btn-append {
    transform: rotate(180deg);
    transition: all 0.3s linear;
}

.w_directionSearch__content {
    padding-left: 0;
    padding-right: 0;
}

@media (min-width: 64em) {
    .w_directionSearch {
        bottom: auto;
        right: auto;
        border-radius: 5px;
        width: 250px;
        box-shadow: 0px 4px 30px 0px rgba(0, 0, 0, 0.08);
        border: none;
    }
    .c-event .w_directionSearch {
        width: 100%;
    }
}

.w_directionSearch__list a,
.w_directionSearch__list label {
    padding: 6px 6px 6px 20px;
    color: #141414;
    font-size: 16px;
    position: relative;
    display: flex;
    align-items: center;
}

.w_directionSearch__list a.w_is-checked {
    color: #141414;
}

.w_directionSearch__list-item span {
    display: inline;
    color: #141414;
    pointer-events: none;
    vertical-align: middle;
    padding: 0;
    font-size: 14px;
    font-weight: 400;
    line-height: 18px;
}

.w_directionSearch__list a:hover {
    background: rgba(100%, 18%, 18%, 0.1);
}

.w_directionSearch__list a:hover .checkbox svg path {
    stroke-dashoffset: 0;
}

.w_directionSearch__list a.w_is-checked .checkbox {
    border: 2px solid #FF2D2D;
    background: #FF2D2D;
}

.w_directionSearch__list a.w_is-checked span {
    color: #FF2D2D;
}


.w_directionSearch__list a.w_is-checked .checkbox svg polyline {
    stroke-dashoffset: 0;
}

.filter-head {
    color: #141414;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 130%;
    padding: 20px 30px;
    display: flex;
    align-items: center;
    border-bottom: 1px solid #e2e4e7;
    cursor: pointer;
}
.w_directionSearch__list a.w_is-checked .checkbox::before {
    content: '';
    width: 11px;
    height: 7px;
    border: 2px solid #fff;
    display: block;
    border-top: none;
    border-right: 0;
    transform: rotateZ(-45deg);
    margin: 2px;
}
.filter-head svg {
    margin-right: 5px;
}

.filter-head:hover {
    color: #141414;
    background: rgba(100%, 18%, 18%, 0.1);
}

.distance__item span {
    display: block;
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 30px;
    padding-right: 30px;
    cursor: pointer;
}

.distance__item:hover {
    background: rgba(100%, 18%, 18%, 0.1);
}

@media (max-width: 1100px) {
    .checkselect-control select {
        font-size: 14px;
    }

    .filter-flex .w_btn {
        padding-left: 20px;
        padding-right: 20px;
    }

    #directionSearchButton .w_btn-text,
    #distanceSearchButton .w_btn-text,
    #raitingSearchButton .w_btn-text {
        font-size: 14px;
    }

    .filter-btn {
        font-size: 14px;
        width: 90px;
    }
}

.js-hidden {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

#searchInput {
    border-radius: 4px 0 0 4px !important;
}

#searchInput input {
    width: 100%;
    height: 100%;
    border: none;
}

.top-filter-label.js-show-filter {
    position: relative;
}

.top-filter-label.js-show-filter i {
    width: 20px;
    height: 20px;
    position: absolute;
    right: -10px;
    top: -10px;
    background: red;
    border-radius: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-size: 12px;
    font-style: normal;
}

.clear__filter {
    margin-top: 20px;
    display: flex;
    justify-content: flex-end;
}

.js-reset-all-filter {
    display: flex;
    cursor: pointer;
    color: #707070;
}

#raitingSearchButton {
    min-width: 15%;
}

#raitingSearchButton .checkselect-control select {
    border-radius: 0 !important;
}

.stars {
    color: gold;
    text-shadow: 1px 1px #c60;
    padding: 0;
    font-size: 18px;
    margin: 0;
    line-height: 23px;
}

.stars:before {
    content: "★";
}

.w_guidebook_places {
    padding-bottom: 0;
    margin-bottom: 0;
}

.catalog__filter_bottom {
    background: #F2F2F2;
    padding-top: 20px;
    padding-bottom: 40px;
    margin-bottom: 40px;
}

.sort__line {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

@media (max-width: 992px) {
    .checkselect {
        min-width: 30%;
    }

    #raitingSearchButton {
        min-width: 20%;
    }

    .filter-flex .w_btn {
        padding-left: 15px;
        padding-right: 15px;
    }

    .checkselect-control select {
        padding-left: 15px;
    }

    .checkselect-control::before {
        right: 15px;
    }
}

@media (max-width: 767px) {
    .filter-flex {
        flex-direction: column;
    }

    .filter-flex>div.w_btn,
    .checkselect {
        margin-bottom: 20px;
    }

    #directionSearchButton,
    #distanceSearchButton,
    #raitingSearchButton {
        border-radius: 4px;
    }

    .filter-btn {
        width: 100%;
        border-radius: 4px;
    }

    .w_directionSearch__content_distance {
        border-top: 0;
        margin-top: 0;
    }

    .sort__line {
        flex-direction: column-reverse;
        align-items: flex-start;
    }

    .sort__line>div {
        width: 100%;
    }

    .sort__line>div+div {
        margin-bottom: 20px;
    }
}

@media (max-width: 365px) {
    .top-filter {
        flex-wrap: wrap;
    }
}

.select {
    display: block;
    max-width: 300px;
    width: 100%;
    position: relative;
}

.new-select {
    position: relative;
    border: 1px solid #E2E4E7;
    padding: 10px 30px 10px 15px;
    cursor: pointer;
    user-select: none;
    background: #fff;
    border-radius: 4px;
    width: 100%;
}

.new-select__list {
    position: absolute;
    top: 45px;
    left: 0;
    border: 1px solid #ced4da;
    cursor: pointer;
    width: 100%;
    z-index: 2;
    background: #fff;
    user-select: none;
}

.new-select__list.on {
    display: block;
}

.new-select__item span {
    display: block;
    padding: 10px 15px;
    font-size: 14px;
    cursor: pointer;
}

.new-select__item span:hover {
    background: rgba(23, 51, 149, 0.10);
}

.new-select:after {
    content: '';
    display: block;
    position: absolute;
    right: 9px;
    top: calc(50% - 5px);
    width: 17px;
    height: 10px;
    background: url(/images/svg/select-arr.svg);
    background-position: center;
    background-repeat: no-repeat;

    -webkit-transition: all .27s ease-in-out;
    -o-transition: all .27s ease-in-out;
    transition: all .27s ease-in-out;
    -webkit-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
}

.new-select.on:after {
    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
    -o-transform: rotate(180deg);
    transform: rotate(180deg);
}

.checkselect-popup.active {
    display: block;
}

@media (max-width: 767px) {
    .select {
        max-width: 100%;
    }
}

.label-cbx .checkbox {
    opacity: 1;
}



.section-filter {
    position: relative;
    top: -50px;
}

.places_page_filter {
    position: relative;
    top: -67px;
}

.w_directionSearch__list-item .checkbox {
    opacity: 1;
}

.w_directionSearch__list-item .checkbox svg path {
    stroke: #20c2e0;
}

.w_directionSearch__list a.w_is-checked .checkbox svg path {
    fill: #44d370;
}

.w_directionSearch__list-item input:checked~span,
.w_directionSearch__list-item input:checked ~ label span {
    color: var(--Red, #ff2d2d);
}

#raitingSearchButton .checkselect-popup {
    min-width: 180px;
}

.places_page_filter .filter-box {
    position: relative;
    z-index: 4;
}

@media (max-width: 1440px) {
    .checkselect {
        min-width: 25%;
    }

    .checkselect-control select {
        padding-left: 15px;
    }

    .filter-flex>div.w_btn {
        padding-left: 15px;
        padding-right: 15px;
    }
}

@media (max-width: 992px) {
    .top-filter-label {
        padding: 12px;
    }

    .w_btn-text {
        margin-right: 12px;
    }

    #raitingSearchButton {
        min-width: 16.5%;
    }

    #filters- {
        min-width: 27.5%;
    }
}

@media (max-width: 767px) {

    #directionSearchButton .w_btn-text,
    #distanceSearchButton .w_btn-text {
        line-height: 60px;
    }

    .checkselect-control select {
        border-right: 1px solid #e2e4e7;
    }
}

.top-filter-list {
    margin-bottom: 0;
}

.top-filter-label {
    border-radius: 8px;
    color: #7D7D7D;
    font-weight: 400;
    padding-top: 14px;
    padding-bottom: 14px;
}

.main-page-filter .top-filter-label,
.places_page_filter .top-filter-label {
    border-color: #fff;
}

.top-filter-label svg {
    fill: none;
}

.main-page-filter .checkselect-control select,
.places_page_filter .checkselect-control select {
    border-color: #fff;
}

.checkselect-control select,
.filter-flex>div.w_btn {
    border-radius: 8px;
}

.main-page-filter .filter-flex>div.w_btn,
.places_page_filter .filter-flex>div.w_btn {
    border-color: #fff;
}

#directionSearchButton,
#distanceSearchButton,
#raitingSearchButton {
    border-radius: 8px !important;
}

.checkselect-control select {
    color: #7D7D7D;
    font-weight: 400;
    font-size: 16px;
    border: 1px solid #e2e4e7;
}

.filter-flex>div.w_btn {
    border: 1px solid #e2e4e7;
}

#directionSearchButton .w_btn-text,
#distanceSearchButton .w_btn-text,
#raitingSearchButton .w_btn-text {
    color: #7D7D7D;
    font-weight: 400;
    font-size: 16px;
}

#raitingSearchButton .checkselect-control select {
    border-radius: 8px !important;
}

.checkselect-control,
.filter-flex .w_btn {
    height: 51px;
}

.checkselect-popup {
    top: 110%;
}

.checkselect.w_guidebook__filter-list,
#directionSearchButton,
#distanceSearchButton,
#raitingSearchButton {
    margin-right: 5px;
    margin-left: 5px;
}

.filter-flex {
    margin-left: -5px;
    margin-right: 0;
}

.filter-btn {
    margin-right: 0;
    margin-left: 5px;
    height: 51px;
    background: #FF2D2D;
    border-radius: 16px;
    text-transform: uppercase;
    font-size: 16px;
}

.top-filter-input:checked~.top-filter-label svg {
    fill: none;
}

@media (max-width: 992px) {
    #filters- {
        min-width: 15%;
    }

    .filter-btn {
        font-size: 14px;
        text-transform: none;
    }
}

#searchInput {
    border-radius: 16px !important;
}
@media (max-width: 991px) {
    .date-filter-bottom .filter__box {
        padding-bottom: 10px;
        overflow-x: auto;
    }
    .filter-flex {
        margin-left: 0;
        margin-right: 0;
        /*min-width: 820px;*/
    }
    #directionSearch.w_is-active {
        z-index: 99;
    }
}
.w_directionSearch {
    border-radius: 10px;
    box-shadow: 0px 0px 14px 0px #0000000F;
}
.w_directionSearch__list-item a:hover {
    background: #F2F4F7;
}
.date-form .filter-flex .w_btn.btn-anim:not(#filtersButtonClear) {
    background: #141414;
    color: #fff;
    width: auto;
    justify-content: center;
    margin: 18px 20px;
}
#datepickerButtonDate {
    padding-left: 30px;
}
.w_menuBlock .w_btn__icon:first-of-type {
    position: absolute;
    left: 0;
    margin-left: 20px;
}
.w_btn-direction__holder.event__filter__btn {
    width: 15rem;
    overflow: unset;
}
.w_directionSearch__input {
    font-family: 'Geologica';
    font-size: 14px;
    font-weight: 400;
    line-height: 18px;
    text-align: left;
}
#nearSearchList .w_directionSearch__list label {
    padding: 10px 20px!important;
    cursor: pointer;
}
#nearSearchList .js-near-me {
    padding: 14px 20px;
    justify-content: flex-start;
}
#nearSearchList .js-near-me:hover {
    background: #F2F2f7;
}
#nearSearchList .js-near-me svg {
    margin-right: 8px;
}
#nearSearchList .js-near-me.w_is-active {
    background: transparent;
    color: #FF2D2D;
}
#nearSearchList .js-near-me.w_is-active svg path {
    fill: #FF2D2D;
}
#nearSearchList .w_directionSearch__field {
    padding: 0;
}
#nead-filter .w_directionSearch__content {
    padding-top: 0;
}
#nead-filter,
#categories-filter {
    max-width: 12rem;
}
.applyied #nead-filter,
.applyied #categories-filter {
    max-width: fit-content;
}
#nead-filter > a,
#categories-filter > a {
    margin-right: 0;
}
.w_btn-append {
    margin-left: 10px;
}

.bottom-filter .filter_button {
    position: relative;
    border: 1px solid var(--Border, #E2E4E7)!important;
    background: var(--White, #FFF)!important;
}
.filter_body:hover,
.bottom-filter .filter_button:hover {
    opacity: 1!important;
}
.filter_body {
    display: none;
    position: absolute;
    width: 100%;
    bottom: 0;
    transform: translateY(100%);
    border-radius: 10px;
    box-shadow: 0px 0px 14px 0px #0000000F;
    padding: 4px 25px 4px 25px;
    background: #fff;
    left: 0;
    margin-bottom: -10px;
    z-index: 999;
}
.filter_body.active {
    display: block;
}
.filter_item input {
    position: absolute;
    opacity: 0;
}
.filter_item input:checked + label {
    background: red;
    color: #fff;
}
.filter_item label:hover {
    background: #F2F4F7;
}
.filter_item label {
    position: relative;
    display: block;
    width: 100%;
    cursor: pointer;
    padding: 6px 6px 6px 20px;
}
.filter_button .w_btn-text {
    color: #7D7D7D;
    font-weight: 400;
    font-size: 16px;
}