/*
	(c)2018 - visuallizard.com

	General Layout Styles.
	Sets major blocking to elements that appear accross the site in different templates.
	All can be removed and started from scratch or elemnts can be adjusted individually.
*/

body {  }
.container {
/*
	Set site maximum width only here and use this class to centre the content in browser window.
	Use "max-width" instead of "width" for auto-responsivness.
*/
	position: relative;
	clear: both;
	margin: 0 auto;
	padding: 0;
}

.full-width {
	width: 100vw;
	position: relative;
	left: 50%;
	right: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
}


header {
	display: block;
	position: relative;
	clear: both;
	float: left;
	width: 100%;
	padding: 0;
	margin: 0;
}


header.ltblue { background: rgba(0,121,196,1); /* background: #afb1b1; */ }
nav.ltblue { background: rgba(0,121,196,1); /* background: #afb1b1; */ }
header.sage { background: rgba(126,172,172,1); }
nav.sage { background: rgba(126,172,172,1); }
header.purple { background: rgba(141,18,83,1); /* background: #9ab4c5; */ }
nav.purple { background:  rgba(141,18,83,1); /* background: #9ab4c5; */ }
header.orange { background: rgba(235,90,30,1); }
nav.orange { background: rgba(235,90,30,1); }
header.blue { background: rgba(0,70,119,1); }
nav.blue { background: rgba(0,70,119,1); }
header.green { background: rgba(0,103,71,1); }
nav.green { background: rgba(0,103,71,1); }
header.yellow { background: rgba(252,182,47,1); }
nav.yellow { background: rgba(252,182,47,1); }
header.red { background: rgba(171,19,30,1); }
nav.red { background: rgba(171,19,30,1); }
header.dkgray { background: rgba(20,20,20,1); }
nav.dkgray { background: rgba(20,20,20,1); }


/* !header search block */
header #search-block {
	display: block;
	position: relative;
	float: left;
	width: 100%;
	padding: 30px 0;
	margin: -90px 0 0 0;
	background: #000;
	-webkit-transition: all 0.25s ease;
	-moz-transition: all 0.25s ease;
	transition: all 0.25s ease;
}
header #search-block.active { margin: 0; }


