/* inserting the weird comment below hides all styles from Netscape 4 */
/*/*/

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { 
	display: block;	/* new elements in html 5; set to block for older browsers */
}

body {
	font-family: garamond, Palatino, Georgia, serif;
	margin-top: 0;
	margin-left: 0;
	margin-right: 0;
	padding-left: 1em;
	padding-right: 1em;
	font-size: 100%;	/* to avoid em unit bugs in MSIE 6 */
}

nav, header > div {
	color: #fda;
	background-color: #680000;
	margin-left: -1em;
	margin-right: -1em;
}

header > div {
	white-space: nowrap;
	overflow: hidden;
}

@media screen and (max-device-width: 480px) {
	header > div > img + img {
		display: none;
	}

}

nav > ul {
	margin-top: 0;
	padding-top: .2em;
	margin-bottom: .2em;
	margin-left: .6em;  /* body padding - nav a padding */
	padding-left: 0;
}

nav > ul > li {
	display: inline;
	white-space: nowrap;
}

nav > ul > li > a, nav > ul > li > span {
	padding-left: .4em;
	padding-right: .4em;
}


nav > ul > li > a {
	color: #f5b800;
	background-color: #680000;
	text-decoration: none;
	text-shadow: 1px 1px 1px #444;
	border-radius: 4em;
}

nav > ul > li > a:hover {
	text-shadow: 1px 1px 1px #fff;
}


@media screen and (min-device-width: 481px) {
	nav > ul > li {
		font-size: 120%;
		padding-right: .5em;
	}
}

h1, h2 {
	color: #680000;
	background-color: #fff;
	font-weight: normal;
	text-shadow: 1px 1px 0px #aaa;
}

hgroup > h1 {
	text-transform: lowercase;
	margin-bottom: 0;
}

hgroup > h2 {
	margin-top: 0;
	font-style: italic;
	font-size: 125%;
}

header > h1 > span, header > hgroup > h1 > span  {
	font-style: italic;
}

body > section > h1, body > article > h1 {
	font-size: 150%;
}

section > h1, article > h1 {
	font-style: italic;
}

body > section > h1, body > article > h1 {
	border-bottom: 2px solid black;
}

h1:target {
	color: #680000;
	background-color: #ccc;
}

h1:target:before, th[scope=rowgroup]:target > span:before {
	content: "\2192 ";
	padding-right: .5em;
}

p, li, dd {
	max-width: 38em;
}

p, li {
	line-height: 1.4em;
}

li {
	margin-bottom: .5em;
}

img, object, video {
  max-width: 99%;
}

figure > img {
	border: 1px solid #680000;
}

.notabene {
	padding: .5em 1em;
	color: black;
	background-color: #dbb;
	background-color: rgba(104, 0, 0, .2);
	box-shadow: 2px 2px 0px #555;
} /* highlighted p elements */

h1 > abbr {
	border-bottom: none;
}

footer > p {
	clear: both;
	margin-top: 2em;
}

@media only screen and (min-device-width: 481px) {
	footer > p {
		max-width: 100%;
		text-align: center;
	}
}

small {
	color: #888;
	background-color: #fff;
}

address {
	margin-top: 2em;
}

address > div.fn.org {
	margin-top: 2em;
}

address > p > a > img {
	vertical-align: bottom;
}

.httpError > header > p {
	font-size: 120%;
	border: 1px dashed;
	padding: .4em;
	margin-bottom: 0;
	display: table;
	color: #680000;
	background-color: #ff0;
}

/* anchor links */

a:hover {
	color: #680000;
	background-color: #f5b800;
	text-decoration: none;
}

a:active {
	color: #680000;
	background-color: #ffcc00;
}

/* -------------------- */

/*	home	*/

.payments {
	margin-left: 0;
	padding-left: 0;
}

.payments > li {
	display: inline;
}

.home > article > img {
	border: 1px solid #680000;
	padding: 4px; 
}

@media screen and (min-device-width: 481px) {
	.home > article > img {
		float: left;
		margin-right: 10px;
		margin-bottom: 10px;
	}
}

.dtend > span {
	display: none;
}


/* -------------------- */


/* bar */

/* happy hour */

.beers > section > ul {
	list-style-type: none;
	margin-left: 0;
	padding-left: 0;
}

.bar> img, .happyHour > img {
	border: 2px solid #680000;
}

.beers > section > ul > li, dt {
	font-variant: small-caps;
}

dt {
	margin-top: 1em;
	font-size: 110%;
}

dd {
	margin-left: 0;
	padding-left: 0;
	font-style: italic;
}


/* contact */

.contact address {
	font-style: normal;
}

form[action="/contact/send"] > p > label > input, form[action="/contact/send"] > p > label > textarea {
	display: block;
}

.sent > table th {
	text-align: right;
	white-space: nowrap;
}

