/*
 * frankenMenu v1.0 // Karmabunny Web Design // built by Luke Underwood
 */


/** Desktop and Mobile styling
===================================*/
#frankenmenu-list,
#frankenmenu-list ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: block;
}

#frankenmenu-list a {
	text-decoration: none;
	display: block;
	font-size: 1.2rem;
}

.section--frankenmenu {
	padding: 0;
}
.section--frankenmenu .container {
	position: relative;
}


/** Desktop menu only
===================================*/
@media screen and (min-width: 601px) {

	#frankenmenu-list {
		text-align: left;
		border-bottom: 1px solid #FFF;
	}
	#mobile-header {
		display: none;
	}

	/* ---- All level menu items ---- */
	#frankenmenu-list .menu-item {
		position: relative;
	}
	#frankenmenu-list .sub-menu {
		display: none;
		min-width: 200px;
		position: absolute;
		box-shadow: 0 0 16px 1px rgba(0,0,0,0.4);
		z-index: 15;
		min-width: 250px;
		max-width: 350px;
		text-align: left;
		top: 0;
		left: 100%;
	}

	/* ---- First level menu ---- */
	#frankenmenu-list .menu-item-depth1 {
		float: left;
		text-align: center;
	}
	#frankenmenu-list .menu-item-depth1 > a {
		border-left: 1px solid #ffffff;
		display: block;
		color: #31436d;
		font-size: 1.6rem;
		padding: 17px 0 15px;
		/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#ebf1fa+0,bfd6f3+100 */
		background: #ebf1fa; /* Old browsers */
		background: -moz-linear-gradient(top,  #ebf1fa 0%, #bfd6f3 100%); /* FF3.6-15 */
		background: -webkit-linear-gradient(top,  #ebf1fa 0%,#bfd6f3 100%); /* Chrome10-25,Safari5.1-6 */
		background: linear-gradient(to bottom,  #ebf1fa 0%,#bfd6f3 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
		/* IE6-9 */
		font-family: 'DIN Next W01 Medium', Helmet, Freesans, sans-serif;
		font-weight: normal;
		text-shadow: 0 1px 1px #FFFFFF;
	}

	#frankenmenu-list #nav2 > a {
		width: 103px;
		border-left: none;
		border-radius: 0 0 0 4px;
	}
	#frankenmenu-list #nav3 > a {
		width: 206px;
	}
	#frankenmenu-list #nav4 > a {
		width: 122px;
	}
	#frankenmenu-list #nav5 > a {
		width: 134px;
	}
	#frankenmenu-list #nav6 > a {
		width: 173px;
	}
	#frankenmenu-list #nav7 > a {
		width: 128px;
	}
	#frankenmenu-list #nav8 > a {
		width: 114px;
		border-radius: 0 0 4px 0;
	}

	#frankenmenu-list #nav7 > a,
	#frankenmenu-list #nav8 > a {
		background: #cfe4fd; /* Old browsers */
		background: -moz-linear-gradient(top, #cfe4fd 0%, #97c9f9 100%); /* FF3.6-15 */
		background: -webkit-linear-gradient(top, #cfe4fd 0%,#97c9f9 100%); /* Chrome10-25,Safari5.1-6 */
		background: linear-gradient(to bottom, #cfe4fd 0%,#97c9f9 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	}

	#frankenmenu-list .menu-item-depth1 > a:hover,
	#frankenmenu-list .menu-item-depth1 > a:focus,
	#frankenmenu-list .menu-item-depth1.frankenhover > a,
	#frankenmenu-list .menu-item-depth1.frankenhold > a,
	#frankenmenu-list #nav7 > a:hover,
	#frankenmenu-list #nav8 > a:hover,
	#frankenmenu-list #nav7 > a:focus,
	#frankenmenu-list #nav8 > a:focus {
		background: #314368;
		color: #FFF;
		text-shadow: none;
	}

	/* ---- Submenus ---- */
	#frankenmenu-list .sub-menu a {
		border-top: 1px solid #314368;
		padding: 9px 18px 10px;
		color: #FFFFFF;
		font-size: 1.5rem;
		line-height: 1.8rem;
		background-color: #394c73;
		transition: all 200ms ease;
	}
	#frankenmenu-list .sub-menu .menu-item:first-child a {
		border-top: none;
	}
	#frankenmenu-list .sub-menu .menu-item > a:hover,
	#frankenmenu-list .sub-menu .menu-item > a:focus,
	#frankenmenu-list .sub-menu .menu-item.frankenhover > a,
	#frankenmenu-list .sub-menu .menu-item.frankenhold > a {
		background: #2c3d61;
		color: #FFF;
	}

	#frankenmenu-list .frankenhold > .sub-menu {
		display: block !important;
		opacity: 1 !important;
	}

	/* ---- First level submenus ---- */
	#frankenmenu-list .sub-menu-depth1 {
		top: 100%;
		left: auto;
	}

	/* ---- Right aligned submenus ---- */
	#frankenmenu-list .sub-menu.submenu-right-align,
	#frankenmenu-list .sub-menu.submenu-right-align .sub-menu {
		left: auto;
		right: 100%;
	}
	#frankenmenu-list .sub-menu-depth1.submenu-right-align {
		left: auto;
		right: 0;
	}


	/* ---- Sub-navigation ---- */
	.header-subnav {
		background: url(../images/header-bar/header-bar-nothing.png) repeat-x;
		height: 10px;
	}


	#frankenmenu-list .menu-item-subnav {
		display: none;
	}
	#frankenmenu-subnav-list,
	#frankenmenu-subnav-list ul {
		list-style: none;
		padding: 0;
		margin: 0;
	}
	#frankenmenu-subnav-list {
		float: right;
		position: relative;
		padding-top: 5px;
	}
	#frankenmenu-subnav-list:before {
		content: " ";
		position: absolute;
		right: 100%;
		top: 0;
		background: url(../images/header-bar/header-bar-transition.png) repeat-x;
		background-position: center bottom;
		display: block;
		height: 42px;
		width: 48px;
	}
	#frankenmenu-subnav-list:after {
		content: " ";
		position: absolute;
		left: 0;
		top: 0;
		background: url(../images/header-bar/header-bar-menu.png) repeat-x;
		background-position: center bottom;
		display: block;
		height: 42px;
		width: 900px;
	}
	#frankenmenu-subnav-list li {
		position: relative;
		z-index: 1;
	}
	#frankenmenu-subnav-list .menu-item-depth1 {
		display: inline-block;
		position: relative;
	}
	#frankenmenu-subnav-list .menu-item-depth1 > a {
		text-decoration: none;
		padding: 9px 10px;
		display: block;
		text-shadow: 1px 1px 1px #025aa0;
		color: #d0e1ec;
		font-size: 1.3rem;
		position: relative;
	}
	#frankenmenu-subnav-list .menu-item-depth1 > a:hover,
	#frankenmenu-subnav-list .menu-item-depth1 > a:focus {
		color: #FFF;
	}
	#frankenmenu-subnav-list .menu-item-depth1:before {
		content: " ";
		border-left: 1px solid #01426f;
		border-right: 1px solid #4898cf;
		position: absolute;
		top: 6px;
		left: -1px;
		display: block;
		height: 20px;
	}
	#frankenmenu-subnav-list .menu-item-depth1:first-child:before {
		content: none;
	}
	#frankenmenu-subnav-list .menu-item-depth1 > a:hover {
		text-decoration: underline;
	}
	#frankenmenu-subnav-list .sub-menu {
		display: none;
	}

	#frankenmenu-subnav-list .menu-home-page > a {
		text-indent: -9999px;
		width: 38px;
		padding: 9px 0;
	}
	#frankenmenu-subnav-list .menu-home-page > a:before {
		content: "\e905";
		display: inline-block;
		font-family: 'icomoon' !important;
		speak: none;
		font-style: normal;
		font-weight: normal;
		font-variant: normal;
		text-transform: none;
		line-height: 1;
		text-indent: 0;
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		text-align: center;
		font-size: 30px;
	}

	/* ---- Moved elements ---- */
	.frankenmoved {
		display: none;
	}

	/* ---- Megamenu ---- */
	#frankenmenu-list .mega-menu {
		left: 0;
		right: 0;
		background-color: #FFF;
		text-align: left;
		top: 100%;
		position: absolute;
		border-bottom: 4px solid #D8D8D8;
		z-index: 51;
		clip: rect(0 0 0 0);
		height: 1px;
		margin: -1px;
		overflow: hidden;
		padding: 0;
		width: 1px;
	}
	/* Remove relative positioning for mega menu */
	.frankenmenu-mega #frankenmenu-list .menu-item {
		position: static;
	}
	#frankenmenu-list .menu-item.frankenhover .mega-menu,
	#frankenmenu-list .menu-item.frankenhold .mega-menu {
		padding: 40px 0;
		width: auto;
		height: auto;
		clip: auto;
		overflow: visible;
		margin: auto;
	}
	#frankenmenu-list .menu-item.frankenhold .mega-menu {
		display: block !important;
		height: auto !important;
	}

	/* Megamenu preview */
	#frankenmenu-list .mega-menu-preview {
		float: left;
		color: #FFF;
		padding: 18px 20px;
		background-color: #6F6F6F;
		width: 22%;
		margin-right: 3%;
	}
	#frankenmenu-list .mega-menu-preview-image {
		height: 120px;
		background: url(../images/mega-menu-image-fallback.jpg) no-repeat center center;
		background-size: cover;
	}
	#frankenmenu-list .mega-menu-preview-text {
		margin-bottom: 0;
		line-height: 1.2;
	}

	/* Megamenu columns */
	#frankenmenu-list .mega-menu .mega-menu-columns {
		float: left;
		width: 75%;
	}
	#frankenmenu-list .mega-menu-column {
		width: 31.33333333%;
		float: left;
		margin-right: 3%;
	}
	#frankenmenu-list .mega-menu-column:last-child {
		margin-right: 0;
	}

	/* Megamenu submenus */
	#frankenmenu-list .mega-menu-submenu .menu-item {
		border-top: 1px solid #D8D8D8;
	}
	#frankenmenu-list .mega-menu-submenu .menu-item:last-child {
		border-bottom: 1px solid #D8D8D8;
	}
	#frankenmenu-list .mega-menu-submenu a {
		color: #000;
		padding: 5px 0;
	}

}

