*, *::before, *::after { box-sizing: border-box; }

html, body { width: 100%; height: 100%; margin: 0; font: 13px/18px 'Karla', sans-serif; }

/*** SKELETON */
.map_wrapper { height: 100vh; overflow: hidden; }

.map_container { height: 100%; width: 75%; }

.map_results { float: right; width: 25%; box-shadow: -1px -1px 2px rgba(0, 0, 0, 0.1); display: inline-block; height: 100%; position: relative; -webkit-transition: all 0.7s ease 0s; transition: all 0.7s ease 0s; background-color: #f7f7f7; }
.map_results .map_detail { background-color: #f7f7f7; height: 100%; position: absolute; -webkit-transform-style: preserve-3d; transform-style: preserve-3d; -webkit-transition: all 0.7s ease 0s; transition: all 0.7s ease 0s; width: 100%; z-index: 999; }
.map_results .map_detail.from_right { -webkit-transform: translateX(100%); -ms-transform: translateX(100%); transform: translateX(100%); }
.map_results .map_detail.from_left { -webkit-transform: translateX(-100%); -ms-transform: translateX(-100%); transform: translateX(-100%); }
.map_results.detail_open .map_detail { -webkit-transform: translateX(0%); -ms-transform: translateX(0%); transform: translateX(0%); overflow: auto; }
.map_results .map_listings { height: 100%; position: relative; -webkit-transform-style: preserve-3d; transform-style: preserve-3d; -webkit-transition: all 0.7s ease 0s; transition: all 0.7s ease 0s; height: 100%; overflow-y: auto; }
.map_results .map_listings .map_listings_results .result_item { -webkit-transform-style: preserve-3d; transform-style: preserve-3d; -webkit-transition: padding-left 0.3s ease 0s; transition: padding-left 0.3s ease 0s; }
.map_results .map_route { position: absolute; z-index: 1000; top: 0; width: 100%; height: 100%; -webkit-transform-style: preserve-3d; -ms-transform-style: preserve-3d; -o-transform-style: preserve-3d; transform-style: preserve-3d; -webkit-transition: all 0.3s ease 0s; transition: all 0.3s ease 0s; -webkit-transform: translateX(100%); -ms-transform: translateX(100%); transform: translateX(100%); }
.map_results .map_route.open { -webkit-transform: translateX(0%); -ms-transform: translateX(0%); transform: translateX(0%); overflow-y: auto; }

/*** LAYOUT */
.google_maps_style, #mapFilterNavigation, .map_btn_custom { background-color: #fff; box-shadow: 0 1px 4px -1px rgba(0, 0, 0, 0.3); border-radius: 2px; overflow: hidden; color: #000; font-family: Roboto, Arial, sans-serif; font-size: 14px; font-weight: 500; overflow: hidden; position: relative; text-align: center; }

.google_maps_style_hover, #mapFilterNavigation h5:hover, .map_btn_custom:hover { background-color: #ebebeb; }

h2 { font-size: 25px; }

.map_results { background-color: #f7f7f7; }
.map_results .map_detail { background-color: #f7f7f7; }
.map_results .map_detail .map_details_close { position: absolute; right: 15px; top: 20px; width: 36px; height: 36px; border-radius: 4px; background-color: #c62828; display: flex; align-items: center; justify-content: center; text-decoration: none; color: #fff; font-size: 22px; line-height: 1; font-weight: bold; }
.map_results .map_detail .map_details_close img { width: 16px; height: 16px; object-fit: contain; filter: brightness(0) invert(1); }
.map_results .map_detail .map_details_close span { font-size: 22px; line-height: 1; font-weight: bold; }
.map_results .map_detail .result_item_detail { padding: 16px 56px 20px 20px; }
.map_results .map_detail .result_item_detail h3 { margin: 0 0 10px 0; font-size: 1.35rem; font-weight: bold; padding-right: 48px; }
.map_results .map_detail .result_item_detail h3 a { color: #0BB7A5; text-decoration: none; }
.map_results .map_detail .result_item_detail .result_item_detail_info .info ul { margin: 0 0 4px 0; padding: 0; list-style: none; }
.map_results .map_detail .result_item_detail .result_item_detail_info .info ul li { margin-bottom: 6px; }
.map_results .map_detail .result_item_detail .result_item_detail_info .info ul li a { color: #0BB7A5; text-decoration: underline; }
.map_results .map_detail .result_item_detail .result_item_detail_info .info ul::after { content: none; display: none; }
.map_results .map_detail .result_item_detail .result_item_detail_info .info > a.label-map,
.map_results .map_detail .result_item_detail .result_item_detail_info .info .map_detail_ctas a.label-map { display: inline-block; margin-right: 10px; padding: 6px 14px; border-radius: 6px; color: #fff !important; text-decoration: none; }
.map_results .map_detail .result_item_detail .result_item_detail_info .info .map_detail_ctas { margin-top: 8px; display: flex; flex-direction: row; flex-wrap: wrap; gap: 8px; align-items: center; }
.map_results .map_detail .result_item_detail .result_item_detail_info .info .map_detail_ctas a.label-map { margin-right: 0; }
.map_results .map_detail .result_item_detail .result_item_detail_info .info .label-map.label-success { background-color: #5cb85c; }
.map_results .map_detail .result_item_detail .result_item_detail_info .info .label-map.label-danger { background-color: #d9534f; }
.map_results .map_detail .result_item_detail .result_item_detail_info-main .info { width: 100%; padding-left: 0; }
.map_results .map_detail .result_item_detail .result_item_detail_info { padding: 10px 0; border-bottom: 1px solid #cdcdcd; }
.map_results .map_detail .result_item_detail .result_item_detail_info h4 { margin-top: 0; }
.map_results .map_detail .result_item_detail .result_item_detail_info .image_container { float: left; width: 30%; }
.map_results .map_detail .result_item_detail .result_item_detail_info .image_container .image { width: 100%; }
.map_results .map_detail .result_item_detail .result_item_detail_info .info { float: left; padding-left: 10px; width: 70%; }
.map_results .map_detail .result_item_detail .result_item_detail_info .description { clear: both; padding-top: 10px; }
.map_results .map_detail .result_item_detail .result_item_detail_info .description h5 { margin: 0; }
.map_results .map_detail .result_item_detail .result_item_detail_info:after { clear: both; display: block; content: " "; }
.map_results .map_detail .result_item_detail .result_item_detail_info dl { margin: 0; }
.map_results .map_detail .result_item_detail .result_item_detail_info dl dt { float: left; padding: 2px 0; font-weight: normal; }
.map_results .map_detail .result_item_detail .result_item_detail_info dl dd { text-align: right; padding: 2px 0; }
.map_results .map_detail .result_item_detail .result_item_detail_info.opening_hours dt { text-transform: capitalize; }
.map_results .map_listings .map_listings_headline h2 { padding: 10px 20px; }
.map_results .map_listings .map_listings_headline h2 .map_listings_number { color: #cdcdcd; font-size: 14px; }
.map_results .map_listings .map_listings_results .result_item { border-bottom: 1px solid #0BB7A5; padding: 10px 20px; }
.map_results .map_listings .map_listings_results .result_item a { text-decoration: none; color: #0BB7A5; cursor: pointer; }
.map_results .map_listings .map_listings_results .result_item h3 { margin: 0 0 5px 0; font-size: 18px; }
.map_results .map_listings .map_listings_results .result_item.active, .map_results .map_listings .map_listings_results .result_item:hover { background: #f1f1f1; }
.map_results .map_listings .map_listings_results .result_item .result_item_info .image_container { float: left; width: 30%; }
.map_results .map_listings .map_listings_results .result_item .result_item_info .image_container .image { width: 100%; }
.map_results .map_listings .map_listings_results .result_item .result_item_info .info { float: left; padding-left: 10px; width: 70%; }
.map_results .map_listings .map_listings_results .result_item .result_item_info .description { clear: both; padding-top: 10px; }
.map_results .map_listings .map_listings_results .result_item .result_item_info .description h5 { margin: 0; }
.map_results .map_listings .map_listings_results .result_item .result_item_info:after { clear: both; display: block; content: " "; }
.map_results .map_listings .map_listings_results .result_item:last-child { border-bottom: none; }
.map_results .map_route { padding: 10px 20px; background-color: #f1f1f1; }
.map_results .map_route input.map_direction_input { width: 100%; padding: 5px; }
.map_results .map_route .map_direction_close_trigger { display: block; width: 100%; text-align: right; cursor: pointer; margin: 10px 0; }
.map_results .map_direction_trigger { color: #fff !important; }

#mapFilterNavigation { position: absolute; height: auto; }
#mapFilterNavigation h5 { padding: 11px 15px; margin: 0; font-size: 11px; margin: 0; }
#mapFilterNavigation.minimized { overflow: hidden !important; }
#mapFilterNavigation.minimized h5 { font-weight: normal; }
#mapFilterNavigation .filter_minimize { cursor: pointer; }
#mapFilterNavigation a { display: block; padding: 8px; cursor: pointer; text-decoration: none; color: #000; text-transform: capitalize; text-align: left; }
#mapFilterNavigation a img { padding-right: 10px; }
#mapFilterNavigation a.active, #mapFilterNavigation a:hover { background-color: #0BB7A5; color: #fff; }
#mapFilterNavigation a.map-marker-filter-all { text-align: center; }

.ucwords { text-transform: capitalize; }

span.stars { margin-bottom: 10px; }

span.stars, span.stars span { display: block; background: url("stars.png") 0 -16px repeat-x; width: 80px; height: 16px; }

span.stars span { background-position: 0 0; }

#pano { width: 100%; height: 300px; }

.custom-pin { height: 37px; line-height: 22px; width: 32px; padding: .6em; text-align: center; cursor: pointer; color: #fff; position: absolute; font-size: 1em; font-weight: bold; -webkit-transition: all 500ms; transition: all 500ms; background: url("../images/m2.png") no-repeat; }

.custom-pin:hover { -webkit-transform: scale(1.15); -ms-transform: scale(1.15); transform: scale(1.15); }

.map_btn_custom { border: none; padding: 12px; position: relative; z-index: 20; cursor: pointer; }
.map_btn_custom::-webkit-input-placeholder { color: #55595C; }
.map_btn_custom::-moz-placeholder { color: gray; }
.map_btn_custom:-ms-input-placeholder { color: #55595C; }
.map_btn_custom:-moz-placeholder { color: gray; }

.map_filter_box { position: absolute; top: 6px; width: 100%; }
.map_filter_box .map_filter_input { float: right; right: 0.25em; position: relative; width: 0%; min-width: 50px; height: 50px; overflow: hidden; -webkit-transition: width 0.3s; transition: width 0.3s; -webkit-backface-visibility: hidden; }
.map_filter_box .map_filter_input.input_open { width: 100%; }
.map_filter_box .map_filter_input .map_search_input { position: absolute; top: 0; right: 0; border: none; background: #fff; width: 100%; height: 50px; margin: 0; z-index: 10; padding: 10px 55px 10px 10px; font-family: inherit; font-size: 20px; color: #2c3e50; border-left: 5px solid #0BB7A5; }
.map_filter_box .map_filter_input .map_search_icon { width: 50px; height: 50px; display: block; position: absolute; right: 0; top: 0; padding: 0; margin: 0; line-height: 50px; text-align: center; color: #fff; background: #0BB7A5 url("../src/search.png") no-repeat center center; z-index: 90; font-size: 22px; font-family: 'icomoon'; speak: none; font-weight: normal; -webkit-font-smoothing: antialiased; cursor: pointer; }

#map_notification { position: absolute; top: 10px; z-index: 100; text-align: center; background-color: #FF7800; padding: 5px 10px; color: #fff; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); }

@media only screen and (min-width: 769px) and (max-width: 1000px) { .map_results .map_listings .map_listings_results .result_item .result_item_info .info { padding-left: 0; width: 100%; }
  .map_results .map_detail .result_item_detail .result_item_detail_info .info { padding-left: 0; width: 100%; } }
@media only screen and (max-width: 768px) { .map_container { width: 100%; }
  .map_results { clear: both; width: 100%; } }
.slider_container { margin: 0 auto; text-align: center; position: relative; -webkit-transition: all 0.5s ease; transition: all 0.5s ease; }
.slider_container div { width: 100%; display: none; }
.slider_container div img { width: 100%; height: auto; }
.slider_container:hover span { display: block; opacity: 0.5; }
.slider_container span { width: 50px; height: 100%; display: none; position: absolute; top: 0; opacity: 0; z-index: 9; cursor: pointer; -webkit-transition: all 0.5s ease; transition: all 0.5s ease; color: #FFF; font-size: 48pt; text-align: center; font-family: "Varela Round", sans-serif; background-color: rgba(255, 255, 255, 0.3); text-shadow: 0px 0px 15px #777777; }
.slider_container span:hover { opacity: 1; }
.slider_container span.next { right: 0; }
.slider_container span.prev { left: 0; }

/*** Map InfoWindow: red close X to match sidebar; hide Google's default close */
.info-window-close { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 4px; background-color: #c62828; color: #fff; text-decoration: none !important; font-size: 22px !important; line-height: 1; font-weight: bold; flex-shrink: 0; cursor: pointer; border: none !important; outline: none !important; box-shadow: none !important; }
.info-window-close:hover, .info-window-close:focus, .info-window-close:active, .info-window-close:focus-visible { border: none !important; outline: none !important; box-shadow: none !important; background-color: #c62828; color: #fff; text-decoration: none !important; }
.info-window-close span { font-size: 22px !important; line-height: 1; font-weight: bold; text-decoration: none !important; }
.gm-style-iw button.gm-ui-hover-effect { display: none !important; }
.gm-style-iw button[aria-label="Close"] { display: none !important; }

/*** Place Autocomplete (PlaceAutocompleteElement) – light dropdown, fix black/invisible list */
#pac-input {
  color-scheme: light;
  background-color: #ffffff;
  color: #1a1a1a;
  overflow: visible !important; /* .map_btn_custom sets overflow:hidden and clips the list */
}
#pac-input::part(prediction-list) {
  background-color: #ffffff !important;
  color: #1a1a1a !important;
  border: 1px solid #dadce0;
  border-radius: 4px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.15);
}
#pac-input::part(prediction-item) {
  background-color: #ffffff !important;
  color: #1a1a1a !important;
}
#pac-input::part(prediction-item-selected),
#pac-input::part(prediction-item):hover {
  background-color: #f1f3f4 !important;
  color: #1a1a1a !important;
}
#pac-input::part(prediction-item-main-text) {
  color: #1a1a1a !important;
}
