@import url(./fonts.css);

/* Framework Styles */
html {
	overflow-y:scroll;
}

object, embed {
	outline:none !important;
}
body {
	padding:10px 0 40px 0;
	background-image:url(../images/body.jpg);
	background-position:center top;
	background-repeat:repeat;
}

.page {
	width:966px;
	margin:0 auto;
	background-repeat:repeat-y;
	background-position:left bottom;
	position:relative;
}

	.section {
		position:relative;
		clear:both;
	}

	.header {
		height:90px;
		padding-top:126px;
		z-index:3;
		background-position:center top;
		background-repeat:no-repeat;
		float:none;
	}
		.header .navContainer {
			height:66px;
			width:896px;
			padding-top:30px;
			padding-left:170px;
			position:absolute;
			top:0;
			left:0;
			margin:126px 0 0;
			z-index:3;
			background-repeat:no-repeat;
			background-image:url(../images/header.png);
		}

	/* Header Images */
		.about .header {
			background-image:url(../images/headers/about-pages.jpg);
		}
		.locations .header {
			background-image:url(../images/headers/locations-pages.jpg);
		}
		.shackshots .header {
			background-image:url(../images/headers/shackshots-pages.jpg);
		}
		.menus .header {
			background-image:url(../images/headers/menus-pages.jpg);
		}
		.fun .header {
			background-image:url(../images/headers/fun-pages.jpg);
		}
		.legal .header,
		.contact .header,
		.careers .header,
		#page-privacy .header {
			background-image:url(../images/headers/footer-pages.jpg);
		}

	/* Header Flash */
		.header object, .header embed {
			position:absolute;
			top:0;
			left:0;
			margin-top:-12px;
			margin-left:-7px;
		}

	.footer {
		height:112px;
		padding-bottom:33px;
		background-repeat:no-repeat;
		float:none;
	}
		.footer .navContainer {
			height:30px;
			width:443px;
			position:relative;
			padding-top:82px;
			padding-left:257px;
			padding-right:266px;
			background-image:url(../images/nav-footer.jpg);
			background-position:257px 82px;
			background-repeat:no-repeat;
		}

	.content {
		width:944px;
		padding:0 11px 0;
		float:left;
	}

		.area {
			float:left;
			clear:none;
			min-height:100px;
			position:relative;
		}
			.main .segment.first {
				margin-top:20px;
			}
			.main .segment {
				background-repeat:no-repeat;
				background-position:center bottom;
				padding:56px 64px 62px;
				position:relative;
				float:left;
				clear:both;
			}
			.main .segment h2:first-child, .main .segment h1:first-child {
				background-repeat:no-repeat;
				background-position:center top;
				position:absolute;
				top:0;
				left:0;
				padding:36px 64px 0;
			}
	
/* 1-column framework */
	.page.full  { background-image:url(../images/page-full.jpg); }
		.full .footer { background-image:url(../images/footer-full.jpg); }

			.full .main .segment {
				background-image:url(../images/segment-secondary-full.jpg);
				width:816px;
			}

			.full .main .segment.first {
				background-image:url(../images/segment-primary-full.jpg);
				margin-top:20px;
			}

				.full .main .segment h2:first-child, .full .main .segment h1:first-child {
					width:816px;
				}
				.full .main .segment.first h1:first-child {
					background-image:url(../images/segment-primary-full-heading.jpg);
				}

				.full .main .segment h2:first-child {
					background-image:url(../images/segment-secondary-full-heading.jpg);
				}
				

