/*** ESSENTIAL STYLES ***/
#mainnavdesk .sf-menu, #mainnavdesk .sf-menu * {
	margin: 0;
	padding: 0;
	list-style: none;
}
#mainnavdesk .sf-menu li {
	position: static;
}
#mainnavdesk ul.sf-menu:first-child ul,
#mainnavdesk .sf-menu ul {
	position: absolute;
	display: none;
	overflow: hidden;
	top: 0;
	left: 0;
	z-index: -1;
	width: 100%;
	padding-left: 1rem;
	box-sizing: border-box;
	padding-top: 4rem;
/*	height: 0; */
		transition-delay: 0ms;
		transition-duration: 600ms;
		transition-property: all;
		transition-timing-function: ease-in;
		-moz-transition-delay: 0ms;
		-moz-transition-duration: 600ms;
		-moz-transition-property: all;
		-moz-transition-timing-function: ease-in;
		-webkit-transition-delay: 0ms;
		-webkit-transition-duration: 600ms;
		-webkit-transition-property: all;
		-webkit-transition-timing-function: ease-in;
	
}


#mainnavdesk ul.sf-menu:first-child ul li ul,
#mainnavdesk .sf-menu ul li ul {
	position: relative;
	padding-top: 0;
	z-index: 10;
}

#mainnavdesk .sf-menu li.last ul {
	left: 0;
}
#mainnavdesk .sf-menu > li {
}
#mainnavdesk .sf-menu li:hover > ul,
#mainnavdesk .sf-menu li.sfHover > ul {
	display: block;
}

#mainnavdesk .sf-menu a {
	display: block;
	position: relative;
}
#mainnavdesk .sf-menu ul ul {
	top: 1rem;
	left: 0;
}

@media (min-width:55em) {
	#mainnavdesk ul.sf-menu:first-child ul,
	#mainnavdesk .sf-menu ul {
		padding-left: 2rem;
	}
}

@media (min-width:65em) {
	#mainnavdesk .sf-menu ul ul {
		top: 0;
		left: 100%;
	}
}

#mainnavdesk .sf-menu li:nth-child(4) ul ul,
#mainnavdesk .sf-menu li:nth-child(5) ul ul,
#mainnavdesk .sf-menu li:nth-child(6) ul ul {
	top: 0;
	left: -100%;
}


/*** DEMO SKIN ***/
#mainnavdesk .sf-menu {
}
#mainnavdesk .sf-menu ul {
/*	box-shadow: 2px 2px 6px rgba(0,0,0,.2);*/
	min-width: 12em; /* allow long menu items to determine submenu width */
	*width: 12em; /* no auto sub width for IE7, see white-space comment below */
}
#mainnavdesk .sf-menu ul {
	margin-top: 0;
	background: transparent;
}
#mainnavdesk .sf-menu li:hover ul {
	background: rgba(255,255,255,0.8);
}
#mainnavdesk .sf-menu li:hover ul li ul {
	background: transparent;
}
#mainnavdesk .sf-menu ul ul {
	margin: 0 0 0 1rem;
	
}
#mainnavdesk .sf-menu a {
	padding: 10px 0.7rem 10px 0.7rem;
	text-decoration: none;
	zoom: 1; /* IE7 */
}
#mainnavdesk .sf-menu a {
    -moz-transition: background 0.4s ease-in-out;
    -webkit-transition: background 0.4s ease-in-out;
    transition: background 0.4s ease-in-out;
}

@media (min-width:45em) {
	#mainnavdesk .sf-menu li {
		white-space: nowrap; /* no need for Supersubs plugin */
		*white-space: normal; /* ...unless you support IE7 (let it wrap) */
		-webkit-transition: background .2s;
		transition: background .2s;
		text-align: center;
	}
	
}
@media (min-width:71em) {
	#mainnavdesk .sf-menu li {
	}
}

#mainnavdesk .sf-menu li:nth-child(even) ul li a,
#mainnavdesk .sf-menu li:nth-child(odd) ul li a {
	padding: 0.5rem;
	background: none;
}

header.shrink #mainnavdesk .sf-menu li:nth-child(even) a,
header.shrink #mainnavdesk .sf-menu li:nth-child(odd) a {
	padding: 24px 0.5rem 0.5rem 0.5rem;
	background: none;
}
header.shrink #mainnavdesk .sf-menu li:nth-child(even),
header.shrink #mainnavdesk .sf-menu li:nth-child(odd) {
	min-width: 0;
	margin: 0;
}

#mainnavdesk .sf-menu ul li {
	width: inherit;
	text-align: left;
}
#mainnavdesk .sf-menu ul ul li {
}
#mainnavdesk .sf-menu li:hover,
#mainnavdesk .sf-menu li.sfHover {
	/* only transition out, not in */
	-webkit-transition: none;
	transition: none;
}

/*** arrows (for all except IE7) **/
.sf-arrows .sf-with-ul {
	padding-right: 2.5rem;
	*padding-right: 1rem; /* no CSS arrows for IE7 (lack pseudo-elements) */
}
/* styling for both css and generated arrows */
.sf-arrows .sf-with-ul:after {
	content: '';
	position: absolute;
	top: 50%;
	right: 0.5rem;
	margin-top: -0.75rem;
	height: 0;
	width: 0;
	/* order of following 3 rules important for fallbacks to work */
}
.sf-arrows li ul .sf-with-ul:after {
	content: '\203A';
	top: 50%;
	right: 1.5rem;
	margin-top: -0.75rem;
	height: 0;
	width: 0;
	/* order of following 3 rules important for fallbacks to work */
}
.sf-arrows > li > .sf-with-ul:focus:after,
.sf-arrows > li:hover > .sf-with-ul:after,
.sf-arrows > .sfHover > .sf-with-ul:after {
}
/* styling for right-facing arrows */
.sf-arrows ul .sf-with-ul:after {
	margin-top: -5px;
	margin-right: -3px;
	border-color: transparent;
}
.sf-arrows ul li > .sf-with-ul:focus:after,
.sf-arrows ul li:hover > .sf-with-ul:after,
.sf-arrows ul .sfHover > .sf-with-ul:after {
}

#mainnavdesk ul.sf-menu:first-child ul,
#mainnavdesk .sf-menu ul {
  animation: growDown 600ms ease-in-out forwards;
  transform-origin: top center;
}

#mainnavdesk ul.sf-menu:first-child ul li ul, 
#mainnavdesk .sf-menu ul li ul {
  animation: growDown 600ms ease-in-out forwards;
  transform-origin: top center;
}

@-moz-keyframes growDown {
  0% {
    transform: scaleY(0);
  }
  80% {
    transform: scaleY(1.1);
  }
  100% {
    transform: scaleY(1);
  }
}
@-webkit-keyframes growDown {
  0% {
    transform: scaleY(0);
  }
  80% {
    transform: scaleY(1.1);
  }
  100% {
    transform: scaleY(1);
  }
}
@-o-keyframes growDown {
  0% {
    transform: scaleY(0);
  }
  80% {
    transform: scaleY(1.1);
  }
  100% {
    transform: scaleY(1);
  }
}
@keyframes growDown {
  0% {
    transform: scaleY(0);
  }
  80% {
    transform: scaleY(1.1);
  }
  100% {
    transform: scaleY(1);
  }
}
