/* Color Tokens */

.primary {
	color: #FF0009; /* $primary */
}

.secondary {
	color: #D7D7D7; /* $secondary */
}

.tertiary {
	color: #FFF212; /* $tertiary */
}

.light {
	color: #FEFEFE; /* $light */
}

.dark {
	color: #201E1E; /* $dark */
}

/* End Color Tokens */

/* Locations Page Map Area */

.map-view {
	height: 40em;
	width: 100%;
	position: relative;
}

.map-view .imap {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}

.map-view .imap iframe {
	display: none;
}

.map-view .gmnoprint[controlheight='55'] {
	bottom: 50% !important;
}

.map-view .location-search {
	width: 23em;
	height: 80%;
	background-color: #E6E6E6; /* darken($light,5%) */
	position: absolute;
	top: 10%;
	left: 0;
	box-shadow: 0 3px 10px rgba(0,0,0,.3);
	text-align: center;
	overflow_: auto;
}

.map-view .location-search header {
	padding: 1em;
	border-bottom: solid 1px #E6E6E6;
	display: block;
	height: auto;
}

.map-view .location-search header h3 {
	color: #373535;
	margin-bottom: .5em;
}

.map-view .location-search header input.search-field {
	color: #808080;
	border: solid 1px #dbdbdb;
	float: left;
	background-color: #FEFEFE;
	font-size: 1em;
	width: 68%;
	height: 2.2em;
	border-radius: 0;
	outline: 0;
	line-height: auto;
	padding: 0 10px;
	text-align: center;
}

.map-view .location-search header .submit-btn {
	float: right;
	background-color: #FF0009; /* $primary */
	color: #FEFEFE;
	padding: 0 .5em;
	display: inline-block;
	line-height: 2.2em;
	width: 30%;
	text-align: center;
	border: 0;
	font-size: 1em;
	outline: 0;
	border-radius: 0;
}

.map-view .location-search .search-results {
	font-size: .8em;
	height: 75%;
	position: relative;
	clear: both;
	text-align: left;
	overflow: auto;
}

.map-view .location-search .search-results .item {
	border-bottom: solid 1px #dbdbdb;
	padding: .5em 1em;
	display: none;
	position: relative;
}

.map-view .location-search .search-results .item .btn {
	margin-top: .2em;
	padding-top: .5em;
	padding-bottom: .5em;
}

.map-view .location-search .search-results .no-results {
	position: absolute;
	bottom: 0;
	left: 0;
}

.map-view .location-search .no-results {
	position: absolute;
	bottom: -7.25em;
	left: 0;
	z-index: 1;
}

.search-results .no-results, .location-search .no-results {
	display: none;
}

.map-view .location-search .search-results .no-results p, .map-view .location-search .no-results p {
	margin-top: 0;
	font-size: .9em;
	line-height: 1.3em;
}

.map-view .location-search .search-results .no-results a, .map-view .location-search .no-results a {
	background-color: #CE0000;
	text-align: center;
	border-radius: .4em;
	font-weight: 700;
	color: #FEFEFE;
	padding: .2em 0;
	transition: .5s ease;
	text-transform: uppercase;
}

.map-view .location-search .search-results .no-results a:hover, .map-view .location-search .no-results a:hover {
	background-color: #7C7A78;
}

.map-view .location-search .search-results .item.starting {
	display: block;
	font-size: 1.1em;
	font-weight: 400;
	color: #373535;
}

.map-view .location-search .search-results .item.no-results {
	font-size: 1.1em;
	font-weight: 400;
	color: #FEFEFE;
}

.map-view .location-search .item.no-results {
	font-size: .8em;
	font-weight: 400;
	color: #FEFEFE;
}

.map-view .location-search .search-results .item:nth-child(even) {
	background-color: #FEFEFE; /* $light */
}

.map-view .location-search .search-results .item[data-title]:before {
	display: block;
	font-family: 'Open Sans';
	color: #fff;
	padding: .25em 3%;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	background-color: #201E1E; /* $dark */
	font-size: 1.111em;
}

.map-view .location-search .search-results .item.title {
	padding-top: 3em;
}

.map-view .location-search .search-results .item.title:before {
	content: attr(data-title);
}

.map-view .location-search .search-results  strong.name a {
	color: #201E1E; /* $dark */
	font-size: 1.1em;
}

.map-view .location-search .search-results  strong.name a:hover {
	color: #FF0009; /* $primary */
}

.map-view a {
	display: block;
	color: #FF0009; /* $primary */
}

