@charset "utf-8";
/**
 * Store Locator Pro: template isolation layer
 *
 * Loaded after layout CSS. Re-asserts component styles with higher specificity
 * and !important so Helix Ultimate / Bootstrap 5 / Cassiopeia cannot restyle
 * form controls, map, or results inside .locator_container.
 */

/* -------------------------------------------------------------------------
   Base containment
   ------------------------------------------------------------------------- */

.locator_container,
.locator_container *,
.locator_container *::before,
.locator_container *::after {
	box-sizing: border-box !important;
}

.locator_container form#locate_form,
.locator_container #locate_form {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	max-width: none !important;
}

.locator_container img {
	max-width: none !important;
}

.locator_container #map img,
.locator_container .gm-style img {
	max-width: none !important;
}

/* -------------------------------------------------------------------------
   Responsive search overlay (not .row-fluid; that is the default layout)
   ------------------------------------------------------------------------- */

.locator_container #sl_search_container:not(.row-fluid) {
	background: #fff !important;
	padding: 4px 8px !important;
	position: absolute !important;
	top: 8px !important;
	left: 8px !important;
	z-index: 100 !important;
	border-radius: 8px !important;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2), 0 -1px 0 rgba(0, 0, 0, 0.02) !important;
	width: 300px !important;
	max-width: calc(100% - 16px) !important;
	border: 0 !important;
	border-bottom: 1px solid transparent !important;
	margin: 0 !important;
}

.locator_container #sl_search_container:not(.row-fluid) .search_main,
.locator_container #sl_search_container:not(.row-fluid) .earch_main {
	position: relative !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	height: 48px !important;
	min-height: 48px !important;
}

/* Beat Helix: input[type=text]:not(.form-control) { padding: .5rem !important } */
.locator_container #sl_search_container:not(.row-fluid) #addressInput,
.locator_container #sl_search_container:not(.row-fluid) input#addressInput[type="text"] {
	display: block !important;
	border: none !important;
	border-radius: 0 !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	z-index: 6 !important;
	outline: none !important;
	color: inherit !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	font-family: inherit !important;
	line-height: 20px !important;
	margin: 0 !important;
	padding: 14px 48px 14px 0 !important;
	height: 48px !important;
	min-height: 48px !important;
	max-height: 48px !important;
	vertical-align: middle !important;
	background: transparent !important;
	background-color: transparent !important;
	box-shadow: none !important;
	-webkit-appearance: none !important;
	appearance: none !important;
}

.locator_container #sl_search_container:not(.row-fluid) #addressInput.geo-enabled,
.locator_container #sl_search_container:not(.row-fluid) input#addressInput.geo-enabled[type="text"] {
	padding-left: 38px !important;
}

.locator_container #sl_search_container:not(.row-fluid) #addressInput::placeholder {
	line-height: 20px !important;
	opacity: 0.65 !important;
	vertical-align: middle !important;
}

.locator_container #addressInput:-webkit-autofill,
.locator_container #addressInput:-webkit-autofill:hover,
.locator_container #addressInput:-webkit-autofill:focus {
	-webkit-box-shadow: 0 0 0 1000px #fff inset !important;
	background-color: #fff !important;
	color: inherit !important;
}

.locator_container #sl_search_container:not(.row-fluid) .searchbox-searchbutton,
.locator_container #sl_search_container:not(.row-fluid) .searchbox-clearbutton,
.locator_container #sl_search_container:not(.row-fluid) button.searchbox-searchbutton,
.locator_container #sl_search_container:not(.row-fluid) button.searchbox-clearbutton {
	padding: 12px !important;
	background: transparent !important;
	background-color: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	font: inherit !important;
	margin: 0 !important;
	outline: 0 !important;
	overflow: visible !important;
	vertical-align: baseline !important;
	position: absolute !important;
	right: 0 !important;
	top: 0 !important;
	width: auto !important;
	height: 48px !important;
	min-width: 0 !important;
	min-height: 48px !important;
	line-height: normal !important;
	box-shadow: none !important;
	color: inherit !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	cursor: pointer !important;
}

