/* 1. GENERAL
=========================================================================================*/

/* 1.1	Global Reset
-----------------------------------------------------------------------------------------*/

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, label,
pre, form, fieldset, input, textarea, p, blockquote, th, td, button { font-family: Arial, Helvetica, sans-serif; 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; }

q:before, q:after { content: ''; }

abbr, acronym { border: 0; }

body { font-size: 62.5%; }



/* 1.2	Typography
-----------------------------------------------------------------------------------------*/

/* 1.2.1 Headings */

h1 { background: url(../images/hdr-background.gif) no-repeat bottom left; color: #ffffff; margin-bottom: 16px; }

h2 { color: #ffffff; float: left; font-size: 2.0em; margin-bottom: 0.6em; width: 100%; }

h3 { color: #32454b; font-size: 1.4em; margin-bottom: 0; }

/* 1.2.2 Paragraphs */

p { color: #32454b; font-size: 1.2em; line-height: 2.0em; margin-bottom: 1.2em; }

li { color: #32454b; font-size: 1.2em; line-height: 2.0em; list-style: disc inside; }

dt { color: #32454b; float: left; font-size: 1.2em; font-weight: bold; line-height: 2.0em; margin-right: 0.4em; }

dd { color: #32454b; font-size: 1.2em; line-height: 2.0em; }

/* 1.2.3 Forms */

label, .label { color: #32454b; font-size: 1.1em; line-height: 1.6em; }

input, textarea, select { color: #647d84; font-size: 1.2em; line-height: 1.6em; }

submit, button { font-size: 1.2em; }

/* 1.2.4 Links */

a { color: #32454b; padding: 2px; text-decoration: underline; }

a:hover { color: #000; }

/* 1.2.5 Miscellaneous */

strong { font-weight: bold; }

em { font-style: italic; }

ins { color: #dd3b2e; text-decoration: none; }

del { color: #bbbbbb; }

.noMargin { margin: 0; }

h3 a { color: #32454b; }

#pageFooter p { margin-bottom: 0; }

#pageFooter p a { color: #ffffff; font-weight: bold; padding: 0; text-decoration: none; }

#pageFooter p a:hover { background: transparent; text-decoration: underline; text-decoration: underline; }

#headerBanner p { color: #ffffff; font-size: 14px; font-style: italic; font-weight: bold; }

.developer p, .copyright p { color: #ffffff; font-size: 1.1em; line-height: 1.1em; } 

.dateTime { color: #42646e; font-size: 11px; }



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

form { clear: both; width: 100%; }

*:focus { outline: 0; }

/* 1.3.1 Text Fields */

.textField { display: inline; float: left; padding: 6px 0; width: 100%; }

	.textField label { display: inline; float: left; height: 16px; margin-right: 2%; padding: 6px; text-align: right; width: 23%; }
	
	.textField input { border: 1px solid #647d84; display: inline; float: left; height: 16px; padding: 6px; width: 68%; }
	
		.textField input.small { width: 15%; }
	
		.textField input.medium { width: 40%;}
	
	.textField .fieldWithErrors input { background: #f7eded; border: 1px solid #b00000; }

/* 1.3.2 Text Areas */

.textArea { display: inline; float: left; padding: 6px 0; width: 100%; }

	.textArea label { display: inline; float: left; height: 16px; margin-right: 2%; padding: 6px; text-align: right; width: 23%; }
	
	.textArea textarea { border: 1px solid #647d84; float: left; height: 75px; padding: 6px; width: 68%; }
	
	.textArea .fieldWithErrors textarea { background: #f7eded; border: 1px solid #b00000; }

/* 1.3.3 Check Boxes */

.checkBox { display: inline; float: left; padding: 6px 0 6px 27%; width: 73%; }

  .checkBox input { margin-right: 6px; }

.checkBoxes { display: inline; float: left; padding: 6px 0; width: 100%; }

	.checkBoxes .label { display: inline; float: left; height: 16px; margin-right: 2%; padding: 6px; text-align: right; width: 23%; }
	
	.checkBoxes .optionList { display: inline; float: left; padding: 6px; width: 68%; }

/* 1.3.4 Radio Buttons */

.radioButtons { display: inline; float: left; padding: 6px 0; width: 100%; }

	.radioButtons .label { display: inline; float: left; height: 16px; margin-right: 2%; padding: 6px; text-align: right; width: 23%; }
	
	.radioButtons .optionList { display: inline; float: left; padding: 6px; width: 68%; }
	
/* 1.3.5 Radio Button (single) */

.radioButton { display: inline; float: left; padding: 6px 0 6px 27%; width: 73%; }

	.radioButton input { display: inline; float: left; margin: 1px 6px 0 0 ; }

	.radioButton label { font-weight: bold; }

/* 1.3.5 Select Lists */

.selectList { display: inline; float: left; padding: 6px 0; width: 100%; }

	.selectList label { display: inline; float: left; height: 16px; margin-right: 2%; padding: 6px; text-align: right; width: 23%; }
	
	.selectList select { display: inline; margin-top: 4px; }
	
/* 1.3.6 Required Fields */

.required label { font-weight: bold; }

/* 1.3.7 Fieldsets */

fieldset { border: 1px solid #c2d5db; margin-bottom: 12px; padding: 12px; }

	fieldset legend { background: #5b909e; color: #ffffff; font-size: 1.1em; padding: 4px; text-transform: lowercase; }

/* 1.3.8 Submit Buttons */

.submitButton { border-top: 1px dotted #c2d5db; display: inline; float: left; margin-top: 6px; padding: 12px 0; text-align: center; width: 100%; }

	.submitButton button {
		background: #f5f5f5; border: 1px solid #80a5b2;	color: #546f7a;	cursor: pointer; font-weight: bold;	overflow: visible; padding: 6px; width: auto; }
	
	.submitButton button:hover { background: #c2d5db; border: 1px solid #647d84; color: #32454b; }
	
		.submitButton button span { background: url(../images/icn-check.gif) no-repeat left; padding-left: 20px; width: auto; }




/* 2. Layout
=========================================================================================*/

/* 2.1	Structure
-----------------------------------------------------------------------------------------*/

html { background: url(../images/bg-body_bottom.gif) #8eb2bc no-repeat bottom center; }

body { background: url(../images/bg-body_top.gif) no-repeat top center; }

.container { margin: 0 auto; width: 760px; }

#pageHeader { height: 430px; position: relative; width: 100%; }

#pageBody { width: 100%; }

	#pageBody .content { float: left; width: 517px; }
	
	#pageBody .sidebar { float: right; padding-top: 56px; width: 212px; }

#pageFooter { clear: both; height: 130px; overflow: hidden; position: relative; width: 100%; }



/* 2.2	Header Elements
-----------------------------------------------------------------------------------------*/

/* 2.2.1 Logo */

#headerTitle {
	background: url(../images/logo-big.png) no-repeat;
	height: 84px;
	overflow: hidden;
	position: absolute;
	text-indent: -5000px;
	top: 30px;
	width: 218px;
}

	#headerTitle a { display: block; height: 100%; padding: 0; width: 100%; }
	
	#headerTitle a:hover { background: transparent; }

/* 2.2.2 Navigation */

#headerNavigation {
	background: url(../images/bg-navigation.gif) no-repeat;
	height: 40px;
	left: 0;
	position: absolute;
	top: 118px;
	width: 100%;
}

	#headerNavigation li { float: left; height: 40px; list-style: none; }

		#headerNavigation li a { display: block; height: 40px; overflow: hidden; padding: 0; position: relative; text-indent: -5000px; }
		

		#headerNavigation li.home a { background: url(../images/nav-home.gif) no-repeat; width: 71px; }
		#headerNavigation li.about a { background: url(../images/nav-about.gif) no-repeat; width: 71px; }
		#headerNavigation li.menu a { background: url(../images/nav-menu.gif) no-repeat; width: 70px; }
		#headerNavigation li.events a { background: url(../images/nav-events.gif) no-repeat; width: 76px; }
		#headerNavigation li.live a { background: url(../images/nav-live.gif) no-repeat; width: 110px; }
		#headerNavigation li.gallery a { background: url(../images/nav-gallery.gif) no-repeat; width: 79px; }
		#headerNavigation li.reservations a { background: url(../images/nav-reservations.gif) no-repeat; width: 116px; }
		#headerNavigation li.gift_cards a { background: url(../images/nav-giftcards.gif) no-repeat; width: 94px; }
		#headerNavigation li.contact a { background: url(../images/nav-contact.gif) no-repeat; width: 81px; }
		
			#headerNavigation li a .overlay { cursor: pointer; display: block; height: 40px; position: absolute; top: 0; left: 0; }
		
			#headerNavigation li.home a .overlay { background: url(../images/nav-home.gif) no-repeat 0 -40px; width: 71px; }
			#headerNavigation li.about a .overlay { background: url(../images/nav-about.gif) no-repeat 0 -40px; width: 71px; }
			#headerNavigation li.menu a .overlay { background: url(../images/nav-menu.gif) no-repeat 0 -40px; width: 70px; }
			#headerNavigation li.events a .overlay { background: url(../images/nav-events.gif) no-repeat 0 -40px; width: 76px; }
			#headerNavigation li.live a .overlay { background: url(../images/nav-live.gif) no-repeat 0 -40px; width: 110px; }
			#headerNavigation li.gallery a .overlay { background: url(../images/nav-gallery.gif) no-repeat 0 -40px; width: 79px; }
			#headerNavigation li.reservations a .overlay { background: url(../images/nav-reservations.gif) no-repeat 0 -40px; width: 116px; }
			#headerNavigation li.gift_cards a .overlay { background: url(../images/nav-giftcards.gif) no-repeat 0 -40px; width: 94px; }
			#headerNavigation li.contact a .overlay { background: url(../images/nav-contact.gif) no-repeat 0 -40px; width: 81px; }
			
			#headerNavigation li a.current { background-position: 0 -40px; }

/* 2.2.3 Banner */

#headerBanner { left: 0; position: absolute; top: 173px; }

	#headerBanner .image { margin-bottom: 10px; }

		#headerBanner .image img, { border: 4px solid #ffffff; }

	#headerBanner p { margin-bottom: 0; text-align: right; }
	
	


/* 2.3	Content Elements
-----------------------------------------------------------------------------------------*/

/* 2.3.1 Galleries */

div.gallery { clear: both; display: inline; float: left; width: 100%; }

	.gallery .thumb { display: inline; float: left; margin: 0 20px 20px 0; width: 134px; }
	
	.gallery .last { margin-right: 0; }

/* 2.3.2 Form Errors */

.errorExplanation { background: #f7eded; border: 1px solid #b00000; clear: both; margin: 20px 0; padding: 20px; }

	.errorExplanation h2 { display: none; }

	.errorExplanation p { color: #b00000; font-size: 12px; font-weight: bold; text-align: center; }

	.errorExplanation ul { list-style: none; padding: 0; width: 100%; }

	.errorExplanation li { color: #b00000; font-size: 12px; line-height: 15px; list-style: none; margin-bottom: 0; text-align: center; }

/* 2.3.3 vCards */

.vcard { margin-bottom: 24px; }

	.vcard p { margin-bottom: 0; text-align: center; }

	.vcard .org { background: url(../images/logo-small.gif) no-repeat top; height: 56px; margin: 0 auto; overflow: hidden; text-indent: -5000px; width: 100%; }

	.vcard .street-address { display: block; }

	.vcard .type { font-weight: bold; }
	
/* 2.3.4 Flashes */

.flash { clear: both; margin: 20px 0; width: 100%; }
	
	.flash p { font-weight: bold; padding: 20px; }
	
	.flash .failure { background: #f7eded; border: 1px solid #b00000; color: #b00000; }



/* 2.4	Sidebar Elements
-----------------------------------------------------------------------------------------*/

/* 2.4.1 Sections */

.sidebar .section { margin-bottom: 32px; }

/* 2.4.2 Hours of Operation */

#sidebarHoursOfOperation {
	background: url(../images/misc-hours_of_operation.gif) no-repeat;
	height: 181px;
	overflow: hidden;
	text-indent: -5000px;
}

/* 2.4.3 Newsletter Signup */

#sidebarNewsletter { background: url(../images/bg-sidebar_newsletter.gif) no-repeat top; height: 134px; padding-top: 50px; width: 212px; }

#sidebarNewsletter label { background: url(../images/lbl-newsletter_sign_up.gif) no-repeat; display: block; height: 14px; margin: 0 auto; overflow: hidden; text-indent: -5000px; width: 151px; }

#sidebarNewsletter input { border: 1px solid #647d84; display: block; height: 16px; margin: 12px auto; padding: 6px; }

#sidebarNewsletter button { background: url(../images/btn-sidebar_submit.gif) no-repeat; border: none; cursor: pointer; display: block; height: 10px; margin: 0 auto; overflow: hidden; text-indent: -5000px; width: 42px; }



/* 2.5	Footer Elements
-----------------------------------------------------------------------------------------*/

/* 2.5.1 vCard */

#pageFooter .vcard { background: url(../images/misc-footer_horizontal_rule.gif) no-repeat top; height: 51px; padding: 30px 0 0 248px; position: relative; width: 512px; }

#pageFooter .vcard .org { background: url(../images/logo-small.gif) no-repeat; display: inline; float: left; height: 45px; left: 105px; overflow: hidden; position: absolute; text-indent: -5000px; top:20px; width: 124px; }

#pageFooter .vcard .adr { background: url(../images/bul-small_square.gif) no-repeat right; display: inline; float: left; margin-right: 8px; padding-right: 10px; }

#pageFooter .vcard .street-address { background: url(../images/bul-small_square.gif) no-repeat right; display: inline; float: left; margin-right: 8px; padding-right: 10px; }

#pageFooter .vcard .tel { display: inline; width: auto; }

/* 2.5.2 Page Meta */

#pageFooter .copyright { background: url(../images/bul-small_white_square.gif) no-repeat right; display: block; height: 18px; left: 166px; padding: 6px 12px 0 0; position: absolute; top: 94px; }

#pageFooter .developer { background: url(../images/logo-impulse_development.gif) no-repeat right; height: 18px; left: 384px; padding: 6px 24px 0 0; position: absolute; top: 94px; }

/* 2.6	Miscellaneous Elements
-----------------------------------------------------------------------------------------*/

/* 2.6.1 Images and Thumbs */

.image img, .thumb img { border: 3px solid #ffffff; }

.image a, .thumb a { background: transparent; color: none; padding: 0; text-decoration: none; }

.image .caption, .thumb .caption { padding: 10px 0; text-align: center; }

/* 2.6.2 Element Positioning */

.center { margin-bottom: 18px; text-align: center; }

.floatLeft { display: inline; float: left; margin: 6px 12px 12px 0; }

.floatRight { display: inline; float: right; margin: 6px 0 12px 12px; }

/* 2.6.3 Clearing */

.clear { clear: both; }

h1.clear, h2.clear, h3.clear, h4.clear, h5.clear, h6.clear { clear: none; display: inline; float: left; width: 100%; }

/* 2.6.4 Misc */

#gift-card {
	margin-bottom: 18px;
	text-align: center;
}

#gift-card a {
	background: none;
}

.wine-award {
	float: right;
	padding: 0px 0px 13px 13px;
}

#advertisement .title {
	background: url(../images/misc-advert-title.gif) no-repeat top left;
	height: 22px;
	margin: 20px auto;
	text-indent: -5000px;
	width: 433px;
}

#advertisement dt {
	float: left;
	padding-bottom: 6px;
	text-indent: -5000px;
	width: 100%;
}

#advertisement dd {
	clear: both;
	float: left;
	font-size: 14px;
	padding-bottom: 28px;
	text-align: center;
	width: 100%;
}

#advertisement .feb16 {
	background: url(../images/misc-advert-feb16.gif) no-repeat top left;
	display: inline;
	height: 18px;
	margin-left: 193px;
	width: 131px;
}

#advertisement .feb24 {
	background: url(../images/misc-advert-feb24.gif) no-repeat top left;
	display: inline;
	height: 18px;
	margin-left: 146px;
	width: 224px;
}

#advertisement .feb25 {
	background: url(../images/misc-advert-feb25.gif) no-repeat top left;
	display: inline;
	height: 18px;
	margin-left: 86px;
	width: 344px;
}

.homepage-image {
	margin-bottom: 16px;
}

#audioPlayer {
	margin-bottom: 16px;
}