.fat-location-search-form{
    width: 400px !important;
    max-width: 100%;
    padding: 15px;
    line-height: 1.2em;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    font-family: "Avenir Book", sans-serif;
}

.fat-location-search-form.overlay{
    background-color: rgba(255,255,255,0.7);
}

.fat-location-search-form:not(.location-directory-layout){
    box-shadow: 0px 0px 10px rgba(0,0,0,0.4);
    background-color: #f1f1f1;
}
.fat-location-search-form h2.search-form-title{
    font-size: 18px;
    font-weight: 400;
    margin-bottom: 15px;
    text-align: center;
    color: #000;
    font-family: "Avenir Book", sans-serif;
}

.fat-location-search-form .search-field{
    position: relative;
}
.fat-location-search-form .search-field input[type=text]{
    width: 100%;
    border-top: none;
    border-left: none;
    border-right: none;
    border-bottom: solid 1px #adadad;
    font-size: 14px;
    padding: 5px 50px 5px 35px;
    margin: 0px;
    background-color: transparent;
    border-radius: 0px;
    -webkit-border-radius: 0px;
    -moz-border-radius: 0px;
}
.fat-location-search-form .search-field input[type=text]:focus,
.fat-location-search-form .search-field input[type=text]:active,
.fat-location-search-form .search-field input[type=text]:hover{
    box-shadow: none;
    outline: none;
}
.fat-location-search-form .search-field span.map-ico{
    display: inline-block;
    width: 30px;
    height: 30px;
    background-image: url("../image/map-ico.png");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    position: absolute;
    top: 0px;
    left: -5px;
}

span.email-meta svg{
    position: relative;
    top: 4px;
}
.fat-location-search-form .search-field{
    min-height: 36px;
}
.fat-location-search-form .search-field .mapboxgl-ctrl-geocoder{
    max-width: 100%;
    width: 100%;
    background-color: transparent;
    box-shadow: none;
}

.fat-location-search-form .search-field.loading input.mapboxgl-ctrl-geocoder--input{
    pointer-events: none;
}
.fat-location-search-form .search-field .mapboxgl-ctrl-geocoder .mapboxgl-ctrl-geocoder--icon-search,
.fat-location-search-form .search-field.loading .mapboxgl-ctrl-geocoder--pin-right .mapboxgl-ctrl-geocoder--icon-close{
    display: none;
}

.fat-location-search-form .mapboxgl-ctrl-geocoder .suggestions > .active > a:not(:hover){
    background-color: transparent;
}

.fat-location-search-form .search-field .mapboxgl-ctrl-geocoder--button{
    background-color: transparent !important;
}
.fat-location-search-form .search-field a.bt-search{
    position: absolute;
    right: 0px;
    top: 5px;
    font-size: 16px;
    text-decoration: none;
    font-weight: 600;
}

.fat-location-search-form .search-result{
    margin-top: 30px;
}

.fat-location-search-form .result-title{
    font-size: 16px;
    font-weight: 500;
    color: #000;
}

.location-list{
    background-color: #fff;
    padding: 0px;
    margin-top: 10px;
}
.fat-location-search-form:not(.location-directory-layout) .location-list{
    max-height: 220px;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 15px;
}


.location-list .location-item:not(:first-child){
    margin-top: 30px;
}

.location-item .loc-title{
    font-size: 16px;
    font-weight: 400;
    margin-bottom: 10px;
    color: #000;
}

.location-item .loc-title a{
    text-decoration: none;
    font-weight: 400;
}
.loc-address{
    font-weight: 400;
    color: #000;
}
.loc-address span{
    display: block;
    font-size: 14px;
}

.button-groups{
    text-align: right;
    margin-top: 15px;
}
a.fat-bt{
    padding: 10px 25px;
    border-radius: 50px;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
    border: solid 2px #7ab800;
    color: #7ab800;
    transition: all 0.3s;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    line-height: 1em;
    text-decoration: none;
    font-size: 14px;
    font-weight: 400;
    display: inline-block;
    margin-top: 5px;
}

a.fat-bt:hover{
    background-color: #7ab800;
    color: #fff;
}

a.fat-bt.bt-detail{
    margin-right: 5px;
    background-color: #7ab800;
    color: #fff;
}
a.fat-bt.bt-detail:hover{
    background-color: transparent;
    color:  #7ab800;
}

.fat-not-found{
    text-align: center;
    font-size: 18px;
    padding-top: 60px;
    padding-bottom: 60px;
    color: #343434;
}

.mapboxgl-popup-content a.bt-view-on-map{
    display: none;
}

.fat-location-list{
    display: flex;
    flex-wrap: wrap;
}

.fat-location-list .fat-left-col{
    width: 40%;
}

.fat-location-list .fat-right-col{
    width: 60%;
    padding-left: 30px;
}

.fat-location-list .fat-right-col .location-map{
    width: 100%;
    height: 700px;
    font-family: "Avenir Book", sans-serif;
}

.fat-location-list .fat-right-col .location-map .mapboxgl-ctrl-top-right{
    display: none !important;
}

/** CSS scrollbar **/
/* width */
.location-list::-webkit-scrollbar {
    width: 15px;
}

/* Track */
.location-list::-webkit-scrollbar-track {
    box-shadow: inset 0 0 5px grey;
    border-radius: 10px;
}