.locator_container #sl_search_container:not(.row-fluid) .searchbox-searchbutton,
.locator_container #sl_search_container:not(.row-fluid) button.searchbox-searchbutton {
	display: block !important;
}

.locator_container #sl_search_container:not(.row-fluid) .mylocation-button,
.locator_container #sl_search_container:not(.row-fluid) button.mylocation-button {
	display: block !important;
	padding: 0 !important;
	background: transparent !important;
	background-color: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	font: inherit !important;
	margin: 0 !important;
	outline: 0 !important;
	overflow: visible !important;
	vertical-align: baseline !important;
	position: absolute !important;
	left: 8px !important;
	top: 15px !important;
	width: 18px !important;
	height: 18px !important;
	min-width: 18px !important;
	min-height: 18px !important;
	line-height: normal !important;
	box-shadow: none !important;
	color: inherit !important;
	text-transform: none !important;
	cursor: pointer !important;
}

.locator_container #sl_search_container:not(.row-fluid) .mylocation-button::after {
	content: "" !important;
	position: absolute !important;
	right: -8px !important;
	top: -2px !important;
	border-left: 1px solid #ddd !important;
	height: 22px !important;
}

.locator_container #sl_search_container:not(.row-fluid) .filter-toggle {
	margin: 0 !important;
	border-top: 1px solid #ddd !important;
	padding: 0 0 0 4px !important;
	min-height: 48px !important;
	height: 48px !important;
	display: flex !important;
	align-items: center !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	color: rgba(0, 0, 0, 0.54) !important;
	line-height: normal !important;
	box-sizing: border-box !important;
}

.locator_container #sl_search_container:not(.row-fluid) .filter-toggle span {
	line-height: normal !important;
	display: block !important;
	overflow: hidden !important;
	text-align: left !important;
	flex: 1 1 auto !important;
}

.locator_container #sl_search_container:not(.row-fluid) .filter-toggle-icon {
	height: 24px !important;
	width: 24px !important;
	margin: 0 12px 0 4px !important;
	flex: 0 0 24px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.locator_container #sl_search_container:not(.row-fluid) #sl_map_spinner.sl-map-spinner,
.locator_container #sl_search_container:not(.row-fluid) span#sl_map_spinner {
	top: 16px !important;
}

.locator_container #sl_map_spinner {
	max-width: none !important;
}

.locator_container #sl_map_spinner.sl-map-spinner,
.locator_container span#sl_map_spinner {
	display: none;
	position: absolute !important;
	top: 12px !important;
	right: 40px !important;
	width: 16px !important;
	height: 16px !important;
	min-width: 16px !important;
	min-height: 16px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: url(spinner.gif) center center no-repeat !important;
	background-size: 16px 16px !important;
	vertical-align: middle !important;
	box-shadow: none !important;
}

/* Default layout: spinner sits inline next to the search button */
.locator_container #locate_form.form-inline #sl_map_spinner.sl-map-spinner,
.locator_container #sl_search_container.row-fluid #sl_map_spinner.sl-map-spinner {
	position: relative !important;
	top: auto !important;
	right: auto !important;
	display: none;
	margin: 0 0 0 6px !important;
	vertical-align: middle !important;
}

/* -------------------------------------------------------------------------
   Google InfoWindow: keep close (X), hide empty title strip
   Do not set position on .gm-style-iw-c: Maps uses absolute + transform to anchor.
   ------------------------------------------------------------------------- */

.locator_container .gm-style .gm-style-iw-c {
	padding: 0 !important;
	border-radius: 10px !important;
	overflow: hidden !important;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.18) !important;
	outline: none !important;
	border: 0 !important;
}

.locator_container .gm-style .gm-style-iw-c:focus,
.locator_container .gm-style .gm-style-iw-c:focus-visible,
.locator_container .gm-style .gm-style-iw-c:focus-within {
	outline: none !important;
	outline-offset: 0 !important;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.18) !important;
	border: 0 !important;
}

.locator_container .gm-style .gm-style-iw-d {
	overflow: auto !important;
	max-height: min(240px, 58vh) !important;
}

