/*===========================================================================*

	written by:
	* julian at visuallizard dot com
	updated by:
	* ross at visuallizard dot com
	* max at visuallizard dot com

	(c)2011 - visuallizard.com
	
	#343 =>	#33483a	=>	Green
	#ac0 => #a6c500 =>	Lime
	#d63 =>	#d96d37 =>	Orange

*===========================================================================*/
* { box-sizing: border-box; }
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, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}


.clearfix:before, .clearfix:after { content: "\0020"; display: block; height: 0; visibility: hidden; } 
.clearfix:after { clear: both; }
.clearfix { zoom: 1; }


body.debug:before {
	content: attr(class);
	position: fixed;
	top: 0px;
	right: 10px;
	color: #eee;
}

body {
	background: #fff;
	color: #444;
	margin: 0;
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 1rem;
	font-weight: normal;
	line-height: 1;
	text-rendering: optimizeLegibility;
	overflow-y: scroll;
}

h1, h2, h3, h4, p, ul, ol, form {
	margin: 0 0 0.625rem 0;
}

h1, h2, h3, h4 {color: #343;}
h1 {font-size: 2.75rem; margin-bottom: 1.25rem; }
h2 {font-size: 2.25rem; font-weight: bold; margin-bottom: 0.625rem; }
h3 {font-size: 1.875rem; margin-bottom: 0.625rem; }
h4 {font-size: 1.325rem; margin-bottom: 0.625rem; }
h5 {font-size: 1.25rem; margin-bottom: 0.625rem; }
h6 {font-size: 1.125rem; margin-bottom: 0.625rem; }
p, li, dt, dd { line-height: 1.5; }

ul, ol {
	padding: 0 0 0 25px;
	margin: 0 0 15px 0;
	list-style-type: square;
}
ol {
	list-style-type: decimal;
}
	ul ul {
		margin-left: 25px;
		margin-bottom: 0;
	}
	
li {
	margin: 0 0 .25em 0;
}

strong, b {
	font-weight: bold;
}
em, i {
	font-style: italic;
}
img {
	display: block;
	border: 0;
}

.img_right,
.img-right {
	display: block;
	position: relative;
	float: right;
	padding: 0;
	margin: 0 0 1em 1em;
}

.img_left,
.img-left {
	display: block;
	position: relative;
	float: left;
	padding: 0;
	margin: 0 1em 1em 0;
}

acronym {
	border-bottom: 1px dotted #333;
	cursor: help;
}

blockquote {
	font-size: 1.25rem;
	font-style: italic;
	line-height: 1.5;
	margin: 0 0 0 1.5em;
}
	blockquote:before {
		content: "“";
		float: left;
		font-size: 2em;
		margin-top: 0.1em;
		opacity: 0.5;
		text-indent: -0.8em;
	}
cite {
	display: block;
	font-style: normal;
	letter-spacing: 1px;
	text-transform: uppercase;
}
	cite:before {
		content: "-";
		font-size: 14px;
		font-weight: bold;
		opacity: 0.5;
		text-indent: 15px;
	}
dl {
	margin: 1.45em 0;
}
dt {
	border-bottom: 1px dotted #999999;
	font-size: 1.125rem;
	font-weight: bold;
	letter-spacing: 1px;
	margin-top: 1.5em;
	text-transform: uppercase;
	word-spacing: 0.1em;
}
dt:before {
	content: "⟩";
	float: left;
	font-size: 1.25rem;
	font-weight: normal;
	text-indent: -1em;
}
dd {
	font-size: 1rem;
	font-style: italic;
	margin-bottom: 1.65em;
}

a {
	overflow: hidden; /* chase away the marquee that gets drawn around the text on an a tag even when you have a specific h x w - FF.Camino.Opera draw this extra marquee as a user cue. */
	color: #d63;
	color: #e51837;
	text-decoration: none;
}
a:hover {
	text-decoration: underline;
}

.last {margin-right:0;}

.w5 { width: 5%; }
.w10 { width: 10%; }
.w15 { width: 15%; }
.w20 { width: 20%; }
.w25 { width: 25%; }
.w30 { width: 30%; }
.w35 { width: 35%; }
.w40 { width: 40%; }
.w45 { width: 45%; }
.w50 { width: 50%; }
.w55 { width: 55%; }
.w60 { width: 60%; }
.w65 { width: 65%; }
.w70 { width: 70%; }
.w75 { width: 75%; }
.w80 { width: 80%; }
.w85 { width: 85%; }
.w90 { width: 90%; }
.w95 { width: 95%; }
.w100 { width: 100%; }

.h1 { height: 1em; }
.h2 { height: 2em; }
.h3 { height: 3em; }
.h4 { height: 4em; }
.h5 { height: 5em; }
.h6 { height: 6em; }
.h7 { height: 7em; }
.h8 { height: 8em; }
.h9 { height: 9em; }
.h10 { height: 10em; }
.h11 { height: 11em; }
.h12 { height: 12em; }
.h13 { height: 13em; }
.h14 { height: 14em; }
.h15 { height: 15em; }
.h16 { height: 16em; }
.h17 { height: 17em; }
.h18 { height: 18em; }
.h19 { height: 19em; }
.h20 { height: 20em; }

.block { display: block; }
.inline { display: inline; }
.hidden { display: none; }

.left { text-align: left; }
.right { text-align: right; }
.center { text-align: center; }

input, select, textarea {
	font: 1em/1.3em Verdana, Arial, Helvetica, sans-serif;
}

	input.inline, 
	select.inline, 
	textarea.inline {
		display: inline;
		margin-right: 0.5em;
	}
	
	div.datetime input, 
	div.datetime select {
		display: inline;
	}



/* !root site styles */
#wrapper {
	
}
	.inside {
		width: 960px;
		margin: 0 auto;
	}
	header {
		background: #343434;
		background: #fff;
		/* background: #0161ab; */
	}
	header h1 {
		margin: 0;
		padding: 0;
		max-width: 960px;
	}
		header h1 a {
			display: block;
			padding: 0;
			margin: 0;
			text-indent: -9999em;
			width: 960px;
			height: 80px;
			background: url("../../img/header_title.png") 0 0 no-repeat transparent;
		}
	header nav {
		background: #ac0;
		background: #e51837;
		color: #fff;
		height: 42px;
	}
	header .date {
		clear: both;
		text-align: right;
		background: #fff;
		padding: 10px 0;
	}
	
	
