.clearfix:after {
	content: ".";
	display: block;
	clear: both;
	visibility: hidden;
	line-height: 0;
	height: 0;
}
 
.clearfix {
	display: inline-block;
}
 
html[xmlns] .clearfix {
	display: block;
}
 
* html .clearfix {
	height: 1%;
}

BODY { margin: 0; padding: 0; color: #fbfdd7; text-align: left; font-size: 12px; font-family: Verdana, Arial, Helvetica, sans-serif; background: #b56526 url(images/background2.png) repeat-y; }

H1, H2, H3, H4, .subtitle { color: #f9faeb; font-weight: bold; }

H1 { font-size: 18px; padding: 20px 0 15px 0; text-align: center; }

H2 { color: #f9faeb; font-size: 16px; font-weight: bold; }

	H2.inmenu { text-align: center; text-transform: uppercase; }

H3 { font-size: 14px; }

H4 { color: #f9faeb; text-align: center; }

OL LI { margin: 15px 0; }
 
A:link, A:visited { color: #fde5d2; }


/*
| - Define widths in px to prevent floats from being pushed under
|   other floats. Right column should have width = 240px, the same
|   as the widths of Twitter/Facebook buttons.
*/


#wrapper { width: 1020px; }
	
#header { text-align: center; }

	.logo { padding: 80px 0 0; }

#menu { display: inline; float: left; margin: 15px 0 0 10px; padding: 30px 10px 30px 5px; width: 221px; }

	#menuitems { margin: 0 0 0 15px; }
	
		#menuitems A:link, #menuitems A:visited { background: url(images/arrow.gif) no-repeat 0px 2px; padding: 2px 0 5px 20px; }

		#menuitems A:hover { background: url(images/arrow_hover.gif) no-repeat 0px 2px; color: #fde5d2; font-weight: bold; padding: 2px 0 5px 20px; }
		
		/* 	The .[name]_on class is applied to the UL.collapsible (see nav.html)
			and determines the selected menu item.
			The selected items are the same as hover states -- tan background
			with bold text style applied. */
		/* 	MAIN MENU ITEMS 
			Only the ones that do not have sub-menus need to be in here */
		.home_on .home_item a, 
		.about_on .about_item a, 
		.catering_on .catering_item a,
		.office_on .office_item a,
		.map_on .map_item a
		{ background: #c00; 
		  font-weight: bold; }
		/* 	SUB MENU ITEMS */
		/*	menus*/
		.menu_on .menu_item a, 
		.pretheater_on .pretheater_item a, 
		.thanksgiving_on .thanksgiving_item a,
		.thanksgiving_40th_on .thanksgiving_40th_item a,
		.xmaseve_on .xmaseve_item a,
		.menu_turkey_on .menu_turkey_item a,
		.vday_on .vday_item a,
		.theater_on .theater_item a, 
		/*	events*/
		.private_on .private_item a,
		.business_on .business_item a,
		.rehearsal_on .rehearsal_item a, 
		.bachelor_on .bachelor_item a, 
		.wedding_on .wedding_item a,
		.fagiolini_on .fagiolini_item a,
		.fagiolini_on_40th_on .fagiolini_on_40th_item a,
		.inquiries_on .inquiries_item a,
		.res_on .res_item a,
		.res40th_on .res40th_item a
		{ /*background: #e5ac58; */
		background: #cc4400;
     	font-weight: bold; }
	
	
#content { display: inline; float: left; font-size: 12px; margin: 0 0 0 19px; padding: 10px 0; width: 444px; }

	#pagecontent { margin: 10px 0; padding: 0 10px; line-height: 22px; }
	
	H3.reservations { background: #e5ac58; padding: 2px; font-weight: normal; text-align: center; color: #000; }
	

#rightcolumn { display: inline; float: left; margin: 20px 0 0 29px; padding: 30px 0 30px 15px; width: 240px; }

	#rightcolumn H3 { background: #e5ac58; -moz-box-shadow: 2px 2px 2px #9c5720; -webkit-box-shadow: 2px 2px 2px #9c5720; box-shadow: 2px 2px 2px #9c5720; padding: 5px; }


#footer { clear: both; display: inline; float: left; margin: 0 0 0 265px; padding: 0 10px 20px; text-align: center; width: 424px; }

	.locations { font-size: 11px; }


    
.subtitle { font-size: 12px; font-style:italic; }

.highlight { font-size: 12px; color: #000; }
	
.subhighlight { color: #063; font-style: italic; }

.bold_green { font-weight: bold; color: #c3c697; }

.boxed { background: #979c4c; }

	.boxed .bold_green { color: #eaedb6; }
	
	.boxed.padding { padding: 2px 5px; }

.bigger { font-size: 150%; }


#dailyspecials { text-align: center; }

	#dailyspecials .loz { color: #cdd189; }

	#dailyspecials H2 { display: block; line-height: 3em; vertical-align: middle; }

	.loz { display: block; text-align: center; line-height: 2.5em; vertical-align: middle; }


P.boxhilite { position: relative; margin: 0 0 10px; width: 240px; display: block; }
P.boxhilite A { padding: 12px 0 12px 38px; display: block; background-color: #e5ac58; background-repeat: no-repeat; text-decoration: none; -moz-box-shadow: 2px 2px 2px #9c5720; -webkit-box-shadow: 2px 2px 2px #9c5720; box-shadow: 2px 2px 2px #9c5720; line-height: 1.2em; vertical-align: middle; color: #000; }
P.boxhilite A:hover { text-decoration: underline; }

P.boxhilite#twitter A { background-image: url(images/twitter.png); background-position: 6px center; }

/* Vday */

P.boxhilite#vday A, P.boxhilite#vday_home A { padding: 8px 0 8px 48px; background-image: url(images/valentine_small_heart_32px.png); background-position: 6px center; }

P.boxhilite#vday_home A { padding: 8px 0 8px 70px; background-position: 20px center; }

P.boxhilite#vday_home { margin: 0 auto 10px; width: 310px; }
	P.boxhilite#vday_home A { padding-top: 14px; padding-bottom: 14px; }

/* Xmas */

P.boxhilite#xmas A, P.boxhilite#xmas_home A { padding: 8px 8px 8px 44px; background-image: url(images/xmas_bells_small_32px.png); background-position: 6px center; background-color: #8dda8a; }

P.boxhilite#xmas_home { margin: 0 auto 10px; width: 310px; }
	P.boxhilite#xmas_home A { box-shadow: 2px 2px 2px #55562b; padding: 16px 8px 16px 54px; background-position: 12px center; }
		
/* NYE */
p.boxhilite#nye a, p.boxhilite#nye_home a { padding: 8px 8px 8px 44px; background-image: url(images/nye2012_32px.png); background-position: 6px center; background-color: #000; color: #fff; }

p.boxhilite#nye { box-shadow: 0 0 15px #d3a47b; }

p.boxhilite#nye_home { margin: 0 auto 10px; width: 310px; }
	p.boxhilite#nye_home a { box-shadow: 0 0 15px #a8a988; padding: 16px 8px 16px 54px; background-position: 12px center; }
		
		

#rightcolumn .loz { color: #d7945e; margin: 10px 0; }

/* UL.event_links */

.event_links { list-style: none; text-align: center; margin: 30px 0 0; padding: 2px 0; -webkit-border-radius: 2px; -moz-border-radius: 2px; border-radius: 2px; }

.event_links LI { margin: 0 5px; padding: 3px 0; /* And now, compatibility for inline-block: */ display: -moz-inline-stack; /* FF2*/ display: inline-block; vertical-align: top; zoom: 1; /* IE7 (hasLayout)*/ *display: inline; /* IE */ }
	
	.event_links LI A { display: block; padding: 4px 6px; background: #b7be55; line-height: 1; text-decoration: none; -webkit-border-radius: 2px; -moz-border-radius: 2px; border-radius: 2px; color: #393d00; }
	
	.event_links LI A:hover, .event_links LI.selected A { background: #c3ca59; }
	
	.event_links LI.selected A { font-weight: bold; }
	
.event_links + H1 { margin-top: 0; }


/* div wrapper for fb like iframe */
.fblike { margin: 20px 0 0; padding: 5px; height: 30px; width: 230px; background: #e5ac58; -moz-box-shadow: 2px 2px 2px #9c5720; -webkit-box-shadow: 2px 2px 2px #9c5720; box-shadow: 2px 2px 2px #9c5720; }

/* Used for 'or' text, other non-essential connecting text */
.subtle { color: #9ca05e; }

.locations_50, .left_50 { float: left; width: 50%; }

.contact_left { float: left; width: 27%; padding-right: 3%; font-size: 11px; }

.contact_right { float: left; width: 70%; }

	.contact_left LABEL { display: block; position: relative; margin-top: 6px; }
	
	.contact_right INPUT, .contact_right TEXTAREA, .contact_right SELECT { margin: 5px 0; font: 12px Verdana, Arial, Helvetica, sans-serif; }
	
	.contact_right SELECT { padding: 3px; }
	
	.contact_right INPUT { width: 85%; padding: 4px; }
	
	.contact_right TEXTAREA { width: 85%; height: 100px; font: 12px Verdana, Arial, Helvetica, sans-serif; padding: 4px; }
	
.reqd { color: #ff6a6a; font-weight: bold; }

.error { border: 2px solid #ffaeae; background: #feebeb; padding: 5px 10px; color: #000; font-size: 11px; width: 90%; margin: 0 auto; line-height: 1.2em; }

.message { border: 2px solid #bbdf8d; background: #eaf7d9; padding: 5px 10px; color: #000; font-size: 11px; width: 90%; margin: 0 auto; }

/* Angled Borders

   Provides angled colored borders for browsers that support it,
   and falls back on regular borders for everyone else
   
   IMG tags need to be wrapped in three divs. Not ideal,
   but we don't need JS:
   
   <div class="angledborders"><div><div><img ... /></div></div></div>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */

.angledborders { float: left; position: relative; left: 50%; #padding-bottom: 20px; }
			
	.angledborders DIV { -moz-transform: scale(1) rotate(1deg) translate(0px, 0px) skew(0deg, 0deg); -webkit-transform: scale(1) rotate(1deg) translate(0px, 0px) skew(0deg, 0deg); -o-transform: scale(1) rotate(1deg) translate(0px, 0px) skew(0deg, 0deg); -ms-transform: scale(1) rotate(1deg) translate(0px, 0px) skew(0deg, 0deg); transform: scale(1) rotate(1deg) translate(0px, 0px) skew(0deg, 0deg); padding: 3px; background: #f9fb8d; margin-bottom: 20px; float: left; display: block; position: relative; left: -50%; }
		
		.angledborders DIV DIV { -moz-transform: scale(1) rotate(-2deg) translate(0px, 0px) skew(0deg, 0deg); -webkit-transform: scale(1) rotate(-2deg) translate(0px, 0px) skew(0deg, 0deg); -o-transform: scale(1) rotate(-2deg) translate(0px, 0px) skew(0deg, 0deg); -ms-transform: scale(1) rotate(-2deg) translate(0px, 0px) skew(0deg, 0deg); transform: scale(1) rotate(-2deg) translate(0px, 0px) skew(0deg, 0deg); padding: 6px; background: #5d846f; display: block; position: static; left: 0; margin: 0; }
		
	.angledborders IMG { -moz-transform: scale(1) rotate(1deg) translate(0px, 0px) skew(0deg, 0deg); -webkit-transform: scale(1) rotate(1deg) translate(0px, 0px) skew(0deg, 0deg); -o-transform: scale(1) rotate(1deg) translate(0px, 0px) skew(0deg, 0deg); -ms-transform: scale(1) rotate(1deg) translate(0px, 0px) skew(0deg, 0deg); transform: scale(1) rotate(1deg) translate(0px, 0px) skew(0deg, 0deg); line-height: 1; border-spacing: 0; margin: 0; padding: 0; border: 0; vertical-align: baseline; background: transparent; display: block;}


/* Footer menu with dropdown on Order Online */
.horizminimenu { float:left; width:100%; position:relative; margin:0 0 40px; line-height: 1.5em; }
.horizminimenu ul { clear:left; float:left; list-style:none; margin:0; padding:0; position:relative; left:50%; text-align:center; }
.horizminimenu ul li { display:block; float:left; list-style:none; margin:0; padding:0; position:relative; right:50%; }
.horizminimenu ul li a { display:block; padding: 0 5px; margin: 0 0 0 1px; border-right: 1px solid #fde5d2; }

.horizminimenu .first a { padding-left: 0; margin-left: 0; }
.horizminimenu .last a { border-right: none; padding-right: 0; }

.horizminimenu ul ul { display: none; clear: none; left: auto; position: absolute; }

.horizminimenu ul ul li { float: none; right: auto; text-align: left; }

.horizminimenu ul ul a { border-right: none; width: 180px; padding-top: 3px; padding-bottom: 3px; background: #939646; text-decoration: none; }

.horizminimenu ul ul a:hover { text-decoration: underline; }

.horizminimenu ul ul li { padding: 1px 0 0; }

.horizminimenu ul li:hover ul, .horizminimenu ul li.ie7-hover ul { display: block; }

.horizminimenu li a.ddrightarrow { padding-right: 19px; background: url(images/smallarrow.png) right center no-repeat; }

.horizminimenu .first ul li a { padding-left: 5px; }

/* OpenTable */
.otbox { margin: 30px 0 0 125px; }


/**
 * Thanksgiving
 */

BODY.tgiving #content { background: url(images/tgiving_bg.jpg) no-repeat 0 90px; }

BODY.tgiving .tg_title B { display: none; }
BODY.tgiving .tg_title { display: block; height: 145px; margin: 0 auto; background: url(images/tgiving_title.png) no-repeat center; padding-bottom: 0; }
	BODY.tgiving_40th .tg_title { background-image: url(images/tgiving_title_40th.png); }

BODY.tgiving .tg_content { padding-top: 45px; }
BODY.tgiving .tg_menu_content { padding-top: 50px; }




/* Reusable Classes
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */

.caps { text-transform: uppercase; }

.tacenter, .aligncenter { text-align: center; }

.alignleft { text-align: left; }

.alignright { text-align: right; }

.nobmarg { margin-bottom: 0; }

.notmarg { margin-top: 0; }

.nobpad { padding-bottom: 0; }

.notpad { padding-top: 0; }

.clearboth { clear: both; }
