[ ng-cloak ] { display: none; }
/* Perfect Scroll Bar */
/*
 * Container style
 */

.ps {
	overflow: hidden !important;
	overflow-anchor: none;
	-ms-overflow-style: none;
	-ms-touch-action: auto;
	touch-action: auto;
}
/*
 * Scrollbar rail styles
 */

.ps__rail-x {
	/* there must be 'bottom' or 'top' for ps__rail-x */
	bottom: 0;
	display: none;
	height: 0.9375rem;
	opacity: 0;
	/* please don't change 'position' */
	position: absolute;
	-webkit-transition: background-color 0.2s linear, opacity 0.2s linear;
	transition: background-color 0.2s linear, opacity 0.2s linear;
}

.ps__rail-y {
	display: none;
	opacity: 0;
	/* please don't change 'position' */
	position: absolute;
	/* there must be 'right' or 'left' for ps__rail-y */
	right: 0;
	-webkit-transition: background-color 0.2s linear, opacity 0.2s linear;
	transition: background-color 0.2s linear, opacity 0.2s linear;
	width: 0.9375rem;
}

.ps--active-x > .ps__rail-x,
.ps--active-y > .ps__rail-y {
	background-color: transparent;
	display: block;
}

.ps:hover > .ps__rail-x,
.ps:hover > .ps__rail-y,
.ps--focus > .ps__rail-x,
.ps--focus > .ps__rail-y,
.ps--scrolling-x > .ps__rail-x,
.ps--scrolling-y > .ps__rail-y {
	opacity: 0.6;
}

.ps .ps__rail-x:hover,
.ps .ps__rail-y:hover,
.ps .ps__rail-x:focus,
.ps .ps__rail-y:focus,
.ps .ps__rail-x.ps--clicking,
.ps .ps__rail-y.ps--clicking {
	background-color: #EEE;
	opacity: 0.9;
}
/*
 * Scrollbar thumb styles
 */

.ps__thumb-x {
	background-color: #AAA;
	border-radius: 0.375rem;
	/* there must be 'bottom' for ps__thumb-x */
	bottom: 0.125rem;
	height: 0.375rem;
	/* please don't change 'position' */
	position: absolute;
	-webkit-transition: background-color 0.2s linear, height 0.2s ease-in-out;
	transition: background-color 0.2s linear, height 0.2s ease-in-out;
}

.ps__thumb-y {
	background-color: #AAA;
	border-radius: 0.375rem;
	/* please don't change 'position' */
	position: absolute;
	/* there must be 'right' for ps__thumb-y */
	right: 0.125rem;
	-webkit-transition: background-color 0.2s linear, width 0.2s ease-in-out;
	transition: background-color 0.2s linear, width 0.2s ease-in-out;
	width: 0.375rem;
}

.ps__rail-x:hover > .ps__thumb-x,
.ps__rail-x:focus > .ps__thumb-x,
.ps__rail-x.ps--clicking .ps__thumb-x {
	background-color: #999;
	height: 0.6875rem;
}

.ps__rail-y:hover > .ps__thumb-y,
.ps__rail-y:focus > .ps__thumb-y,
.ps__rail-y.ps--clicking .ps__thumb-y {
	background-color: #999;
	width: 0.6875rem;
}
/* MS supports */
@supports (-ms-overflow-style: none) {

	.ps {
		overflow: auto !important;
	}
}
@media screen and ( -ms-high-contrast: active ), ( -ms-high-contrast: none ) {

	.ps {
		overflow: auto !important;
	}
}

.marker-cluster {
	background: url("../png/marker.png") no-repeat;
	color: #FFF;
	font-size: 0.8125rem;
	height: 3.875rem;
	line-height: 2.625rem;
	position: absolute;
	text-align: center;
	width: 2.375rem;
}

.store-locator-resetAll {
	float: right;
}
/* ===== +STORE LOCATOR+ ===== */

#js-STORE_LOCATOR main .wrap,
#js-RETAILER_LOCATOR main .wrap {
	max-width: none;
}

