/* !-- Menu -- */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
#menu {
	font-weight: 700;
	text-transform: uppercase;
	position: absolute;
	bottom: 0;
	left: 330px;
	height: 50px;
	-webkit-transition: left .25s ease-in-out;
	-moz-transition: left .25s ease-in-out;
	-ms-transition: left .25s ease-in-out;
	-o-transition: left .25s ease-in-out;
	transition: left .25s ease-in-out;
}
#page.snap-menu #menu { top: -16px; }

@media (max-width: 1919px) {
	#menu {
		left: 207px;
	}
}
#menu .menu-bar {
	width: 0;
	height: 0;
	position: relative;
	overflow: hidden;
}
#menu #menu-button {
	background: url(../img/interface/header-menu-button.png) 50% 50% no-repeat;
	background-size: auto !important;
	width: 76px;
	height: 70px;
	display: block;
	position: absolute;
	top: 0;
	right: -76px;
	opacity: 0;
	-webkit-transform: translateX(-76px);
	-webkit-transition-property: -webkit-transform, opacity;
	-webkit-transition-duration: .25s;
	-webkit-transition-timing-function: ease-in-out;
	-moz-transform: translateX(-76px);
	-moz-transition-property: -moz-transform, opacity;
	-moz-transition-duration: .25s;
	-moz-transition-timing-function: ease-in-out;
	-ms-transform: translateX(-76px);
	-ms-transition-property: -ms-transform, opacity;
	-ms-transition-duration: .25s;
	-ms-transition-timing-function: ease-in-out;
	-o-transform: translateX(-76px);
	-o-transition-property: -o-transform, opacity;
	-o-transition-duration: .25s;
	-o-transition-timing-function: ease-in-out;
	transform: translateX(-76px);
	transition-property: transform, opacity;
	transition-duration: .25s;
	transition-timing-function: ease-in-out;
}

@media (max-width: 480px) {
	#menu #menu-button {
		height: 50px;
	}
}
#menu ul {
	margin: -16px 0 0 0;
	padding: 0;
	list-style: none;
}
#page.snap-menu #menu ul { margin-top: 0; }

#menu li, #menu li .panel {
	width: 140px;
}

@media (max-width: 1919px) {
	#menu li, #menu li .panel {
		width: 132px;
	}
}
#menu li {
	text-align: center;
	float: left;
	position: relative;
}
#menu li .accordion-icon {
	display: none;
}
#menu a {
	font-size: 1.4rem;
	height: 35px;
	padding: 15px 5px 0;
	text-decoration: none;
	display: block;
	position: relative;
	z-index: 110;
	-webkit-transform: translateZ(0);
	-webkit-transition-property: color, background-color;
	-webkit-transition-duration: .25s;
	-webkit-transition-timing-function: ease-in-out;
	-moz-transition-property: color, background-color;
	-moz-transition-duration: .25s;
	-moz-transition-timing-function: ease-in-out;
	-ms-transition-property: color, background-color;
	-ms-transition-duration: .25s;
	-ms-transition-timing-function: ease-in-out;
	-o-transition-property: color, background-color;
	-o-transition-duration: .25s;
	-o-transition-timing-function: ease-in-out;
	transition-property: color, background-color;
	transition-duration: .25s;
	transition-timing-function: ease-in-out;
}
#menu a:hover, #menu a:focus {
	text-decoration: underline;
}

#menu a span { width: 100%; display: table-cell; vertical-align: middle; text-align: center; }
#menu a span.live:after { display: none; }
#menu span.live { text-indent: -999px; width: 30px; height: 22px; margin: 0 0 0 8px; padding: 0; background: url(../img/interface/menu-live-icon.svg) 50% 0 no-repeat; background-size: auto 200%; display: inline-block; overflow: hidden; position: relative; top: -1px; }
#menu li ul li a span.live { margin: 5px 10px 0; }
#menu li:hover a span.live,
#menu li:focus a span.live,
#menu li.current a span.live
		{ background-position: 50% 100%; }
		
#menu li.current li.current a span.live { background-position: 50% 0; }
		
#menu li li:hover a span.live,
#menu li li:focus a span.live
		{ background-position: 50% 0; }
		
