#mainmenu {
    box-shadow: 0 1px 3px 1px rgba(0,0,0,0.3);
}

#mainmenu > * {
    display: inline-block;
    vertical-align: middle;
    width: 30px;
    padding: 5px;
    height: 38px;
}

#mainmenu #searchbox {
    width: calc(100% - 120px);
}

#clearbtn {
    border-left: 1px solid lightgrey;
    height: 28px;
    width: 30px;
    cursor: pointer;
    display: block;
    padding-left: 10px;
}

#hits {
    height: calc(100vh - 100px);
    overflow-y: scroll;
    overflow-x: hidden;
}

::-webkit-scrollbar {
    width: 7px;
}

/* Track */
::-webkit-scrollbar-track {
    background: #f1f1f1;
}

/* Handle */
::-webkit-scrollbar-thumb {
    background: #888;
}

/* Handle on hover */
::-webkit-scrollbar-thumb:hover {
    background: #555;
}

.ais-SortBy-select {
    border: 0 !important;
}

.ais-RefinementList-list {
    list-style: none;
    padding-inline-start: 10px;
}

.ais-RefinementList-label {
    width: 100%;
}

.ais-RefinementList-labelText {
    text-transform: capitalize;
}

.processing {
    display: none !important;
}

.ais-SortBy-select {
    border: 2px solid #f8f9fa;
    background: none;
    margin: -2px 0;
    transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23000000%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E');
    background-repeat: no-repeat, repeat;
    background-position: right .7em top 50%, 0 0;
    background-size: .65em auto, 100%;
    padding-right: 25px;
    margin-right: -13px;
}

.btn-light:hover .ais-SortBy-select {
    border: 2px solid #D3D4D5;
}

.ais-RefinementList-count {
    font-size: 12px;
    margin-right: 10px;
    float: right;
    margin-top: 3px;
}
.ais-RefinementList-count::before {
    content: "(";
}
.ais-RefinementList-count::after {
    content: ")";
}

.ais-Hits-item:hover {
    background: #f1f1f1;
    cursor: pointer;
}

.ais-Hits-list {
    list-style: none;
    padding-inline-start: 0;
}

.star-rating .star.half:after, .star-rating .star:before {
    font-family: "bootstrap-icons";
    content: "\F586";
    display: block;
    color: #ffc600;
}

.star-rating {
    vertical-align: top;
    margin-right: -5px;
}

.star-rating .star {
    display: inline-block;
    margin: 0;
    padding: 0;
    margin-right: 4px;
    position: relative;
}

.star-rating .star.half:before {
    color: #ddd;
}

.star-rating .star.half:after {
    color: #ffc600;
    position: absolute;
    top: 0;
    width: 50%;
    display: block;
    height: 100%;
    overflow: hidden;
}

.star-rating .star.empty:before {
    color: #ddd;
}

.price_levelundefined::after, .price_levelnull::after {
    content: "$$";
}

.price_level1::after {
    content: "$";
}

.price_level2::after {
    content: "$$";
}

.price_level3::after {
    content: "$$$";
}

.price_level4::after {
    content: "$$$$";
}

.ais-SearchBox-submit {
    display: none;
}
.ais-SearchBox-reset {
    display: none;
}
.ais-SearchBox-input {
    border: 0;
    padding: 2px;
}
.ais-SearchBox-loadingIndicator {
    display: none;
}
/* clears the ‘X’ from Internet Explorer */
input[type=search]::-ms-clear { display: none; width : 0; height: 0; }
input[type=search]::-ms-reveal { display: none; width : 0; height: 0; }
/* clears the ‘X’ from Chrome */
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration { display: none; }


:focus:not(.focus-visible) {
    outline: 0;
    box-shadow: none;
}

.marker-cluster-small {
    background-color: rgba(181, 226, 140, 0.6);
}
.marker-cluster-small div {
    background-color: rgba(110, 204, 57, 0.6);
}

.marker-cluster-medium {
    background-color: rgba(241, 211, 87, 0.6);
}
.marker-cluster-medium div {
    background-color: rgba(240, 194, 12, 0.6);
}

.marker-cluster-large {
    background-color: rgba(253, 156, 115, 0.6);
}
.marker-cluster-large div {
    background-color: rgba(241, 128, 23, 0.6);
}

/* IE 6-8 fallback colors */
.leaflet-oldie .marker-cluster-small {
    background-color: rgb(181, 226, 140);
}
.leaflet-oldie .marker-cluster-small div {
    background-color: rgb(110, 204, 57);
}

.leaflet-oldie .marker-cluster-medium {
    background-color: rgb(241, 211, 87);
}
.leaflet-oldie .marker-cluster-medium div {
    background-color: rgb(240, 194, 12);
}

