/*** GENERAL ******************************************************************/

.locator {
	
}

.locator h2 {
	margin-left: 30px;
	margin-right: 30px;
}

.locator-assets {
	display: none;
}

/*** LOCAL STORE **************************************************************/

.locator .local {
	margin-top: 25px;
	margin-bottom: 15px;
	margin-left: 30px;
	margin-right: 30px;
}

.locator .local-loading {
	background: transparent url('/img/locations/loading.gif') no-repeat 300px center;
}

.locator .local-loading * {
	visibility: hidden;
}

.locator .local h4.selected {
	display: none;
}

.locator .local-selected h4.detected {
	display: none;
}

.locator .local-selected h4.selected {
	display: block;
}

.locator p.explanation {
	font-size: 13px;
	font-family: times,serif;
	color: #555;
}

.locator .local-selected p.explanation {
	display: none;
}

/*** SEARCH AREA: GENERAL *****************************************************/

.locator .search {
	background-color: #F5F3EF;
	border: solid 1px #D7D7D7;
	width: 100%;
	clear: left;
}

.locator .search ul {
	/* what is this for? */
	font: 13px Times, serif;
	color: #555;
}

.locator .search li a {
	color: #6B0D27;
	text-decoration: underline;
}

/*** SEARCH AREA: INPUT *******************************************************/

.locator .search-input {
	padding: 15px 30px;
}

.locator .search-input .manual {
	float: left;
}

.locator .search-input .automatic {
	float: right;
	display: none;
}

.locator .search-input h5 {
	margin-right: 10px;
	margin-top: 5px;
	float: left;
}

.locator .search-input .field-container {
	float: left;
}

.locator .search-input .field {
	background: url("/img/locations/input-bg.gif") no-repeat;
	height: 25px;
	width: 170px;
	outline: none;
	border: none;
	margin-right: 10px;
	padding: 0 5px;
	/*float: left;*/
}

.locator .search-input a.submit {
	padding-top: 3px;
	padding-left: 8px;
	padding-right: 8px;
	display: block;
	float: left;
	margin-bottom: 0;
}

.locator .search-input a.submit div {
	width: 16px;
	height: 16px;
	background: transparent url('/img/locations/search-loupe.png') no-repeat center center;
	text-indent: -9999px;
}

.retina .locator .search-input a.submit div {
	background-image: url('/img/locations/search-loupe@2x.png');
	background-size: 16px 16px;
}

.locator .search-input a.geolocate {
	float: left;
	margin-bottom: 0;
	display: inline-block;
}

.locator .search-input a.geolocate-help {
	float: left;
	display: block;
	width: 19px;
	height: 24px;
	margin-left: 6px;
	background: transparent url('/img/locations/geolocate-help.png') no-repeat center center;
	text-indent: -9999px;
}

html.has-geolocation .locator .search-input .automatic {
	display: block;
}

html.has-geolocation .locator .search-input a.geolocate {
	padding-top: 3px;
	padding-left: 8px;
	padding-right: 8px;
}

html.has-geolocation .locator .search-input a.geolocate div {
	width: 16px;
	height: 16px;
	background: transparent url('/img/locations/geolocate-target.png') no-repeat center center;
	text-indent: -9999px;
}

 html.retina.has-geolocation .locator .search-input a.geolocate div {
	background-image: url('/img/locations/geolocate-target@2x.png');
	background-size: 16px 16px;
}

html.has-geolocation .locator .search-input a.geolocate-working {
	margin-top: 1px;
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	box-shadow: none;
	cursor: default;
	background-image: none;
	background-color: #ebebeb;
}

html.has-geolocation .locator .search-input a.geolocate-working div {
	background-image: url('/img/locations/geolocate-spinner.gif');
}

/*** SEARCH AREA: MAP *********************************************************/

.locator .search-map {
	border-bottom: solid 1px #dcdad7;
	padding: 0 0 20px;
}

.locator .search-map-box {
	height: 378px;
	position: relative;
	margin: 0 30px;
}

.locator .search-map-canvas {
	width: 100%;
	height: 100%;
	position: relative;
	border: solid 1px #d7d7d7;
}

/*** SEARCH AREA: RESULTS *****************************************************/

.locator .search-results {
	display: none;
}

.locator .search-results .list {
	/* this element is empty */
}

.locator .search-results .list-footer {
	height: 40px;
	border-top: solid 1px #fff;
}

/*** SEARCH AREA: ZERO/MULTIPLE RESULTS ***************************************/

.locator .search-no-results {
	display: none;
	color: #555;
	font-size: 12px;
	padding: 0 30px 20px 30px;
}

.locator .search-narrow-results {
	display: none;
	color: #555;
	font-size: 12px;
	padding: 0 30px 20px 30px;
}