#menu li li li a span.live
		{ background-position: 50% 100% !important; }

#menu li:hover a, #menu li:focus a, #menu li.current a {
	color: #fff;
	background: #9d0a0e;
}
#menu li:after, #menu li:first-child:before {
	content: "";
	width: 1px;
	height: 74px;
	margin-top: -37px;
	background: url(../img/interface/menu-separator.png) 0 0 no-repeat;
	background-size: 100% 100%;
	position: absolute;
	top: 50%;
	right: -1px;
	display: block;
}
#menu li:first-child:before {
	left: 0;
	right: auto;
}
#menu li .panel {
	height: 0;
	background: #9d0a0e;
	position: absolute;
	top: 50px;
	z-index: 105;
	overflow: hidden;
	opacity: 0;
	margin-top: 0;
	-webkit-transition-property: -webkit-transform, opacity;
	-webkit-transition-duration: .25s;
	-webkit-transition-timing-function: ease-in-out;
	-moz-transition-property: -moz-transform, opacity;
	-moz-transition-duration: .25s;
	-moz-transition-timing-function: ease-in-out;
	-ms-transition-property: -ms-transform, opacity;
	-ms-transition-duration: .25s;
	-ms-transition-timing-function: ease-in-out;
	-o-transition-property: -o-transform, opacity;
	-o-transition-duration: .25s;
	-o-transition-timing-function: ease-in-out;
	transition-property: transform, opacity;
	transition-duration: .25s;
	transition-timing-function: ease-in-out;
}
#menu li:hover .panel, #menu li:focus .panel {
	overflow: visible;
	opacity: 1;
	height: auto !important;
}

#menu li li {
	float: none;
	position: relative;
}
#menu li li:after, #menu li li:before {
	display: none !important;
}
#menu li li a {
	color: #fff !important;
	height: auto;
	padding-top: 12px !important;
	padding-bottom: 12px !important;
	background: none !important;
	position: relative;
	z-index: 105;
}
#menu li li:hover a, #menu li li:focus a, #menu li li.current a {
	color: #9d0a0e !important;
	background: #fff !important;
}
#menu li li.has-children a:after {
	content: "";
	width: 9px;
	height: 11px;
	margin-top: -5px;
	background: url(../img/interface/submenu-arrow.png) 0 50% no-repeat;
	position: absolute;
	top: 50%;
	right: -9px;
	z-index: 106;
	opacity: 0;
	-webkit-transform: translateX(-10px);
	-webkit-transition-property: -webkit-transform, opacity;
	-webkit-transition-duration: .25s;
	-webkit-transition-timing-function: ease-in-out;
	-webkit-backface-visibility: hidden;
	-moz-transform: translateX(-10px);
	-moz-transition-property: -moz-transform, opacity;
	-moz-transition-duration: .25s;
	-moz-transition-timing-function: ease-in-out;
	-ms-transform: translateX(-10px);
	-ms-transition-property: -ms-transform, opacity;
	-ms-transition-duration: .25s;
	-ms-transition-timing-function: ease-in-out;
	-o-transform: translateX(-10px);
	-o-transition-property: -o-transform, opacity;
	-o-transition-duration: .25s;
	-o-transition-timing-function: ease-in-out;
	transform: translateX(-10px);
	transition-property: transform, opacity;
	transition-duration: .25s;
	transition-timing-function: ease-in-out;
}
#menu li li.has-children:hover a:after, #menu li li.has-children:focus a:after {
	opacity: 1;
	-webkit-transform: translateX(0);
	-moz-transform: translateX(0);
	-ms-transform: translateX(0);
	-o-transform: translateX(0);
	transform: translateX(0);
}
#menu li li ul {
	width: 0;
	background: #333333;
	position: absolute;
	top: 0;
	left: 140px;
	z-index: 100;
	overflow: hidden;
	opacity: 0 !important;
	margin-top: 0;
	-webkit-transition-property: -webkit-transform, opacity, left;
	-webkit-transition-duration: .25s;
	-webkit-transition-timing-function: ease-in-out;
	-moz-transition-property: -moz-transform, opacity;
	-moz-transition-duration: .25s;
	-moz-transition-timing-function: ease-in-out;
	-ms-transition-property: -ms-transform, opacity;
	-ms-transition-duration: .25s;
	-ms-transition-timing-function: ease-in-out;
	-o-transition-property: -o-transform, opacity;
	-o-transition-duration: .25s;
	-o-transition-timing-function: ease-in-out;
	transition-property: transform, opacity;
	transition-duration: .25s;
	transition-timing-function: ease-in-out;
}
#menu li li.expanded ul { overflow: visible !important; }

