@charset "UTF-8";

/*******************************************
Custom Font Icons
******************************************/

@font-face {
	font-family: 'Flavor-Plate-Icons';
	src:url('https://bistrocucina.com/icon-fonts/Flavor-Plate-Icons.eot');
	src:url('https://bistrocucina.com/icon-fonts/Flavor-Plate-Icons.eot#iefix') format('embedded-opentype'),
		url('https://bistrocucina.com/icon-fonts/Flavor-Plate-Icons.woff') format('woff'),
		url('https://bistrocucina.com/icon-fonts/Flavor-Plate-Icons.ttf') format('truetype'),
		url('https://bistrocucina.com/icon-fonts/Flavor-Plate-Icons.svg#Flavor-Plate-Icons') format('svg');
	font-weight: normal;
	font-style: normal;
}

/*******************************************
Custom Reset
******************************************/

h1, h2, h3, h4, h5, p, ul, ol { padding: 0; margin: 0; }
ul, ol { list-style: none; }

/*******************************************
HTML Selectors
******************************************/

body {width:100%;height:100%;background-color: #fff;text-align:center;margin:0 auto; }
a[ href] {text-decoration:none;color:#000; }
a[ href]:hover {color:#ff6300; }

/*******************************************
Containers
******************************************/

body {width:100%;height:100%;background-color: #fff;text-align:center;margin:0 auto; }
header, #navigation-bar, #main, footer {width:100%;min-width:320px;height:auto;float:left;clear:both;text-align:center; }
.main-wrapper { width: 100%; max-width:1000px;height:auto;margin:0 auto;padding:0;text-align:left;position:relative; }
#page-content {padding-top: 40px; overflow: hidden; }
.content-block { display: block; padding: 0 10px; }

/* clearfix of main-wrapper */
.main-wrapper:before, .main-wrapper:after { content: ""; display: table; }
.main-wrapper:after { clear: both; }
.main-wrapper { *zoom: 1; }

/* IE fixes */
.lt-ie9 .main-wrapper {width: 1000px; max-width: none; }


/*******************************************
type

vertical rhythm:
target rhythm number (20) / font size (12) = line height (1.66)

******************************************/

body {color:#2c1e15; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size:14px; line-height: 1.66; }

h1, h2, h3, h4, h5,.nav {font-family: "Helvetica Neue", Arial, Helvetica,sans-serif; font-weight: normal; color:#2c1e15; }

h1, .header-1		{font-size: 40px; line-height: 1.11; padding-bottom: 35px; }
h2, .header-2		{font-size: 28px; line-height: 1.11; padding-top: 20px; padding-bottom: 20px; }
h3, .header-3		{font-size: 18px; line-height: 1.11; padding-bottom: 0; }
h4, .header-4		{font-size: 12px; line-height: 1.66; padding-bottom: 0; }

h2 ~ h2 {padding-top: 10px; }

p { padding:0 0 20px 0; }
h1 + h2 { padding-top: 0; }
h1 + ul, h2 + ul, h3 + ul, h4 + ul,
h1 + ol, h2 + ol, h3 + ol, h4 + ol { padding: 20px 0 0 0; }
.main-column ul, .full-column ul { list-style: disc; margin: 0 0 20px 40px; }
.main-column ol, .full-column ol { list-style: decimal; margin: 0 0 20px 40px; }


/*******************************************
960 12 column grid
******************************************/

.test {outline: 1px solid red; }

.nav,
.slideshow {

	float:left;
	margin:0;
	height:auto;
	
}

.nav 						/* grid 12 */ 	{ width:100%; }		/* 1000/1000 		{ width: 1000px; }*/
.slideshow					/* grid 12 */ 	{ width:100%; }		/* 1000/1000		{ width: 1000px; }*/

.home-call-out-1,
.home-call-out-2,
.home-intro,
.main-column,
.sidebar,
.photo-wrapper,
.full-column,
.contact-info,
.contact-form,
#small-screen-footer-nav,
.footer-restaurant-info,
.footer-FP-info {

	float:left;
	margin:0 2% 20px 2% /* 20/1000 */;
	height:auto;
	
}

.home-call-out-1			/* grid 3 */ 	{ width:22%; }		/* 220/1000		{ width: 220px; }*/
.home-call-out-2			/* grid 3 */ 	{ width:22%; }		/* 220/1000		{ width: 220px; }*/
.home-intro					/* grid 6 */ 	{ width:44%; }		/* 440/1000		{ width: 440px; }*/
.main-column		 		/* grid 9 */ 	{ width:70%; }		/* 700/1000		{ width: 700px; }*/
.sidebar					/* grid 3 */ 	{ width:22%; }		/* 220/1000		{ width: 220px; }*/
.full-column				/* grid 12 */ 	{ width:96%; }		/* 960/1000		{ width: 960px; }*/
.contact-info				/* grid 6 */	{ width:46%; }		/* 460/1000 	{ width: 460px; }*/
.contact-form				/* grid 6 */	{ width:46%; }		/* 460/1000 	{ width: 460px; }*/
.footer-restaurant-info		/* grid 6 */	{ width:46%; }		/* 460/1000 	{ width: 460px; }*/
.footer-FP-info				/* grid 6 */	{ width:46%; }		/* 460/1000 	{ width: 460px; }*/
#small-screen-footer-nav	/* grid 12 */ 	{ width:100%; }		/* 1000/1000 	{ width: 1000px; }*/
.tools { width: 100%; height: auto; margin: 0; padding: 0; float: left; clear: both; }

/* Modified to have borders */

.home-call-out-1,
.home-call-out-2,
.home-intro,
.main-column,
.sidebar {

	float:left;
	clear: none;
	margin:0;
	padding:0 2% 20px 2% /* 20/1000 */;
	height:auto;
	
}

.home-call-out-1		/* grid 3 */ 	{ width:21.9%; }		/* 219/1000		{ width: 219px; }*/ /* WITH 1px BORDER */
.home-call-out-2		/* grid 3 */ 	{ width:21.9%; }		/* 219/1000		{ width: 219px; }*/ /* WITH 1px BORDER */
.main-column		 	/* grid 9 */ 	{ width:68.9%; }		/* 689/1000		{ width: 689px; }*/ /* WITH 1px BORDER */
.sidebar				/* grid 3 */ 	{ width:21.9%; }		/* 219/1000		{ width: 219px; }*/ /* WITH 1px BORDER */

.home-call-out-1 		{ border-right: 1px solid #000; }
.home-call-out-2 		{ border-left: 1px solid #000; margin-left: -1px; float: right; }
.main-column	 		{ border-right: 1px solid #000; }
.sidebar				{ border-left: 1px solid #000; margin-left: -1px; }

/* misc. layout */
.row { width: 100%; float: left; padding-bottom: 20px; }
.split-column { width: 48%; padding: 0 0 0 2%; float: left; }
.split-column:first-child { width: 48%; padding: 0 2% 0 0; }

/*******************************************
Shared
******************************************/

.mobile-only { display: none; }
table.logos { width: 100%; border: none; }
table.logos tr, table.logos th, table.logos td, { width: 100%; }
table.logos img, table.logos img.photo-large, table.logos img.photo-small { width: 15%; padding-right: 5%; max-width: 95%; clear: none; }

/*******************************************
Header
******************************************/

#logo { width: 100%; float: left; text-align: center; position: relative; clear:both; padding: 50px 0; margin:0 auto; overflow: hidden; }
#logo img { padding: 0; max-width: 100%; height: auto; }
#logo a {width: 100%; height: auto; float: left;}
#header-graphic { overflow: hidden; height: auto; }
#header-graphic-wrapper.main-wrapper { text-align: center; }
#restaurant-name { padding:0 20px; font-size: 65px; line-height: 1; display: block; }
#tagline { font-size: 16px; padding: 0 20px; display: block; }
#large-screen-header { display: none; }
#small-screen-header { display: none; }


/*******************************************
Navigation
******************************************/

#navigation-bar { position: relative; z-index: 98; }
.nav { margin-bottom: 0; margin-top: 0; position: relative; background-color: #000; text-align: center; border-top: 0px solid #000; border-bottom: 0px solid #000; }
.nav a[ href] { color: #fff; }
.nav a[ href]:hover { color: #ededed; }
.nav a[ href].selected { color: #000; }
.nav ul { display: block; font-size: 0; }
.nav ul li { display: inline-block; position: relative; z-index: 999; font-size: 16px; }
.nav ul li:first-child { border:none; }
.nav ul li a[ href] { display: inline-block; padding: 12px 10px; position:relative; }

/* Drop down menus */
.nav ul li:hover { z-index: 1000; }
li.dropdown ul { float:left; display:none; background-color:#000; font-weight: normal; left: 0; margin: 0; padding: 0; position: absolute; text-align: left; top: 100%; border: 1px solid #ededed; z-index: 9999; box-shadow: 1px 2px 2px rgba(0,0,0,.25);}
li.dropdown ul li { width: 100%; display: block; float: left; clear: both; font-size: 14px; text-align: left; border-top: 1px solid #ededed; border-left: none; margin-left: 0; }
li.dropdown ul li:first-child { border-top: none; }
li.dropdown:hover ul {display:block;}
li.dropdown li a[ href] { min-width: 175px; display: block; height: 20px; line-height: 20px; font-weight: normal; padding: 5px 10px; background-color: transparent; white-space: nowrap; }

/* small screen header nav */
#small-screen-nav { display: none; position: relative; }
#small-screen-nav.nav ul { float: left; width: 100%; }
#small-screen-nav.nav ul li a[ href] { font-style: bold; }
#small-screen-menu-button { float: left; width: 20px; height: auto; padding: 10px; margin: 10px 10px; background-color: #b9b9b9; position: absolute; top: 0; right: 0; }
#small-screen-menu-button .bar { float: left; clear: both; width: 100%; height: 3px; margin: 0; border: none; margin-bottom: 3px; background-color: #000;}
#small-screen-menu-button .bar:first-child { margin-top: 1px; }
#small-screen-menu-button .bar:last-child { margin-bottom: 0; }

/* small screen footer nav */
#small-screen-footer-nav { display: none; background-color: #000; font-size: 14px; margin-bottom: 0;}
#small-screen-footer-nav li { width: 100%; float: left; clear: both; border-bottom: 1px solid #ededed; }
#small-screen-footer-nav li a[ href] { width: 92%; float: left; padding: 12px 4%; color: #fff; }
#small-screen-footer-nav .top-link { text-align: right; font-weight: bold; }

/* ie7 fixes */
.lt-ie9.lt-ie8 .nav ul li { display:inline;}
.lt-ie9.lt-ie8 .nav ul li a[ href] {display:inline;}


/*******************************************
Homepage
******************************************/

.homepage .nav { margin-bottom: 0; }
.homepage #page-content { padding-top: 0; }
.home-call-out-1 h1, .home-call-out-2 h2 { padding: 0 0 10px 0; }
.home-column-wrapper { float: left; clear: both; width: 100%; }
.home-column-wrapper p:last-child { padding-bottom: 0; }
.home-call-out-1 { padding-top: 10px; }
.home-call-out-2 { padding-top: 10px; }
.home-intro { padding-top: 10px; }
.home-intro h1,
.home-intro h2,
.home-intro h3,
.home-intro h4,
.home-intro h5,
.home-intro h6
{ font-size: 28px; line-height: 1.11; padding-top: 0; padding-bottom: 20px; }

/* slideshow */
.slideshow { height: auto; margin-bottom: 20px; overflow: hidden; position: relative; z-index: 1; }
.slideshow img { width: 100%; height: auto; display: none; }
.slideshow img.first { display: block; }

/* slideshow - pager */
.cycle-pager { text-align: center; width: 100%; z-index: 500; position: absolute; bottom: 20px; /*overflow: hidden;*/ }
.cycle-pager span { font-family: arial; font-size: 35px; width: 16px; height: 16px; display: inline-block; color: #fff; cursor: pointer; }
.cycle-pager span:hover { color: #b9b9b9; }
.cycle-pager span.cycle-pager-active { color: #000; }
.cycle-pager > * { cursor: pointer; }

/* slideshow - in case script does not load */
.cycle-slideshow img:first-child { position: static; z-index: 100;}


/*******************************************
Menu
******************************************/

.course { width: 100%; height:  auto; float: left; clear: both; display: block; padding: 0; }
.menu-item-name { font-size: 14px; line-height: 1.66; font-weight: bold; width: auto; height: auto; float: left; clear: both; padding-bottom: 0; width: 75%; }
.course .price { width: 25%; height: auto; float: right; font-style: italic; font-weight: bold; text-align: right; }
.course p { width: 73%; padding-right: 2%; clear: both; display: block; }
h1 + .course h2 { padding-top: 0; }
/*.course p + h2, .course p + h3 { padding-top: 0; }*/
.menu-nav h2 { border-bottom: 1px solid #000; padding-bottom: 5px;}
.menu-nav ul { padding: 0; }
.menu-nav li { border-bottom: 1px solid #000; padding: 5px 0; }
.menu-nav a[ href].selected { color: #000; font-weight: bold; }
.menu-intro { font-size: 120%; }
#small-screen-menu-nav { display: none; border-bottom: 1px solid #000; padding-top: 20px; padding-bottom: 20px; margin-bottom: 40px; background-color: #fff; box-shadow: 0px 4px 4px rgba(0,0,0,.15);}
#small-screen-menu-nav select { width: 100%; }


/*******************************************
Events
******************************************/

.event-wrapper { padding-bottom: 20px; }
h1 + .event-wrapper h2 { padding-top: 0; }
.event-name { padding-bottom: 0; }
.event-date { padding-bottom: 0; }
.event-wrapper p:last-child { padding: 0; }


/*******************************************
Sidebar
******************************************/

.sidebar .content-block { border-bottom: 1px solid #000; padding-bottom: 20px; margin-bottom: 19px; }
.sidebar h2 { padding: 0 0 10px 0; }
.sidebar .content-block:last-child { border-bottom: none; }
.sidebar p { padding: 0; }


/*******************************************
Photos
******************************************/

.gallery-intro { margin-bottom: 0; }
.gallery-thumbs { padding: 0; margin: 0; }
.gallery-thumbs a { width: 182px; margin: 5px; height: auto; border: none; float: left; text-align: center; }
.gallery-thumbs a img { height: auto; max-width: 100%; border: none; vertical-align: middle; }
.gallery-thumbs a:hover img { opacity: 0.5; filter: alpha(opacity='50'); }


/*******************************************
Contact
******************************************/

#email-form ol {list-style:none;margin-left:0;}
#email-form li { padding-bottom: 10px; }
#email-form label {font-weight:bold; padding-right:10px; }
#email-form input, #email-form textarea {width:95%;padding:7px 2%;margin-bottom: 5px;}
#email-form textarea {height:200px;}
.field-validation-error { color: #f00; }
#email-form #confirm-email { display: none; }
.contact-us .contact-info h2:first-of-type,
.contact-us .contact-form h2:first-of-type { padding-top: 0; }


/*******************************************
Custom Page
******************************************/

.custom-page .main-column img { padding-bottom: 20px; max-width: 100%; height: auto; }
.custom-page img.photo-large { float: left; clear: both; }
.custom-page img.photo-small { float: left; padding-right: 20px; }
.custom-page img.photo-small[style="float: right;"] { float: right; padding-right: 0; padding-left: 20px; }


/*******************************************
Tools
******************************************/

.tools { margin-top: 20px; font-weight: bold; text-transform: uppercase; }
.tools ul { display: block ; text-align: center; padding: 20px; border-top: 1px solid #000; border-bottom: 0px solid #000; font-size: 0;}
.tools ul li { width:auto; height:30px; display: inline-block; vertical-align: middle; font-size: 12px; line-height: 30px; }
.tools ul li a[ href] { padding-right: 20px; vertical-align:middle; display: inline-block; }
#newsletter-div { min-width: 400px; padding: 20px; }
#newsletter-div a.button, #newsletter-div input[type="submit"]{ margin-top: 10px; }

/* ie7 fixes */
.lt-ie9.lt-ie8 .tools ul li {display:inline; padding-bottom: 10px;}

.icon-mail, .icon-yelp, .icon-twitter, .icon-sign-up, .icon-review, .icon-phone, .icon-menus, .icon-location, .icon-hours, .icon-facebook, .icon-calendar, .icon-blog {
	font-family: 'Flavor-Plate-Icons';
	speak: none;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	-webkit-font-smoothing: antialiased;
	display: inline-block;
	vertical-align: middle;
	margin-top: -5px;
	font-size: 20px;
}
.icon-mail:before {
	content: "\45";
}
.icon-yelp:before {
	content: "\59";
}
.icon-twitter:before {
	content: "\54";
}
.icon-sign-up:before {
	content: "\53";
}
.icon-review:before {
	content: "\52";
}
.icon-phone:before {
	content: "\50";
}
.icon-menus:before {
	content: "\4d";
}
.icon-location:before {
	content: "\4c";
}
.icon-hours:before {
	content: "\48";
}
.icon-facebook:before {
	content: "\46";
}
.icon-calendar:before {
	content: "\43";
}
.icon-blog:before {
	content: "\42";
}

/*******************************************
Footer
******************************************/

.footer-graphic { text-align: center; line-height: 0; }
.footer-graphic img { max-width: 100%; height: auto; }
.footer-wrapper { float: left; width: 100%; padding-top: 20px; padding-bottom: 100px; }
.footer-restaurant-info { float: right; text-align: right; }
.footer-FP-info { font-size: 11px; line-height: 1.4; }
footer a[ href]:hover { text-decoration: underline; }
.social-share-tools { display: block; padding-bottom: 15px; }
.credits-copyright { display: block; }
footer h4 { margin-bottom: 20px; }
footer a[ href].button { font-size: 11px; padding: 5px 9px; font-weight: normal; margin-bottom: 15px; border: 1px solid #000;}
footer a[ href]:hover.button { border: 1px solid #000;}


/*******************************************
Buttons
******************************************/

#email-form input[type="submit"], a.button {
font-size: 12px;
color: #fff;
font-weight: bold;
text-decoration:none;
text-align: center;
line-height:1.2;
width:auto;
height: auto;
display:inline-block;
background:#333333;
padding: 10px 15px;
border: none;
}


#email-form input[type="submit"]:hover, a.button:hover {
background: #000;
text-decoration:none;
color:#fff;
border: none;
text-decoration: none;
cursor: pointer;
border: none;

}


/*******************************************
Rounded Corners
******************************************/

#email-form input[type="submit"], .button {-moz-border-radius: 4px; -webkit-border-radius:  4px; border-radius:  4px; }


/*******************************************
Responsive Design
******************************************/


/* Media Queries
***************************************** */
	
@media only screen and (max-width: 999px) {
	
	/* photos */
	.gallery-thumbs a { width: 18.958333% /*182/960*/; margin: 5px .52083333% /*5/960*/; height: auto; border: none; float: left; text-align: center; }

}

@media only screen and (max-width: 960px) {

	#large-screen-nav.nav ul li { font-size: 14px; }

}

/* Tablets (portrait) ----------- */
@media only screen and (min-device-width : 768px) and (max-device-width : 1024px) and (orientation : portrait), only screen and (max-width: 940px) {

	/* nav */
	.nav { width: 100%!important; margin-left: 0!important; margin-right: 0!important; }
	.nav ul li { border-left:none; margin-left: 0; margin-bottom: 0; }
	li.dropdown:hover ul { display:none; }
	#page-content { padding-top: 40px; }
	
	/* homepage */
	.home-intro, .home-call-out-1, .home-call-out-2 { width:95.83333%; border-left: none; border-right: none; border-bottom: 1px solid #000; margin: 0; padding-top: 20px; padding-bottom: 20px;}
	.home-call-out-1 { padding-top: 0; }
	.home-intro { border: none;}
	
	/* menus */
	#small-screen-menu-nav { display: block; }
	.main-column { border: none; }
	.menu-nav { display: none; }
	.menus #page-content { padding-top: 0; }
	
	/* sidebar */
	.main-column { width:96%; clear: both;}
	.sidebar { width:96%; clear: both; border: none; border-top: 10px solid #000; margin-bottom: 0; padding-top: 20px; margin-left: 0;}
	.sidebar .content-block:last-child { padding-bottom: 0; }
	
	/* nav*/
	#large-screen-nav { display: none; }
	#small-screen-nav { display: block; }
	#small-screen-nav.nav { text-align: left; }
	.menus #small-screen-nav.nav { margin-bottom: 0; }
	#small-screen-nav.nav ul li { display: block; float: left; border-left: none; border-right: 1px solid #000; margin-left: 0; position: relative; }
	#small-screen-nav.nav ul li a[ href] { display: inline-block; float: left; padding: 0 10px; font-size: 14px; line-height: 56px;}
	
	/* tools */
	.tools { margin-top: 0; font-size: 11px; }
	
	/* footer */
	#small-screen-footer-nav { display: block; width: 100%; margin-left: 0; margin-right: 0;}
	.footer-restaurant-info { float: left; }
	.footer-restaurant-info, .footer-FP-info { width:96%; clear: both; padding-top: 0; text-align: center; }
	.social-share-tools { display: inline-block; }
	
	/* tools */
	.tools ul li { width:33%; }

}

@media only screen and (max-width: 640px) {

	/* header */
	#logo { padding: 30px 0; }
	#restaurant-name { font-size: 50px; }

	/* homepage */
	.cycle-pager { display: none; }
	
	/* Menus */
	.menu-item-name { width:55%; }
	.course .price { width: 40%; text-align: right; }

	/* photos */
	.gallery-thumbs a { width: 31.875% /*306/960*/; margin: 2px .72916667% /*7/960*/; height: auto;}
	
	/* contact */
	.contact-info { width:96%; clear: both;}
	.contact-form { width:96%; clear: both;}
	.main-column { width:96%; clear: both;}
	
	/* footer */
	.footer-restaurant-info .phone-number strong { display: block; }
	
}

@media only screen and (max-width: 480px) {

	/* header */
	#restaurant-name { font-size: 40px; }
	#tagline { font-size: 12px; }
	
	/* misc. layout */
	.split-column { width: 100%; padding: 0; clear: both; }
	.split-column:first-child { width: 100%; padding: 0 0 20px 0; }
	
	table.logos img, table.logos img.photo-large, table.logos img.photo-small { width: 28%; }
	
	.tools ul { text-align: left; }
	.tools ul li { width:50%; margin: 0; padding: 5px 0; font-size: 11px; }
	
}

@media only screen and (max-width: 300px) {

	/* nav */
	#small-screen-nav.nav ul { min-height: 50px; }
	#small-screen-nav.nav ul li { display: none; }
	#small-screen-nav.nav ul li:first-child, #small-screen-nav.nav ul li:last-child { display: block; }

}

/* retina displays  

@media only screen and (-webkit-min-device-pixel-ratio : 1.5), only screen and (min-device-pixel-ratio : 1.5) {
	
	.tools ul li a[ href] { background-size: 1800px 50px;}
	.twitter {background-position:0 -20px;}
	.facebook {background-position:-300px -20px;}
	.sign-up {background-position:-600px -20px;}
	.reservations {background-position:-900px -20px;}
	.yelp {background-position:-1200px -20px;}
	.blog {background-position:-1500px -20px;}
	
}*/


/* =============================================================================
   Print Styles - from HTML5Boilerplate
   ========================================================================== */
 
@media print {

	* { background: transparent !important; color: black !important; box-shadow:none !important; text-shadow: none !important; filter:none !important; -ms-filter: none !important; } /* Black prints faster: h5bp.com/s */
	a, a:visited { text-decoration: underline; }
	/*a[href]:after { content: " (" attr(href) ")"; }
	abbr[title]:after { content: " (" attr(title) ")"; }
	.ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; }  /* Don't show links for images, or javascript/internal links */
	pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
	thead { display: table-header-group; } /* h5bp.com/t */
	tr, img { page-break-inside: avoid; }
	img { max-width: 100% !important; }
	@page { margin: 0.5cm; }
	p, h2, h3 { orphans: 3; widows: 3; }
	h2, h3 { page-break-after: avoid; }
	
	/* Custom for FP */
	* { border-color: black!important; }
	body { font-size: 12px; line-height: 16px; }
	#restaurant-name { display: block!important; padding: 0!important; }
	.nav,
	.menu-nav,
	#large-screen-header, #small-screen-header, .footer-graphic, .sidebar, .tools { display: none!important; }
	.home-call-out-1, .home-call-out-2, .home-intro { border: none; }
	.main-column { border: none; width: 95%;}
	.footer-wrapper { margin: 0; border-top: 1px solid black; }
	.footer-FP-info, .footer-restaurant-info { padding-top: 20px; }
  
}