#module-menu .menu-intro:after, .detailed-menu-list li:after, .thumb-menu-list ul:after, .about-wrap:after, #module-email .email-wrap:after,
#module-location .location:after, #module-location .location-action:after
{
	display:block; clear:both; visibility: hidden;
	height:0;
	content:".";
}
.ie #module-menu .menu-intro:after, .ie .detailed-menu-list li, .ie .thumb-menu-list ul, .ie .about-wrap, .ie #module-email .email-wrap,
.ie #module-location .location:after, .ie #module-location .location-action:after
{
	zoom:1;
}

/*
	Module specific styles. TODO: move this to their own files later on
*/

#module-menu
{
	box-shadow:0 -1px 3px rgba(0,0,0,0.3); -webkit-box-shadow:0 -1px 3px rgba(0,0,0,0.3);
}
#module-menu .menu-intro
{
	width:80%;
	margin:0 auto;
}
#module-menu .menu-intro .thumbnail
{
	float:left;
	width:50%; height:auto; max-width:457px;
}
#module-menu .menu-intro .description
{
	overflow:hidden;
	padding:0 0 20px 20px;
}
#module-menu .menu-intro .description h3
{
	margin:0 0 10px 0;
	font-size:27px; font-family:'BebasNeueRegular';
}
#module-menu .menu-intro p
{
	margin:0 0 20px 0;
	font-size:14px;
}
#module-menu .menu-intro p:last-child
{
	margin:0;
}
#module-menu .menu-list
{
	padding:20px 20px;
	background:url(/img/ui/vertical-stripe-bg.png) repeat 0 0;
	box-shadow:inset 0 3px 3px -3px rgba(0,0,0,0.3), inset 0 -3px 3px -3px rgba(0,0,0,0.3); -webkit-box-shadow:inset 0 3px 3px -3px rgba(0,0,0,0.3), inset 0 -3px 3px -3px rgba(0,0,0,0.3);
}
#module-menu .menu-list-wrap
{
	margin:0 auto; padding:0;
	background:url(/img/ui/paper-bg.png) repeat 0 0;
	box-shadow:1px 1px 3px rgba(0,0,0,0.2); -webkit-box-shadow:1px 1px 3px rgba(0,0,0,0.2);
	border-radius:8px;
}
#module-menu .menu h3
{
	margin:20px 0 50px 0;
	font-family:'BebasNeueRegular'; font-size:32px; line-height:30px; color:#000; text-align:center; text-shadow:0 1px #FFF;
}
#module-menu .menu.extra
{
	margin-bottom:0;
}
#module-menu .menu.sides .thumb-menu-list li
{
	width:33.333333333333333333333%;
}
#module-menu .menu.extra .thumb-menu-list li
{
	width:25%;
}
.detailed-menu-list li
{
	position:relative;
	border-bottom:1px solid #DDD;
}
.detailed-menu-list li .menu-photo
{
	width:280px;
	margin:0 30px 0 0;
	text-align:center;
}
.detailed-menu-list li .menu-photo img
{
	max-width:100%;
}
.detailed-menu-list li .menu-details
{
	position:absolute;
	top:0; left:0;
	width:100%;
	padding:14px 0 20px 298px;
	box-sizing:border-box;
}
.detailed-menu-list li h4
{
	font-family:'BebasNeueRegular'; font-size:26px;
}
.detailed-menu-list li h4 em
{
	margin:0 0 0 10px; padding:3px 5px;
	background:red;
	border-radius:4px;
	font-family:'Helvetica Neue', Helvetica, Arial; text-transform:uppercase; font-size:10px; color:#FFF; font-style:normal; vertical-align:middle;
}
.detailed-menu-list li .price
{
	position:absolute;
	top:13px; right:18px;
	font-size:16px;
}
.detailed-menu-list li .description
{
	padding:0 30px 0 0;
}
.detailed-menu-list li .description p
{
	margin:0 0 10px 0;
	font-size:16px;
}
#module-menu .menu .thumb-menu-list li
{
	float:left;
	margin:0 0 40px 0;
}
#module-menu .menu .thumb-menu-list li .thumb-menu-list-wrap
{
	padding:0 10px;
}
#module-menu .menu .thumb-menu-list li .menu-photo
{
	margin:0 0 15px 0;
	text-align:center;
}
#module-menu .menu .thumb-menu-list li .menu-photo img
{
	max-width:100%;
}
#module-menu .menu .thumb-menu-list li .menu-details
{
	font-size:14px; text-align:center;
}
@media only screen and (max-width:1076px)
{
	#module-menu .menu.extra .thumb-menu-list li .menu-details
	{
		font-size:12px;
	}
}
@media only screen and (max-width:950px)
{
	#module-menu .menu.extra .thumb-menu-list li
	{
		width:33.333333333333333%;
	}
}
@media only screen and (max-width:847px)
{
	#module-menu .menu-intro .description h3
	{
		font-size:26px;
	}
}
@media only screen and (max-width:724px)
{
	#module-menu .menu-intro .thumbnail
	{
		float:none; display:block;
		width:100%;
		margin:0 auto 20px auto;
		border-bottom:1px solid #333;
		box-shadow:0 10px 12px -6px rgba(0,0,0,0.3); -webkit-box-shadow:0 10px 12px -6px rgba(0,0,0,0.3);
	}
	#module-menu .menu-intro .description
	{
		padding-left:0;
	}
	#module-menu .menu-intro .description h3
	{
		text-align:center;
	}
	#module-menu .menu.sides .thumb-menu-list li,
	#module-menu .menu.extra .thumb-menu-list li
	{
		width:50%;
	}
	.detailed-menu-list li .menu-photo
	{
		width:auto;
		margin:0 0 15px 0;
	}
	.detailed-menu-list li .menu-details
	{
		position:static;
		top:auto; left:auto;
		width:auto;
		padding:0 0 20px 0;
	}
	.detailed-menu-list li .description
	{
		padding:0 20px;
	}
	.detailed-menu-list li h4
	{
		text-align:center;
	}
	.detailed-menu-list li .price
	{
		position:static;
		top:auto; left:auto; right:auto;
		margin:0 0 15px 0;
		text-align:center;
	}
	.detailed-menu-list li .price:before
	{
		content:' - ';
	}
	.detailed-menu-list li .price:after
	{
		content:' - ';
	}
	.detailed-menu-list li .menu-photo img
	{
		width:100%;
	}
}
@media only screen and (max-width:493px)
{
	#module-menu .menu .thumb-menu-list li
	{
		float:none;
	}
	#module-menu .menu.sides .thumb-menu-list li,
	#module-menu .menu.extra .thumb-menu-list li
	{
		width:100%;
	}
	#module-menu .menu.sides .thumb-menu-list li .menu-details,
	#module-menu .menu.extra .thumb-menu-list li .menu-details,
	.detailed-menu-list li .description p,
	.detailed-menu-list li .price
	{
		font-size:14px;
	}
}