@media (max-width: 1919px) {
#menu li li ul {
	left: 132px;
}
}
#menu li li:hover ul, #menu li li:focus ul {
	width: 280px;
	overflow: visible;
	opacity: 1 !important;
}
#menu li li:hover li a, #menu li li:focus li a, #menu li li.current li a {
	color: #fff !important;
	background: none !important;
}
#menu li li li {
	text-align: left;
	margin: 0 !important;
	padding: 0 24px;
	width: auto;
}
#menu li li li a:hover, #menu li li li a:focus, #menu li li li.current a {
	background: #9d0a0e !important;
}
#menu li li li a:after {
	display: none;
}


@media (max-width: 1425px) {
	#menu li:nth-child(5) li ul, #menu li:last-child li ul {
		right: 132px !important; left: inherit !important;
	}
	
	#menu li:nth-child(5) li.has-children a:after, #menu li:last-child li.has-children a:after {
		-webkit-transform: rotate(180deg) translateX(-10px);
	       -moz-transform: rotate(180deg) translateX(-10px);
	        -ms-transform: rotate(180deg) translateX(-10px);
	         -o-transform: rotate(180deg) translateX(-10px);
	            transform: rotate(180deg) translateX(-10px);
	            right: inherit !important;
	            left: -9px;
	}
	
	#menu li:nth-child(5) li.has-children:hover a:after, #menu li:nth-child(5) li.has-children:focus a:after, #menu li:last-child li.has-children:hover a:after, #menu li:last-child li.has-children:focus a:after {
		opacity: 1;
		-webkit-transform: rotate(180deg) translateX(0);
		-moz-transform: rotate(180deg) translateX(0);
		-ms-transform: rotate(180deg) translateX(0);
		-o-transform: rotate(180deg) translateX(0);
		transform: rotate(180deg) translateX(0);
	}
}