/* Navigation */
	header nav ul {
		display: flex;
		position: relative;
		justify-content: center;
		width: 100%;
		margin: 0 auto;
		padding: 0;
		list-style: none;
	}
	header nav ul li {
		display: block;
		position: relative;
		margin: 0;
		padding: 0;
		border-left: 1px solid #ae142b;
	}
	header nav ul li#nav_li_item_31,
	header nav ul li#nav_li_item_141,
	header nav ul li#nav_li_item_143 { display: none; }
		header nav ul li a {
			display: block;
			position: relative;
			margin: 0;
			padding: 0.5em 1em;
			line-height: 1.5;
			text-transform: uppercase;
			text-decoration: none;
			color: #fff;
			border-right: 2px solid #f52141;
			z-index: 0;
		}
		header nav ul li:hover a,
		header nav ul li.at a {
			z-index: 1000;
			text-decoration: none;
			background: #343;
			color: #fff;
		}
		header nav ul li#nav_li_item_131,
		header nav ul li:last-child a {
			border-left: none;
			border-right: none;
		}
		
		/* drop-downs */
		header nav ul ul {
			display: none;
			height: auto;
		}
		header nav ul li:hover ul {
			display: block;
			position: absolute;
			left: 0;
			top: 100%;
			width: 240px;
			background: #e51837;
			border-top: 5px solid #343;
		}
			header nav ul ul li {
				display: block;
				position: relative;
				margin: 0;
				padding: 0;
				border: 0;
				float: none;
				height: auto;
			}
			header nav ul li:hover ul li a {
				display: block;
				margin: 0;
				padding: 7px 20px;
				border: 0;
				border-bottom: 1px solid #fff;
				font-size: 14px;
				background: #343;
				-moz-box-shadow: none;
				-webkit-box-shadow:none;
				box-shadow:none; 
			}
			header nav ul li:hover ul li:hover a {
				display: block;
				margin: 0;
				padding: 7px 20px;
				border: 0;
				border-bottom: 1px solid #fff;
				background: #e51837;
				text-decoration: none;
			}
			header nav ul li:hover ul ul {
				display: block;
				position: relative;
				left: auto;
				top: auto;
				border: none;
			}
				header nav ul ul ul li {
					position: relative;
					margin: 0;
					padding: 0;
					border: 0;
					float: none;
					height: auto;
				}
				header nav ul li:hover ul ul li a,
				header nav ul li:hover ul li:hover ul li a {
					display: block;
					margin: 0;
					padding: 7px 5px 7px 40px;
					border: 0;
					border-bottom: 1px solid #fff;
					font-size: 14px;
					background: #343;
					-moz-box-shadow: none;
					-webkit-box-shadow:none;
					box-shadow:none; 
				}
				header nav ul li:hover ul li:hover ul li:hover a {
					display: block;
					margin: 0;
					padding: 7px 5px 7px 40px;
					border: 0;
					border-bottom: 1px solid #fff;
					background: #ac0;
					background: #e51837;
					text-decoration: none;
				}
		

	#content {
		display: flex;
		position: relative;
		flex-direction: column;
		width: 100%;
		padding: 2em 10%;
		min-height: 500px;
	}
		#featured {
			display: block;
			position: relative;
			width: 100%;
			padding: 0;
			margin: 0;
		}
			#featured div.banner {
				display: flex;
				position: relative;
				flex-wrap: nowrap;
				width: 100%;
				padding: 0;
				margin: 0;
			}
				#featured div.banner > a {
					display: block;
					position: relative;
					width: 60%;
					padding: 0;
					margin: 0;
				}
					#featured div.banner > a img {
						display: block;
						position: relative;
						width: 100%;
						height: auto;
						padding: 0;
						margin: 0;
					}
				#featured div.banner div.block {
					display: block;
					position: relative;
					width: 40%;
					padding: 1em;
					margin: 0;
				}
		#slots {
			display: flex;
			position: relative;
			flex-wrap: wrap;
			justify-content: space-between;
			width: 100%;
			padding: 0;
			margin: 0;
		}
			.slot {
				display: block;
				position: relative;
				width: 73%;
			}
			.slot.slot-3 {
				display: block;
				position: relative;
				width: 25%;
				margin: 0;
			}
		
		
		#main {
			display: block;
			position: relative;
			width: 68%;
			padding: 0;
			margin: 0;
		}
			#main img { max-width: 100%; }
			#main table {
				margin: 0 0 1.5em 0;
			}
				#main table th,
				#main table td {
					padding: 0.5em;
					border-bottom: 1px solid #444;
					text-align: left;
				}
				#main table th {
					font-weight: 600;
				}
				#main table tr th:first-child,
				#main table tr td:first-child {
					width: 25%;
				}
		
		#side {
			display: block;
			position: relative;
			width: 30%;
			margin: 0;
		}
			.promo-link {
				display: block;
				margin-bottom: 10px;
			}
				.promo-link img {
					display: block;
					position: relative;
					width: 100%;
					height: auto;
				}
			#map {
				display: block;
				position: relative;
				width: 100%;
				height: auto;
				margin: 0 0 10px 0;
				padding: 0;
				border: 1px solid #ac0;
				overflow: hidden;
			}
			#map img {
				display: block;
				position: relative;
				width: 100%;
				max-height: 200px;
			}

	/* Footer */
	footer {
		display: flex;
		position: relative;
		flex-wrap: nowrap;
		width: 100%;
		padding: 1em 10%;
		background: #0161ab;
		
	}
		footer .address {
			display: block;
			position: relative;
			width: 50%;
			padding: 0;
			margin: 0 0 1.5em 0;
			color: #fff;
		}
		footer .address a {
			color: #fff;
			text-decoration: none;
		}
		footer .address a:hover {
			text-decoration: underline;
		}
		
		/* Footer Navigation */
		footer .nav-footer_1 {
			display: block;
			position: relative;
			width: 50%;
			padding: 0;
			margin: 0;
		}
		footer .nav-footer_1 li {
			display: block;
			margin: 0;
			padding: 0;
			list-style: none;
			line-height: 25px;
		}
		footer .nav-footer_1 li#nav-footer_li_item_31,
		footer .nav-footer_1 li#nav-footer_li_item_127,
		footer .nav-footer_1 li#nav-footer_li_item_131,
		footer .nav-footer_1 li#nav-footer_li_item_133,
		footer .nav-footer_1 li#nav-footer_li_item_161,
		footer .nav-footer_1 li#nav-footer_li_item_177,
		footer .nav-footer_1 li#nav-footer_li_item_191,
		footer .nav-footer_1 li#nav-footer_li_item_201 { display: none; }
		footer .nav-footer_1 a {
			font: bold 1rem/1.2 "Helvetica Neue", Helvetica, Arial, sans-serif;
			color: #fff;
			padding: 0;
			margin: 0;
			text-transform: uppercase;
			text-decoration: none;
		}
			footer .nav-footer_1 li.on a,
			footer .nav-footer_1 li a:hover {
				text-decoration: underline;
			}