.store-locator__map-wrap,
.store-locator__map-outer {
	height: 100% !important;
	width: 100%;
}

.store-locator__map {
	height: 37.5rem;
}

.store-locator__listing-inner {
	background: none;
	height: 37.5rem;
	padding: 1.875rem;
}

.store-locator__crown-dealers {
	border-bottom: solid 0.0625rem #EBEBEB;
	font-size: 0.875rem;
	padding: 1.875rem 1.875rem;
}

.store-locator__scroller {
	height: 100%;
	position: relative;
}

.store-locator__scroller .ps__rail-y {
	background: #EBEBEB !important;
	width: 0.1875rem;
}

.store-locator__scroller.ps--active-y .ps__rail-y,
.store-locator__scroller.ps--active-y .ps__thumb-y {
	opacity: 1;
}

.store-locator__scroller .ps__thumb-y {
	background: #5D5D5D !important;
	border-radius: 0;
	right: 0;
	width: 0.1875rem !important;
}

.store-locator__back {
	font-size: 0.8215rem;
	font-weight: 900;
	letter-spacing: 0.1em;
	line-height: 2.36;
	text-transform: uppercase;
}

/* Listing */

.store-locator__listing {
	background: none;
}

.store-locator__store {
	border-bottom: solid 0.0625rem #EBEBEB;
	cursor: pointer;
	line-height: 1;
	margin: 0 2.5rem 2.5rem 0;
	padding: 0 1.25rem 2.5rem 2.5rem;
	position: relative;
}

.store-locator__listing-inner .store-locator__store-target {
	left: 0;
	opacity: 0;
	position: absolute;
	top: 0.0625rem;
	transition: all 0.5s cubic-bezier(0.2, 0.5, 0.5, 1);
}

.store-locator__store.active-store .store-locator__store-target,
.store-locator__store .store-locator__store-target.platinum,
.store-locator__store .store-locator__store-target.gold,
.store-locator__store .store-locator__store-target.silver,
.store-locator__store .store-locator__store-target.bronze {
	left: 0;
	opacity: 1;
	position: absolute;
	top: 0.0625rem;
}

.store-locator__store .store-locator__store-target.platinum img,
.store-locator__store .store-locator__store-target.gold img,
.store-locator__store .store-locator__store-target.silver img,
.store-locator__store .store-locator__store-target.bronze img {
	width: 1.875rem;
}

.store-locator__store-name,
.retailer-content .grid-item-name {
	color: #000;
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: 1px;
	line-height: 1.5;
	margin-bottom: 1.25rem;
	position: relative;
	text-transform: none;
}

.retailer-content .grid-item-crown {
	cursor: pointer;
}

.store-locator__store-name {
	display: inline-block;
	position: relative;
	z-index: 1;
}

.store-locator__store-name.platinum {
	padding-top: 0.5rem;
}

.store-locator__store-web-directions,
.retailer-content .grid-item-links {
	margin-top: 1.5625rem;
	opacity: 1;
}

.store-locator__store-web-directions a,
.retailer-content .grid-item-links a {
	color: #000;
	font-size: 0.6875rem;
	letter-spacing: 0.0625rem;
	text-transform: uppercase;
}

.store-locator__store-web-directions a:hover,
.retailer-content .grid-item-links a:hover {
	color: #585858;
}

.store-locator__store-web,
.retailer-content .grid-item-web {
	margin-right: 1.5625rem;
}

.active-store .store-locator__store-web-directions {
	opacity: 1;
}

/* Form Inputs */

.store-locator__form-inputs {
	background: #EBEBEB;
}

.store-locator__inputs-wrap,
.store-locator__input {
	position: relative;
}

.store-locator__input {
	background: none !important;
	color: #5D5D5D !important;
	font-size: 1.125rem;
	font-weight: 700;
	padding: 0 !important;
	text-align: center;
	z-index: 1;
}

.store-locator__input::-webkit-input-placeholder,
.store-locator__input::-moz-placeholder,
.store-locator__input:-ms-input-placeholder,
.store-locator__input:-moz-placeholder,
.store-locator__input::placeholder {
	font-size: 1.125rem;
	font-weight: 700;
}