/** BP 1 - Desktop only
===================================*/
@media screen and (max-width: 1020px) and (min-width: 601px) {
	#frankenmenu-list .menu-item-depth1 > a {
		font-size: 1.4rem;
		padding: 13px 0 11px;
	}
	#frankenmenu-list #nav2 > a {
		width: 77px;
	}
	#frankenmenu-list #nav3 > a {
		width: 157px;
	}
	#frankenmenu-list #nav4 > a {
		width: 86px;
	}
	#frankenmenu-list #nav5 > a {
		width: 94px;
	}
	#frankenmenu-list #nav6 > a {
		width: 125px;
	}
	#frankenmenu-list #nav7 > a {
		width: 114px;
	}
	#frankenmenu-list #nav8 > a {
		width: 67px;
	}
}

/** BP 2 - Desktop only
===================================*/
@media screen and (max-width: 768px) and (min-width: 601px) {
	#frankenmenu-list .menu-item-depth1 > a {
		font-size: 1.3rem;
		padding: 11px 0 9px;
	}
	#frankenmenu-list #nav2 > a {
		width: 77px;
	}
	#frankenmenu-list #nav3 > a {
		width: 158px;
	}
	#frankenmenu-list #nav4 > a {
		width: 89px;
	}
	#frankenmenu-list #nav5 > a {
		width: 100px;
	}
	#frankenmenu-list #nav6 > a {
		width: 126px;
		border-radius: 0 0 4px 0;
	}
	#frankenmenu-list #nav7,
	#frankenmenu-list #nav8 {
		position: absolute;
		bottom: 100%;
	}
	#frankenmenu-list #nav7 > a,
	#frankenmenu-list #nav8 > a {
		font-size: 1.1rem;
		padding: 9px 0 6px;
	}
	#frankenmenu-list #nav7 {
		right: 65px;
	}
	#frankenmenu-list #nav7 > a {
		width: 91px;
	}
	#frankenmenu-list #nav8 {
		right: 0;
	}
	#frankenmenu-list #nav8 > a {
		width: 65px;
		border-radius: 0 4px 0 0;
	}

	#frankenmenu-subnav-list .menu-item-depth1 > a {
		padding: 6px 9px;
		font-size: 1.1rem;
	}
	#frankenmenu-subnav-list .menu-home-page > a {
		width: 31px;
		padding: 6px 0;
	}
	#frankenmenu-subnav-list .menu-home-page > a:before {
		font-size: 25px;
	}
	#frankenmenu-subnav-list .menu-item-depth1:before {
		top: 4px;
		height: 17px;
	}

	#frankenmenu-subnav-list:before {
		height: 33px;
		background-size: 36px;
		width: 36px;
	}
	#frankenmenu-subnav-list:after {
		height: 33px;
		background-size: 16px;
	}
}