.map-view a:hover {
	color: #FFF212; /* $tertiary */
}

.location-popup {
	position: relative;
	text-align: left;
	background-color: #FEFEFE;
	box-shadow: 0 3px 10px rgba(0,0,0,.3);
	width: 22em;
	/*visibility: hidden;
	opacity: 0;*/
	transition: visibility .1s,opacity .1s;
	margin-bottom: 20px;
	z-index: 50;
}

.location-popup.active {
	visibility: visible;
	opacity: 1;
}

.location-popup:hover {
	visibility: visible;
	opacity: 1;
}

.location-popup .pop-close {
	position: absolute;
	top: .8em;
	right: .8em;
	color: #DBDBDB;
	cursor: pointer;
}

.location-popup strong.name {
	display: block;
	padding: .8em 2em .8em .8em;
	font-size: 1em;
	line-height: 1.3;
	background-color: #FF0009; /* $primary */
}

.location-popup strong.name:hover {
}

.location-popup strong.name a, .map-view strong.name a {
	color: #FEFEFE;
	transition: color .5s ease;
}

.location-popup strong.name a:hover, .map-view strong.name a:hover {
	color: #FFF212; /* $tertiary */
	background-color: transparent;
}

.location-popup .location-details {
	color: #373535;
	font-size: .85em;
	background-color: #FEFEFE;
	padding: .5em 4%;
}

.location-popup .location-details p {
	margin: .35em 0;
	position: relative;
	padding-left: 2em;
}

.location-popup .location-details p:before {
	font-family: 'icomoon-ult';
	font-size: 1.2em;
	color: #CE0000;
	position: absolute;
	left: 0;
	top: .1em;
	line-height: 1;
}

.location-popup .location-details .address {
}

.location-popup .location-details .address:before {
	content: '\eed0';
}

.location-popup .location-details .address a {
	display: block;
}

.location-popup .location-details .number {
	color: #373535;
}

.location-popup .location-details .number:before {
	content: '\f053';
}

.location-popup .location-cities {
	background-color: #F0EFEF;
	padding: .5em 4%;
	border-top: solid 1px #E6E6E6;
	display: none;
}

.location-popup .location-cities .city-box {
	-ms-flex-pack: justify;
	justify-content: space-between;
	-ms-flex-align: center;
	align-items: center;
	display: -ms-flexbox;
	display: flex;
	flew-wrap: wrap;
}

.location-popup .location-cities .city-box strong {
	font-size: .875em;
	-ms-flex: 0 1 auto;
	flex: 0 1 auto;
}

.location-popup .location-cities .city-box a {
	font-size: .875em;
	-ms-flex: 0 1 auto;
	flex: 0 1 auto;
}

.location-popup .location-cities .cities {
	font-size: .95em;
	font-weight: 500;
	color: #7C7A78;
	padding: .25em 0;
	line-height: 1.4;
}

.location-popup .location-cities .cities:after {
	content: ' ';
	display: block;
	clear: both;
}

.location-popup .location-cities .cities li {
}

.location-popup .btn {
	border-radius: 0;
	display: block;
	font-size: 1em;
}

/* End Locations Page Map Area */

/* Locations Page List */

.locations-list {
	line-height: 1.4em;
	padding: 3.5em 2% 2.5em;
}

.locations-list ul.by-state-list > li h2 {
	padding-left: 1%;
}

.locations-list ul.by-state-list > li h2 a {
	color: #FF0009; /* $primary */
}

.locations-list ul.by-state-list > li h2 a:hover {
	color: #201E1E; /* $dark */
}

.locations-list header {
	padding-bottom: 2em;
}

.locations-list header h1 {
	font-size: 2.7778em;
	font-weight: 400;
}

.locations-list .search-box {
	background-color: #E6E6E6; /* darken($light,5%) */
	padding: 1.5% 2%;
	position: relative;
}

.locations-list .search-box:after {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	content: 'OR';
	font-size: 1.111em;
	line-height: 1;
	display: block;
	color: #201E1E; /* $dark */
	border-left: solid 1px #dbdbdb;
	border-right: solid 1px #dbdbdb;
	padding: .25em 1em;
}

.no-flexbox .locations-list .search-box:after {
	display: none;
}

.locations-list .search-box ul {
	-ms-flex-pack: justify;
	justify-content: space-between;
	-ms-flex-align: stretch;
	align-items: stretch;
	display: -ms-flexbox;
	display: flex;
	position: relative;
}

.no-flexbox .locations-list .search-box ul {
	display: block;
}