.store-locator__input::-webkit-input-placeholder {
	color: #B7B7B7;
}

.store-locator__input::-moz-placeholder {
	color: #B7B7B7;
}

.store-locator__input:-ms-input-placeholder {
	color: #B7B7B7;
}

.store-locator__input:-moz-placeholder {
	color: #B7B7B7;
}

.store-locator__input::placeholder {
	color: #B7B7B7;
}

.store-locator__target,
.store-locator__submit,
.store-locator__count {
	margin: auto;
}

.store-locator__target {
	left: 1rem;
	right: auto;
}

.store-locator__count {
	color: #B7B7B7;
	font-size: 0.875rem;
	font-weight: 600;
}

.store-locator__btn {
	border: solid 0.125rem #000;
	color: #111;
	font-size: 0.8125rem;
	font-weight: 900;
	padding: 0.625rem 1.875rem;
	transition: all 0.2s;
}

.store-locator__btn > span {
	position: relative;
	top: 0.125rem;
}

.store-locator__btn:hover {
	background-color: #F7EC23;
	border-color: #F7EC23;
}

.store-locator__btn img {
	margin-left: 0.5rem;
}

/* Filters */

.store-locator__shop-online__wrapper {
	align-items: center;
	background: none;
	border-bottom: solid 0.0625rem #EBEBEB;
	display: flex;
	font-size: 0.8125rem;
	height: 4.625rem;
	justify-content: center;
	letter-spacing: 0.09rem;
}

.crown-icon__wrapper {
	align-items: flex-end;
	display: flex;
	justify-content: flex-start;
	margin-top: 1rem;
}

.crown-icon .store-locator__store-target {
	cursor: pointer;
	margin-right: 2rem;
	max-width: 2.5rem;
}

.crown-icon {
	position: relative;
}

@media screen and ( max-width: 767px ) {

	.crown-icon {
		width: 65px;
	}
}

.crown-icon .tooltip {
	bottom: -5.875rem;
	top: auto;
}

@media screen and ( min-width: 768px ) {

	.crown-icon .tooltip {
		bottom: -2.875rem;
		white-space: nowrap;
	}
}

.crown-icon .tooltip:before {
	left: auto;
	margin: 0 auto;
	right: auto;
}

.crown-icon img:last-of-type {
	margin-right: 0;
}

@media screen and ( max-width: 767px ) {
	
	.crown-icon .bronze.tooltip {
		left: auto;
		right: 0;
	}
	
	.crown-icon .bronze.tooltip:before {
		right: 28%;
	}
}

/* Store Locator Bottom */

.store-locator__bottom {
	background: #303030;
	color: rgba(255,255,255,0.6);
	font-size: 0.8125rem;
	letter-spacing: 0.01rem;
	padding-bottom: 1.5rem;
	padding-top: 1.5rem;
}

.store-locator__bottom-authorized-dealers,
.store-locator__bottom-info {
	display: inline-block;
	padding-left: 3rem;
	padding-right: 3rem;
}

.store-locator__bottom-authorized-dealers {
	border-right: 0.0625rem solid #555555;
}

.store-locator__bottom-link {
	color: rgba(255,255,255,0.6);
	cursor: pointer;
	font-size: 0.75rem;
	letter-spacing: 0.09rem;
	margin-left: 0.25rem;
	text-decoration: underline;
}

/* Loading */

.store-locator__processing {
	opacity: 1;
	visibility: visible;
}

/* Pop up Window */

.store-locator__popup-name {
	margin-bottom: 0.25rem;
}

.store_locator .sub-nav,
.retailer_locator .sub-nav {
	display: none;
}

.store_locator .main-content .content-item,
.retailer_locator .main-content .content-item {
	padding: 0 0 3.75rem;
}

.retailer_locator .map-header-row {
	border-bottom: 1px solid #EBEBEB;
}

.map-header--mbl {
	margin: 20px 8px 2px;
}

.map-header,
.map-content {
	display: flex;
	flex-flow: row wrap;
}