.locator .search-narrow-results ul {
	padding: 0 25px;
}

.locator .search-narrow-results li {
	margin: 1px 0;
}

.locator .search-narrow-results a:link,
.locator .search-narrow-results a:visited {
	text-decoration: none;
	display: block;
}

.locator .search-narrow-results a:hover,
.locator .search-narrow-results a:active {
	text-decoration: underline;	
}

.locator .sorry {
	padding-left: 25px;
	background: url("/img/locations/sorry-1x.png") no-repeat;
	color: #555;
	font-size: 12px;
}

.locator .sorry span {
	display: block;
	padding-top: 2px;
	font-weight: bold;
	font-size: 14px;
	margin-bottom: 5px;
	height: 20px;
}

/*** GEOLOCATION TOOLTIP ******************************************************/

.geolocate-tooltip {
	position: absolute;	
}

.geolocate-tooltip .geolocate-tooltip-arrow {
	position: absolute;
	left: -9px;
	top: 0;
	width: 18px;
	height: 9px;
	background: transparent url('/img/locations/geolocate-tooltip-arrow.png') no-repeat 0 0;
}

.geolocate-tooltip .geolocate-tooltip-content {
	width: 240px;
	padding: 10px;
	margin-top: 8px;
	color: #333;
	font: 13px/16px times;
	border: #d4d4d4 solid 1px;
	border-radius: 5px;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	-webkit-box-shadow: 0 1px 4px rgba(0,0,0,.2);
	-moz-box-shadow: 0 1px 4px rgba(0,0,0,.2);
	box-shadow: 0 1px 4px rgba(0,0,0,.2);
	background: #fff;
}

/*** STORE DETAILS ************************************************************/

.locator .store {
	
}

.locator .store .store-inner {
	margin: 15px 30px;
	position: relative;
}

.locator .store .pin {
	position: absolute;
	top: 0;
	left: 0;
	width: 30px;
	height: 42px;
	background: transparent url("/img/locations/pins-sprite-1x.png") no-repeat 0 0;
}

.locator .store .current {
	background: url("/img/locations/location-pin-current.png") no-repeat;
}

.locator .store .store-name {
	margin-bottom: 0.3em;
}

.locator .store .column {
	width: 225px;
	float: left;
	margin-right: 20px;
}

.locator .store .store-block + .store-block {
	margin-top: 0.3em;
}

.locator .store div,
.locator .store ul {
	font: 13px Times, serif;
	color: #555;
}

.locator .store ul span,
.locator .store ul a,
.locator .store div a {
	/* this is only to override Gmaps CSS */
	font: 13px Times, serif;
}

.locator .store ul {
	font: 13px Times, serif;
	color: #555;
}

.locator .store .store-address {

}

.locator .store .facebook-details {
	height: 17px;
	display: inline-block;
	padding-right: 20px;
	background: transparent url('/img/locations/store-fb-icon.png') no-repeat right center;
	line-height: 17px;
	vertical-align: middle;
}

.locator .store .store-addl-info {
	padding-top: 0.3em;
	clear: both;
}

.locator .store .store-btn {
	position: absolute;
	right: 0;
	bottom: 50%;
	margin-bottom: -13px;
}

.locator .store .store-btn .button {
	margin-left: 5px;
	margin-bottom: 0 !important;
}

.locator .store .store-btn a.icon-button {
	display: inline-block;
	height: 30px;
	vertical-align: middle;
	outline: none;
	text-decoration: none;
	text-transform: uppercase;
	font-size: 12px;
	font-family: 'Trade Gothic W01 Bold',arial,sans-serif;
	font-weight: 400 !important;
	line-height: 30px;
	color: #707070;
}

.locator .store .store-btn a.icon-button + a.icon-button {
	margin-left: 8px;
}

.locator .store .store-btn a.icon-button i {
	display: block;
	float: left;
	margin-right: 5px;
	width: 25px;
	height: 30px;
	background-image: url('/img/locations/button-icons.png');
	background-repeat: no-repeat;
}

.locator .store .store-btn a.icon-button:hover,
.locator .store .store-btn a.icon-button:active {
	color: #cc092f;
}

.locator .store .store-btn a.view-menu {
	width: 54px;
}

.fr .locator .store .store-btn a.view-menu {
	width: auto;
}

.locator .store .store-btn a.view-menu i {
	width: 18px;
	background-position: 0 0;
}

.locator .store .store-btn a.view-menu:hover i {
	background-position: 0 -30px;
}

.locator .store .store-btn a.show-on-map i {
	width: 24px;
	background-position: -25px 0;
}

.locator .store .store-btn a.show-on-map:hover i {
	background-position: -25px -30px;
}

.locator .store .store-btn a.directions i {
	width: 22px;
	background-position: -50px 0;
}