/* 2-column framework (main first) */
	.page.areas { background-image:url(../images/page-areas-A.jpg); }
		.areas .footer { background-image:url(../images/footer-areas-A.jpg); }
		.areas .area.main {
			width:656px;
		}
			.areas .main .segment {
				background-image:url(../images/segment-secondary.jpg);
				width:528px;
			}

				.areas .main .segment > h2:first-child, .areas .main .segment > h1:first-child {
					width:528px;
				}
				.areas .main .segment.first h1:first-child {
					background-image:url(../images/segment-primary-heading.jpg);
				}

				.areas .main .segment h2:first-child {
					background-image:url(../images/segment-secondary-heading.jpg);
				}
				
			.areas .main .segment.first {
				background-image:url(../images/segment-primary.jpg);
				margin-top:20px;
			}
		
		.area.supplement {
			width:288px;
		}
			.area.supplement > * {
				padding:0 38px;
			}

			.area.supplement h4 {
				background-image:url(../images/supplement-header.jpg);
				height:50px;
				background-repeat:no-repeat;
				padding-top:50px;
				background-position:3px top;
			}

/* 2-column framework (supplement first) */
	.page.areas.supplementFirst { background-image:url(../images/page-areas-B.jpg); }
		.areas.supplementFirst .footer { background-image:url(../images/footer-areas-B.jpg); }

/* General Navigation */
	.navContainer a {
		display:block;
		float:left;
		clear:none;
		text-indent:-9999em;
		background-repeat:no-repeat;
		outline:none;
	}

/* Header Navigation */
	.header .navContainer a {
		height:42px;
		background-image:url(../images/nav-header.jpg);
	}
		.header a.home {
			background-image:none;
			position:absolute;
			top:0;
			left:0;
			margin-top:12px;
			margin-left:22px;
			width:144px;
			height:70px;
		}

		.header a.locations {
			width:126px;
			background-position:0 top;
		}
			.header a.locations:hover {
				background-position:0 bottom;
			}

		.header a.menus {
			width:91px;
			background-position:-126px top; 
		}
			.header a.menus:hover {
				background-position:-126px bottom; 
			}

		.header a.shack-shots {
			width:162px;
			background-position:-217px top; 
		}
			.header a.shack-shots:hover {
				background-position:-217px bottom; 
			}

		.header a.about {
			width:113px;
			background-position:-379px top; 
		}
			.header a.about:hover {
				background-position:-379px bottom; 
			}

		.header a.shop {
			width:74px;
			background-position:-492px top; 
		}
			.header a.shop:hover {
				background-position:-492px bottom; 
			}

		.header a.play {
			width:68px;
			background-position:-566px top; 
		}
			.header a.play:hover {
				background-position:-566px bottom; 
			}
			
/* Footer Navigation */
	.footer .navContainer a {
		height:30px;
		float:none;
		position:absolute;
		left:257px;
		background-image:url(../images/nav-footer.jpg);
	}
		.footer a.joemail {
			width:94px;
			background-position:0 top;
		}
			.footer a.joemail:hover {
				background-position:0 bottom;
			}

		.footer a.contact {
			width:89px;
			margin-left:113px;
			background-position:-113px top;
		}
			.footer a.contact:hover {
				background-position:-113px bottom;
			}

		.footer a.careers {
			width:82px;
			margin-left:221px;
			background-position:-221px top;
		}
			.footer a.careers:hover {
				background-position:-221px bottom;
			}

		.footer a.privacy {
			width:124px;
			margin-left:319px;
			background-position:-319px top;
		}
			.footer a.privacy:hover {
				background-position:-319px bottom;
			}

/* Universal styles */
	h1 img {
		display:block;
	}
	ul, ol {
		padding-left:24px;
		padding-bottom:1.8em;
	}
	ul {
		list-style-type:disc;
	}
	
	abbr {
		white-space:nowrap;	
	}
	
	.segment,
	.supplement {
		color:#304043;
	}
		.segment p,
		.supplement p {
			margin-bottom:1.3em;
		}
		
	.main .segment h1:first-child + *,
	.main .segment h2:first-child + * {
		padding:27px 0 0;
	}

	.main .segment.first h2 {
		background-image:none !important;
		position:static;
		padding:0;
	}

	.main .segment h1:first-child + h2 {
		padding:8px 0 0;
	}
	
	.segment .part {
		margin-top:2em;
		float:left;
		clear:none;
	}
	.main .segment h2 {
		padding:27px 0 9px;
	}
	
	.content .main p + a {
		display:block;
		margin:10px 0;
	}

		.supplement > a > img {
			margin:.4em 0;
		}
		.supplement img + a {
			margin:.4em 0;
		}
		.supplement p + a > img {
			margin:1em 0;
		}
		
		.phone {
			display:block;
			clear:both;
		}
		
		.supplement div.form-container {
			background-image:url(../images/supplement-form.gif);
			background-position:bottom;
			background-repeat:no-repeat;
			z-index:2 !important;
		}
		.supplement div.form {
			padding:25px;
			width:163px;
			background-image:url(../images/supplement-form-header.gif);
			background-position:left top;
			background-repeat:no-repeat;
		}
		.supplement .form .formField span {
			display:block;
		}
		.formField.submit {
			text-align:center;
		}
		
		.pager {
			padding:.6em 0;
			clear:both;
		}
		
		.pager div,
		.progress {
			float:right;
		}
			.pager div *,
			.progress * {
				padding:0 .4em;
			}
		
