/**********************************************************
=Maps
/*********************************************************/

/* Filtered map */
#top .mapsvg-disabled {
	opacity: 0.1 !important;
}
/* Map filters (just used in JS, not shown) */
#top .est-map__filters {
	display: none;
}
/* Force header hidden even on mobile */
#top .mapsvg-header {
	display: none !important; /* override mapsvg inline */
}
/* Filtered map buttons */
#top .est-map__buttons {
	--button__background--hover: var(--blue);
	--button__radius: var(--padding--small);
}
#top .est-map__buttons a {
	--button__background--hover: var(--blue);
	cursor: pointer;
}
#top .est-map__button--active {
	--button__background: var(--navy);
	--button__border: var(--navy);
	--button__color: var(--white);
}
/* Map styling */
#top .mapsvg-region {
	cursor: pointer;
	fill: rgb( from var(--blue) r g b / 0.3 ) !important; /* all importants required to get around inline styling from mapsvg */
	opacity: 1 !important;
	stroke: var(--navy) !important;
	stroke-miterlimit: 1 !important;
	/*stroke-width: 0.00005% !important;*/
	stroke-width: 1px !important;
	vector-effect: non-scaling-stroke !important;
}
#top .mapsvg-region[id^="extended"] {
	stroke-width: 0.5 !important;
}
#top .mapsvg-region[id^="primary"],
#top .mapsvg-region[id^="service"],
#top .mapsvg-region[id^="law"] {
	stroke-width: 0.25 !important;
}
#top .mapsvg-region:hover {
	fill: rgb( from var(--blue) r g b / 0.6 ) !important;
	/*stroke-width: 0.002% !important;*/
}
#top .mapsvg-region[id*="bounding"] {
	fill: transparent !important;
	opacity: 0 !important;
}
#top .mapsvg-region-active,
#top .mapsvg-region-active:hover {
	fill: rgb( from var(--green--bright) r g b / 0.6 ) !important;
}
#top .mapsvg-disabled {
	opacity: 0 !important;
	pointer-events: none;
}
/* Fix Google info in map */
#top :is(.gmnoprint,.gm-style-cc) :is(span,a) {
	color: black !important; /* override inline styles */
	font-family: var(--family--normal) !important;
	font-size: var(--size--xxs) !important;
	font-weight: var(--weight--normal) !important;
}
/* Info accordion w/ map */
#top .est-map__accordion {
	--toggler-padding: 0.5rem;
}
/* Accordion container */
#top#top#top .est-map__accordion .av_toggle_section {
	background: transparent;
	border-radius: 0;
	border-top: 2px solid var(--grey);
	box-shadow: none;
	margin-top: 0;
}
#top#top#top .est-map__accordion .av_toggle_section:first-child {
	border-top: none;
}
#top#top#top .est-map__accordion .av_toggle_section::before {
	display: none;
}
#top#top .est-map__accordion .av_textblock_section + .togglecontainer {
	margin-top: var(--padding--smaller);
}
#top#top .est-map__accordion .av_textblock_section + .togglecontainer + .av_textblock_section {
	margin-top: var(--padding--normal);
}
/* Accordion title */
#top#top#top .est-map__accordion .toggler {
	background: transparent;
	border-radius: 0;
	color: var(--navy);
	font-size: var(--size--h3);
	padding-inline: 0;
}
#top#top#top .est-map__accordion .activeTitle {
}
/* Accordion content */
#top#top#top .est-map__accordion .toggle_wrap {
	background: transparent;
	border: none;
	box-shadow: none;
}
#top#top#top .est-map__accordion .toggle_content {
	padding-inline: 0;
	padding-top: 0;
}
/* Accordion inner content */
#top#top .est-map__accordion h4 {
	font-size: var(--size--h5);
	margin-top: var(--padding--smaller);
}
#top#top#top .est-map__accordion li {
	padding-left: 0;
}
#top#top#top .est-map__accordion .toggle_content {
	padding-bottom: 0.5rem;
}
@media( min-width:768px ) {
	#top#top#top .est-map__accordion .toggle_content {
		display: grid;
		gap: var(--padding--smaller);
		grid-template-columns: 1fr 1fr;
	}
	#top#top#top .est-map__accordion .toggle_content :nth-child(1) {
		grid-column: 1;
		grid-row: 1;
	}
	#top#top#top .est-map__accordion .toggle_content :nth-child(2) {
		grid-column: 1;
		grid-row: 2;
	}
	#top#top#top .est-map__accordion .toggle_content :nth-child(3) {
		grid-column: 2;
		grid-row: 1;
	}
	#top#top#top .est-map__accordion .toggle_content :nth-child(4) {
		grid-column: 2;
		grid-row: 2;
	}
	#top#top#top .est-map__accordion .toggle_content h4,
	#top#top#top .est-map__accordion .toggle_content ul {
		margin: 0;
	}
}

/* Entire map */
#top .mapsvg {
	background: var(--navy--dark);
}
#top .est-map--services .mapsvg {
	padding-bottom: max( 400px, min( 80vh, 500px ) ) !important; /* override inline style */
}
/* Map buttons container */
#top#top#top#top .mapsvg-buttons {
	background: transparent;
	border: none;
	border-radius: 0;
	box-shadow: none;
	margin: 0;
	margin-right: var(--padding--small);
	margin-top: var(--padding--small);
	padding: 0;
}
#top .mapsvg-btn-group {
	box-shadow: none;
	display: flex;
	flex-direction: column;
	gap: var(--padding--smaller);
}
/* Map buttons */
#top .mapsvg-btn-map {
	background: var(--navy);
	border: none;
	border-radius: var(--radius--small);
	box-shadow: none;
	height: var(--padding--normal);
	margin: 0;
	opacity: 0.7;
	position: relative;
	transition: background 0.2s ease-in-out, opacity 0.2s ease-in-out;
	width: var(--padding--normal);
}
#top .mapsvg-btn-map:where(:hover,:focus-visible) {
	background: var(--navy--light);
	opacity: 1;
}
#top .mapsvg-btn-map::before,
#top .mapsvg-btn-map::after {
	background: var(--white);
	height: 2px;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate( -50%, -50% );
	width: 50%;
}
#top .mapsvg-btn-map::after {
	height: 50%;
	width: 2px;
}
/* Hide advanced controls */
#top .mapsvg .gm-bundled-control {
	display: none;
}
/* Loading */
#top .mapsvg .mapsvg-loading {
	background: var(--white);
	border: none;
	border-radius: var(--radius--small);
	box-shadow: none;
}
#top .mapsvg .spinner-border {
	border-color: var(--navy);
	border-top-color: transparent;
}
#top .mapsvg .mapsvg-loading-text {
	color: var(--navy);
	font-weight: var(--weight--bold);
}

/* Map within split row */
:root {
	--map__height: 500px;
}
#top .est-split__media:has(.mapsvg),
#top .est-split__media .av_textblock_section,
#top .est-split__media .avia_textblock,
#top .est-split__media .mapsvg,
#top .est-split__media .mapsvg-wrap-all,
#top .est-split__media .mapsvg-wrap,
#top .est-split__media .mapsvg-with-google-map {
	height: var(--map__height) !important; /* overcome MapSVG styles */
	padding-bottom: 0 !important; /* overcome MapSVG styles */
}
@media( min-width:768px ) {
	:root {
		--map__height: 100%;
	}
}
#top .est-split__media .mapsvg,
#top .est-split__media .mapsvg-wrap-all {
	cursor: pointer;
}
#top .est-split__media .mapsvg *,
#top .est-split__media .mapsvg-wrap-all * {
	pointer-events: none;
}