.leaflet-oldie .marker-cluster-large {
    background-color: rgb(253, 156, 115);
}
.leaflet-oldie .marker-cluster-large div {
    background-color: rgb(241, 128, 23);
}

.leaflet-popup-content {
    margin: 0 !important;
    width: 300px !important;
}

.leaflet-popup-content-wrapper {
    padding: 0 !important;
}

.leaflet-container h5 {
    font-size: 16px;
    font-weight: 600;
}

.leaflet-container a {
    color: black !important;
    text-decoration: none;
}

.leaflet-popup-content p {
    margin: 0 !important;
    font-size: 13px !important;
}

.locpopup {
    width: 180px;
    left: -90.5px;
}

.locpopup .leaflet-popup-content {
    padding: 4px;
    text-align: center;
    width: 180px !important;
}

.marker-cluster {
    background-clip: padding-box;
    border-radius: 20px;
}

.marker-cluster div {
    width: 30px;
    height: 30px;
    margin-left: 5px;
    margin-top: 5px;

    text-align: center;
    border-radius: 15px;
    font: 12px "Helvetica Neue", Arial, Helvetica, sans-serif;
}
.marker-cluster span {
    line-height: 30px;
}
.leaflet-cluster-anim .leaflet-marker-icon, .leaflet-cluster-anim .leaflet-marker-shadow {
    -webkit-transition: -webkit-transform 0.3s ease-out, opacity 0.3s ease-in;
    -moz-transition: -moz-transform 0.3s ease-out, opacity 0.3s ease-in;
    -o-transition: -o-transform 0.3s ease-out, opacity 0.3s ease-in;
    transition: transform 0.3s ease-out, opacity 0.3s ease-in;
}

.leaflet-cluster-spider-leg {
    /* stroke-dashoffset (duration and function) should match with leaflet-marker-icon transform in order to track it exactly */
    -webkit-transition: -webkit-stroke-dashoffset 0.3s ease-out, -webkit-stroke-opacity 0.3s ease-in;
    -moz-transition: -moz-stroke-dashoffset 0.3s ease-out, -moz-stroke-opacity 0.3s ease-in;
    -o-transition: -o-stroke-dashoffset 0.3s ease-out, -o-stroke-opacity 0.3s ease-in;
    transition: stroke-dashoffset 0.3s ease-out, stroke-opacity 0.3s ease-in;
}

.bounce {
    background: red;
}

img.bounce {
    padding: 0 10px;
    margin: -40px -22px !important;
    border-radius: 100%;
    box-sizing: content-box;
}

.offcanvas {
    z-index: 999999;
}

#map {
    height: 100vh;
}

#modalImgWrapper {
    height: 220px;
    width: 100%;
    position: relative;
    overflow:hidden;
}

#modalImg {
    position: absolute;
    top:-100%;
    left:0;
    right: 0;
    bottom:-100%;
    margin: auto;
}

#detailModal {
    width: 33%;
    height: 90vh;
    left: 25.5%;
    top: 55px;
    overflow: hidden;
}
#detailModal.show {
    display: flex !important;
}


#detailModal .modal-dialog {
    display: flex;
    width: 100%;
}

#detailModal .modal-body {
    overflow-y: scroll;
    overflow-x: hidden;
}

.mark, mark {
    padding: 0 !important;
}

.pac-container {
    margin-top: 9px;
    margin-left: -42px;
    font-size: 19px;
    width: calc(25% - 17px) !important;
}

.pac-item {
    cursor: pointer;
    padding: 6px 4px 4px !important;
}

.pac-item-query {
    font-size: 16px !important;
}

#resultloader, #detailed_search {
    position: absolute; z-index: 9999; width: 222px; left: 66.66%; margin-left: -111px; bottom: 20px;
}

#geolocate {
    position: absolute;
    right: 3px;
    bottom: 20px;
    z-index: 9999;
}

#geolocate .bi {
    color: #0294ff;
}

@media only screen and (max-width: 1199px) {
    #detailModal {
        left: 34%;
    }
    .pac-container {
        margin-top: 9px;
        margin-left: -42px;
        width: calc(33% - 13px) !important;
    }
}

@media only screen and (max-width: 767px) {
    main.container-fluid > .min-vh-100 {
        overflow: hidden;
    }
    #map {
        height: 50vh;
    }
    #mapresults {
        height: 50vh;
    }
    #searchresults {
        height: 50vh;
    }
    #hits {
        height: 48vh;
    }
    #detailModal {
        left: 0;
        width: 100%;
        background: #00000085;
        height: 100%;
        z-index: 999999;
        top: 0;
    }
    .pac-container {
        margin-top: 9px;
        margin-left: -42px;
        width: calc(100% - 15px) !important;
    }
    #resultloader, #detailed_search {
        left: 50%;
    }
}