.map-header {
	padding: 3.75rem 0;
}

.map-header .col-left,
.map-content .col-left {
	flex-basis: 100%;
}

.map-header .col-left {
	margin-bottom: 2.5rem;
}

.map-content .col-left {
	border-bottom: solid 0.0625rem #EBEBEB;
	border-top: solid 0.0625rem #EBEBEB;
	box-shadow: inset 0px 6.25rem 12.5rem -6.25rem  rgba(0, 0, 0, 0.1);
}

.map-header .col-right,
.map-content .col-right {
	flex-basis: 100%;
}

.map-header .col-left,
.map-header .col-right {
	align-items: center;
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	text-align: center;
}

.map-header .col-left h2,
.retailer-header h2 {
	font-size: 2.1875rem;
	line-height: 1;
	margin-bottom: 0.625rem;
}

.map-header .col-left a,
.retailer-header a {
	font-size: 0.6875rem;
	letter-spacing: 0.125rem;
}

.map-header .col-left a:hover,
.retailer-header a:hover {
	color: #000;
}

.map-header .col-left a img,
.retailer-header a img {
	left: 0.9375rem;
	position: relative;
	top: -0.0625rem;
}

.map-header .col-right form {
	flex-basis: 100%;
	margin-bottom: 2.5rem;
}

.map-content .store-locator__filters form {
	align-items: center;
	display: flex;
	flex-flow: row nowrap;
	height: 100%;
	justify-content: center;
}

.map-content .store-locator__filter {
	flex-basis: 50%;
	font-size: 0.6875rem;
	line-height: 1;
	margin-bottom: 0;
	position: relative;
	text-align: center;
	text-transform: uppercase;
}

.map-content .store-locator__filter-text {
	display: inline-block;
	position: relative;
	z-index: 1;
}

.map-content .store-locator__filter .ng-valid-parse + span + .store-locator__filter-text {
	color: #000;
	font-weight: 700;
}

.map-content .store-locator__filter-text .underlined,
.map-content .store-locator__store-name .underlined {
	background: #F7EC23;
	bottom: -0.1875rem;
	height: 0.625rem;
	position: absolute;
	transition: all 0.5s cubic-bezier(0.2, 0.5, 0.5, 1);
	width: 0%;
	z-index: -1;
}

.map-content .store-locator__filter:first-child .store-locator__filter-text .underlined {
	left: -5%;
}

.map-content .store-locator__filter:first-child .ng-valid-parse + span + .store-locator__filter-text .underlined {
	width: 110%;
}

.map-content .store-locator__filter:last-child .store-locator__filter-text .underlined {
	left: -10%;
}

.map-content .store-locator__filter:last-child .ng-valid-parse + span + .store-locator__filter-text .underlined {
	width: 120%;
}

.map-content .store-locator__store-name .underlined {
	bottom: 0.1875rem;
	left: -2%;
}

.map-content .store-locator__store.active-store .store-locator__store-name .underlined {
	width: 104%;
}

.map-content .store-location__radio-indicator {
	display: none;
}

.map-content .store-locator__store-addr-address,
.map-content .store-locator__store-addr-more,
.map-content .store-locator__store-phone,
.retailer-content .grid-item-address,
.retailer-content .grid-item-city,
.retailer-content .grid-item-phone {
	font-size: 0.875rem;
	letter-spacing: 0.0625rem;
}

.map-content .store-locator__store-addr-address,
.map-content .store-locator__store-addr-more,
.retailer-content .grid-item-address,
.retailer-content .grid-item-city {
	margin-bottom: 0.9375rem;
}

.map-content .gm-style .gm-style-iw > div {
	padding: 0.625rem !important;
}

.map-content .gm-style .gm-style-iw .store-locator__popup-name {
	color: #000;
	margin-bottom: 0.625rem;
	text-transform: none;
}

.map-content .gm-style .gm-style-iw .store-locator__popup-name + div {
	margin-bottom: 0.3125rem;
}

.map-content .store-locator__popup-phone {
	margin-top: 0.3125rem;
}

