.dealer-locator {
	overflow:hidden;
}

.dealer-locator .form-block {
	padding:23px 10px 16px 10px;
	background:#fff;
}

.dealer-locator .form-block .input-wrap {
	position:relative;
	display:flex;
	align-items:center;
	border:#e6e6e6 1px solid;
	border-radius:4px;
	padding:15px 20px 15px 15px;
}

.dealer-locator .form-block .input-wrap .clear-text {
	position:absolute;
	right:8px;
	top:50%;
	transform:translateY(-50%);
	width:24px;
	height:24px;
	background-image:url(../svg/icon-dealer-close.svg) !important;
	background-size:14px auto !important;
	background-repeat:no-repeat !important;
	background-position:center !important;
	cursor:pointer;
	opacity:0;
	transition: opacity 0.15s ease;
}

.dealer-locator .form-block .input-wrap:focus-within {
	border-color:#000;
}

.dealer-locator .form-block .input-wrap.text-entered .clear-text {
	opacity:1;
}

.dealer-locator .form-block input[type="text"],
.dealer-locator .form-block input[type="text"]::placeholder {
	font-size:15px;
	line-height:1;
	color:#666;
	flex-grow:1;
}

/* Change the white to any color */
.dealer-locator .form-block input[type="text"]:-webkit-autofill,
.dealer-locator .form-block input[type="text"]:-webkit-autofill:hover, 
.dealer-locator .form-block input[type="text"]:-webkit-autofill:focus, 
.dealer-locator .form-block input[type="text"]:-webkit-autofill:active{
    box-shadow: 0 0 0 30px white inset !important;
	-webkit-box-shadow: 0 0 0 30px white inset !important;
}

.dealer-locator .search-btn {
	margin-right:15px;
}

.dealer-locator .search-btn .pre-search-input-icon {
    height: 22px;
    width: 22px;
    position: relative;
    top: 2px;
    left: 2px;
}

.dealer-locator h1 {
	font-size:24px;
	font-weight:700;
	line-height:1;
}

.dealer-locator > .container .list-column #search-results {
	overflow-y:auto;
	background:#fff;
}

.dealer-locator > .container .list-column .form-block {
	border-bottom:#e6e6e6 1px solid;
}

.dealer-locator .result-item {
	border-bottom:#e6e6e6 1px solid;
	padding:22px 20px;
	font-size:16px;
	line-height:1.5;
	cursor:pointer;
}

.dealer-locator .result-item:last-child {
	border-bottom:none;
}

.dealer-locator .result-item.selected {
	background:#f7f7f7;
}

.dealer-locator .result-item .title {
	font-weight:500;
}

#my-sprig-map {
	height:100% !important;
}

.dealer-locator .checkbox,
.dealer-locator .radio {
	position:relative;
	margin-bottom:8px;
}

.dealer-locator .checkbox input[type="checkbox"],
.dealer-locator .radio input[type="radio"] {
    opacity: 0;
	position:absolute;
}

.dealer-locator .checkbox label,
.dealer-locator .radio label {
    position: relative;
    display: inline-block;
    padding-left: 33px;
	font-size:15px;
	cursor:pointer;
}

.dealer-locator .checkbox label::before,
.dealer-locator .checkbox label::after,
.dealer-locator .radio label::before,
.dealer-locator .radio label::after {
    position: absolute;
    content: "";
    display: inline-block;
}

.dealer-locator .checkbox label::before,
.dealer-locator .radio label::before {
    width: 20px;
    height: 20px;
    border: #999 1px solid;
	border-radius:2px;
    left: 0px;
    top: 3px;
}

/*Checkmark of the fake checkbox*/
.dealer-locator .checkbox label::after,
.dealer-locator .radio label::after {
    height: 5px;
    width: 10px;
    border-left: #fff 2px solid;
    border-bottom: #fff 2px solid;
    transform: rotate(-45deg);
    left: 5px;
    top: 10px;
	opacity:0;
	transition:opacity 0.15s ease 0.1s;
}

.dealer-locator .checkbox input[type="checkbox"]:checked + label::after,
.dealer-locator .radio input[type="radio"]:checked + label::after {
    opacity:1;
}

.dealer-locator .checkbox input[type="checkbox"]:checked + label::before,
.dealer-locator .radio input[type="radio"]:checked + label::before {
    background:#000;
	border-color:#000;
}

.dealer-locator .filters {
	padding-left:14px;
}