/* We never set a Maps header title; hide the empty title node only */
.locator_container .gm-style .gm-style-iw-ch {
	display: none !important;
	height: 0 !important;
	min-height: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	overflow: hidden !important;
}

/* Header row holds the close control; collapse height, pin X to the corner */
.locator_container .gm-style .gm-style-iw-chr {
	position: absolute !important;
	top: 5px !important;
	right: 25px !important;
	left: auto !important;
	width: auto !important;
	height: auto !important;
	min-height: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	z-index: 3 !important;
	pointer-events: auto !important;
}

.locator_container .gm-style .gm-style-iw-chr button,
.locator_container .gm-style button.gm-ui-hover-effect {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	pointer-events: auto !important;
	width: 30px !important;
	height: 30px !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	cursor: pointer !important;
}

.locator_container .gm-style .gm-style-iw-chr button > span,
.locator_container .gm-style button.gm-ui-hover-effect > span {
	display: block !important;
	opacity: 0.7 !important;
}

.locator_container .map-result {
	max-width: 280px !important;
	padding: 12px 36px 12px 14px !important;
	margin: 0 !important;
	font-size: 13px !important;
	line-height: 1.5 !important;
	color: #222 !important;
	text-align: left !important;
	box-sizing: border-box !important;
}

.locator_container .map-result .infoloc-name {
	display: block !important;
	margin: 0 28px 10px 0 !important;
	padding: 0 !important;
	font-family: inherit !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
	color: #222 !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	white-space: normal !important;
}

/* Sidebar titles: beat Helix/Bootstrap h4 heading styles */
.locator_container #sl_sidebar .loc-name,
.locator_container .result-inner .loc-name {
	display: block !important;
	margin: 0 0 8px !important;
	padding: 0 !important;
	font-family: inherit !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
	color: #222 !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	white-space: normal !important;
}

.locator_container #sl_sidebar .loc-url,
.locator_container .result-inner .loc-url {
	margin: 6px 0 0 !important;
}

.locator_container #sl_sidebar .loc-url a,
.locator_container .result-inner .loc-url a {
	font-weight: 600 !important;
	text-decoration: none !important;
	color: #1819ed !important;
}

.locator_container #sl_sidebar .loc-url a:hover,
.locator_container .result-inner .loc-url a:hover {
	text-decoration: underline !important;
}

.locator_container .map-result .infoloc-distance {
	font-size: 12px !important;
	font-weight: 500 !important;
	color: #667085 !important;
}

.locator_container .map-result > div {
	margin: 0 0 7px !important;
	padding: 0 !important;
	line-height: 1.5 !important;
	font-size: 13px !important;
}

.locator_container .map-result > div:last-child {
	margin-bottom: 0 !important;
}

.locator_container .map-result .infoloc-url a,
.locator_container .map-result .infoloc-directions a {
	font-weight: 600 !important;
	text-decoration: none !important;
}

.locator_container .map-result .infoloc-url a:hover,
.locator_container .map-result .infoloc-directions a:hover {
	text-decoration: underline !important;
}

/* -------------------------------------------------------------------------
   Social / feature icons: Font Awesome (Helix FA6)
   ------------------------------------------------------------------------- */

.locator_container .loc-social,
.locator_container .infoloc-social {
	display: flex !important;
	align-items: center !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
	line-height: 1 !important;
	margin: 10px 0 8px !important;
	padding: 0 !important;
	font-size: 14px !important;
	white-space: normal !important;
}

.locator_container a.networkicon,
.locator_container .networkicon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 28px !important;
	height: 28px !important;
	min-width: 28px !important;
	min-height: 28px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid #d0d5dd !important;
	border-radius: 6px !important;
	float: none !important;
	vertical-align: middle !important;
	line-height: 1 !important;
	box-shadow: none !important;
	background: #f8fafc !important;
	color: #344054 !important;
	text-decoration: none !important;
}

.locator_container a.networkicon:hover,
.locator_container .networkicon:hover {
	background: #eef2f6 !important;
	color: #101828 !important;
	text-decoration: none !important;
}