.sent > table tr:last-child > th {
	vertical-align: top;
}

.sent td > p {
	margin-top: 0;
}


/* dining and large parties */

.largeParties > section > div, .pdr>div	{
	max-width: 48em;
}

.largeParties > section > div > figure, .pdr > div > figure {
	width: 340px;
	float: right;
	clear: right;
	border: 2px solid black;
	padding-top: 23px;
	padding-bottom: 15px;
	color: #444;
	background-color: #fff;
	font-style: italic;
	text-align: center;
}


/* info */

.info > section > figure {
	display: inline-block;
	text-align: center;
	width: 240px;
}

/* map */

#streetmap > img {
	border: 2px solid #680000;
}

.map > ol {
	list-style-type: none;
}


/* menus */

.menusOverview > ul {
	margin-left: 0;
	padding-left: 0;
	font-size: 120%;
	list-style-type: none;
}

@media screen and (min-device-width: 481px) {
	.menusOverview > ul > li {
		display: inline-block;
		margin-right: 1.5em;
	}
}

.menusOverview > blockquote {
	color: #a77;
	background-color: #fff;
	font-size: 105%;
}

@media only screen and (max-device-width: 480px) {
	.menusOverview > blockquote {
		margin-left: 0;
	}
}


.menu > table {
	border-collapse: collapse;
	margin-bottom: 4em;
	max-width: 55em;
}

.menu > table > thead {
	display: none;	 /* in visual rendering, thead headers can be inferred */
}

.menu > table th[scope=rowgroup] {
	padding-left: 0;	/* remove default padding */
	padding-right: 0;	/* remove default padding */
	padding-bottom: 0;	/* remove default padding */
	text-align: left;		 /* change default center alignment of th */
	font-weight: normal;		 /* change default bold font-weight of th */
}

.menu > table > tbody + tbody th[scope=rowgroup] {
	padding-top: 4em;	/* add spacing between table sections */
}

.menu > table th > span {
	display: block;
	font-size: 140%;
	font-style: italic;
	color: #fda;
	background-color: #680000; /* invert color scheme for menu section headings */
	padding-left: .3em;
	padding-right: .3em;
	border-top: 2px solid black;	 /* border above menu section headings */
	border-right: 2px solid black;	 /* extend vertical border between columns up */
	margin-right: -1px;						/* negative margin so borders lines up */
}

.menu > table tr:first-child {
	border-bottom: 2px solid; /* border below menu section heading */
}

.menu > table tr + tr > th {
	border-right: 2px solid; /* vertical border between item and description */
	text-align: right;		 /* change default center alignment of th */
}

.menu > table tr + tr > th, .menu > table td {
	vertical-align: top;
	padding: .8em;	 /* add spacing to make table more readable */
}

.priced > table td:last-child {
	text-align: right;	/* right align prices in last column */
}

.menu > table td > p {
	margin-top: 0;
	margin-bottom: 0;
}	/* gluten free menu allergy warnings */

.menu > table td[title] {
	padding-left: 1em; /* border below menu section heading */
	padding-right: 1em; /* border below menu section heading */
}

.wine th > span {
	width: 50%;
	min-width: 7em;
}

.wine .newCategory > td {
	padding-top: 2em;
}

.wine > table td {
	padding-left: 0;	 /* left-justify first column */
}

#allergywarning > strong {
	color: black;
	background-color: #ccc;
}

#allergywarning:target > strong {
	color: black;
	background-color: yellow;
}

#healthwarning {
	border: 1px solid #ddd;
	padding: .5em 1em;
}

#healthwarning:target {
	color: black;
	background-color: #ddd;
	border-color: #680000;
}



/* recipes */

.hrecipe > section > ul, .hrecipe > section > section > ul {
	margin-left: 0;
	padding-left: 0;
	list-style-type: none;
}

body[itemtype="http://schema.org/Recipe"] > h1[itemprop="name"]:after {
	content: " recipe";
	font-style: italic;
}

/* urban spoon */

#tenUrbanSpoon {
	max-width: 18em;
}

/* wineDinner */

.wineDinner > section:first-of-type {
	font-size: 110%;
}

.wineDinner > .reservations {
	color: #222;
	background-color: #ddd;
	padding: .5em;
	display: table;
	box-shadow: 4px 4px 4px #777;
}

.wineDinner > .reservations > p > .location > .address {
	display: none;
} /* restaurant street address in section.reservations, included for microdata purposes */

.wineDinner > section > p > img {
	float: right;
	margin: 0 0 15px 15px;
}


/* site */

ins:after {
	content: " ✎ to do ";
	color: #680000;
	background-color: #fff;
}

del:after {
	content: " ✓ done! ";
	color: #0c0;
	background-color: #fff;
	text-decoration: none;
	display: block;
}