/* Universal Form Styles */
	div.form .formField {
		display:block;
		position:relative;
		padding:.6em 0;
		clear:both;
	}
	div.form .label,
	div.form label {
		display:block;
	}
	.form div.formField div label {
		display:inline;
	}
	
	.formField .formField {
		float:left;
		clear:none !important;
		width:250px;
		padding-right:14px;
	}

	.copyright {
		padding:60px;
		display:block;
	}
	.radio ol {
		padding-left:0;
		list-style-type:none;
	}
	
	.form ul {
		padding-left:0 !important;
		list-style-type:none !important;
	}

		.supplement .formField span {
			display:block;
			height:14px;
			text-indent:-9999em;
			background-repeat:no-repeat;
			background-position:left center;
			margin-bottom:.4em;
		}
			.supplement .formField.postal {
				background-image:url(../images/headlines/red/supplement/or.gif);
				background-repeat:no-repeat;
				background-position:center bottom;
				padding-bottom:2em;
			}
			.supplement .formField.postal span {
				background-image:url(../images/headlines/red/supplement/zip-code.gif);
			}
			.supplement .formField.city span {
				background-image:url(../images/headlines/red/supplement/city.gif);
			}
			.supplement .formField.state span {
				background-image:url(../images/headlines/red/supplement/state.gif);
			}
	.supplement .form .submit div {
		padding-top:2em;
	}
	.supplement .form .submit div li {
		color:#fff !important;
	}
	
	.form table label {
		display:inline !important;	
	}