/*
		footer .nav-footer_1 li ul {
			display: inline;
			margin: -7px 0 0 0;
			padding: 0;
		}
			footer .nav-footer_1 li ul:before {
				content: ": ";
			}
		footer .nav-footer_1 li li {
			display: inline;
			margin: 0;
		}
		footer .nav-footer_1 li li a {
			display: inline;
			text-transform: none;
			text-decoration: underline;
			font-weight: normal;
			margin: 0;
			padding: 0 5px 0 0;
			line-height: 1;
		}
*/
		
		

/*=============================================================================*
	CakePHP Debug SQL table
*=============================================================================*/

table.cake-sql-log {
	width: 980px;
	margin: 2em auto;
	
	color: #000;
	text-align: left;
	
	border-top: 1px solid #000;
	border-left: 1px solid #000;
}

table.cake-sql-log td,
table.cake-sql-log th {
	border-bottom: 1px solid #000;
	border-right: 1px solid #000;
	padding: 0.5em;
}

table.cake-sql-log caption {
	text-align: center;
	color: #fff;
	font-weight: bold;
	font-size: 1.5em;
	background-color: #000;
	padding: 0.5em;
}

/*=============================================================================*
	Specific Items
*=============================================================================*/
/* Buttons */
.button {
	cursor: pointer;
	display: inline-block;
	background-color: #fff;
	padding: 4px 14px;
	text-transform: uppercase;
	text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
	color: #343;
	font-size: 13px;
	font-weight: bold;
	line-height: 18px;
	border: 1px solid #0161ab;
	-webkit-border-radius: 1px;
	-moz-border-radius: 1px;
	border-radius: 1px;
	-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
	-moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
	-webkit-transition: 0.1s linear all;
	-moz-transition: 0.1s linear all;
	transition: 0.1s linear all;
}