.locations-list .search-box ul li {
	-ms-flex: 0 1 40%;
	flex: 0 1 40%;
	-ms-flex-align: stretch;
	align-items: stretch;
	display: -ms-flexbox;
	display: flex;
}

.no-flexbox .locations-list .search-box ul li {
	display: none;
	width: auto;
}

.no-flexbox .locations-list .search-box ul li:nth-child(2) {
	display: table;
}

.no-flexbox .locations-list .search-box ul li > * {
	display: table-cell;
	vertical-align: middle;
}

.locations-list .search-box ul li label {
	-ms-flex-item-align: center;
	align-self: center;
	font-size: 1.125em;
	padding-right: .5em;
	-ms-flex: 0 1 auto;
	flex: 0 1 auto;
	color: #201E1E; /* $dark */
}

.locations-list .search-box input, .locations-list .search-box select {
	display: block;
	border: solid 1px #DBDBDB;
	background-color: #FEFEFE;
	padding: .25em .5em;
	border-radius: .4em 0 0 .4em;
	border-right: none;
	transition: border-color .4s ease 0s;
	outline: none;
	-ms-flex: 1 1 auto;
	flex: 1 1 auto;
	text-align: center;
	color: #919191; /* darken($light,40%) */
}

.locations-list .search-box select {
	border-radius: .4em;
	border-right: solid 2px #E3E3E3;
}

.locations-list .search-box input:focus {
	border-color: #FF0009; /* $primary */
}

.locations-list .search-box .submit-btn {
	display: block;
	border: none;
	background-color: #201E1E; /* $dark */
	padding: 0 1em;
	border-radius: 0 .4em .4em 0;
	transition: background-color .4s ease 0s;
	-ms-flex: 0 1 auto;
	flex: 0 1 auto;
	line-height: inherit;
	font-size: inherit;
	font-family: inherit;
}

.locations-list .search-box .submit-btn:hover {
	background-color: #FF0009; /* $primary */
}

.locations-list .search-box .submit-btn icon {
	color: #FEFEFE;
	display: block;
	font-size: 1.25em;
	line-height: 1.75em;
}

.locations-list ul.by-state-list {
}

.locations-list ul.by-state-list > li {
	padding: 2em 0 1em;
}

.locations-list ul.by-state-list > li > ul {
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	display: -ms-flexbox;
	display: flex;
}

.locations-list ul.by-state-list > li > ul > li {
	-ms-flex: 1 1 48%;
	flex: 1 1 48%;
	padding: .5em 2%;
	border: solid 1px #DBDBDB;
	margin: 1%;
}

.locations-list .business-info {
}

.locations-list .business-info h3 {
	font-weight: bold;
	font-size: 1.25em;
	margin-bottom: .5em;
}

.locations-list .business-info h3 a {
	color: #201E1E; /* $dark */
}

.locations-list .business-info h3 a:hover {
	color: #FF0009; /* $primary */
}

.locations-list .business-info p, .locations-list .business-info > a {
	margin: .25em 0;
	position: relative;
	padding-left: 2em;
}

.locations-list .business-info p:before, .locations-list .business-info > a:before {
	font-family: 'icomoon-ult';
	font-size: 1.2em;
	color: #FF0009; /* $primary */
	position: absolute;
	left: 0;
	top: .1em;
	line-height: 1;
}

.locations-list .business-info .address {
}

.locations-list .business-info .address:before {
	content: '\eed0';
}

.locations-list .business-info .address a {
	display: block;
}

.locations-list .business-info .phone {
	color: #201E1E; /* $dark */
}

.locations-list .business-info .phone:before {
	content: '\f053';
}

.locations-list .business-info .site {
	margin-left: 1em;
}

.locations-list .business-info .site:before {
	content: '\f986';
}

.locations-list .license-number {
	margin-bottom: 0;
}

.locations-list .license-number p {
	margin: .25em auto 0;
}

.locations-list .service-info {
	padding-top: 1.25em;
	display: none;
}

.locations-list .service-info h4 {
	margin-bottom: .2em;
	font-size: 1em;
	font-weight: bold;
	color: #201E1E; /* $dark */
}

.locations-list .service-info .city-list {
}

.locations-list .service-info .city-list li {
	display: inline;
}

.locations-list .service-info .city-list li:not(:last-child):after {
	content: ', ';
}

.locations-list .metro {
	background-color: #F6F6F7;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	padding: .75em 1em;
	border-top: solid 1px #E3E3E6;
	border-bottom: solid 1px #E3E3E6;
	margin-bottom: .5em;
	-ms-flex-align: center;
	align-items: center;
}