.retailer-header {
	align-items: center;
	display: flex;
	flex-flow: row nowrap;
	height: 12.5rem;
	justify-content: center;
	text-align: center;
}

.retailer-content {
	padding-top: 2.8125rem;
}

.retailer-content h4 {
	border-bottom: solid 0.0625rem #EBEBEB;
	font-size: 0.875rem;
	letter-spacing: 0.0625rem;
	line-height: 1;
	margin-bottom: 3.125rem;
	padding-bottom: 1.25rem;
}

.retailer-content h4 img {
	margin-right: 0.9375rem;
	position: relative;
	top: -0.125rem;
}

.retailer-content .grid {
	display: grid;
	grid-gap: 2.5rem;
	grid-template-columns: repeat(auto-fill, minmax(14.75rem, 1fr));
}

.retailer-content .platinum-dealers,
.retailer-content .silver-dealers {
	margin-bottom: 4.375rem;
}

.main-content .content-item .column.platinum-dealers-container,
.main-content .content-item .column.silver-dealers-container {
	padding: 0 1.25rem;
}

@media screen and ( min-width: 960px ) {

	.grid-container {
		margin: 0 auto;
		max-width: 100rem;
		width: 90%;
	}
	
	.main-content .content-item .column.platinum-dealers-container {
		padding-right: 4rem;
	}

	.main-content .content-item .column.silver-dealers-container {
		padding-left: 4rem;
	}
}

.retailer-content .grid-item {
	line-height: 1;
}

.retailer-content .grid-item-name img {
	margin-right: 0.5rem;
	position: relative;
	top: -0.1875rem;
	width: 1.875rem;
}

.no-locations {
	font-weight: 600;
}
@media screen and ( min-width: 640px ) {

	.no-locations {
		margin-left: 1.875rem;
	}

	.store-locator__store {
		margin: 0 2.5rem 2.5rem 1.875rem;
	}
}
@media screen and ( min-width: 960px ) {

	.store-locator .main-content .content-item {
		padding-bottom: 0;
	}

	.map-header {
		flex-flow: row nowrap;
		height: auto;
		padding: 0;
	}

	.map-header .col-left,
	.map-header .col-right {
		justify-content: normal;
		text-align: left;
	}

	.map-header .col-left {
		flex-basis: 34%;
		margin-bottom: 0;
		padding-left: 3.75rem !important;
	}

	.map-header .col-right {
		border-left: solid 0.0625rem #EBEBEB;
		flex-basis: 66%;
	}

	.map-header .col-right form {
		margin-bottom: 0;
	}

	.store-locator__input {
		border: 0 !important;
		border-radius: 0 !important;
		height: 6.25rem !important;
		line-height: 6.25rem !important;
		padding: 0 27.875rem 0 60px !important;
		text-align: left;
	}

	.retailer_locator .store-locator__input {
		padding-right: 21.875rem !important;
	}

	.store-locator__target,
	.store-locator__submit,
	.store-locator__count,
	.store-locator__reset {
		position: absolute;
		right: 0;
		top: 50%;
		transform: translateY(-50%);
		z-index: 2;
	}

	.store-locator__reset {
		right: 2rem;
	}	

	.store-locator__count {
		color: #B7B7B7;
		font-size: 0.875rem;
		font-weight: 400;
		right: 18.25rem;
	}

	.store-locator__submit {
		right: 9.875rem;
	}

	.retailer-content {
		padding-top: 4.75rem;
	}

	.retailer-content .grid {
		grid-gap: 5rem 2.5rem;
	}

	.retailer-content .platinum-dealers,
	.retailer-content .silver-dealers {
		margin-bottom: 8.75rem;
	}
}
@media screen and ( min-width: 1170px ) {

	.map-content .col-left {
		flex-basis: 34%;
	}

	.map-content .col-right {
		flex-basis: 66%;
	}

	.store-locator__input {
		padding-left: 5rem !important;
	}

	.store-locator__map {
		height: 55.25rem;
	}

	.store-locator__listing-inner {
		height: 40.625rem;
	}
}
@media screen and ( min-width: 1660px ) {

	.retailer-content h4,
	.retailer-content .grid  {
		padding-left: 2.5rem;
		padding-right: 2.5rem;
	}
}