/* Handle */
.location-list::-webkit-scrollbar-thumb {
    background: #7ab800;
    border-radius: 10px;
}

/* Handle on hover */
.location-list::-webkit-scrollbar-thumb:hover {
    background: #3a9c1c;
}

/** Mapbox */
.mapboxgl-popup-close-button{
    position: absolute;
    right: 5px;
    top: 0;
    border: 0;
    border-radius: 0 3px 0 0;
    cursor: pointer;
    background-color: transparent !important;
    color: #7ab800 !important;
    padding: 0px !important;
    font-size: 24px;
    line-height: 1em;
}

.mapboxgl-popup-content{
    min-width: 280px;
}

.mapboxgl-popup .loc-title{
    font-weight: 600;
    font-size: 16px;
    margin-bottom: 10px;
    color: #343434;
}
.mapboxgl-popup .loc-title a{
    text-decoration: none;
    font-weight: 400;
}
.mapboxgl-popup .loc-address span{
    font-size: 13px;
}
.mapboxgl-popup .loc-address .phone-meta,
.mapboxgl-popup .loc-address .email-meta{
    margin-top: 5px;
}
.mapboxgl-popup .button-groups{
    margin-top: 10px;
}
.mapboxgl-popup .button-groups a.fat-bt{
    font-size: 14px;
    padding: 8px 20px;
}

@media (max-width: 768px){
    .fat-location-list .fat-right-col,
    .fat-location-list .fat-left-col{
        width: 100%;
    }
}


/** loading button **/
.field.loading,
.fat-bt.loading{
    position: relative;
    cursor: default;
    text-shadow: none!important;
    color: transparent!important;
    opacity: 1;
    pointer-events: auto;
    -webkit-transition: all 0s linear,opacity .1s ease;
    transition: all 0s linear,opacity .1s ease;
    opacity: 1 !important;
}
.field.loading:before,
.fat-bt.loading:before{
    position: absolute;
    content: '';
    top: 50%;
    left: 50%;
    margin: -.64285714em 0 0 -.64285714em;
    width: 1.28571429em;
    height: 1.28571429em;
    border-radius: 500rem;
    border: .2em solid rgba(0,0,0,.15);
}

.field.loading:after,
.fat-bt.loading:after{
    position: absolute;
    content: '';
    top: 50%;
    left: 50%;
    margin: -.64285714em 0 0 -.64285714em;
    width: 1.28571429em;
    height: 1.28571429em;
    -webkit-animation: button-spin .6s linear;
    animation: button-spin .6s linear;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    border-radius: 500rem;
    border-color: #fff transparent transparent;
    border-style: solid;
    border-width: .2em;
    -webkit-box-shadow: 0 0 0 1px transparent;
    box-shadow: 0 0 0 1px transparent;
}
.field.loading:before,
.field.loading:after{
    left: auto;
    right: 5px;
}

/** book now */
.fat-location-list.book-now-list .location-list{
    display: flex;
    width: 100%;
    flex-wrap: wrap;
}
.fat-location-list.book-now-list .location-list .location-item{
    width: 33.3333%;
    margin: 0px;
    padding: 15px;
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    -moz-box-shadow:  none !important;
}
.fat-location-list.book-now-list .location-list .location-item .button-groups{
    margin-bottom: 5px;
}
.fat-location-list.book-now-list .location-list .location-item .location-item-inner{
    padding: 15px;
    box-shadow: 0px 0px 10px rgba(0,0,0,0.3);
    -webkit-box-shadow: 0px 0px 10px rgba(0,0,0,0.3);
    -moz-box-shadow: 0px 0px 10px rgba(0,0,0,0.3);
    border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    background-color: #fff;
}

/** slider ranger */
.fat-price-range .filter-value{
    text-align: center;
    color:  #2354a3;
}

.mile-slider-ranger{
    margin-bottom: 15px;
    margin-top: 15px;
    position: relative;
    z-index: 0;
}
.filter-value{
    margin-bottom: 15px;
}
.mile-slider-ranger .ui-slider-horizontal{
    height: 10px;
}
.mile-slider-ranger .ui-slider-horizontal .ui-slider-range-min{
    background-color: #7ab800;
}
.ui-state-default, .ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default, .ui-button,
html .ui-button.ui-state-disabled:hover, html .ui-button.ui-state-disabled:active{
    border-radius: 50%;
    top: -8px;
    cursor: pointer;
}

.mile-slider-ranger .ui-state-focus,
.mile-slider-ranger .ui-state-active{
    background-color: #7ab800 !important;
    border-color: #7ab800 !important;
    color:  #7ab800 !important;
}

.mile-slider-ranger label{
    font-size: 14px;
    display: block;
    margin-bottom: 10px;
    color: #343434;
}

a.bt-learn-more,
a.bt-view-on-map{
    padding: 10px;
    font-weight: 400;
    font-size: 12px;
    text-decoration: none;
    color: #7ab800;
    margin-right: 3px;
}

.book-now-list a.bt-view-on-map{
    display: none !important;
}

@media (max-width: 600px) {
    .fat-location-list.book-now-list .location-list .location-item{
        width: 100%;
    }
}

@-webkit-keyframes button-spin {
    from {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    to {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@keyframes button-spin {
    from {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }

    to {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}