.locations-list .metro h3 {
	font-weight: bold;
	font-size: 1.25em;
	padding-right: 1em;
	border-right: solid 1px #E3E3E6;
	padding: .25em 1em .25em 0;
	margin-right: 1em;
}

.locations-list .metro ul {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.locations-list .metro ul li {
	margin-right: 2em;
}

.no-flexbox .locations-list .metro ul {
	display: table;
}

.no-flexbox .locations-list .metro ul li {
	display: table-cell;
}

.locations-list .metro a:before {
	content: '\eed0';
	font-family: 'icomoon-ult';
	display: inline-block;
	margin-right: .25em;
	vertical-align: middle;
	margin-bottom: 2px;
}

.map-view .location-multiple.hide, .map-view .location-notfound.hide {
	opacity: 0;
	visibility: hidden;
}

.map-view .location-multiple, .map-view .location-notfound, .locations-list .location-notfound {
	position: absolute;
	top: 50%;
	padding: 2%;
	box-shadow: 0 0 2em rgba(0,0,0,0.294);
	visibility: visible;
	opacity: 1;
	transition: .2s;
	background-color: #201E1E; /* $dark */
	left: 50%;
	transform: translate(-50%,-50%);
	border: solid 1px #DBDBDB;
	text-align: center;
	z-index: 12;
	display: block;
}

.locations-list .location-notfound {
	position: relative;
	top: auto;
	right: auto;
	width: 100%;
	text-align: center;
	margin-bottom: 2em;
	display: none;
}

.map-view .location-multiple .close-btn, .map-view .location-notfound .close-btn {
	position: absolute;
	top: .25em;
	right: .255em;
	font-size: 1.75em;
	color: #FF0009; /* $primary */
	cursor: pointer;
	transition: color .4s ease 0s;
}

.map-view .location-multiple .close-btn:hover, .map-view .location-notfound .close-btn:hover {
	color: #FEFEFE; /* $light */
}

.map-view .location-multiple h3, .map-view .location-notfound h3 {
	color: #FFF212; /* $tertiary */
	font-size: 1.6667em;
	font-weight: 400;
}

.map-view .location-multiple h3 {
	color: #FF0009; /* $primary */
	margin-bottom: .35em;
}

.map-view .location-notfound .phone-link {
	display: block;
	font-size: 2.6667em;
	font-weight: bold;
	color: #FF0009; /* $primary */
	line-height: 1;
	padding: .4em 0;
	margin: .4em auto;
	position: relative;
}

.map-view .location-notfound .phone-link:before, .map-view .location-notfound .phone-link:after {
	content: ' ';
	display: block;
	position: absolute;
	width: 100px;
	height: 1px;
	left: calc(50% - 50px);
	background-color: #DBDBDB;
	bottom: 0;
}

.map-view .location-notfound .phone-link:before {
	bottom: auto;
	top: 0;
}

.map-view .location-multiple p, .map-view .location-notfound p {
	font-size: 1.111em;
	margin: 0;
	color: #FEFEFE; /* $light */
}

.map-view .location-multiple p a, .map-view .location-notfound p a {
	display: inline;
	font-weight: bold;
}

.map-view .location-multiple p a:hover, .map-view .location-notfound p a:hover {
	color: #FFF212; /* $tertiary */
}

.locations-list ul.by-state-list > li.no-results {
	text-align: center;
	/*display: none;*/
}

.locations-list ul.by-state-list > li.no-results .phone-link {
	display: block;
	font-size: 1.6667em;
	color: #FF0009; /* $primary */
	position: relative;
	padding: .75em 0;
	margin: .75em auto;
	font-weight: bold;
}

.locations-list ul.by-state-list > li.no-results .phone-link:before, .locations-list ul.by-state-list > li.no-results .phone-link:after {
	content: ' ';
	display: block;
	position: absolute;
	width: 100px;
	height: 1px;
	left: calc(50% - 50px);
	bottom: 0;
	background-color: #DBDBDB;
}

.locations-list ul.by-state-list > li.no-results .phone-link:before {
	bottom: auto;
	top: 0;
}

.locations-list ul.by-state-list > li.no-results h3 {
	color: #201E1E; /* $dark */
}

/* End Locations Page List */

/* 1300px Responsive */

@media screen and (max-width:1300px) {
	.map-view {
		height: 35em;
	}

	.map-view .location-search header, .map-view .location-search .search-results {
		height_: auto;
	}
}

/* End 1300px Responsive */

/* 1000px Responsive */

@media screen and (max-width:1000px) {
	.map-view .location-multiple h3, .map-view .location-notfound h3 {
		font-size: 1.333em;
	}

	.map-view .location-notfound .phone-link {
		font-size: 2em;
	}
}

/* End 1000px Responsive */

/* 800px Responsive */

@media screen and (max-width:800px) {
	.map-view {
		height_: auto;
	}

	.map-section .location-popup {
		display: none;
	}

	.map-view .location-search {
		width: 65%;
		position_: static;
		padding-top_: 2em;
		height_: auto;
		display_: none;
		box-shadow_: none;
	}

	.map-view .location-search header {
		font-size: 16px;
		-ms-flex-align: center;
		align-items: center;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		display: -ms-flexbox;
		display: flex;
	}

	.map-view .location-multiple, .map-view .location-notfound, .locations-list .location-notfound {
		position: relative;
		box-shadow: none;
		top: auto;
		left: auto;
		transform: none;
		border: none;
		border-bottom: solid 1px #DBDBDB;
	}

	.map-view .location-multiple.hide, .map-view .location-notfound.hide {
		display: none;
	}

	.locations-list header {
		padding-bottom: 1em;
	}

	.locations-list header h1 {
		font-size: 2em;
	}

	.map-view .location-search .search-results {
		padding-bottom: 0;
	}

	.locations-list .search-box:after {
		display: none;
	}

	.locations-list .search-box input, .locations-list .search-box select {
		text-align: left;
	}

	.locations-list {
		padding-top: 2em;
	}

	.locations-list .search-box ul {
		display: block;
	}

	.locations-list .search-box ul li:nth-child(n+2) {
		margin-top: .5em;
	}

	.locations-list ul.by-state-list > li > ul {
		display: block;
	}

	.locations-list .search-box ul li label {
		-ms-flex: 0 1 25%;
		flex: 0 1 25%;
	}
}

/* End 800px Responsive */

/* 650px Responsive */

@media screen and (max-width:650px) {
	.map-view {
		height: auto;
	}

	.map-view .imap {
		display: none;
	}

	.locations-list .location-notfound {
		display: block !Important;
	}

	.map-view .location-search {
		width: 100%;
		position: relative;
		height: auto;
		box-shadow: none;
	}

	.map-view .location-search header {
		display: block;
		padding-top: 2em;
		padding-bottom: 2em;
	}

	.map-view .location-search .search-results {
		height: auto;
		max-height: 40em;
	}

	.map-view .location-multiple, .map-view .location-notfound {
		position: relative;
		top: auto;
		right: auto;
		transition: max-height .5s ease 0s, padding .5s ease 0s;
		max-height: 20em;
		padding: 1.75em 5%;
	}

	.map-view .location-multiple h3, .map-view .location-notfound h3 {
		font-size: 1.111em;
	}

	.map-view .location-multiple h3 br, .map-view .location-notfound h3 br {
		display: none;
	}

	.map-view .location-notfound .phone-link {
		font-size: 1.4em;
	}

	.map-view .location-multiple p, .map-view .location-notfound p {
		font-size: 1em;
	}

	.map-view .location-multiple p br, .map-view .location-notfound p br {
		display: none;
	}

	.map-view .location-multiple.hide, .map-view .location-notfound.hide {
		max-height: 0;
		padding: 0;
	}

	.map-view .location-search .search-results .item {
		font-size: 1.3em;
	}
}

/* End 650px Responsive */

/* 550px Responsive */

@media screen and (max-width:550px) {
	.locations-list .search-box input, .locations-list .search-box select {
		font-size: 1em;
		border-right: solid 1px #DBDBDB;
		border-radius: .4em;
	}

	.locations-list .search-box .submit-btn {
		display: none;
	}

	.locations-list .search-box {
		padding: 2.5% 2%;
	}

	.locations-list .search-box ul {
		padding-right: 0;
	}

	.locations-list .search-box ul li {
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}

	.locations-list .search-box ul li:nth-child(n+2) {
		margin-top: .8em;
	}

	.locations-list .search-box ul li label {
		-ms-flex: 0 1 100%;
		flex: 0 1 100%;
		padding-left: 1%;
	}

	.locations-list ul.by-state-list > li > ul > li {
		margin: .75em 0;
		padding: 1% 5%;
	}
}

/* End 550px Responsive */

.locations-list ul.by-state-list > li.no-results.active {
	display: block;
}
