/* Reset */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0; padding: 0; border: 0; outline: 0;
	font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; }
/* remember to define focus styles! */
:focus { outline: 0; }
body { line-height: 1; color: #000; background: white; }
ol, ul { list-style: none; }
/* tables still need 'cellspacing="0"' in the markup */
table { border-collapse: separate; border-spacing: 0; }
blockquote:before, blockquote:after, q:before, q:after { content: ""; }
blockquote, q { quotes: "" "";}

/* Structure */
body {
	position: relative;
	font-family: montserratsemi_bold, mono;
	color: #FFF; letter-spacing: 1px;
	background: #000;
}
html, body {
    width: 100%; height: 100%;
}
#header {
	width: 100%;
	position: fixed; top: 0; z-index: 100;
	font-size: 16px; line-height: 16px; text-transform: uppercase;
	background-color: #ffe268;
}
	#header .intro {
		width: 100%;
		position: absolute; top: 0; z-index: 101;
	}
		#header h1 {
			padding-top: 30px;
			text-align: center;
		}
			#header h1 img {
				width: 320px;
				display: inline-block;
			}
		#header p {
			margin: 20px 0 0 0;
			font-size: 16px; line-height: 20px; color: #000; text-align: center;
		}
	#header .nav.main {
		padding: 30px 0 40px 50px;
		position: relative; z-index: 102; float: left;
	}
	#header .contact-details {
		padding: 30px 50px 40px 0;
		position: relative; z-index: 102; float: right;
		font-size: 17px; line-height: 21px; text-align: right;
	}
	#header .contacts,
	#header nav.secondary {
		display: none;
	}
		#header .contact-details p {
			margin: 0;
		}
	#header .contact-details.responsive {
		width: 100%; margin: 10px 0 20px 0; padding: 0 20px;
		display: none;
		text-align: center;
	}
	#header ul,
	.bottom-panel ul,
	#header li,
	.bottom-panel li {
		display: block;
	}
	#header a {
		margin: 3px 0 0 0;
		display: block;
		color: #000; text-decoration: none;
	}
		#header a:hover {
			color: #FFF;
		}
	#header .social a {
		margin: 4px 2px 0 2px;
		display: inline-block;
	}
		#header .social img {
			width: 30px; height: auto;
		}
	/* Bottom links */
	.bottom-panel {
		width: 100%;
		position: fixed; bottom: 0; z-index: 99;
	}
		.nav.secondary {
			position: absolute; bottom: 0; z-index: 100;
		}
		.nav.secondary.left {
			padding: 50px 0 30px 50px;
			left: 0;
		}
		.nav.secondary.right {
			padding: 50px 50px 30px 0;
			right: 0;
		}
			.nav.secondary.right li {
				float: right; clear: right;
			}
	.bottom-panel a {
		margin: 4px 0 0 0;
		display: block;
		font-size: 16px; line-height: 16px; text-transform: uppercase; text-decoration: none;
	}
		.bottom-panel a:hover {
			color: #ffe268;
		}
	.bottom-panel .social a {
		margin: 4px 0 10px 10px;
		display: inline-block;
	}
		.bottom-panel .social img {
			width: 30px; height: auto;
		}
	
/* Main menu */
#main-menu {
	display: none;
}
	#main-menu img {
		cursor: pointer;
	}

/* Layout */
#main {
	width: 100%; padding-left: 150px; padding-right: 150px;
	position: absolute; bottom: 0;
}
section {
	width: 100%; margin: 150px 0;
	text-align: center;
}
#hours {
	margin: 0 0 150px 0;
	display: table;
	text-transform: uppercase;
}
	#hours .row.top {
		height: 70%;
		display: table-row;
	}
	#hours .row.bottom {
		height: 30%;
		display: table-row;
	}
		#hours .cell {
			display: table-cell;
			vertical-align: middle;
		}
		#hours .row.top .cell.bottom {
			vertical-align: bottom;
		}
			/*#main #hours p {
				font-size: 32px; line-height: 38px;
			}*/
			#main #hours p {
				font-size: 24px; line-height: 32px;
			}
			img.arrow {
				margin: 20px auto 50px auto;
				display: block;
			}
	
/* Reservations */
#reservations {
	padding-top: 40px;
	background-color: #CCC;
}
	#reservations h2 {
		color: #000;
	}
	.reservations-text {
		display: block;
		padding: 0 30px;
	}
iframe#eveve {
	height: 480px;
	text-align: center;
}
	
/* Menus */
#menus {
}
.menu-btn a {
	padding-bottom: 1px;
	color: #ffe268; text-decoration: none;
	border-bottom: 1px dotted #ffe268;
}
	.menu-btn a:hover {
		color: #FFF;
		border-bottom: 1px dotted #FFF;
	}
	#menus .divider {
		margin: 50px 0;
	}
	#menus table {
		width: 100%; max-width: 550px; margin: 0 auto 20px auto;
		font-size: 13px; line-height: 16px;
	}
		#menus td {
			vertical-align: bottom;
			border-bottom: 1px dotted #FFF;
		}
		#menus td.title {
			width: 100%; padding: 10px 0 0 0;
			text-align: left;
			border: 0;
		}
		#menus td.item {
			width: 75%; padding: 10px 5% 10px 0;
			text-align: left;
		}
		#menus .set td.item {
			width: 100%; padding: 10px 0 10px 0;
		}
		#menus td.price {
			width: 20%; padding: 10px 0 10px 0;
			text-align: right;
		}
		