.locator_container a.networkicon i,
.locator_container .networkicon i,
.locator_container .featureicon i {
	display: inline-block !important;
	font-size: 14px !important;
	line-height: 1 !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
}

.locator_container a.networkicon img,
.locator_container .networkicon img,
.locator_container .loc-social img,
.locator_container .infoloc-social img {
	display: none !important;
}

.locator_container .featureicon,
.locator_container span.featureicon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: auto !important;
	height: auto !important;
	margin: 0 6px 0 0 !important;
	padding: 0 !important;
	vertical-align: middle !important;
	color: #f5a524 !important;
	line-height: 1 !important;
}

.locator_container img.featureicon {
	display: none !important;
}

/* -------------------------------------------------------------------------
   Filter panel (responsive)
   ------------------------------------------------------------------------- */

.locator_container .filter-container select,
.locator_container .filter-container select:not(.form-select):not(.form-control) {
	background-color: #f3f3f3 !important;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='50px' height='50px'><polyline points='46.139,15.518 25.166,36.49 4.193,15.519'/></svg>") !important;
	background-repeat: no-repeat !important;
	background-position: right 8px top 11px !important;
	background-size: 12px 12px !important;
	color: #666 !important;
	padding: 4px 32px 4px 8px !important;
	width: auto !important;
	max-width: 85% !important;
	height: 30px !important;
	min-height: 30px !important;
	line-height: 22px !important;
	font-size: 12px !important;
	text-align: center !important;
	border-radius: 3px !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	border: 0 !important;
	outline: 0 !important;
	box-shadow: none !important;
	margin: 0 !important;
}

.locator_container .filter-container input[type="text"],
.locator_container .filter-container input#name_search[type="text"] {
	background: #f3f3f3 !important;
	background-color: #f3f3f3 !important;
	color: #666 !important;
	padding: 4px 8px !important;
	width: 80% !important;
	max-width: 80% !important;
	height: 30px !important;
	min-height: 30px !important;
	line-height: 22px !important;
	font-size: 12px !important;
	text-align: left !important;
	border-radius: 3px !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	border: 0 !important;
	outline: 0 !important;
	box-shadow: none !important;
	margin: 0 0 8px !important;
}

.locator_container .filter-container label {
	font-size: 12px !important;
	font-weight: 600 !important;
	color: #666 !important;
	display: block !important;
	margin: 0 0 4px !important;
	padding: 0 !important;
}

.locator_container .filter-container label.checkbox,
.locator_container .filter-container .checkbox {
	font-weight: 500 !important;
}

.locator_container .filter-container input[type="checkbox"],
.locator_container .filter-container input[type="radio"] {
	width: auto !important;
	max-width: none !important;
	height: auto !important;
	min-height: 0 !important;
	padding: 0 !important;
	margin: 0 6px 0 0 !important;
	box-shadow: none !important;
	display: inline-block !important;
	vertical-align: middle !important;
}

.locator_container .searchbox-featuredbutton,
.locator_container button.searchbox-featuredbutton {
	display: inline-block !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	margin: 0 !important;
	outline: 0 !important;
	box-shadow: none !important;
	width: auto !important;
	height: auto !important;
	min-height: 0 !important;
	line-height: normal !important;
	cursor: pointer !important;
}

/* -------------------------------------------------------------------------
   Default / bottom layouts: search form controls
   ------------------------------------------------------------------------- */

/*
 * Classic markup uses Bootstrap 2 .span* classes on form inputs.
 * Do not float those as a grid inside the search form; keep label → control order.
 * Map/sidebar .span* under #sl_results_container still use the float grid below.
 */
.locator_container #locate_form.form-inline .row-fluid [class*="span"],
.locator_container #sl_search_container.row-fluid #locate_form [class*="span"] {
	float: none !important;
	display: inline-block !important;
	width: auto !important;
	max-width: 100% !important;
	margin-left: 0 !important;
	vertical-align: middle !important;
}