/* !-- Mobile Menu -- */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
@media (max-width: 1023px) {
	#menu {
		font-size: 2rem;
		width: 384px;
		background: url(../img/interface/page-background.jpg) 0 0 repeat;
		background-size: auto !important;
		top: 0;
		left: -384px;
		bottom: 0;
		z-index: 9999;
		-webkit-transition: left 0s ease-in-out; 
		-moz-transition: left 0s ease-in-out; 
		transition: left 0s ease-in-out;
	}
	#viewport.mobile-menu-opened #menu {
		-webkit-box-shadow: 0 0 10px #000;
		-moz-box-shadow: 0 0 10px #000;
		-ms-box-shadow: 0 0 10px #000;
		-o-box-shadow: 0 0 10px #000;
		box-shadow: 0 0 10px #000;
		left: 0;
		height: auto;
		overflow-y: auto;
		overflow-x: visible;
		position: fixed;
	}
	#menu ul {
	}
	#menu li {
		text-align: left;
		width: auto;
		height: auto;
		margin: 0 !important;
		padding: 0 !important;
		float: none;
		position: relative !important;
		z-index: 1;
	}
	#menu li:before {
		display: none !important;
	}
	#menu li:after {
		width: auto;
		height: 1px;
		margin: auto;
		background-image: url(../img/interface/mobile-menu-separator.png);
		top: -1px;
		right: 0;
		left: 0;
		z-index: 2;
	}
	#menu li:first-child:after {
		display: none;
	}
	#menu li .accordion-icon {
		width: 71px;
		height: 54px;
		position: absolute;
		top: 0;
		left: 0;
		display: block;
		cursor: pointer;
	}
	#menu li .accordion-icon span {
		width: 36px;
		height: 36px;
		margin: -19px 0 0 -16px;
		background: url(../img/interface/mobile-menu-accordion.png) 0 0;
		background-size: auto 72px !important;
		position: absolute;
		top: 50%;
		left: 50%;
	}
	#menu li.expanded .accordion-icon span {
		background-position: 0 100%;
	}
	#menu li li .accordion-icon {
		left: 44px;
	}
	#menu li li .accordion-icon span {
		width: 24px;
		height: 24px;
		margin: -18px 0 0 -15px;
		background-size: auto 66px !important;
		background-position: 100% 0 !important;
	}
	#menu li li.expanded .accordion-icon span {
		background-position: 100% 100% !important;
	}
	#menu li a {
		color: #333 !important;
		height: auto;
		margin-left: 75px;
		padding: 17px 25px 17px 0;
		background-color: transparent !important;
	}
	#menu li li a {
		margin-left: 115px;
	}
	#menu li a:after {
		display: none;
	}
	#menu li .panel li {
		margin: 0 !important;
	}
	#menu li .panel li a, #menu li .panel li li a {
		color: #fff !important;
		background-color: transparent !important;
	}
	#menu li .panel li:after {
		background-image: url(../img/interface/mobile-menu-separator-light.png);
		display: block !important;
	}
	#menu li ul.panel, #menu li ul.panel ul {
		width: auto !important;
		height: auto !important;
		position: static;
		opacity: 1 !important;
		background: #9d0a0e;
		display: none;
		-webkit-transform: none;
		-moz-transform: none;
		-ms-transform: none;
		-o-transform: none;
		transform: none;
	}
	#menu li.expanded ul.panel, #menu li.expanded ul.panel li.expanded ul {
		display: block;
		margin-top: 0;
	}
	#menu li ul.panel ul {
		background: #333333;
	}
	#menu li ul.panel ul li {
		font-style: italic;
		font-size: 1.8rem;
	}
	#menu .menu-bar {
		color: #94938d;
		font-weight: 600;
		font-size: 3rem;
		width: auto;
		height: auto;
		margin: 0 0 16px 0;
		overflow: visible;
	}
	#menu .menu-bar .label {
		padding: 16px 25px 0;
		height: 54px;
		display: block;
	}
	#menu #menu-button {
		opacity: 1;
		-webkit-transform: translateX(0);
		-moz-transform: translateX(0);
		-ms-transform: translateX(0);
		-o-transform: translateX(0);
		transform: translateX(0);
	}
	#viewport.mobile-menu-opened #menu-button {
		background: url(../img/interface/header-menu-button.png) 50% 50% no-repeat;
		right: 0;
	}
	#viewport #content:after {
		content: "";
		width: 0;
		height: 0;
		background: #000;
		position: fixed;
		top: 0;
		left: 0;
		overflow: hidden;
		z-index: 100;
		opacity: 0;
		-webkit-transition: opacity .25s ease-in-out;
		-moz-transition: opacity .25s ease-in-out;
		-ms-transition: opacity .25s ease-in-out;
		-o-transition: opacity .25s ease-in-out;
		transition: opacity .25s ease-in-out;
	}
	#viewport.mobile-menu-opened #content:after,
	#viewport.mobile-menu-opened header .page-width:after{
		width: auto;
		height: auto;
		right: 0;
		bottom: 0;
		left: 384px;
		opacity: .5;
		z-index: 9999;
	}
	
	#menu li a span.live { background-position: 50% 0 !important; }
	#menu li li a span.live, #menu li:hover li a span.live, #menu li:focus li a span.live { background-position: 50% 100% !important; }
	
}

@media (max-width: 479px) {
	#menu {
		width: 244px;
		left: -244px;
	}
	#menu li {
		font-size: 1.6rem;
	}
	#menu li li a {
		margin-left: 75px;
	}
	#menu li li .accordion-icon {
		left: 15px;
	}
	#menu .menu-bar .label {
		padding-top: 15px;
		height: 35px;
	}
	#viewport.mobile-menu-opened #content:after,
	#viewport.mobile-menu-opened header .page-width:after{
		left: 244px;
	}
}