/* Section-specific Styles */
	/* Locations section Styles */
		.hours {
			display:block;
		}

		.details address {
			display:block;
			clear:both;
		}

		address span {
			display:block;
		}

		.details address span.city,
		.details address span.state,
		.details address span.postal {
			float:left;
			clear:none !important;
		}
		.details address span.city,
		.details address span.state {
			padding-right:.6em;
		}
		
		.details a.menus {
			float:left;
			margin:.8em 0 .2em 0;
		}
		.details a.shack-shots {
			float:right;
		}
		
		.page.locations .supplement h4 {
			height:100px;
		}

	/* Menus section Styles */
		.menus .main .segment.first a {
			padding:12px 39px 0 39px;
			float:left;
			clear:none;
			width:111px;
			height:42px;
			margin-top:1em;
		}
			.menus .main .segment.first a.first {
				padding-left:0;
			}
			.menus .main .segment.first a.last {
				padding-right:0;
			}
		
		.menus .main .segment > img {
			width:488px;
			padding:15px 17px 17px;
			background:url(../images/menus-promo-backdrop.png) left top no-repeat;
			display:block;
			margin:2em auto 0;
		}

	/* Shack Shots section Styles */
		.shackshots .segment h2 img {
			display:block;
			padding-bottom:.4em;
		}
		.thumb {
			float:left;
			clear:none;
			width:170px;
			padding:3px 3px 2em 3px;
		}
		.thumb.third-thumb {
			clear:both;
		}
		.thumb img {
			background-color:#fff;
			padding:6px;
			border-top:1px solid #eedede !important;
			border-left:1px solid #eedede !important;
			border-bottom:2px solid #cecece !important;
			border-right:2px solid #cecece !important;
			margin-bottom:.6em;
			height:66px;
			width:99px;
			display:block;
		}
		.thumb span {
			display:block;
		}
		.thumb .city,
		.thumb .state {
			display:inline;
		}
	
	/* About section Styles */
		.about .main .segment .part {
			float:left;
			clear:none;
			width:254px;
			padding:0 0 0 10px;
		}
		.about .main .segment :first-child + .part {
			padding:0 10px 0 0;
		}
		.about .supplement .navContainer {
			background-image:url(../images/supplement-header-nav.jpg);
			background-position:3px top;
			background-repeat:no-repeat;
			padding:34px 25px 67px;
		}
		
		.about .supplement h4 {
			background-image:none;
			padding-top:0;
			padding-bottom:1em;
			height:auto;
			margin-top:2em;
		}

		.about .supplement :first-child + h4 {
			margin-top:-1em;
		}
		
		.about .supplement .navContainer a {
			height:20px;
			float:left;
			clear:none;
			background-image:url(../images/nav-about.jpg);
			padding:0;
		}
			.about .supplement a.about {
				width:47px;
				background-position:0 top;
			}
				.about .supplement a.about:hover,
				#page-about_default .supplement a.about {
					background-position:0 bottom;
				}

			.about .supplement a.community {
				width:88px;
				background-position:-47px top;
			}
				.about .supplement a.community:hover,
				#page-about_community .supplement a.community {
					background-position:-47px bottom;
				}

			.about .supplement a.history {
				width:59px;
				background-position:-135px top;
			}
				.about .supplement a.history:hover,
				#page-about_history .supplement a.history  {
					background-position:-135px bottom;
				}

			.about .supplement a.news {
				width:44px;
				background-position:-194px top;
			}
				.about .supplement a.news:hover,
				#page-about_news .supplement a.news  {
					background-position:-194px bottom;
				}

		.about .supplement a {
			display:block;
		}
		.about .supplement a img {
			display:block;
		}

	/* Careers section Styles */
		table.jobs {
			width:100%;	
		}
		
		table.jobs th a {
			padding-right:18px;
			background-image:url(../images/arrows/table-sorting.gif);
			background-position:right 6px;
			background-repeat:no-repeat;
		}
		
		table.jobs th.asc a {
			background-position:right -14px;	
		}
		table.jobs th.desc a {
			background-position:right -34px;	
		}
		
		table.jobs th,
		table.jobs td {
			padding:.2em .5em;
		}
		h2 .posted {
			float:right;
		}
		
		fieldset.job {
			padding:2em 0;
			border-bottom:1px solid;
		}
		fieldset.job1 {
			padding-top:0;
		}
		.careers .formField.company,
		.careers .formField.title {
			float:left;
			clear:none !important;
			width:250px;
			padding-right:14px;
		}
		.careers .step6 h3 {
			margin-top:1em;
			margin-bottom:.6em;
		}
		.careers .disclaimer ol {
			list-style-type:lower-alpha;
		}
			.careers .supplement .form .state span {
				background-image:url(../images/headlines/red/supplement/state.gif) !important;
			}
			.careers .supplement .formField span {
				background-image:url(../images/headlines/red/supplement/job-type.gif);
			}