.locator .store .store-btn a.directions:hover i {
	background-position: -50px -30px;
}

.locator .store .store-btn a.set-user-store i {
	width: 17px;
	background-position: -75px 0;
}

.locator .store .store-btn a.set-user-store:hover i {
	background-position: -75px -30px;
}

.locator .store .store-btn a.is-user-store {
	cursor: default;
	color: #cc092f;
	display: none;
}
	
.locator .store .store-btn a.is-user-store i {
	width: 17px;
	background-position: -100px -30px;
}

.locator .store-current .store-btn a.is-user-store {
	display: inline-block;
}

.locator .store-current .store-btn a.set-user-store {
	display: none;
}

.retina .locator .store .store-btn a.icon-button i {
	background-image: url('/img/locations/button-icons@2x.png');
	background-size: 125px 60px;
}

.retina .locator .store .store-btn a.view-menu {
	width: 60px;
}

.retina .locator .store .store-btn a.view-menu i {
	width: 19px;
}

.retina .locator .store .store-btn a.directions i {
	width: 24px;
}

.retina .locator .store .store-btn a.is-user-store i {
	width: 18px;
}

/*** STORE DETAILS: LIST MODIFICATIONS ****************************************/

.locator .store-list {
	border-top: solid 1px #FFF;
	border-bottom: solid 1px #dcdad7;
	position: relative;
	background-color: #F9F8F5;
}

/*** STORE DETAILS: MAP INFOWINDOW MODIFICATIONS ******************************/

.locator .store-popup {
	background-color: #fff;
	width: 500px;
	border-width: 0;
	padding: 0;
	margin: 0;
}

.locator .store-popup ul a {
	color: #cc092f;
}

.locator .store-popup img {
	float: right;
	border: solid 1px #E0E0E0;
	margin-right: 10px;
}
	
.locator .popup-btn {
	clear: both;
	padding-top: 25px;
}

.locator .popup-address .first {
	font: bold 14px Arial, Helvetica, sans-serif;
	color: #000;
	margin-bottom: 15px;
}

.locator .store-popup a.primary {
	margin-right: 68px;
}

.locator .store-popup .store {
	border: none;
	height: 100%;
}

.locator .store-popup .store-address {
	margin: 0;
}

.locator .store-popup .store-btn {
	left: 0 !important;
	bottom: 1px !important;
	margin: 0;
	position: absolute;
}

.locator .store-popup .store-btn .button {
	margin-left: 0 !important;
	margin-right: 5px !important;
	margin-bottom: 0 !important;
}

.locator .store-popup .name {
	font-size: 14px;
	color: #000;
	margin-bottom: 15px;
}

.locator .store-popup .store-inner {
	padding-top: 0;
	padding-left: 0;
	padding-right: 10px;	
	padding-bottom: 40px;	
	margin: 0;
	position: relative;
}

.store-address .name {
	font-size: 16px;
}

/*** STORE DETAILS: LOCAL STORE MODIFICATIONS *********************************/

.locator .local .store-container {
	min-height: 105px;
}

.locator .store-local {
	background-image: url('/img/locations/pin-local-md-1x.png');
	background-repeat: no-repeat;
	background-position: left top;
}

.locator .store-local .store-inner {
	padding-left: 48px !important;
	margin-left: 0;
	margin-right: 0;
}

/*** EMBEDDED/MODAL MODIFICATIONS *********************************************/

.modal .wrapper {
	width: auto;
}

.modal .content {
	background: #f6f2ef;
    padding-top: 0;
}

.modal .locator h2 {
	display: none;
}

.modal .locator .local {
    margin-top: 0;
	margin-left: 0;
	margin-right: 0;
}

.modal .locator .local-info {
	padding-left: 50px;
}

.modal .locator .search {
	border: none;
}

.modal .locator .search-input {
	padding-left: 0;
	padding-right: 0;
}

.modal .locator .search .manual,
.modal .locator .search .automatic {
	float: none;
	display: block;
	clear: both;
	margin-bottom: 5px;
}

.modal .locator .search a.geolocate {
	
}

.modal .locator .search a.geolocate-help {
	
}

.modal .locator .search-map-box {
    margin: 0 !important;
}

.modal .locator .search-map-canvas {
	width: auto !important;
}

.modal .locator .store .column-1 {
	
}

.modal .locator .store .column-2 {
	
}

.modal .locator .store-inner {
	padding-left: 0;
	padding-right: 0;
	padding-bottom: 40px;
	position: relative;
}

.modal .locator .store-btn {
	left: 0 !important;
	bottom: 1px !important;
	margin: 0;
	position: absolute;
}

.modal .locator .store-btn .button {
	margin-left: 0 !important;
	margin-right: 5px !important;
	margin-bottom: 0 !important;
}