.map-key {
	align-items: center;
	display: flex;
	flex-direction: column;
}

.map-key .store-locator__shop-local {
	padding-top: 1rem !important;
	text-align: center;
}

@media screen and ( min-width: 768px ) {

	.map-key {
		flex-direction: row;
	}

	.map-key .store-locator__shop-local {
		padding-left: 3.75rem !important;
		padding-top: 0 !important;
		text-align: left;
	}
}

.map-key .store-locator__crown-dealers {
	border: none;
}

.message-hide {
	visibility: hidden;
}

.message--small {
	font-size: 0.875rem;
}

/* Retail Locator Overwrites */

.retailer_locator .map-header,
.retailer_locator .map-key,
.retailer_locator .retailer-message__wrap {
	margin: 0 auto;
	max-width: 100rem;
}

.retailer_locator .map-key .store-locator__store-target {
	cursor: default;
}

.retailer_locator .retailer-message .message {
	font-size: 1.125rem;
	margin-bottom: 0;
	min-height: 3.125rem;
}

.retailer_locator .store-locator__crown-dealers {
	padding: 1rem 0;
}

.retailer_locator .crown-icon__wrapper {
	margin-top: 0;
}

.retailer_locator .crown-icon .store-locator__store-target {
	margin-right: 0;
}

.retailer_locator .crown-icon {
	flex: 1 1 25%;
	text-align: center;
}

.retailer_locator .crown-icon__title,
.retailer_locator .crown-icon__copy {
	display: block;
}

.retailer_locator .crown-icon__title {
	font-size: 0.875rem;
	margin-top: 1rem;
}

.retailer_locator .crown-icon__copy {
	font-size: 0.6875rem;
}

.ie .retailer_locator .grid-item {
	padding: 0 0 2rem;
}

@media screen and ( max-width: 959px ) {

	.map-header {
		padding: 2.5rem 0; 
	}

	.map-header .col-left {
		margin-bottom: 2.125rem;
	}

	.map-header .col-left h2 {
		margin-bottom: 0;
	}

	.store-locator__form {
		display: flex;
		flex-wrap: wrap;
		gap: 0.75rem;
		margin: 0 0.5rem 0 !important;
	}

	.store_locator .store-locator__form {
		margin-bottom: 1.5rem !important;
	}

	.store-locator__form button {
		flex: 1 1 auto;
		max-width: 50%;
	}
	
	.retailer_locator .store-locator__input,
	.store_locator .store-locator__input {
		border-color: #D5D5D5;
		flex: 1 1 100%;
		height: 60px;
		margin-bottom: 0.75rem;
		padding: 0 1rem !important; 
		text-align: left;
	}

	.retailer_locator .platinum-dealers-container hr {
		border-color: #CECECE;
		margin: 2.625rem 0;
	}

	.retailer_locator .mobile-view-all-dealers {
		background: #FFFFFF;
		font-weight: 700;
		height: 2.8125rem;
		text-transform: uppercase;
		width: 100%;
	}

	.retailer-content .silver-dealers .grid-item:nth-child(n+5),
	.retailer-content .platinum-dealers .grid-item:nth-child(n+5){
		display: none;
	}
	
	.retailer-content .dealers__expanded .grid-item:nth-child(n+5) {
		display: block;
	}
}

@media screen and ( min-width: 960px ) {

	.retailer_locator .map-header {
		padding-left: 3.75rem;
		padding-right: 1.625rem;
	}

	.retailer_locator .map-header .col-left {
		padding-left: 0 !important;
	}

	.retailer_locator .map-header h2 {
		font-size: 2.1875rem;
		line-height: 1;
		margin-bottom: 0;
		padding: 2.875rem 0 2.375rem;
	}

	.retailer_locator .map-key {
		padding: 0 3.75rem;
	}
	
	.retailer_locator .map-key .store-locator__shop-local {
		padding-left: 0 !important;
	}
}
