/* Transitions */
.megamaxmenu .megamaxmenu-item.megamaxmenu-in-transition > .megamaxmenu-submenu-drop,
.megamaxmenu .megamaxmenu-item.megamaxmenu-active.megamaxmenu-in-transition > .megamaxmenu-submenu-drop{
	overflow:hidden !important;
	height:auto;
}
// .megamaxmenu:not(.megamaxmenu-transition-slide) .megamaxmenu-item.megamaxmenu-in-transition > .megamaxmenu-submenu-drop,
// .megamaxmenu:not(.megamaxmenu-transition-slide) .megamaxmenu-item.megamaxmenu-active.megamaxmenu-in-transition > .megamaxmenu-submenu-drop{
// 	max-height:none; //all except slide down	//may just need this for a specific transition type
// }
.megamaxmenu .megamaxmenu-item .megamaxmenu-submenu-drop{
	-webkit-transition-duration:.3s;
	-ms-transition-duration:.3s;
	transition-duration:.3s;

	-webkit-transition-timing-function: ease-in;
	-ms-transition-timing-function: ease-in;
	transition-timing-function: ease-in;
}

/* No Transition */
.megamaxmenu-transition-none .megamaxmenu-item .megamaxmenu-submenu-drop{
	-webkit-transition:none;
	-ms-transition:none;
	transition:none;
	top:auto;
}
.megamaxmenu-nojs.megamaxmenu-transition-none .megamaxmenu-item:hover > .megamaxmenu-submenu-drop,
.megamaxmenu-transition-none .megamaxmenu-item.megamaxmenu-active > .megamaxmenu-submenu-drop{
	max-height:none;
	height:auto;
	overflow-y:visible;
}

/* Slide Transition */
.megamaxmenu-transition-slide .megamaxmenu-item .megamaxmenu-submenu-drop{
	-webkit-transition-property:max-height, visibility;
	-ms-transition-property:max-height, visibility;
	transition-property:max-height, visibility; /*max-height;*/
	max-height:0;
	top:auto;
}
.megamaxmenu-nojs.megamaxmenu-transition-slide .megamaxmenu-item:hover > .megamaxmenu-submenu-drop,
.megamaxmenu-transition-slide .megamaxmenu-item.megamaxmenu-active > .megamaxmenu-submenu-drop{
	max-height:1000px;	/* just for animation timing */
}

/* Fade Transition */
.megamaxmenu-transition-fade .megamaxmenu-item .megamaxmenu-submenu-drop{
	opacity:0;
	-webkit-transition-property:opacity, visibility;
	-ms-transition-property:opacity, visibility;
	transition-property:opacity, visibility;
	top:auto;
	margin-top:1px;
}
.megamaxmenu-nojs.megamaxmenu-transition-fade .megamaxmenu-item:hover > .megamaxmenu-submenu-drop,
.megamaxmenu-transition-fade .megamaxmenu-item.megamaxmenu-active > .megamaxmenu-submenu-drop{
	opacity:1;
	top:auto;
}

/* Shift Up Transition */
.megamaxmenu-transition-shift .megamaxmenu-item .megamaxmenu-submenu-drop{
	margin-top:20px;
	top:auto;
	opacity:0;
	-webkit-transition-property:margin-top, opacity, visibility;
	-ms-transition-property:margin-top, opacity, visibility;
	transition-property:margin-top, opacity, visibility;	/* Including visibility really matters */
}
.megamaxmenu-nojs.megamaxmenu-transition-shift .megamaxmenu-item:hover > .megamaxmenu-submenu-drop,
.megamaxmenu-transition-shift .megamaxmenu-item.megamaxmenu-active > .megamaxmenu-submenu-drop{
	margin-top:0;
	opacity:1;
}

/* Mega */
.megamaxmenu.megamaxmenu-transition-slide .megamaxmenu-active > .megamaxmenu-submenu.megamaxmenu-submenu-type-mega,
.megamaxmenu:not(.megamaxmenu-transition-slide) .megamaxmenu-submenu.megamaxmenu-submenu-type-mega{
	max-height:600px;
	overflow-y:auto; // !important; removed because it forces scrollbar to show in Windows
	-webkit-overflow-scrolling: touch;
}


.megamaxmenu.megamaxmenu-disable-submenu-scroll .megamaxmenu-item > .megamaxmenu-submenu.megamaxmenu-submenu-type-mega{
	overflow:hidden;	//Chrome on Windows needs to know that there won't be any overflow, otherwise it'll worry
}
.megamaxmenu.megamaxmenu-disable-submenu-scroll .megamaxmenu-active > .megamaxmenu-submenu.megamaxmenu-submenu-type-mega{
	max-height:none;
}