/* Home: Featured */
#featured {
	border-bottom: 10px solid #ac0;
	border-bottom: 10px solid #0161ab;
	margin-bottom: 10px;
	background: #eee;
	overflow: hidden;
}
	#featured img {
		width: 640px;
		height: 380px;
		float: left;
	}
	#featured div.block {
		width: 280px;
		padding: 20px;
		float: right;
	}

/* Home: Slots */
.slot h2 {
	color: #fff;
	padding: 10px 20px;
	background: #ac0;
	background: #0161ab;
	font-size: 1.8em;
	margin: 0;
}

.latest {
	outline: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}
	.latest li {
		margin: 0;
		padding: 20px;
		border-bottom: 2px solid #fff;
		background: #eee;
	}
		.latest li .title {
			color: #343;
			font-size: 15px;
			margin: 0;
		}
		.latest li .brief,
		.latest li .date,
		.latest li .more {
			display: block;
		}
		.latest li .date {

			font-size: smaller;
			font-weight: bold;
			margin-bottom: 0.2em;
		}
		.latest li .more {
			text-align: right;
			color: #343;
			text-transform: uppercase;
		}

.event-latest p {
	padding: 20px 10px;
	margin: 0;
	overflow: hidden;
}
	.event-latest p.alt {
		background: #eee;
	}
	
	.event-latest .date,
	.event-latest .title {
		display: block;
		float: left;
		padding: 0 5px;
		width: 30%;
	}
	.event-latest .title {
		width: 60%;
	}
	
	p.date {
		margin-bottom: 0;
		font-weight: bold;
	}