/* Page-specific Styles */
	/* Home Page Styles */
		#page_default {
			background-image:none;
		}
		#page_default .content .area.main {
			padding-top:490px;
			background-image:url(../images/homepage.jpg);
			background-position:center top;
			background-repeat:no-repeat;
			float:none;
		}
			#page_default .content embed,
			#page_default .content object {
				position:absolute;
				top:0;
				left:0;
				margin-top:-10px;
				margin-left:-43px;
			}
		
		#page_default .content .navContainer {
			height:66px;
			width:896px;
			padding-top:30px;
			padding-left:170px;
			position:absolute;
			bottom:0;
			left:-11px;
			z-index:3;
			background-repeat:no-repeat;
			background-image:url(../images/header.png);
		}
		#page_default .content .navContainer a {
			height:42px;
			background-image:url(../images/nav-header.jpg);
		}
			#page_default .content a.home {
				background-image:none;
				position:absolute;
				top:0;
				left:0;
				margin-top:12px;
				margin-left:22px;
				width:144px;
				height:70px;
			}
	
			#page_default .content a.locations {
				width:126px;
				background-position:0 top;
			}
				#page_default .content a.locations:hover {
					background-position:0 bottom;
				}
	
			#page_default .content a.menus {
				width:91px;
				background-position:-126px top; 
			}
				#page_default .content a.menus:hover {
					background-position:-126px bottom; 
				}
	
			#page_default .content a.shack-shots {
				width:162px;
				background-position:-217px top; 
			}
				#page_default .content a.shack-shots:hover {
					background-position:-217px bottom; 
				}
	
			#page_default .content a.about {
				width:113px;
				background-position:-379px top; 
			}
				#page_default .content a.about:hover {
					background-position:-379px bottom; 
				}
	
			#page_default .content a.shop {
				width:74px;
				background-position:-492px top; 
			}
				#page_default .content a.shop:hover {
					background-position:-492px bottom; 
				}
	
			#page_default .content a.play {
				width:68px;
				background-position:-566px top; 
			}
				#page_default .content a.play:hover {
					background-position:-566px bottom; 
				}
			#page_default .flashed {
				height:600px;
			}
			#page_default .footer {
				background-image:none;
				padding-top:30px;
				padding-bottom:0;
				height:auto;
			}
				#page_default .footer .navContainer {
					background-image:none;
					padding-top:0;
					text-align:center;
				}
				#page_default .footer .navContainer a {
					position:static;
					display:inline;
					width:auto;
					margin-left:0;
					background-image:none;
					text-indent:0;
					padding:0 0.4em 0 .3em !important;
					border-right:1px solid;
				}
					#page_default .footer .navContainer a.first {
						padding-left:0 !important;
					}
					#page_default .footer .navContainer a.last {
						padding-right:0 !important;
						border-right:0 none !important;
					}
				#page_default .footer .copyright {
					padding-top:0;
					padding-bottom:0;
				}
				
	/* Location Default Styles */
		object#map-canvas,
		embed#map-canvas {
			margin-left:-45px;
			margin-top:-42px;		
		}
		
		#page-locations_store_default #slideshow-source-images img {
			left:42px !important;
			padding:8px;
			background-color:#fff;
		}
	
	/* Store Results Styles */
		#page-locations_results_default ol {
			list-style-type:decimal;
		}
		#page-locations_results_default .main li {
			position:relative;
			height:90px;
			float:left;
			clear:both;
			padding:2em 0;
			width:528px;
		}
		#page-locations_results_default li div.details,
		#page-locations_results_default li div.hours {
			float:left;
			clear:none;
		}
		#page-locations_results_default li .details span,
		#page-locations_results_default li .hours span,
		#page-locations_results_default li .hours a {
			display:block;
			clear:both;
		}
		#page-locations_results_default li .details {
			width:200px;
			padding-right:20px;
		}
		#page-locations_results_default li div.hours {
			width:133px;
			padding-top:1.4em;
		}
			#page-locations_results_default li .details a {
				text-decoration:none;
				color:#ba341c;
			}
		
		#page-locations_results_default li > a {
			position:absolute;
			right:15px;
			top:0;
			width:140px;
			height:94px;
			margin-top:23px;
			padding:13px;
			background-image:url(../images/background-results-map.png);
		}

	/* Store Details Styles */
		#page-locations_store_default .details {
			width:200px;
			padding-right:1em;
			padding-top:1em;
		}
		
		#page-locations_store_default a.results {
			position:absolute;
			top:0;
			right:0;
			margin-top:20px;
			margin-right:64px;
		}
		#page-locations_store_default .slideshow {
			margin-top:1em;
			margin-left:-.8em;
		}
			#page-locations_store_default .segment.first {
				padding:56px 64px 62px;
				width:528px;
			}
			#page-locations_store_default .details h3 {
				margin-top:.4em;
				clear:both;
			}
			#page-locations_store_default .details address {
				padding-top:1em;
			}
			
			#page-locations_store_default .details a.previous {
				color:#FFFFFF;
				padding:0;
				position:absolute;
				right:64px;
				top:49px;
				text-indent:-9999em;
				display:block;
				height:18px;
				width:114px;
				background-image:url(../images/buttons/back-to-results-red.gif);
				background-repeat:no-repeat;
				background-position:left top;
			}
			
			#page-locations_store_default .segment {
				padding:0;
				width:656px;
			}
			
			#page-locations_store_default .segment h3,
			#page-locations_store_default .events p {
				padding-top:1em;
			}
			
			#page-locations_store_default .segment .events,
			#page-locations_store_default .specials {
				float:left;
				clear:none;
				margin-top:0;
				position:relative;
				padding-top:56px;
				padding-bottom:62px;
			}
			
			#page-locations_store_default .events {
				width:189px;
				padding-left:64px;
				padding-right:20px;
			}
			#page-locations_store_default .specials {
				width:299px;
				padding-left:20px;
				padding-right:64px;
			}

			#page-locations_store_default .events h2 {
				background-position:0 0;
				width:189px;
				padding-right:20px;
			}

			#page-locations_store_default .events .date {
				display:block;
				font-weight:bold;
			}

			#page-locations_store_default .events h3 {
				padding-top:0;
			}

			#page-locations_store_default .specials h2 {
				background-position:100% 0;
				width:299px;
				padding-left:20px;
			}
			
			#page-locations_store_default .specials > img {
				margin-top:27px;
				padding:8px 12px 12px 8px;
				background-image:url(../images/background-specials.png);
			}

		#page-locations_store_default .location-map {
			width:292px;
			height:236px;
			background-image:url(../images/background-location-map.gif);
			padding:12px 12px 46px;
			margin-top:3em;
		}

			#page-locations_store_default .location-map a.directions {
				float:left;
				height:32px;
				margin-top:0.6em;
				text-indent:-9999em;
				width:111px;
				outline:none;
			}

		#page-locations_store_default #map-canvas {
			width:292px;
			height:236px;
		}

		#page-locations_store_default .supplement h4 {
			height:48px;
		}

		#page-locations_store_default .supplement object,
		#page-locations_store_default .supplement embed {
			margin-left:14px;
			margin-top:-30px;
			padding-left:0;
			padding-right:0;
		}

	/* Community Involvement Styles */
		#page-about_community  .segment.first img {
			float:left;
			padding-right:20px;
		}
		#page-about_community  .segment.first p {
			padding-top:2em;
		}
	
	/* News Styles */
		.supplement .newsItem {
			padding:.2em 38px 1em 38px;
		}
		#page-about_news .segment a.pdf {
			position:absolute;
			right:64px;
			top:34px;
		}

		
	/*  Thank You Styles */
		#page-about_request-thank-you .part,
		#page-about_donation-thank-you .part {
			display:none;
		}
		
		#page-contact_thank-you .segment p,
		#page-about_request-thank-you .segment p,
		#page-about_donation-thank-you .segment p {
			padding-top:0;
		}

	/* History Styles */
		#page-about_history .segment img {
			display:block;
		}
	
	/* Contact Us Styles */
		body#contact .supplement h4 {
			padding:34px 18px 0;
		}
		body#aboutJoes .supplement h4 img {
			padding:0 18px;
		}
		.comments textarea {
			height:100px;
			width:400px;
		}

	/* Fun Styles */
		.fun .main .part {
			float:left;
			clear:none;
			width:202px;
			padding:0 35px !important;
			margin-top:4em;
		}
			.fun .main .part a {
				display:block;
				width:145px;
				margin:0 auto 2em auto;
				height:147px;
				text-align:center;
			}
	
	/* Privacy Styles */
		#page-privacy .segment h2 {
			padding-top:0;
		}
		#page-privacy .segment h2:first-child {
			padding-top:27px;	
		}