.locator_container #locate_form.form-inline > .row-fluid,
.locator_container #sl_search_container.row-fluid #locate_form > .row-fluid {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	column-gap: 0 !important;
	row-gap: 4px !important;
	margin: 0 0 6px !important;
	padding: 0 !important;
}

.locator_container #locate_form.form-inline h3,
.locator_container #locate_form.form-inline h5,
.locator_container #sl_search_container.row-fluid #locate_form h3,
.locator_container #sl_search_container.row-fluid #locate_form h5 {
	display: inline-block !important;
	float: none !important;
	flex: 0 0 auto !important;
	width: auto !important;
	max-width: 100% !important;
	margin: 0 10px 0 0 !important;
	padding: 0 !important;
	line-height: 36px !important;
	font-size: 0.95rem !important;
	font-weight: 600 !important;
	color: #222 !important;
	white-space: nowrap !important;
}

.locator_container #locate_form.form-inline h5 small,
.locator_container #sl_search_container.row-fluid #locate_form h5 small {
	font-weight: 400 !important;
	font-size: 0.85em !important;
	color: #666 !important;
	margin-left: 4px !important;
}

.locator_container #locate_form.form-inline .help-inline,
.locator_container #sl_search_container.row-fluid .help-inline {
	display: inline-block !important;
	float: none !important;
	width: auto !important;
	margin: 0 6px 0 0 !important;
	padding: 0 !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	color: #444 !important;
	vertical-align: middle !important;
	white-space: nowrap !important;
}

.locator_container #locate_form.form-inline #addressInput,
.locator_container #sl_search_container.row-fluid #addressInput,
.locator_container #locate_form.form-inline input#addressInput[type="text"] {
	display: inline-block !important;
	float: none !important;
	flex: 1 1 280px !important;
	width: auto !important;
	min-width: 240px !important;
	max-width: 480px !important;
	height: 36px !important;
	min-height: 36px !important;
	max-height: none !important;
	line-height: 22px !important;
	padding: 6px 12px !important;
	margin: 0 8px 0 0 !important;
	border: 1px solid #ccc !important;
	border-radius: 4px !important;
	background: #fff !important;
	background-color: #fff !important;
	box-shadow: none !important;
	font-size: 14px !important;
	vertical-align: middle !important;
}

.locator_container #locate_form.form-inline #name_search,
.locator_container #sl_search_container.row-fluid #name_search,
.locator_container #locate_form.form-inline input#name_search[type="text"] {
	display: inline-block !important;
	float: none !important;
	width: min(100%, 220px) !important;
	max-width: 100% !important;
	height: 36px !important;
	min-height: 36px !important;
	line-height: 22px !important;
	padding: 6px 12px !important;
	margin: 0 8px 0 0 !important;
	border: 1px solid #ccc !important;
	border-radius: 4px !important;
	background: #fff !important;
	box-shadow: none !important;
	font-size: 14px !important;
	vertical-align: middle !important;
}

.locator_container #locate_form.form-inline select,
.locator_container #sl_search_container.row-fluid select,
.locator_container #locate_form.form-inline select:not(.form-select):not(.form-control) {
	display: inline-block !important;
	float: none !important;
	width: auto !important;
	min-width: 140px !important;
	max-width: 100% !important;
	height: 36px !important;
	min-height: 36px !important;
	padding: 4px 28px 4px 10px !important;
	margin: 0 14px 0 0 !important;
	border: 1px solid #ccc !important;
	border-radius: 4px !important;
	background-color: #fff !important;
	box-shadow: none !important;
	font-size: 14px !important;
	line-height: 22px !important;
	vertical-align: middle !important;
	-webkit-appearance: menulist !important;
	appearance: auto !important;
}

.locator_container #locate_form.form-inline select:last-of-type,
.locator_container #sl_search_container.row-fluid select:last-of-type {
	margin-right: 0 !important;
}

.locator_container #locate_form.form-inline select#radiusSelect,
.locator_container #sl_search_container.row-fluid select#radiusSelect {
	min-width: 120px !important;
}