/* !navigation styles */
nav {
	display: block;
	position: relative;
	clear: both;
	float: left;
	z-index: 2;
	width: 100%;
	padding: 0;
	margin: 0;
	background: #fff;
}
	nav ul.nav-1 {
		display: flex;
		position: relative;
		float: left;
		width: 100%;
		padding: 0;
		margin: 0;
		list-style: none;
		font-family: "nimbus-sans-extended", sans-serif;
		font-size: 12px;
		font-weight: 400;
		letter-spacing: 1px;
	}
		body.board-members nav ul.nav-1,
		body.foundation-board-portal nav ul.nav-1 { width: 40%; }
		nav ul.nav-1 > li {
			display: block;
			position: relative;
			float: left;
			flex-grow: 1;
			padding: 0;
			margin: 0;
		}
		nav ul.nav-1 > li#navigation-1-74 { margin-right: 160px; }
		nav.show ul.nav-1 > li { width: 100%; flex-grow: 0; margin: 0; }
			nav ul.nav-1 > li a {
				display: block;
				position: relative;
				padding: 20px 0;
				margin: 0;
				text-align: center;
				text-decoration: none;
				text-transform: uppercase;
				color: #444;
			}
			nav ul.nav-1 > li#navigation-1-73 a { padding: 20px 10px; }
			nav.show ul.nav-1 > li a { text-align: left; }
			nav.orange ul.nav-1 > li > a,
			nav.red ul.nav-1 > li > a,
			nav.blue ul.nav-1 > li > a,
			nav.green ul.nav-1 > li > a,
			nav.sage ul.nav-1 > li > a,
			nav.ltblue ul.nav-1 > li > a,
			nav.purple ul.nav-1 > li > a,
			nav.dkgray ul.nav-1 > li > a { color: #fff; }
			nav ul.nav-1 > li > a:hover,
			nav ul.nav-1 > li.active > a,
			nav ul.nav-1 > li.has-active > a { text-decoration: underline; /* background: rgba(255,255,255,0.2); */ }
		nav ul.nav-1 > li > ul {
			display: none;
			position: absolute;
			top: 100%;
			left: 1.5em;
			z-index: 1;
			width: 240px;
			padding: 0;
			margin: 0;
			list-style: none;
			background: rgba(175,175,175,1);
		}
		nav.orange ul.nav-1 > li > ul { background: rgba(235,90,30,1); }
		nav.red ul.nav-1 > li > ul { background: rgba(171,19,30,1); }
		nav.yellow ul.nav-1 > li > ul { background: rgba(252,182,47,1); }
		nav.blue ul.nav-1 > li > ul { background: rgba(0,70,119,1); }
		nav.sage ul.nav-1 > li > ul { background: rgba(126,172,172,1); }
		nav.ltblue ul.nav-1 > li > ul { background: rgba(0,121,196,1); }
		nav.green ul.nav-1 > li > ul { background: rgba(0,103,71,1); }
		nav.purple ul.nav-1 > li > ul { background: rgba(141,18,83,1); }
		nav ul.nav-1 > li#navigation-1-75 > ul { left: auto; right: 1.5em; }
		nav ul.nav-1 > li:hover > ul { display: block; }
			nav ul.nav-1 > li > ul > li {
				display: block;
				position: relative;
				clear: both;
				float: left;
				width: 100%;
				padding: 0;
				margin: 0;
			}
				nav ul.nav-1 > li > ul > li > a { padding: 10px; text-align: left; text-transform: capitalize; line-height: 1em; color: #fff; }
				nav ul.nav-1 > li > ul > li > a:hover,
				nav ul.nav-1 > li > ul > li.active > a,
				nav ul.nav-1 > li > ul > li.has-active > a { background: rgba(255,255,255,0.8); color: #000; }
				nav.yellow ul.nav-1 > li > ul > li > a { color: #000; }
		nav ul.nav-1 > li > ul > li > ul {
			display: block;
			position: relative;
			float: left;
			width: 100%;
			padding: 0;
			margin: 0;
			list-style: none;
			background: rgba(255,255,255,0.6);
		}
		nav ul.nav-1 > li > ul > li#navigation-1-20 > ul { display: none; }
			nav ul.nav-1 > li > ul > li > ul > li {
				display: block;
				position: relative;
				clear: both;
				float: left;
				width: 100%;
				padding: 0;
				margin: 0;
			}
			nav ul.nav-1 > li#navigation-1-13 > ul > li > ul > li {
				clear: none;
				width: 32%;
				margin: 0 0 0 2%;
			}
			nav ul.nav-1 > li#navigation-1-13 > ul > li > ul > li:nth-of-type(3n+1) { clear: both; margin: 0; }
				nav ul.nav-1 > li > ul > li > ul > li a { padding: 10px 10px 10px 30px; text-align: left; text-transform: capitalize; line-height: 1em; }
				nav ul.nav-1 > li > ul > li > ul > li a:before {
					content: "-";
					display: block;
					position: absolute;
					margin-left: -20px;
				}
				nav ul.nav-1 > li > ul > li > ul > li > a:hover,
				nav ul.nav-1 > li > ul > li > ul > li.active > a { background: #fff; }
		nav ul.nav-1 > li > ul > li > ul > li > ul {
			display: none;
			position: relative;
			float: left;
			width: 100%;
			padding: 0;
			margin: 0;
			list-style: none;
			background: #ccc;
		}
			nav ul.nav-1 > li > ul > li > ul > li > ul > li {
				display: block;
				position: relative;
				clear: both;
				float: left;
				width: 100%;
				padding: 0;
				margin: 0;
			}
				nav ul.nav-1 > li > ul > li > ul > li > ul > li a { padding: 10px; text-align: left; text-transform: capitalize; line-height: 1em; }

/* !home page blocking */
#notifications {
	display: block;
	position: relative;
	clear: both;
	float: left;
	width: 100%;
	padding: 0;
	margin: 0;
	border-bottom: 1px solid #444;
}
.home-block {
	display: block;
	position: relative;
	clear: both;
	float: left;
	z-index: 1;
	width: 100%;
	padding: 50px 0 0 0;
	margin: 0;
}
#home-promotion { padding-bottom: 50px; text-align: center; background: #ffc400; }
#home-events { z-index: 2; }
#home-food { background: url("../../img/content-background.png") repeat-y center -1200px; background-size: cover; }
#home-subscribe { padding: 1.5em 0 300px 0; background: url("../../img/subscribe-bk.png") no-repeat center bottom; }
#home-social { z-index: 0; padding: 520px 0 50px 0; margin-top: -500px; background: #666; }
#home-social:after {
	content: "";
	display: block;
	position: absolute;
	z-index: -1;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	background: url("../../img/social_bk_temp.jpg") center center fixed;
	background-size: cover;
	opacity: 0.3;
}
#home-sustainability { padding: 0; }
#home-sustainability .container { float: left; left: 50%; padding: 50px 0; margin: 0 0 0 -550px; border-bottom: 1px solid rgba(141,18,83,1); }
#home-support { padding-bottom: 50px; background: url("../../img/support-background.png") no-repeat center -15%; background-size: cover; }
#home-support .container { left: 50%; padding: 0 0 250px 0; margin: 0 0 0 -550px; }

.home-block .container { padding: 0; }


/* !banner layout */
.home-banners {
	display: block;
	position: relative;
	clear: both;
	float: left;
	width: 100%;
	padding: 0;
	margin: 0;
}


/* !content layout */
#content {
	display: block;
	position: relative;
	clear: both;
	float: left;
	width: 100%;
	padding: 0;
	margin: 0;
}
	#content .container,
	#content.dine .container,
	#content.shop .container {
		min-height: 600px;
		padding: 100px 130px 100px 130px;
		float: left;
		left: 50%;
		margin: 0 0 0 -600px;
	}
	#content.signatures .container { padding: 50px 130px 100px 130px; }
	#content.conditions .container { padding: 100px 50px; }
	#content.store .container {
		min-height: 600px;
		padding: 100px 0;
		float: left;
		left: 50%;
		margin: 0 0 0 -600px;
	}