/* Images */
#images a {
	margin: 2px 1px;
	display: inline-block;
}
#images img {
	display: block;
}

/* Vouchers */
#vouchers {
	text-align: center;
}
#vouchers .voucher {
	width: 33%; padding: 0 18px;
	display: inline-block;
}
#vouchers h3 {
	font-size: 17px; line-height: 17px;
}
#vouchers .voucher table {
	width: 100%; margin-bottom: 10px;
}
	#vouchers .voucher table td {
		padding: 5px 0;
	}
.voucher input {
	max-width: 120px; margin: 0 auto;
	display: block;
}
.voucher td input {
	max-width: none; width: 90%;
}

/* Typography */
#main {
	text-transform: uppercase;
}
h2 {
	margin: 15px 0 30px 0;
	font-size: 36px; line-height: 40px; color: #FFF;
}
h3 {
	margin: 15px 0;
	font-size: 24px; line-height: 28px; color: #FFF; text-decoration: underline;
}
h4 {
	font-size: 18px; line-height: 22px; color: #666;
}
#main p {
	margin: 0 0 8px 0;
	font-size: 14px; line-height: 19px; text-align: center;
}
.center {
	margin: 0 0 20px 0;
}
.center p {
	text-align: center;
}
a {
	color: #FFF;
}
	a:hover {
		color: #ffe268;
	}
strong {
	font-weight: bold;
}
sup {
	font-size: 50%; font-weight: bold;
	text-decoration: underline;
	vertical-align: super;
}

/* Stuff and things */
.clearme:after {
	display: block; content: ""; clear: both;
}
.clear {
	clear: both;
}
.fit {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.hidden {
	display: none;
}
img.woodcut {
	width: 100%; max-width: 400px; margin: 0 auto;
	display: block;
}
p.up {
	padding: 150px 0 50px 0;
}

/* Login page */
#header.Login {
	height: 150px;
}
.login h1 {
	width: 50%; max-width: 300px; margin: 0 auto; padding: 60px 0;
	display: block;
}
	.login h1 img {
		width: 100%;
	}
#MemberLoginForm_LoginForm {
	text-align: center;
}
	#MemberLoginForm_LoginForm label {
		font-weight: bold;
	}
	#MemberLoginForm_LoginForm .middleColumn {
		padding: 8px 0 20px 0;
	}
		#MemberLoginForm_LoginForm .middleColumn input {
			width: 100%; max-width: 300px;
			font-family: Courier, "Courier New", mono;
			font-size: 14px; line-height: 18px;
			-moz-box-sizing: border-box;
			-webkit-box-sizing: border-box;
			box-sizing: border-box;
		}
	#MemberLoginForm_LoginForm_Remember_Holder,
	.Actions,
	p#ForgotPassword {
		margin: 10px 0;
	}

/* --------------- Responsive styles */
@media screen and (max-width: 860px)  {
	/* Vouchers */
	#vouchers .voucher {
		padding: 0 6px;
	}
	#vouchers .voucher h3 {
		font-size: 15px; line-height: 15px;
	}
	.voucher input {
		max-width: 100px;
	}
}
@media screen and (max-width: 800px)  {
	#header h1 img {
    	width: auto; height: 24px;
	}
	#header p {
		margin: 10px 0 0 0;
	}
}
@media screen and (max-width: 768px)  {
	#main-menu {
		width: 24px; height: 24px; margin: 0 20px 0 0;
		display: inline-block; overflow: hidden;
	}
	#header .intro {
		margin: 20px 0;
		position: relative; top: auto;
		text-align: center;
	}
		#header .intro h1 {
			padding-top: 10px;
			display: inline-block;
		}
		#header .contacts {
			padding: 0 15px;
			display: block;
		}
	#header .contact-details {
		display: none;
	}
	#header .nav.main {
		padding: 0;
		display: none; float: none;
		text-align: center;
	}
	.bottom-panel {
	   display: none;
	}
	#header nav.secondary {
		width: 100%; margin-bottom: 20px;
		display: none; position: relative; bottom: auto;
		text-align: center;
	}
	#header.closed .nav.main,
	#header.closed nav.secondary {
		display: block;
	}
	#main {
		padding-left: 50px; padding-right: 50px;
	}
	/* Vouchers */
	#vouchers .voucher {
		width: 100%;
	}
	#vouchers form {
		margin: 0 0 36px 0;
	}
}
@media screen and (max-width: 480px)  {
	#main {
		padding-left: 15px; padding-right: 15px;
	}
	#images a {
    	max-width: 90%;
	}
		#images a img {
			width: 100%;
		}
}