/* --- Reset to consistant behavior --------------------- */

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td { margin:0; padding:0; }
table { border-collapse:collapse; border-spacing:0; }
fieldset,img { border:0; }
address,caption,cite,code,dfn,em,strong,th,var { font-style:normal;	font-weight:normal; }
ol,ul {	list-style:none; }
caption,th { text-align:left; }
h1,h2,h3,h4,h5,h6 { font-size:100%;	font-weight:normal; }
q:before,q:after { content:''; }
abbr,acronym { border:0;}

/* --- Page layout styles ------------------------------ */

html{ background:#f0efdb url(../images/bg.png) top left repeat-x; }
body{ font-size:100.01%; background:url(../images/container_bg.png) 20% 0 no-repeat; font-family:'Verdana','Helvetica','Arial',sans-serif;}
#heading{ width:100%; height:140px; background:url(../images/heading_bg.png) top left repeat-x; border-bottom:1px solid #003d00;}

#homelink{ display:block; width:300px; height:80px; text-indent:-999em; position:absolute; top:10px; left:0px; }

#nav{ height:40px; float:right; line-height:0; }
#nav li{ display:block; float:left; }
#nav li a{ display:block; text-transform:uppercase; color:white; padding:15px 0px 0px 0px; height:25px; font-size:.9em; text-align:center; background-image:url(../images/nav.png); text-indent:-9999em; }

#nav li.search a{ background-position:-2px 0px; width:90px; }
#nav li.about a{ background-position:-100px 0px; width:145px; }
#nav li.ads a{ background-position:-252px 0px; width:120px; }
#nav li.contact a{ background-position:-380px 0px; width:90px; }

#nav li.search a:hover{ background-position:-2px -40px; }
#nav li.about a:hover{ background-position:-100px -40px; }
#nav li.ads a:hover{ background-position:-252px -40px; }
#nav li.contact a:hover{ background-position:-380px -40px; }

#nav li.search a.on{ background-position:-2px -80px; }
#nav li.about a.on{ background-position:-100px -80px; }
#nav li.ads a.on{ background-position:-252px -80px; }
#nav li.contact a.on{ background-position:-380px -80px; }

#logo{ background:url(../images/logo.png) center left no-repeat; height:100px; position:relative; }
#logo div{ width:468px; height:60px; position:absolute; top:20px; right:0px; background:#218c1e;}

#home-top{ height:100px; background:url(../images/guy.png) 95% 100% no-repeat; padding:50px 20px 0px 20px; width:940px; margin:auto; }

#content{ background:white; border:1px solid #e0e0d7; padding:1em 10px 1em 10px; line-height:1em; width:auto; color:#333; margin:auto; }

#footer{ padding:3em 0 2em 0; font-size:.75em; color:#9b9975; }
#footer li{ display:inline; padding:0 2em 0 2em; border-left:1px solid #9b9975; }
#footer li.first{ padding-left:0; border-left:0; }
#footer a, #footer a:visited{ color:#9b9975; font-size:1.25em; }

h1, h2, h3, h4, p{ margin-bottom:1em; }
h1{ font-size:1.85em; }
h1, h2, h3, h4{ color:#004500;  }
h2.title{ font-size:2em; }
h2{ font-size:1.6em; }
h3{ font-size:1.5em; margin-bottom:.5em; }
h1 span{ font-size:.6em; }

h2.greenbg{ font-size:1.3em; color:white; padding:.5em; background:url(../images/heading-bg.png) top left repeat-x; text-align:center; margin-bottom:0; }

p, ul, td, ol, fieldset{ font-size:.75em; line-height:1.75em; }
p{ margin-bottom:2em; }
p.caption{ text-align:center; color:#777; font-size:.7em;}
th{ font-size:.85em; background:#ccc;}
a, a:visited{ color:#12a20f; text-decoration:none; }
a:hover{ text-decoration:underline; }
strong{ font-weight:bold; }

h1.step_1, h2.step_1, h1.step_2, h2.step_2, h1.step_3, h2.step_3{ background:url(../images/step1.png) center left no-repeat; padding:15px 0px 15px 75px; }
h1.step_2, h2.step_2{ background:url(../images/step2.png) center left no-repeat; }
h1.step_3, h2.step_3, h2.step_4, h1.step_4{ background:url(../images/step3.png) center left no-repeat; padding:10px 0px 10px 45px; margin-bottom:.5em; font-size:1.5em; }
h1.step_4, h2.step_4{ background:url(../images/step4.png) center left no-repeat;  }

h2.metro{ margin-bottom:0; font-size:1.2em;}

table{ width:100%; margin-bottom:1em; }
td, th{ padding:.5em; }
tr.stripe td{ background:#efefef;}
tr.heading th{ background:#555; color:white; }

div.down{ margin-bottom:2em;}
hr.clear{ height:25px !important; visibility:hidden; display:block; margin:0 !important; clear:both; }


/* --- Custom Styles ----------------------------------  */

#home ul{ font-size:.75em; float:left; }
#home select{ font-size:1.25em; }
#home div.category-box ul{ font-size:.8em; background:#fbfbf4; padding:1em; float:none; }
#home #selections a.button{ float:right; margin-top:1.5em; font-size:1em; margin-bottom:0; }
#city_view h3{ font-size:1.15em; margin:0; font-weight:bold !important; }
#city_view div.cities a{ color:#077804; }
#city_view div.cities div{ padding:5px; margin-bottom:.5em; background:#fbfbf4; }
#city_view div.cities div:hover{ background:#f2f2dd; }
#city_view div.cities div p{ padding:0; margin:0; font-size:.75em; }
#city_view div.cities div div{ float:left; width:40%; margin:0; background:transparent; }
#city_view div.cities div.top_advertiser{ width:50%; }
#city_view div p img{ height:50px; float:left; margin-right:5px; border:1px solid #ccc; }

#category_view div.categories a{ padding:10px; background:#fbfbf4; font-size:1em; margin-bottom:.5em; text-decoration:underline; }
#category_view div.categories a:hover{ background:#f2f2dd; }

#listing_view img{ border:1px solid #ccc; }
#listing_view div.ad img{ border:none; }
#listing_view hr{ margin-bottom:10px;}

#advertise, #about, #contact{ padding-top:1em; }
#advertise h1, #about h1, #contact h1{ margin-bottom:.5em; }
#advertise ul, #about ul{ list-style-type:disc; margin-left:1em; margin-bottom:3em; }
#advertise li, #about li { margin-bottom:1em; }
#contact ol li{ margin-bottom:1em; }
#contact form{ padding-top:1em;}
#contact fieldset{ border:none; padding:0; }
#contact fieldset legend{ margin-bottom:1em; }
#contact label{ display:inline; zoom:1; display:inline-block; width:85px; }
#contact input{ width:150px; }
#advertise h2{ font-size:1.3em; margin-top:2em; }

#contact_advertiser fieldset{ padding:0; border:none; }
#contact_advertiser legend{ display:none; }
#contact_advertiser label{ display:inline; display:inline-block; zoom:1; width:25%;}
#contact_advertiser #errorExplanation h2{ display:none; }
#coupons{ padding:2em 0; width:420px;}

#stages{ padding:1em 0 1em 0; }
#stages ol li{ display:block; float:left; width:25%; }
#stages ol li a{ display:block; padding:15px 0 0 1em; height:25px; border-right:1px solid #ccc; color:black; }
#stages ol li a{ background-image:url(../images/stepbar.png); background-position:50% 0px; background-repeat:no-repeat; }
#stages ol li.first a{ background-position:100% 0px;}
#stages ol li.last a{ background-position:100% 0px; }
#stages ol li.first a.complete{ background-position:0px -40px;}
#stages ol li.last a.complete{ background-position:99% -40px;}
#stages ol li.last a{ border-right:none; }
#stages ol li a.complete{ background-position:50% -40px; }

#stages ol li.first a.active{ background-position:0px -80px; }
#stages ol li.last a.active{ background-position:100% -80px; }
#stages ol li a.active{ background-position:50% -80px; }

#stages a:hover{ text-decoration:none; color:#777; }

div.ad{ background:#ddd; margin-bottom:.5em; width:100%; }

div.medium_listings{ margin-bottom:2em; }
div.medium_listings h3, div.small_listings h4{ font-size:1.2em; margin-bottom:0; }
div.medium_listings a img{ float:left; margin-right:5px; }
div.large_listing{ font-size:1.25em; margin-bottom:1em; }
div.large_listing a img{ margin-bottom:5px; }
div.large_listing h2{ margin-bottom:.5em; }
div.medium_listings h3 a, div.small_listings h4 a{ color:#333; }

div.coupon{ border:2px dashed #666; margin-bottom:2em; position:relative; padding-top:70px; background:white; }
div.coupon img{ position:absolute; top:0; left:0;}
div.coupon h3{ padding:20px 0px 0px 20px;}
div.coupon p{ padding:0px 20px 20px 20px; margin:0; }
div.coupon strong{ font-size:1.5em; }
div.coupon span.disclaimer{ color:#999; font-style:italic;}

#subnav{ list-style-type:none; font-size:.85em; margin-bottom:2em; width:100%; overflow:auto; background:#efefef; padding:1em; }
#subnav li{ display:block; float:left; padding:0 .75em 0 .75em; border-right:1px solid #333;}
#subnav li.last{ border-right:none; }

div.drop{ padding-top:1em;}

div.pagination{ font-size:.75em; margin:0 0 1em 0; text-align:right; }
div.testimonial{ font-style:italic; }
div.testimonial strong, div.testimonial small{ font-style:normal;}

hr{ clear:both; height:1px; color:white; margin-bottom:2em; border-bottom:1px solid #ccc; }

a.button{ padding:.5em 1em; background:url(../images/button_bg.png) top left repeat; -moz-border-radius:10px; -webkit-border-radius:10px; border-radius:10px; color:white;  }
#home div.grid_16 a.button{ font-size:1.25em; }

/* -- Forms ---------------------------- */

form.formtastic ol{ list-style-type:none; font-size:inherit !important; }
form.formtastic ol li{ display:block; margin-bottom:2em; }
form.formtastic label{ padding-right:10px; vertical-align:top;}

fieldset{ padding:1em; border:1px solid #ccc; margin-bottom:1em; }
fieldset.buttons{ padding:0; border:0; clear:both;}
fieldset legend{ font-weight:bold;}
fieldset fieldset{ font-size:inherit;}

fieldset.inline_items li, li.date fieldset li{ float:left; margin-right:2em; }
fieldset li.inline label, li.date fieldset li label{ display:inline; }

#errorExplanation{ padding:1em; border:1px solid red; margin-bottom:2em; background:#FFF7FB; }
#errorExplanation h2{ color:red; font-size:1em; }
#errorExplanation ul{ margin-left:2em; list-style-type:square !important; color:red; margin-left:1em; }

div.flash_message{ font-size:.75em; padding:.5em 0em .5em 3em; }
div.error, div.notice, div.success{ line-height:16px !important; border-width:1px; border-style:solid; padding:10px; padding-left:35px; margin-bottom:3em; margin-top:-1em; overflow:hidden; font:11px 'Lucida Grande','Lucida Sans Unicode',sans-serif; }
div.error em, div.notice em, div.success em{ float:right; vertical-align:middle; display:block; height:10px; width:10px; cursor:pointer; cursor:hand;}
div.error{ background:#f6c1c1 url(../images/icons/error.png) 10px 10px no-repeat; border-color:#9b2a2a; color:#9b2a2a; }
div.notice{ background:#f5eeb6 url(../images/icons/notice.png) 10px 10px no-repeat; border-color:#d4cf3d; color:#a78a04; }
div.success{ background:#d1fdd8 url(../images/icons/success.png) 10px 10px no-repeat; border-color:#3fa367; color:#074912; }

#contact_advertiser #legal_info{ clear:both; height:300px; width:100%; overflow:scroll; overflow-x:visible; padding:10px; margin-bottom:20px; border:1px solid #ccc; }

/* --- HOME PAGE COMBOS ------------------- */

#home #selections{ float:left; }
#industry_select{ float:left; width:40%; overflow:visible; }
#state_select{ float:left; width:40%; overflow:visible; margin-left:40px; }
#industry_select p, #state_select p{ margin-bottom:.5em; font-weight:bold; }
#home #selections{ background:#e6e6c6; padding:1em 2em 3em 2em; float:none; }

div.combo { position:relative; left: 0px; top: 0px; }
div.combo input { position: absolute; font-size:16px; border:1px solid #aaa; padding:5px; width:100%; background:#003d00 url(../images/select_bg.png) top left repeat; color:white; }
div.combo div.icon { position:absolute; width:30px; height:30px; border: 0; background:transparent url(../images/select_button.png); background-position:0 0; cursor:pointer; border-bottom: 1px solid #B5B8C8;
					 top:1px; right:-12px; }
div.combo div.icon:hover{ background-position:0px -32px;}
div.combo div.list-wrapper { position:absolute; overflow: hidden; height:200px; max-height: 200px; z-index:500; left: 0px; top:30px; border: 1px solid #D9D9D9; background:#FFFFFF;
							 padding: 0; margin: 0; width: 146px; bottom: auto; width:100%; zoom:1; }

div.combo li.active { background-color:#d9fcd7; }
div.combo ul { width:100%; list-style-type:none; margin:0; padding:0; height:100%; background:#ffffff; position:relative; z-index:600;}
div.combo li { height: 20px; padding:.25em; font-size:1.25em; cursor:pointer; cursor:hand; background:#ffffff; position:relative; }
div.combo li:hover{ background:#d9fcd7; }
div.combo .visible { display: block; }
div.combo .invisible { display: none; }
div.combo input.empty {}
