/* Front-End of Locator Stylesheet */

/* null margins and padding to give good cross-browser baseline */
html,body,address,blockquote,div,pre,
form,fieldset,caption,
h1,h2,h3,h4,h5,h6,
hr,ul,li,ol,ul,
table,tr,td,th,p,img {
	margin:0;
	padding:0;
}

/* ---------- General Page Elements  ---------- */
img,fieldset {
	border:none;
}

body {
	font:normal 85%/120% arial,helvetica,sans-serif;
	text-align:center;
	color:#444;
	margin:16px 0 0;
	background-color:#FFF;
}

a:link    {color:#006699;}
a:visited {color:#006699;}
a:hover   {color:#444;}
a:active  {color:#006699;} 

h1 {
	font:bold 22px/24px arial,helvetica,sans-serif;
	color:#444;
	letter-spacing:1px;
}

h2 {
	font:bold 14px/20px arial,helvetica,sans-serif;
	color:#444;
	letter-spacing:1px;
}


/* ---------- PageWrapper is the outmost bounding container for the locator system  ---------- */
.pageWrapper {
	border:5px solid #999;
	margin:32px auto 24px;
	padding:24px;
	width:920px;
	text-align:left;
	background:#F6F6F6;
	overflow:hidden;
}

/* ---------- Locales is for the Tabs across the top of the Search Page ---------- */
.locales {
	list-style:none;
	overflow:hidden;
	background:#AAA;
	background:-moz-linear-gradient(top,#EEE,#BBB);
	background: -webkit-gradient(linear, left top, left bottom, from(#EEE), to(#BBB));
	border-radius:16px 16px 0 0;
}

.locales li {
	display:inline;
}

.locales li a,
.locales li b {
	float:left;
	font:bold 18px/32px arial,helvetica,sans-serif;
	color:#000; /* --  Text Color for Tabs -- */
	text-decoration:none;
	padding:0 16px;
	border-right:1px solid #BBB;
}

.locales li a:hover {
	background:#444;
	color:#FFF; /* --  Text Color for Tabs when Hover -- */
}

.locales li b {
	background:#E1E1E1;  /*  -- Color of Active Tab -- */
}

/* ---------- Search Form Page ---------- */

.searchForm {
	background:#E1E1E1;
	background:-moz-linear-gradient(top , #E1E1E1 0%, #EEE 94%);
	background:-o-linear-gradient(top , #E1E1E1 0%, #EEE 94%);
	background: -webkit-gradient(linear, left top, left bottom, from(#E1E1E1), to(#EEE));
	box-shadow:1.6px 2px 5px rgba(0, 0, 0, 0.4);
	width:600px;
	margin:16px auto 0;
	border-radius:16px;
	border:2px solid #BBB;
	overflow:hidden;
}

.searchForm form {
	margin:24px;
	font-size:16px;
}

.searchForm label {
	display:inline-block;
	width:130px;
	font:normal 16px/24px arial,helvetica,sans-serif;
	vertical-align:center;
	margin-bottom:8px;
}

input[type=text], textarea, select{
  padding: 2px;
  margin: 0 1px 0px 0px;
  border: 1px solid #999;
  display:inline-block;
  outline: none;
}

input[type=text]:focus, textarea:focus, select:focus {  /* Text Boxes, Text Area and Select List are clicked on */
  -webkit-box-shadow: 0px 0px 3px #444;  
  -moz-box-shadow: 0px 0px 3px #444;  
  box-shadow: 0px 0px 3px #444;  
  padding: 2px;
  margin: 0 1px 0px 0px;
  border: 1px solid #000;
  display:inline-block;
}

.searchForm #zip_code {
	margin-right:8px;
}

.searchForm small, .secondaryLabel {
	margin-bottom:8px;
	display:inline-block;
}

.searchForm input#submit {
	cursor:pointer;
	margin:16px auto 0;
	padding:4px 8px;
	display:block;
	height:30px;
	background-image:url('img/search.png');
	background-position:left center;
	background-repeat:no-repeat;
	background-color:#EEE;
	border:1px solid #BBB;
	padding:6px 8px 6px 32px;
	text-decoration:none;
	-webkit-border-radius:8px;
	-moz-border-radius:8px;
	border-radius:8px;
	color:#000;
	font: 14px/14px "arial", "helvetica", sans-serif;
}
.searchForm input#submit:hover{background-color:#FFF;
}

.filter_separator {
	font:normal 10px/14px arial,helvetica,sans-serif;
	color:#333; /* --  Text Color -- */
	position:relative;
	margin:5px 16px 24px 0;
	border-bottom:1px dashed #999;
	overflow:hidden;
}

/* ---------- Drop Down Lists ---------- */

.options {
	float:right;
	margin-top:-23px;
	font:normal 14px/14px arial,helvetica,sans-serif;
}

.options select,
.options a {
	margin-right:8px;
	font:normal 14px/24px arial,helvetica,sans-serif;
}

.options a:last-child {
	margin-right:0;
}

.sortdropDown {
	float: right;
	margin-top:15px;
	font:normal 14px/14px arial,helvetica,sans-serif;
}


/* ---------- Top Nav Links ---------- */

.menulinks {
	float: right; 
  width: 400px;
	margin-top:-30px;
	font:normal 14px/14px arial,helvetica,sans-serif;
}

.addLocationLink {
	background-image:url('img/add.png');
	background-position:left center,left top;
	background-repeat:no-repeat,repeat-x;
	background-color:#EEE;
	border:1px solid #BBB;
	padding:6px 8px 4px 32px;
	height:18px;
	text-decoration:none;
	float: right;
	margin-left:5px;
	display:block;
	-webkit-border-radius:8px;
	-moz-border-radius:8px;
	border-radius:8px;
	color:#000;
	font: 14px/14px "arial", "helvetica", sans-serif;
}
.addLocationLink:hover{background-color:#FFF;
}

.gobackLink {
	background-image:url('img/goback.png');
	background-position:left center,left top;
	background-repeat:no-repeat,repeat-x;
	background-color:#EEE;
	border:1px solid #BBB;
	padding:6px 8px 4px 32px;
	height:18px;
	text-decoration:none;
	float: right;
	margin-left:5px;
	display:block;
	-webkit-border-radius:8px;
	-moz-border-radius:8px;
	border-radius:8px;
	color:#000;
	font: 14px/14px "arial", "helvetica", sans-serif;
}
.gobackLink:hover{background-color:#FFF;
}

.startoverLink {
	background-image:url('img/startover.png');
	background-position:left center,left top;
	background-repeat:no-repeat,repeat-x;
	background-color:#EEE;
	border:1px solid #BBB;
	padding:6px 8px 4px 32px;
	height:18px;
	text-decoration:none;
	float: right;
	margin-left:5px;
	display:block;
	-webkit-border-radius:8px;
	-moz-border-radius:8px;
	border-radius:8px;
	color:#000;
	font: 14px/14px "arial", "helvetica", sans-serif;
}
.startoverLink:hover{background-color:#FFF;
}

.printLink {
	background-image:url('img/print.png');
	background-position:left center,left top;
	background-repeat:no-repeat,repeat-x;
	background-color:#EEE;
	border:1px solid #BBB;
	padding:6px 8px 4px 32px;
	height:18px;
	text-decoration:none;
	float: right;
	margin-left:5px;
	display:block;
	-webkit-border-radius:8px;
	-moz-border-radius:8px;
	border-radius:8px;
	color:#000;
	font: 14px/14px "arial", "helvetica", sans-serif;
}
.printLink:hover{background-color:#FFF;
}

.closeLink {
	background-image:url('img/goback.png');
	background-position:left center,left top;
	background-repeat:no-repeat,repeat-x;
	background-color:#EEE;
	border:1px solid #BBB;
	padding:6px 8px 4px 32px;
	height:18px;
	text-decoration:none;
	float: right;
	margin-left:5px;
	-webkit-border-radius:8px;
	-moz-border-radius:8px;
	border-radius:8px;
	color:#000;
	font: 14px/14px "arial", "helvetica", sans-serif;
	clear:both;
}
.closeLink:hover{background-color:#FFF;
}


/* ---------- Results List Page ---------- */

.resultsWrapper {
	margin:8px 0;
	overflow:hidden;
}
.resultsMap {
	float:left;
	background:url(img/mapload.gif) center center no-repeat; /* preloader image */
}

.resultsList {
	width:370px; /* overall width of container for location details */
	float:right;
	position:relative;
	padding-right:8px;
}

.resultsList ol {
	list-style:none;
}

.resultsList li {
	position:relative;
	line-height:100%;
	padding:8px;
	border:1px solid #BBB;
	background:#E1E1E1; /* background color for location details container, non-Preferred */
	background:-moz-linear-gradient(center bottom , #EEE 0%, #FFF 94%) repeat scroll 0 0 transparent; /* gradient background color for supporting browsers*/
	background:-o-linear-gradient(top, #EEE, #FFF); /* gradient background color for supporting browsers*/
	background: -webkit-gradient(linear, left top, left bottom, from(#EEE), to(#FFF)); /* gradient background color for supporting browsers*/
	border-width:1px 1px 0 1px;
	box-shadow:3px 5px 7px #999;
}

.resultsList li:first-child {
	border-radius:8px 8px 0 0;
}

.resultsList li.last {
	border-radius:0 0 8px 8px;
	border-width:1px;
}

.resultsList li.featured {
	background:#FFFFCC; /* background color for Preferred locations container*/
	background:-moz-linear-gradient(center bottom , #FFFF99 0%, #FFFFCC 94%) repeat scroll 0 0 transparent; /* gradient background color for supporting browsers*/
	background: -webkit-gradient(linear, left top, left bottom, from(#FFFF99), to(#FFFFCC)); /* gradient background color for supporting browsers*/
	background:-o-linear-gradient(top , #FFFF99, #FFFFCC); /* gradient background color for supporting browsers*/
}

.resultsList li span.namelink {
	font-weight:bold;
	line-height:24px;
}

.resultsList li span {
	display:block;
	font:normal 95%/120% arial,helvetica,sans-serif;
	width:300px;
	word-wrap:break-word;
}

.resultsList li span.categories,
.resultsList li span.products {
	width:auto;
}

.resultsList li .displayNumber {
	position:absolute;
	top:4px;
	left:-38px;
	height:32px;
	width:32px;
	line-height:32px;
	text-align:center;
	font-size:13px;
}

.resultsList li.featured .displayNumber {
	background:url(img/star.png) center center no-repeat;
}

.resultsList li .listingOptions {
	position:absolute;
	top:8px;
	right:4px;
	width:65px;
	text-align:left;
	height:50px;
}

.resultsList li .listingOptions a,
.resultsList li .listingOptions span {
	font:normal 12px/22px arial,helvetica,sans-serif;
	display:block;
}

.resultDistance {
	position:absolute;
	bottom:8px;
	right:8px;
}

.resultInfo {
	display:block;
}


/* ---------- Details Page ---------- */

.detailsMap {
	float:right;
	margin:8px 0 16px 0;
}

.resultDetailsWrapper {
	margin:24px 0 0;
}

.resultInfoWrapper {
	overflow:hidden;
	padding-right:8px;
	width:340px;
	margin:0 0 24px;
	float:left;
}

.infoBox {
	background:#E1E1E1; /* background color for location info container*/
  padding:8px;
  border:1px solid #BBB;
  margin:8px 0 16px;	
	background:-moz-linear-gradient(center bottom , #EEE 0%, #FFF 94%) repeat scroll 0 0 transparent; /* gradient background color for supporting browsers*/
	background:-o-linear-gradient(top, #EEE, #FFF); /* gradient background color for supporting browsers*/
	background: -webkit-gradient(linear, left top, left bottom, from(#EEE), to(#FFF)); /* gradient background color for supporting browsers*/
	border-width:1px 1px 0 1px;
	box-shadow:3px 5px 7px #999;
  border-radius:8px 8px 8px 8px;
	clear:both;
}

.resultExtraInfo li {
	list-style:none;
	padding-left:36px;
	font:normal 14px/24px arial,helvetica,sans-serif;
	margin:8px 0;
}

.resultExtraInfo li#phone {
	background:url(img/icon_telephone.png) left center no-repeat;
}

.resultExtraInfo li#fax {
	background:url(img/icon_fax.png) left center no-repeat;
}

.resultExtraInfo li#website {
	background:url(img/icon_web.png) left center no-repeat;
	word-wrap:break-word;
}

.resultExtraInfo li#email {
	background:url(img/icon_email.png) left center no-repeat;
}

.drivingDirections h2 {
	font:bold 14px/24px arial,helvetica,sans-serif;
	background:url(img/resultsDetailsDirections.gif) left center no-repeat;
	padding-left:32px;
}

.drivingDirections span {
	display:block;
	margin:4px 0 0;
}

.drivingDirections #directions_from {
	width:100%;
	font:normal 14px/24px arial,helvetica,sans-serif;
	margin:8px 0;
	background:#CCC;
}

.userFields {
	list-style:none;
}

.resultimageWrapper {
	display:none;
	position:relative; 
	width:920px;
	background:#E1E1E1; /* background color for location image container*/
  padding:8px 0;
  border:1px solid #BBB;
  margin:8px 0 16px;	
	background:-moz-linear-gradient(center bottom , #EEE 0%, #FFF 94%) repeat scroll 0 0 transparent; /* gradient background color for supporting browsers*/
	background:-o-linear-gradient(top, #EEE, #FFF); /* gradient background color for supporting browsers*/
	background: -webkit-gradient(linear, left top, left bottom, from(#EEE), to(#FFF)); /* gradient background color for supporting browsers*/
	border-width:1px 1px 0 1px;
	box-shadow:3px 5px 7px #999;
  border-radius:8px 8px 8px 8px;
}

.locationImage {
	border:1px solid #BBB;
	display: block;
  margin-left: auto;
  margin-right: auto;
}

.pagination {
	float:right;
	clear:right;
	width:330px;
	text-align:right;
	margin:16px 0 0;
}


/* ---------- Email Form on Details Page ---------- */

.contactForm {
	clear:both;
	margin-top:50px;
}

.contactForm h2 {
	margin:8px 0;
}

.contactForm .textBox {
	width:250px;
	font:normal 14px/24px arial,helvetica,sans-serif;
}

.textAreaLabel {
	vertical-align:top;
	height:100px;
}

.contactForm #message {
	height:100px;
	margin-top:24px;
	width:250px;
}

.contactForm label {
	width:300px;
	background:#EEE;
	display:inline-block;
	padding:24px;
	border:1px solid #DDD;
	margin:1px 16px 1px 0;
}

.contactForm .recaptcha {
	float:left;
	margin:16px 0;
}

.contactForm .captchaLabel {
	height:100px;
	float:left;
}

.contactForm .submit {
	margin-top:16px;
	clear:both;
	float:left;
}

.contactForm h2 .hide {
	margin-left:24px;
}

.contactForm .error {
	color:red;
	display:block;
	font-weight:bold;
}


/* ---------- Visitor Add a Location Form Page ---------- */

.addLocationForm label {
	display:inline-block;
	width:350px;
	padding:16px 0;
}

.addLocationForm label b {
	width:10px;
	display:inline-block;
	margin-left:-10px;
}

.addLocationForm h2 {
	margin:8px 0 0;
	background:#EEE;
	padding:8px 0;
}

.addLocationForm .textBox {
	width:220px;
	border:1px solid #AAA;
	font:normal 14px/24px arial,helvetica,sans-serif;
}

.addLocationForm textarea {
	margin:8px 0;
	height:100px;
	width:220px;
	border:1px solid #CCC;
	font:normal 14px/24px arial,helvetica,sans-serif;
}

.addLocationForm select {
	font:normal 14px/24px arial,helvetica,sans-serif;
}

.addLocationForm .recaptcha {
	float:left;
	margin:16px 0 0;
}

.addLocationForm .recaptchaLabel {
	float:left;
	width:300px;
	margin-right:50px;
}

.addLocationForm .submit {
	margin:16px 0 0;
	clear:both;
	display:block;
}

.addLocationForm small {	
	color:#AAA;
}

.addLocationForm small.zipFormat {
	display:block;
	margin-left:355px;
}

.errorImg {
	display:inline-block;
	vertical-align:middle;
}


/* ---------- Online Stores List Page ---------- */

.resultsOnline {
	background:#EEE;
	border:1px solid #CCC;
	border-spacing:0;
	border-spacing:0;
	border-collapse:collapse;
	width:100%;
	margin:8px 0;
}

.resultsOnline thead {
	background:#EEE;
	background:-moz-linear-gradient(top,#EEE,#BBB);
	background: -webkit-gradient(linear, left top, left bottom, from(#EEE), to(#BBB));
}

.resultsOnline tbody {
	box-shadow:0px 6px 6px -4px #666 inset;
}

.resultsOnline th {
	padding:8px 16px;
	text-align:left;
	border-right:1px solid #BBB;
}

.resultsOnline td {
	padding:16px;
}

.resultsOnline tr {
	border-bottom:1px dashed #CCC;
}

.resultsOnline thead tr,
.resultsOnline tr:last-child {
	border:none;
}


/* ---------- Misc. Messages and Text ---------- */
.no_match_found {
	color:red;
	font-weight:bold;
	text-align:center;
	display:block;
	margin:16px auto 0;
}

.no_zip_entered {
color:red;
font-weight:bold;
text-align:center;
display:block;
margin:16px auto 0;
}

.mail_sent {
	clear:both;
	color:#00bb22;
	text-align:center;
	font-weight:bold;
	margin:8px 0;
	display:block;
}

.poweredBy {
	display:block;
	margin:0 0 16px;
}

.poweredBy, .poweredBy a {
	letter-spacing:0px;
	font:normal 11px/15px arial,helvetica,sans-serif;
	color:#444;
}
	