/*** MOBILE MODIFICATIONS *****************************************************/

.mobile-version .locator {
	margin-top: -7px;
}

.mobile-version .locator h2 {
	display: none;
}

.mobile-version .locator .search {
	background-color: #fff;
}

.mobile-version .locator .search-map-box {
	height: 200px;
	margin: 0 18px;
}

.mobile-version .locator .local h4.selected,
.mobile-version .search-input h4 {
	font: bold 13px Arial, Helvetica, sans-serif;
	color: #363636;
	padding-bottom: 5px;
}

.mobile-version .locator .local {
	margin: 0 10px 0 10px;
	display: none;
}

.mobile-version .locator .local-btn {
	float: none;
}

.mobile-version .locator .search-input {
	padding-left: 18px;
	padding-right: 18px;
	padding-bottom: 0;
}


.mobile-version .locator .search-input .manual {
	position: relative;
}

.mobile-version .locator .search-input .manual .field-container {
	box-sizing: border-box;
	padding-right: 40px;
	width: 100%;
}

.mobile-version .locator .search-input .manual .field {
	box-shadow: inset 0 0 4px rgba(0,0,0,.2);
	display: block;
	border: solid 1px #ccc;
	width: 100%;
	background-color: #f2f2f2;
	background-image: none;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	margin-left: 0;
	margin-right: 0;
	padding-top: 5px;
	padding-bottom: 5px;
	height: auto;
	/*font-size: 15px;*/
	font-size: 13px;
	-webkit-appearance: textfield;
	-moz-appearance: textfield;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
}

.mobile-version .locator .search-input .manual a.submit {
	position: absolute;
	right: 0;
	bottom: 2px;
	padding-top: 5px;
	box-sizing: border-box;
	height: 28px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
}

.mobile-version .locator .search-input .automatic .geolocate-help {
	display: none;
}

.mobile-version .locator .store div,
.mobile-version .locator .store ul {
	font: 13px arial,sans-serif;
	color: #555;
}

.mobile-version .store .pin {
	background-image: url("/img/locations/pins-sprite-2x.png");
	background-size: 900px 42px;
}

.mobile-version .store .store-inner {
	margin-left: 18px;
	margin-right: 18px;
}

.mobile-version .locator .store .column + .column {
	margin-top: 0.5em;
}

.mobile-version .store .store-btn .set-user-store {
	display: none;
}

.mobile-version .store .store-btn {
	clear: both;
}

.mobile-version .store-list {
	background: #fff;
}

.mobile-version .store-list .store-btn {
	float: left;
	clear: both;
	position: static;
	margin-top: 12px;
	margin-bottom: 0;
}

.mobile-version  .locator .search .manual,
.mobile-version  .locator .search .automatic {
	float: none;
	display: block;
	clear: both;
	margin-bottom: 5px;
}

.mobile-version  .locator .search a.geolocate {
	float: right;
	margin-top: 3px;
}

/*** MOBILE+EMBEDDED MODIFICATIONS ********************************************/

.mobile-version.modal .content {
	background-color: transparent;
}

.mobile-version.modal .locator {
	margin-top: 0;
}

.mobile-version.modal .locator .search-map-box {
	margin-left: 15px !important;
	margin-right: 15px !important;
}

.mobile-version.modal .locator .search-input {
	padding-top: 0;
	padding-left: 15px;
	padding-right: 15px;
}

.mobile-version.modal .locator .search-input .manual h5 {
	font: 400 14px arial,sans-serif;
	color: #555;
}

.mobile-version.modal .locator .search-input .manual input.field {
	background-color: #e1e1e1;
}

.mobile-version.modal .list .list-footer {
	display: none;
}

.mobile-version.modal .store h6,
.mobile-version.modal .store div,
.mobile-version.modal .store ul {
	font-size: 14px;
}

.mobile-version.modal .locator .list .store-list .store-inner {
	padding-bottom: 0;
	margin-left: 15px;
	margin-right: 15px;
}

.mobile-version.modal .locator .store .store-btn a.pickup {
	background-image: none;
	background-color: #ebebeb;
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	box-shadow: none;
}

/*** RETINA MODIFICATIONS *****************************************************/

.mobile-version.retina .store .pin {
	background-image: url("/img/locations/pins-sprite-2x.png")
}

/*** USER-AGENT SPECIFIC MODIFICATIONS ****************************************/

.ie .locator .search .field {
	margin-top: 0;
	padding-top: 0;
}

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

	.modal .locator,
	.modal .locator .search {
		background: #fff;
	}
	
	.modal .locator .local {
		display: none;
	}
	
	.modal .locator .store-list .store-inner {
		margin-left: 0;
		margin-right: 0;
	}

}