#module-location > h2
{
	margin-bottom:40px;
}
#module-location .address
{
	font-size:21px; font-weight:300; text-align:center;
}
#module-location .phone
{
	margin:0 0 10px 0;
	font-size:20px; font-weight:300; text-align:center;
}
#module-location p
{
	margin:0 0 15px 0;
	font-size:20px; font-weight:bold; text-align:center;
}
#module-location .hours
{
	margin:0 0 10px 0;
	font-size:18px; text-align:center;
}
#module-location .extra-info
{
	margin:0 0 20px 0;
	font-size:18px; font-weight:300; text-align:center;
}
#module-location .location > li,
#module-location .location-action > li
{
	float:left;
	width:50%;
}
#module-location .location > li
{
	box-sizing:border-box;
	padding:0 20px;
}
#module-location .location > li h3
{
	font-family:'Helvetica Neue', Helvetica, Arial; font-size:23px; text-align:center;
}
#module-location .location-action
{
	width:330px;
	margin:0 auto; padding:10px 0 40px 0;
}
#module-location .location-action > li
{
	text-align:center;
}
#module-location .map #google-map
{
	height:350px;
}
#module-location .map .btn-get-directions
{
	position:absolute; display:block;
	top:15px; left:55px;
	padding:5px 15px;
	background:#000; background:rgba(0,0,0,0.7);
	border:2px solid #FFF; border-radius:20px;
	color:#FFF; font-family:"Helvetica Neue", Helvetica, Arial; font-size:12px; font-weight:bold; text-decoration:none;
}
#module-location .map .btn-get-directions:hover
{
	background:#000;
}
@media only screen and (max-width:776px)
{
	#module-location .location > li
	{
		float:none;
		width:auto;
	}
	#module-location .location-action
	{
		width:auto;
	}
	#module-location .location-action .btn-3
	{
		padding:5px 14px;
		font-size:11px;
	}
}