.dealer-locator .filters .filters-header {
	display:flex;
	justify-content:space-between;
	align-items:center;
	margin-top:12px;
	margin-bottom:12px;
	
}

.dealer-locator .filters .filters-header .stores-label {
	font-size:14px;
}

.dealer-locator .filters .filters-title {
	display:block;
	font-size:18px;
	font-weight:700;
	margin-bottom:8px;
}

.dealer-locator .filters .filters-collapse {
	height:0;
	overflow:hidden;
	transition: height 0.28s ease;
}

.dealer-locator .filters .filters-collapse.open {
	height:176px;
}

#filter-btn {
	font-size:16px;
	height:38px;
	line-height:32px;
	padding: 0 16px;
	border: 2px solid #e6e6e6;
	border-radius: 19px;
	display:inline-flex;
	align-items:center;
	gap:12px;
	transition:border-color 0.15s ease;
}

#filter-btn:hover, #filter-btn.open {
	border-color:#000;
}

.gm-style .gm-style-iw-c {
    border-radius: 8px;
    padding: 12px;
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25) !important;
}

.gm-style .gm-style-iw-c > button[title="Close"] {
	background-image:url(../svg/icon-dealer-close.svg) !important;
	background-size:14px auto !important;
	background-repeat:no-repeat !important;
	background-position:center !important;
	margin-top:20px !important;
	margin-right:22px !important;
}

.gm-style .gm-style-iw-c > button[title="Close"] span {
	display:none !important;
}

.dealer-info-content {
	padding:32px 20px 20px;
	line-height:1.5;
	max-width:300px;
}

.dealer-info-content .title {
	font-size:18px;
	font-weight:700;
}

.dealer-info-content .address {
	font-size:16px;
	font-weight:500;
}

.dealer-info-content .phone {
	font-size:14px;
	color:#606060;
}

.dealer-info-content .buttons {
	margin-top:20px;
}

.dealer-info-content .btn {
	font-size:13px !important;
	width:100%;
	text-align:center;
}

.dealer-locator > .container {
	padding:0;
}

.dealer-locator > .container .list-column {
	display:flex;
	flex-flow:column;
	flex:0 0 100%;
	position:relative;
}

#dealer-key {
/*	position:absolute;
	left:0;
	bottom:0;*/
	width:100%;
	background:#fff;
	z-index:2;
	color:#999;
	font-size:14px;
	height:48px;
	line-height:48px;
	padding:0 20px;
	border-top: #e6e6e6 1px solid;
}

.dealer-locator:not(.has-results) #dealer-key {
	display:none;
}

@media(min-width:960px) {
	
	.dealer-locator > .container {
		display:flex;
		height:100%;
	}
	
	.dealer-locator .form-block {
		padding:34px 30px 16px 32px;
	}
	
	.dealer-locator > .container .list-column {
		flex:0 0 375px;
	}
	
	.dealer-locator > .container .map-column {
		flex:1 1 auto;
		padding-right:34px;
	}
	
	.dealer-locator .result-item {
		padding:22px 46px;
	}
	
	#dealer-key {
		padding:0 48px;
	}
}

@media(max-width:959px) {
	
	.dealer-locator {
		height:auto !important;
	}
	
	.dealer-locator .form-block {
		padding-bottom:0;
	}
	
	.dealer-locator #search-results, .dealer-locator > .container .map-column {
		height:450px;
	}
	
/*	.dealer-locator > .container .map-column {
		position:absolute;
		z-index:0;
		width:100%;
		height:360px;
		left:0;
		bottom:0;
	}*/
	
	.list-map-toggle {
		margin:5px -10px 0;
		display:none;
	}
	
	.dealer-locator.has-results .list-map-toggle {
		display:flex;
	}
	
	.list-map-toggle .toggle {
		flex: 0 0 50%;
		padding:12px 0;
		text-align:center;
		font-size:16px;
		line-height:1;
		color:#606060;
		transition:color 0.15s ease, border-color 0.15s ease;
		border-bottom: transparent 2px solid;
		cursor:pointer;
	}
	
	.list-map-toggle .toggle.selected {
		color:#000;
		font-weight:500;
		border-color:#000;
		cursor:default;
	}
	
	.dealer-locator:not(.list-view) #search-results,
	.dealer-locator:not(.list-view) #dealer-key {
		display:none;
	}
	
	.dealer-locator.list-view > .container .map-column {
		display:none;
	}
}