/** Mobile menu only
===================================*/
@media screen and (max-width: 600px) {

	/* Force iOS click events trigger anywhere */
	html {
		cursor: pointer;
	}

	#wrap {
		margin-top: 40px;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
		background-color: #FFF;
	}
	#frankenmenu {
		top: 0;
		position: fixed;
		overflow-y: scroll;
		overflow-x: hidden;
		height: 100%;
		background: #333;
		background-color: #025d9f;
		width: 70%;
		z-index: 0;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
		padding-top: 64px;
	}
	#frankenmenu .container {
		position: relative;
		padding: 0;
		max-width: none;
		width: 100%;
		margin: 0;
		opacity: 0;
	}

	/* ---- Mobile header ---- */
	#mobile-header {
		background-color: #086fbc;
		height: 40px;
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		z-index: 100;
		border-bottom: 1px solid #025d9f;
		background-image: url(../images/bg-header/bg-header-600.jpg);
		background-size: cover;
	}
	#mobile-menu-button {
		-webkit-appearance: none;
		-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
		outline: none;
		border: none;
		padding: 0;
		text-indent: -9999px;
		width: 33px;
		height: 33px;
		background: url(../images/icon-menu.svg) no-repeat;
		background-position: 2px 4px;
		margin-top: 3px;
		position: relative;
	}
	.frankenmenu-mob-menu-visible #mobile-menu-button {
		background-position: -34px 5px;
	}

	/* Menu button text */
	.frankenmenu-button-text #mobile-menu-button:before {
		content: "Menu";
		display: block;
		position: absolute;
		top: 0;
		right: 100%;
		padding: 6px 9px 0 0;
		color: #FFF;
		text-indent: initial;
		text-transform: uppercase;
		font-weight: bold;
	}
	.frankenmenu-button-text.frankenmenu-mob-menu-visible #mobile-menu-button:before {
		content: "Close";
	}

	/* ---- All level menu items ---- */
	#frankenmenu-list, #frankenmenu-list ul {
		width: 100%;
	}
	#frankenmenu-list .menu-item {
		position: relative;
		border-top: 1px solid #0865a9;
		float: none;
		width: 100%;
	}
	#frankenmenu-list a {
		min-height: 39px;
		width: 100%;
		padding: 9px 85px 9px 20px;
		color: #FFF;
		text-align: left;
	}
	#frankenmenu-list .menu-item.menu-current-item > a {
		background-color: #0766ab;
	}

	/* ---- First level menu ---- */
	#frankenmenu-list .menu-item-depth1:last-child {
		border-bottom: 1px solid #0865a9;
	}
	#frankenmenu-list .menu-item-depth1 > a {
		font-size: 1.5rem;
	}

	/* ---- Submenus ---- */
	#frankenmenu-list .sub-menu {
		display: none;
	}
	#frankenmenu-list .menu-current-item-ancestor > .sub-menu {
		display: block;
	}

	/* Depth differences */
	#frankenmenu-list .menu-item-depth1 > a {
		padding-left: 20px;
		background-color: #025d9f;
	}
	#frankenmenu-list .menu-item-depth2 a {
		font-size: 1.4rem;
	}
	#frankenmenu-list .menu-item-depth2 > a  {
		padding-left: 20px;
		background-color: rgba(0,0,0,0.1);
	}
	#frankenmenu-list .menu-item-depth3 > a  {
		padding-left: 35px;
		background-color: rgba(0,0,0,0.2);
	}
	#frankenmenu-list .menu-item-depth4 > a  {
		padding-left: 50px;
		background-color: rgba(0,0,0,0.4);
	}
	#frankenmenu-list .menu-item-depth5 > a  {
		padding-left: 50px;
		background-color: rgba(0,0,0,0.5);
	}
	#frankenmenu-list .menu-item-depth6 > a  {
		padding-left: 50px;
		background-color: rgba(0,0,0,0.6);
	}

	/* Expand buttons */
	.submenu-toggle {
		-webkit-appearance: none;
		-moz-appearance: none;
		outline: none;
		border: none;
		color: #FFF;
		font-size: 2.3rem;
		background: #025694;
		width: 55px;
		height: 39px;
		display: block;
		padding: 0;
		margin: 0;
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		cursor: pointer;
		padding: 0;
	}
	.submenu-toggle:before {
		content: " ";
		width: 21px;
		height: 12px;
		background: url(../images/icon-menu.svg) no-repeat 0 -30px;
		display: block;
		position: absolute;
		top: 50%;
		left: 50%;
		margin: 0 -50% 0 0;
		-webkit-transform: translate(-50%, -50%);
		        transform: translate(-50%, -50%);
		-webkit-transform-origin: center center;
		        transform-origin: center center;
		transition: -webkit-transform 300ms ease-in;
		transition: transform 300ms ease-in;
	}
	.menu-item-submenu-open > .submenu-toggle:before {
		-webkit-transform: translate(-50%, -50%) rotate(180deg);
		        transform: translate(-50%, -50%) rotate(180deg);
	}

	/* ---- Sub-navigation ---- */
	#frankenmenu-subnav-list {
		display: none;
	}

	/* ---- Menu positions ---- */

	/* Left */
	.frankenmenu-mobile-pos-left #frankenmenu {
		left: 0;
	}
	.frankenmenu-mobile-pos-left #frankenmenu .container {
		-webkit-transform: translate3d(-10%, 0, 0) scale(0.9);
		        transform: translate3d(-10%, 0, 0) scale(0.9);
	}
	.frankenmenu-mobile-pos-left.frankenmenu-mob-menu-visible #wrap {
		-webkit-transform: translate3d(70%, 0, 0);
		        transform: translate3d(70%, 0, 0);
	}

	/* Right */
	.frankenmenu-mobile-pos-right #frankenmenu {
		right: 0;
	}
	.frankenmenu-mobile-pos-right #frankenmenu .container {
		-webkit-transform: translate3d(10%, 0, 0) scale(0.9);
		        transform: translate3d(10%, 0, 0) scale(0.9);
	}
	.frankenmenu-mobile-pos-right.frankenmenu-mob-menu-visible #wrap {
		-webkit-transform: translate3d(-70%, 0, 0);
		        transform: translate3d(-70%, 0, 0);
	}
	.frankenmenu-mobile-pos-right #mobile-menu-button {
		float: right;
	}

	/* ---- Transitions ---- */
	#frankenmenu,
	#wrap,
	#frankenmenu .container {
		transition: all 350ms ease;
	}

	/* Menu open */
	.frankenmenu-mob-menu-visible #frankenmenu {
		-webkit-transform: translate3d(0, 0, 0);
		        transform: translate3d(0, 0, 0);
	}
	.frankenmenu-mob-menu-visible #frankenmenu .container {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0) scale(1);
		        transform: translate3d(0, 0, 0) scale(1);
	}

	/* ---- Moved elements ---- */
	.frankenmove {
		display: none;
	}

	/* ---- Megamenu ---- */
	.mega-menu-preview {
		display: none;
	}
	.mega-menu-preview-image {
		background-image: none !important;
	}
	.mega-menu-column-title {
		color: #FFF;
		font-size: 1.6rem;
		padding: 3px 20px;
		margin: 0;
		background: rgba(0,0,0,0.3);
	}
	#frankenmenu-list .mega-menu {
		display: none;
	}
	#frankenmenu-list .mega-menu ul {
		display: block;
	}

}