#module-about
{
	padding:0 0 25px 0;
	border-top:1px solid #AAA;
}
#module-about .about-wrap
{
	padding:0 30px;
}
#module-about .about-story
{
	overflow:hidden;
	font-size:14px;
}
#module-about .about-story p
{
	margin:0 0 15px 0;
}
#module-about .about-photo
{
	float:right;
	margin:0 0 30px 30px;
	width:50%;
}
#module-about .about-photo img
{
	max-width:100%;
}
@media only screen and (max-width:608px)
{
	#module-about .about-photo
	{
		float:none;
		margin:0 0 20px 0;
		width:auto;
		text-align:center;
	}
}


#module-email
{
	border-top:0;
	background:#333;
	color:#FFF;
}
#module-email h2
{
	color:#FFF;
	background-image:url(/img/ui/noodle-separator-white.png);
}
#module-email .email-wrap
{
	position:relative;
	min-height:420px;
	margin:0 30px; padding:0 0 40px 647px;
}
#module-email #form-email
{
	position:absolute;
	top:0; left:0;
	width:617px;
}
#module-email #form-email .fieldset-subscribe label
{
	font-size:14px;
}
#module-email #form-email .form-actions
{
	text-align:right;
}
#module-email #form-email .select
{
	margin-bottom:24px;
}
#module-email .email-info section
{
	padding:0 0 15px 0;
}
#module-email .email-info h4
{
	margin:0 0 10px 0;
	font-size:24px; font-weight:300;
}
#module-email .email-info p
{
	margin:0 0 15px 0;
	font-size:16px;
}
#module-email .text-box, #module-email #input-message
{
	width:591px;
}
#module-email .loading
{
	display:none;
	margin:0 15px 0 0;
	vertical-align:middle;
}
#module-email .email-status
{
	display:none;
	margin:0 15px 0 0;
	vertical-align:middle;
	font-size:14px; color:lime; font-weight:700;
}
#module-email .email-status.error
{
	color:red;
}
@media only screen and (max-width:1100px)
{
	#module-email .email-wrap
	{
		padding:0 0 40px 447px;
	}
	#module-email #form-email
	{
		width:417px;
	}
	#module-email #input-message
	{
		width:391px;
	}
}
@media only screen and (max-width:776px)
{
	#module-email .email-wrap
	{
		min-height:0;
	}
	#module-email #form-email
	{
		position:static;
		top:auto; left:auto;
		width:auto;
	}
	#module-email .email-wrap
	{
		padding-left:0;
	}
	#module-email #input-message
	{
		width:100%;
		box-sizing:border-box;
	}
}

#module-press
{
	padding:0 0 20px 0;
}
#module-press .press-list
{
	padding:0 40px;
	text-align:center;
}
#module-press .press-list a
{
	display:inline-block;
	margin:0 30px 40px 30px;
	vertical-align:middle;
	opacity:.7;
	transition:opacity .25s; -moz-transition:opacity .25s; -webkit-transition:opacity .25s; -o-transition:opacity .25s;
}
#module-press .press-list a img
{
	max-width:100%;
	filter:url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale"); /* Firefox 3.5+ */
	filter:gray; -webkit-filter:grayscale(1);
}
#module-press .press-list a:hover
{
	opacity:1;
}
#module-press .press-list a:hover img
{
	filter:none; -webkit-filter:grayscale(0);
}