.locator_container #locate_form.form-inline select#featstate,
.locator_container #sl_search_container.row-fluid select#featstate {
	min-width: 150px !important;
}

.locator_container #locate_form.form-inline select#catid,
.locator_container #locate_form.form-inline select[name="catid"],
.locator_container #locate_form.form-inline select#tagid,
.locator_container #locate_form.form-inline select[name="tagid"] {
	min-width: 200px !important;
}

.locator_container #locate_form.form-inline .btn,
.locator_container #locate_form.form-inline input[type="button"],
.locator_container #locate_form.form-inline input.btn {
	display: inline-block !important;
	float: none !important;
	width: auto !important;
	max-width: none !important;
	height: 36px !important;
	min-height: 36px !important;
	padding: 0 16px !important;
	margin: 0 !important;
	line-height: 34px !important;
	font-size: 14px !important;
	vertical-align: middle !important;
	cursor: pointer !important;
	border-radius: 4px !important;
}

.locator_container #locate_form.form-inline .mylocation-button,
.locator_container #sl_search_container.row-fluid .mylocation-button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	position: relative !important;
	left: auto !important;
	top: auto !important;
	float: none !important;
	width: 36px !important;
	height: 36px !important;
	min-width: 36px !important;
	min-height: 36px !important;
	padding: 0 !important;
	margin: 0 8px 0 0 !important;
	background: #fff !important;
	background-color: #fff !important;
	border: 1px solid #cfd6dd !important;
	border-radius: 4px !important;
	box-shadow: none !important;
	overflow: hidden !important;
	vertical-align: middle !important;
	line-height: 0 !important;
	cursor: pointer !important;
}

.locator_container #locate_form.form-inline .mylocation-button::after,
.locator_container #sl_search_container.row-fluid .mylocation-button::after {
	content: none !important;
	display: none !important;
}

.locator_container #locate_form.form-inline .mylocation-widget,
.locator_container #locate_form.form-inline .mylocation-button .mylocation-widget {
	position: relative !important;
	left: auto !important;
	top: auto !important;
	width: 18px !important;
	height: 18px !important;
	margin: 0 !important;
}

.locator_container #locate_form.form-inline label.checkbox,
.locator_container #sl_search_container.row-fluid label.checkbox {
	display: inline-block !important;
	float: none !important;
	width: auto !important;
	min-width: 0 !important;
	margin: 0 10px 2px 0 !important;
	padding: 0 !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	vertical-align: middle !important;
	white-space: nowrap !important;
}

.locator_container #sl_search_container.row-fluid {
	margin-bottom: 0 !important;
}

.locator_container #sl_search_container.row-fluid + br {
	display: none !important;
}

.locator_container #sl_results_container.row-fluid {
	margin-top: 8px !important;
}

.locator_container #sl_locate_results {
	margin-bottom: 6px !important;
	font-size: 0.95em !important;
	background: transparent !important;
}

/* -------------------------------------------------------------------------
   Map + results
   ------------------------------------------------------------------------- */

.locator_container #map {
	overflow: hidden !important;
	max-width: none !important;
	min-height: 360px !important;
	background: #e8eef3 !important;
}

/* Classic: no gray panel behind "Search to locate..." / results chrome */
.locator_container #sl_results_container {
	min-height: 0 !important;
	background: transparent !important;
	max-width: none !important;
}

/* Responsive shell only: reserve map space under the absolute search card */
.locator_container .sl-results-shell {
	min-height: 60vh !important;
	background: transparent !important;
}

.locator_container #map.sl-map-loading {
	position: relative !important;
}

.locator_container #map.sl-map-loading::before {
	content: "" !important;
	position: absolute !important;
	inset: 0 !important;
	z-index: 1 !important;
	pointer-events: none !important;
	background: linear-gradient(90deg, #e8eef3 0%, #f4f7fa 45%, #e8eef3 90%) !important;
	background-size: 200% 100% !important;
	animation: sl-map-skeleton 1.2s ease-in-out infinite !important;
}

@keyframes sl-map-skeleton {
	0% { background-position: 100% 0; }
	100% { background-position: -100% 0; }
}

