:root {
	--c2b-locator-listings-width: 320px;
	--c2b-locator-control-padding: 25px;
	--c2b-locator-vh: 100vh;
}
@media screen and (max-width: 1025px) {
	:root {
		--c2b-locator-control-padding: 15px;
	}
}
@media screen and (max-width: 719px) {
	:root {
		--c2b-locator-listings-width: calc(100vw - 70px);
	}
}
/* shop locator styles */
.c2b-locator-wrapper {
	height: calc(var(--c2b-locator-vh) - var(--c2b-header-height));
	width: 100%;
}
.c2b-locator-map {
	top: 0;
	left: 0;
	position: absolute;
	height: 100%;
	width: 100%;
}
.c2b-locator-sidebar {
	height: 100%;
	position: absolute;
	padding: var(--c2b-locator-control-padding) var(--c2b-locator-control-padding) 35px 0;
	right: calc(0px - var(--c2b-locator-control-padding) - var(--c2b-locator-listings-width));
	pointer-events: none;
	overflow: hidden;
	z-index: 3;
	display: flex;
	flex-direction: row;
	transition: transform 0.5s;
}
.c2b-locator-sidebar-toggle {
	width: 25px;
	height: 50%;
	margin: auto 0;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: var(--global-palette2);
	color: var(--global-palette9);
	border-radius: 5px 0 0 5px;
	pointer-events: all;
}
.c2b-locator-sidebar.shown {
	transform: translateX(calc(0px - var(--c2b-locator-listings-width) - var(--c2b-locator-control-padding)));
}
.c2b-locator-sidebar-toggle-content::before {
	content: '<';
	font-weight: 700;
}
.shown .c2b-locator-sidebar-toggle-content::before {
	content: '>';
	font-weight: 700;
}
.c2b-locator-listings {
	height: 100%;
	width: var(--c2b-locator-listings-width);
	box-shadow: 0px 0px 14px rgba(0, 0, 0, 0.1);
	border-radius: 5px;
	background-color: var(--global-palette9);
	overflow: auto;
	pointer-events: all;
}
.c2b-locator-listings::-webkit-scrollbar {
	width: 6px;
	height: 3px;
	border-left: 0;
	background: rgba(0 0 0 0.1);
} 
.c2b-locator-listings::-webkit-scrollbar-track {
	background: none;
}
.c2b-locator-listings::-webkit-scrollbar-thumb {
	background: var(--global-palette2);
	border-radius: 3px;
}
.c2b-locator-listings .item {
	border-bottom: 1px solid var(--global-gray-400);
	padding: var(--global-xs-spacing) var(--global-sm-spacing);
	text-decoration: none;
}
.c2b-locator-listings .item-separator {
	font-weight: 500;
	color: var(--global-gray-400);
	font-variant: small-caps;
	padding: 0 var(--global-sm-spacing);
	font-size: 80%;
}
.c2b-locator-listings .item a.small {
	color: var(--global-palette2);
	font-size: 80%;
}
.c2b-locator-listings .item:last-child {
	border-bottom: none;
}
.c2b-locator-listings .item .title {
	display: block;
	color: var(--global-palette2);
	font-weight: 500;
	font-size: 90%;
}
.c2b-locator-listings .item .details {
	padding: 3px 0 0 0;
	font-weight: 400;
	font-size: 90%;
}
.c2b-locator-listings .item .title:hover {
	text-decoration: underline;
}
.c2b-locator-listings .item.active {
	background-color: var(--c2b-subtle-background);
}
/* Tweak popups */
.mapboxgl-popup-close-button {
	display: none;
}
.mapboxgl-popup-content {
	padding: 0;
	width: 250px;
	box-shadow: 0px 0px 14px rgba(0, 0, 0, 0.1);
	font-family: var(--global-body-font-family);
	font-size: 15px;
}
.mapboxgl-popup-content .title {
	background: var(--global-palette2);
	color: var(--global-palette9);
	padding: 10px;
	border-radius: 5px 5px 0 0;
	font-weight: 500;
	margin: 0;
}
.mapboxgl-popup-content .details {
	padding: 10px;
	padding: 10px;
	font-weight: 400;
	margin: 0;
}
/* controls top left */
.mapboxgl-ctrl-top-left {
	display: flex;
	flex-direction: row;
	column-gap: 10px;
	align-items: center;
	justify-content: center;
	padding: var(--c2b-locator-control-padding) var(--c2b-locator-control-padding);
	left: 0;
	right: auto;
}
.mapboxgl-ctrl-top-left .mapboxgl-ctrl {
	margin: 0;
}
/* geocoder */
.mapboxgl-ctrl-geocoder {
	border: 0;
	border-radius: 5px;
	box-shadow: 0px 0px 14px rgba(0, 0, 0, 0.1);
	width: 300px;
}
input[type="text"].mapboxgl-ctrl-geocoder--input {
	padding: 6px 10px 5px 38px;
}
.mapboxgl-ctrl-geolocate {
	box-shadow: 0px 0px 14px rgba(0, 0, 0, 0.1);
}
/* markers */
.marker-glass {
	border: none;
	cursor: pointer;
	height: 48px;
	width: 48px;
	background-image: url('/wp-content/uploads/logos/locator/glass.png');
	background-size: cover;
}
.marker-c2b {
	border: none;
	cursor: pointer;
	height: 48px;
	width: 48px;
	background-image: url('/wp-content/uploads/logos/c2b-logo-cv-black.png');
	background-size: contain;
	background-repeat: no-repeat;
}
@media screen and (max-width: 719px) {
	.c2b-locator-sidebar {
		top: calc(60px + var(--c2b-locator-control-padding));
		height: calc(100% - 60px - var(--c2b-locator-control-padding));
	}
	.mapboxgl-ctrl-geocoder {
		width: 260px;
	}
	/* ironically on the right... */
	.mapboxgl-ctrl-top-left {
		right: 0;
		left: auto;
	}
}