.main-region {
	display: block;
	position: relative;
	clear: both;
	float: left;
	width: 100%;
	padding: 0;
	margin: 0;
}


/* !footer layout */
#footer-navigation {
	display: block;
	position: relative;
	clear: both;
	float: left;
	z-index: 1;
	width: 100%;
	padding: 0;
	margin: 0;
	background: rgba(20,20,20,1);
}
	#footer-navigation .container {
		display: block;
		position: relative;
		float: left;
		left: 50%;
		width: 1200px;
		padding: 0;
		margin: 0 0 0 -600px;
	}
	#footer-navigation img.footer-logo {
		display: block;
		position: absolute;
		top: 0;
		left: 50%;
		width: 160px;
		margin: 0 0 0 -80px;
	}
	body.home #footer-navigation img.footer-logo { display: none; }
	#footer-navigation div.footer-info {
		display: block;
		position: relative;
		float: left;
		width: 18%;
		padding: 0 1.5em 0 0;
		margin: 0;
	}
	#footer-navigation div#f-about { width: 46%; padding: 0 1.5em 0 2.5em; }
footer {
	display: block;
	position: relative;
	clear: both;
	float: left;
	width: 100%;
	padding: 0;
	margin: 0;
	background: rgba(0,0,0,1);
}

/* !footer navigation */
#footer-navigation .menu {
	display: block;
	position: relative;
	clear: both;
	float: left;
	width: 100%;
	padding: 0;
	margin: 0;
}
#footer-navigation ul.menu-list {
	display: flex;
	position: relative;
	float: left;
	width: 100%;
	padding: 0;
	margin: 0 0 50px 0;
	list-style: none;
	font-family: "nimbus-sans-extended", sans-serif;
	font-size: 12px;
	font-weight: 400;
}
	#footer-navigation ul.menu-list > li {
		display: block;
		position: relative;
		float: left;
		flex-grow: 1;
		padding: 0;
		margin: 0;
	}
	#footer-navigation ul.menu-list > li:first-of-type { margin: 0; }
		#footer-navigation ul.menu-list > li a {
			display: block;
			position: relative;
			padding: 20px 0;
			margin: 0;
			text-align: center;
			text-decoration: none;
			text-transform: uppercase;
			color: #fff;
		}
		#footer-navigation ul.menu-list > li#fnav-73 a { padding: 20px 10px; }
		#footer-navigation ul.menu-list > li > a:hover,
		#footer-navigation ul.menu-list > li.active > a { text-decoration: underline; }