.locator_container #sl_sidebar {
	max-width: none !important;
}

.locator_container #sl_sidebar .result-container {
	box-sizing: border-box !important;
}

.locator_container #sl_sidebar .result-inner {
	margin: 4px 8px !important;
	padding: 10px 12px !important;
	border-bottom: 1px solid #e3e6ea !important;
	border-radius: 8px !important;
	transition: background-color 0.15s ease, box-shadow 0.15s ease !important;
}

.locator_container #sl_sidebar .result-inner:hover {
	background: #f3f6fa !important;
	box-shadow: inset 0 0 0 1px rgba(19, 47, 83, 0.1) !important;
}

/* -------------------------------------------------------------------------
   Legacy Bootstrap 2 .span* grid (Joomla 3 markup under BS5)
   ------------------------------------------------------------------------- */

.locator_container .row-fluid {
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.locator_container .row-fluid:before,
.locator_container .row-fluid:after {
	display: table !important;
	content: "" !important;
	line-height: 0 !important;
}

.locator_container .row-fluid:after {
	clear: both !important;
}

.locator_container .row-fluid [class*="span"] {
	display: block !important;
	float: left !important;
	min-height: 1px !important;
	box-sizing: border-box !important;
	margin-left: 2.127659574468085% !important;
}

.locator_container .row-fluid [class*="span"]:first-child {
	margin-left: 0 !important;
}

.locator_container .row-fluid .span12 { width: 100% !important; }
.locator_container .row-fluid .span11 { width: 91.48936170212765% !important; }
.locator_container .row-fluid .span10 { width: 82.97872340425532% !important; }
.locator_container .row-fluid .span9 { width: 74.46808510638297% !important; }
.locator_container .row-fluid .span8 { width: 65.95744680851064% !important; }
.locator_container .row-fluid .span7 { width: 57.44680851063829% !important; }
.locator_container .row-fluid .span6 { width: 48.93617021276595% !important; }
.locator_container .row-fluid .span5 { width: 40.42553191489362% !important; }
.locator_container .row-fluid .span4 { width: 31.914893617021278% !important; }
.locator_container .row-fluid .span3 { width: 23.404255319148934% !important; }
.locator_container .row-fluid .span2 { width: 14.893617021276595% !important; }
.locator_container .row-fluid .span1 { width: 6.382978723404255% !important; }

/*
 * After the float grid: classic search form inputs keep .span* class names
 * but must stay inline (label then control), not floated columns.
 */
.locator_container #locate_form.form-inline .row-fluid [class*="span"],
.locator_container #sl_search_container.row-fluid #locate_form [class*="span"],
.locator_container #locate_form.form-inline input[class*="span"],
.locator_container #locate_form.form-inline select[class*="span"] {
	float: none !important;
	display: inline-block !important;
	width: auto !important;
	max-width: 100% !important;
	margin-left: 0 !important;
	vertical-align: middle !important;
}

.locator_container #locate_form.form-inline #addressInput,
.locator_container #sl_search_container.row-fluid #addressInput,
.locator_container #locate_form.form-inline input#addressInput[type="text"] {
	flex: 1 1 280px !important;
	width: auto !important;
	min-width: 240px !important;
	max-width: 480px !important;
}

.locator_container #locate_form.form-inline #name_search,
.locator_container #sl_search_container.row-fluid #name_search {
	width: min(100%, 220px) !important;
}

.locator_container #locate_form.form-inline select#radiusSelect {
	min-width: 120px !important;
}

.locator_container #locate_form.form-inline select#featstate {
	min-width: 150px !important;
}

/* -------------------------------------------------------------------------
   Mobile responsive search box
   ------------------------------------------------------------------------- */

@media (max-width: 767px) {
	.locator_container #sl_search_container:not(.row-fluid) {
		background: #fff !important;
		position: relative !important;
		top: auto !important;
		left: auto !important;
		box-shadow: none !important;
		width: auto !important;
		max-width: none !important;
		border: 1px solid #ddd !important;
		margin: 8px !important;
	}
}
