.dl-menuwrapper {

	width: 300px;

	position: relative;

	-webkit-perspective: 1000px;

	-moz-perspective: 1000px;

	perspective: 1000px;

	-webkit-perspective-origin: 50% 200%;

	-moz-perspective-origin: 50% 200%;

	perspective-origin: 50% 200%;

}



.dl-menuwrapper:first-child {

	margin-right: 100px;

}



.dl-menuwrapper button {

	display: block;

	width: 100%;

	margin: 0;

	border: none;

	overflow: hidden;

	position: relative;

	cursor: pointer;

	outline: none;

}



.dl-menuwrapper ul {

	padding: 0;

	list-style: none;

	-webkit-transform-style: preserve-3d;

	-moz-transform-style: preserve-3d;

	transform-style: preserve-3d;

}



.dl-menuwrapper li {

	position: relative;

}



.dl-menuwrapper li a {

	display: block;

	position: relative;

	padding: 7px 10px;

	font-size: 13px;

	line-height: 20px;

	font-weight: 700;

	outline: none;

	text-transform: uppercase;

	letter-spacing: 1px;

}



.dl-menuwrapper button,

.dl-menuwrapper li a {

	background: #fff;

	color: #aaa;

}



.no-touch .dl-menuwrapper li a:hover {

	background: #f8f8f8;

}



.dl-menuwrapper li.dl-back > a {

	padding-left: 30px;

	background: #f2f2f2;

}



.dl-menuwrapper li.dl-back:after,

.dl-menuwrapper li > a:not(:only-child):after,

.dl-menuwrapper button:after {

	position: absolute;

	top: 0;

	line-height: 33px;

	color: #ddd;

	font-family: 'icomoon';

	speak: none;

	-webkit-font-smoothing: antialiased;

	content: "\e000";

}



.dl-menuwrapper button:after {

	line-height: 50px;

	right: 15px;

	-webkit-transform: rotate(90deg);

	-moz-transform: rotate(90deg);

	-ms-transform: rotate(90deg);

	transform: rotate(90deg);

}



.dl-menuwrapper li.dl-back:after {

	left: 10px;

	-webkit-transform: rotate(180deg);

	-moz-transform: rotate(180deg);

	-ms-transform: rotate(180deg);

	transform: rotate(180deg);

}



.dl-menuwrapper li > a:after {

	right: 10px;

	color: rgba(0,0,0,0.15);

}



.dl-menuwrapper .dl-menu {

	margin: 5px 0 0 0;

	position: absolute;

	width: 100%;

	opacity: 0;

	pointer-events: none;

	box-shadow: 0 3px 0 rgba(0,0,0,0.1);

	-webkit-transform: translateY(10px);

	-moz-transform: translateY(10px);

	transform: translateY(10px);

	-webkit-backface-visibility: hidden;

	-moz-backface-visibility: hidden;

	backface-visibility: hidden;

}



.dl-menuwrapper .dl-menu.dl-menu-toggle {

	-webkit-transition: all 0.3s ease;

	-moz-transition: all 0.3s ease;

	transition: all 0.3s ease;

}



.dl-menuwrapper .dl-menu.dl-menuopen {

	opacity: 1;

	pointer-events: auto;

	-webkit-transform: translateY(0px);

	-moz-transform: translateY(0px);

	transform: translateY(0px);

}



/* Hide the inner submenus */

.dl-menuwrapper li .dl-submenu {

	display: none;

}



/* 

When a submenu is openend, we will hide all li siblings.

For that we give a class to the parent menu called "dl-subview".

We also hide the submenu link. 

The opened submenu will get the class "dl-subviewopen".

All this is done for any sub-level being entered.

*/

.dl-menu.dl-subview li,

.dl-menu.dl-subview li.dl-subviewopen > a,

.dl-menu.dl-subview li.dl-subview > a {

	display: none;

}



.dl-menu.dl-subview li.dl-subview,

.dl-menu.dl-subview li.dl-subview .dl-submenu,

.dl-menu.dl-subview li.dl-subviewopen,

.dl-menu.dl-subview li.dl-subviewopen > .dl-submenu,

.dl-menu.dl-subview li.dl-subviewopen > .dl-submenu > li {

	display: block;

}



/* Dynamically added submenu outside of the menu context */

.dl-menuwrapper > .dl-submenu {

	position: absolute;

	width: 100%;

	top: 55px; /* This needs to be adjusted to the button */

	left: 0;

	margin: 0;

}



/* Animation classes for moving out and in */



.dl-menu.dl-animate-out-1 {

	-webkit-animation: MenuAnimOut1 0.4s linear forwards;

	-moz-animation: MenuAnimOut1 0.4s linear forwards;

	animation: MenuAnimOut1 0.4s linear forwards;

}



.dl-menu.dl-animate-out-2 {

	-webkit-animation: MenuAnimOut2 0.3s ease-in-out forwards;

	-moz-animation: MenuAnimOut2 0.3s ease-in-out forwards;

	animation: MenuAnimOut2 0.3s ease-in-out forwards;

}



.dl-menu.dl-animate-out-3 {

	-webkit-animation: MenuAnimOut3 0.4s ease forwards;

	-moz-animation: MenuAnimOut3 0.4s ease forwards;

	animation: MenuAnimOut3 0.4s ease forwards;

}



.dl-menu.dl-animate-out-4 {

	-webkit-animation: MenuAnimOut4 0.4s ease forwards;

	-moz-animation: MenuAnimOut4 0.4s ease forwards;

	animation: MenuAnimOut4 0.4s ease forwards;

}



.dl-menu.dl-animate-out-5 {

	-webkit-animation: MenuAnimOut5 0.4s ease forwards;

	-moz-animation: MenuAnimOut5 0.4s ease forwards;

	animation: MenuAnimOut5 0.4s ease forwards;

}



@-webkit-keyframes MenuAnimOut1 {

	50% {

		-webkit-transform: translateZ(-250px) rotateY(30deg);

	}

	75% {

		-webkit-transform: translateZ(-372.5px) rotateY(15deg);

		opacity: .5;

	}

	100% {

		-webkit-transform: translateZ(-500px) rotateY(0deg);

		opacity: 0;

	}

}



@-webkit-keyframes MenuAnimOut2 {

	100% {

		-webkit-transform: translateX(-100%);

		opacity: 0;

	}

}



@-webkit-keyframes MenuAnimOut3 {

	100% {

		-webkit-transform: translateZ(300px);

		opacity: 0;

	}

}



@-webkit-keyframes MenuAnimOut4 {

	100% {

		-webkit-transform: translateZ(-300px);

		opacity: 0;

	}

}



@-webkit-keyframes MenuAnimOut5 {

	100% {

		-webkit-transform: translateY(40%);

		opacity: 0;

	}

}



@-moz-keyframes MenuAnimOut1 {

	50% {

		-moz-transform: translateZ(-250px) rotateY(30deg);

	}

	75% {

		-moz-transform: translateZ(-372.5px) rotateY(15deg);

		opacity: .5;

	}

	100% {

		-moz-transform: translateZ(-500px) rotateY(0deg);

		opacity: 0;

	}

}



@-moz-keyframes MenuAnimOut2 {

	100% {

		-moz-transform: translateX(-100%);

		opacity: 0;

	}

}



@-moz-keyframes MenuAnimOut3 {

	100% {

		-moz-transform: translateZ(300px);

		opacity: 0;

	}

}



@-moz-keyframes MenuAnimOut4 {

	100% {

		-moz-transform: translateZ(-300px);

		opacity: 0;

	}

}



@-moz-keyframes MenuAnimOut5 {

	100% {

		-moz-transform: translateY(40%);

		opacity: 0;

	}

}



@keyframes MenuAnimOut1 {

	50% {

		transform: translateZ(-250px) rotateY(30deg);

	}

	75% {

		transform: translateZ(-372.5px) rotateY(15deg);

		opacity: .5;

	}

	100% {

		transform: translateZ(-500px) rotateY(0deg);

		opacity: 0;

	}

}



@keyframes MenuAnimOut2 {

	100% {

		transform: translateX(-100%);

		opacity: 0;

	}

}



@keyframes MenuAnimOut3 {

	100% {

		transform: translateZ(300px);

		opacity: 0;

	}

}



@keyframes MenuAnimOut4 {

	100% {

		transform: translateZ(-300px);

		opacity: 0;

	}

}



@keyframes MenuAnimOut5 {

	100% {

		transform: translateY(40%);

		opacity: 0;

	}

}



.dl-menu.dl-animate-in-1 {

	-webkit-animation: MenuAnimIn1 0.3s linear forwards;

	-moz-animation: MenuAnimIn1 0.3s linear forwards;

	animation: MenuAnimIn1 0.3s linear forwards;

}



.dl-menu.dl-animate-in-2 {

	-webkit-animation: MenuAnimIn2 0.3s ease-in-out forwards;

	-moz-animation: MenuAnimIn2 0.3s ease-in-out forwards;

	animation: MenuAnimIn2 0.3s ease-in-out forwards;

}



.dl-menu.dl-animate-in-3 {

	-webkit-animation: MenuAnimIn3 0.4s ease forwards;

	-moz-animation: MenuAnimIn3 0.4s ease forwards;

	animation: MenuAnimIn3 0.4s ease forwards;

}



.dl-menu.dl-animate-in-4 {

	-webkit-animation: MenuAnimIn4 0.4s ease forwards;

	-moz-animation: MenuAnimIn4 0.4s ease forwards;

	animation: MenuAnimIn4 0.4s ease forwards;

}



.dl-menu.dl-animate-in-5 {

	-webkit-animation: MenuAnimIn5 0.4s ease forwards;

	-moz-animation: MenuAnimIn5 0.4s ease forwards;

	animation: MenuAnimIn5 0.4s ease forwards;

}



@-webkit-keyframes MenuAnimIn1 {

	0% {

		-webkit-transform: translateZ(-500px) rotateY(0deg);

		opacity: 0;

	}

	20% {

		-webkit-transform: translateZ(-250px) rotateY(30deg);

		opacity: 0.5;

	}

	100% {

		-webkit-transform: translateZ(0px) rotateY(0deg);

		opacity: 1;

	}

}



@-webkit-keyframes MenuAnimIn2 {

	0% {

		-webkit-transform: translateX(-100%);

		opacity: 0;

	}

	100% {

		-webkit-transform: translateX(0px);

		opacity: 1;

	}

}



@-webkit-keyframes MenuAnimIn3 {

	0% {

		-webkit-transform: translateZ(300px);

		opacity: 0;

	}

	100% {

		-webkit-transform: translateZ(0px);

		opacity: 1;

	}

}



@-webkit-keyframes MenuAnimIn4 {

	0% {

		-webkit-transform: translateZ(-300px);

		opacity: 0;

	}

	100% {

		-webkit-transform: translateZ(0px);

		opacity: 1;

	}

}



@-webkit-keyframes MenuAnimIn5 {

	0% {

		-webkit-transform: translateY(40%);

		opacity: 0;

	}

	100% {

		-webkit-transform: translateY(0);

		opacity: 1;

	}

}



@-moz-keyframes MenuAnimIn1 {

	0% {

		-moz-transform: translateZ(-500px) rotateY(0deg);

		opacity: 0;

	}

	20% {

		-moz-transform: translateZ(-250px) rotateY(30deg);

		opacity: 0.5;

	}

	100% {

		-moz-transform: translateZ(0px) rotateY(0deg);

		opacity: 1;

	}

}



@-moz-keyframes MenuAnimIn2 {

	0% {

		-moz-transform: translateX(-100%);

		opacity: 0;

	}

	100% {

		-moz-transform: translateX(0px);

		opacity: 1;

	}

}



@-moz-keyframes MenuAnimIn3 {

	0% {

		-moz-transform: translateZ(300px);

		opacity: 0;

	}

	100% {

		-moz-transform: translateZ(0px);

		opacity: 1;

	}

}



@-moz-keyframes MenuAnimIn4 {

	0% {

		-moz-transform: translateZ(-300px);

		opacity: 0;

	}

	100% {

		-moz-transform: translateZ(0px);

		opacity: 1;

	}

}



@-moz-keyframes MenuAnimIn5 {

	0% {

		-moz-transform: translateY(40%);

		opacity: 0;

	}

	100% {

		-moz-transform: translateY(0);

		opacity: 1;

	}

}



@keyframes MenuAnimIn1 {

	0% {

		transform: translateZ(-500px) rotateY(0deg);

		opacity: 0;

	}

	20% {

		transform: translateZ(-250px) rotateY(30deg);

		opacity: 0.5;

	}

	100% {

		transform: translateZ(0px) rotateY(0deg);

		opacity: 1;

	}

}



@keyframes MenuAnimIn2 {

	0% {

		transform: translateX(-100%);

		opacity: 0;

	}

	100% {

		transform: translateX(0px);

		opacity: 1;

	}

}



@keyframes MenuAnimIn3 {

	0% {

		transform: translateZ(300px);

		opacity: 0;

	}

	100% {

		transform: translateZ(0px);

		opacity: 1;

	}

}



@keyframes MenuAnimIn4 {

	0% {

		transform: translateZ(-300px);

		opacity: 0;

	}

	100% {

		transform: translateZ(0px);

		opacity: 1;

	}

}



@keyframes MenuAnimIn5 {

	0% {

		transform: translateY(40%);

		opacity: 0;

	}

	100% {

		transform: translateY(0);

		opacity: 1;

	}

}



.dl-menuwrapper > .dl-submenu.dl-animate-in-1 {

	-webkit-animation: SubMenuAnimIn1 0.4s ease forwards;

	-moz-animation: SubMenuAnimIn1 0.4s ease forwards;

	animation: SubMenuAnimIn1 0.4s ease forwards;

}



.dl-menuwrapper > .dl-submenu.dl-animate-in-2 {

	-webkit-animation: SubMenuAnimIn2 0.3s ease-in-out forwards;

	-moz-animation: SubMenuAnimIn2 0.3s ease-in-out forwards;

	animation: SubMenuAnimIn2 0.3s ease-in-out forwards;

}



.dl-menuwrapper > .dl-submenu.dl-animate-in-3 {

	-webkit-animation: SubMenuAnimIn3 0.4s ease forwards;

	-moz-animation: SubMenuAnimIn3 0.4s ease forwards;

	animation: SubMenuAnimIn3 0.4s ease forwards;

}



.dl-menuwrapper > .dl-submenu.dl-animate-in-4 {

	-webkit-animation: SubMenuAnimIn4 0.4s ease forwards;

	-moz-animation: SubMenuAnimIn4 0.4s ease forwards;

	animation: SubMenuAnimIn4 0.4s ease forwards;

}



.dl-menuwrapper > .dl-submenu.dl-animate-in-5 {

	-webkit-animation: SubMenuAnimIn5 0.4s ease forwards;

	-moz-animation: SubMenuAnimIn5 0.4s ease forwards;

	animation: SubMenuAnimIn5 0.4s ease forwards;

}



@-webkit-keyframes SubMenuAnimIn1 {

	0% {

		-webkit-transform: translateX(50%);

		opacity: 0;

	}

	100% {

		-webkit-transform: translateX(0px);

		opacity: 1;

	}

}



@-webkit-keyframes SubMenuAnimIn2 {

	0% {

		-webkit-transform: translateX(100%);

		opacity: 0;

	}

	100% {

		-webkit-transform: translateX(0px);

		opacity: 1;

	}

}



@-webkit-keyframes SubMenuAnimIn3 {

	0% {

		-webkit-transform: translateZ(-300px);

		opacity: 0;

	}

	100% {

		-webkit-transform: translateZ(0px);

		opacity: 1;

	}

}



@-webkit-keyframes SubMenuAnimIn4 {

	0% {

		-webkit-transform: translateZ(300px);

		opacity: 0;

	}

	100% {

		-webkit-transform: translateZ(0px);

		opacity: 1;

	}

}



@-webkit-keyframes SubMenuAnimIn5 {

	0% {

		-webkit-transform: translateZ(-200px);

		opacity: 0;

	}

	100% {

		-webkit-transform: translateZ(0);

		opacity: 1;

	}

}



@-moz-keyframes SubMenuAnimIn1 {

	0% {

		-moz-transform: translateX(50%);

		opacity: 0;

	}

	100% {

		-moz-transform: translateX(0px);

		opacity: 1;

	}

}



@-moz-keyframes SubMenuAnimIn2 {

	0% {

		-moz-transform: translateX(100%);

		opacity: 0;

	}

	100% {

		-moz-transform: translateX(0px);

		opacity: 1;

	}

}



@-moz-keyframes SubMenuAnimIn3 {

	0% {

		-moz-transform: translateZ(-300px);

		opacity: 0;

	}

	100% {

		-moz-transform: translateZ(0px);

		opacity: 1;

	}

}



@-moz-keyframes SubMenuAnimIn4 {

	0% {

		-moz-transform: translateZ(300px);

		opacity: 0;

	}

	100% {

		-moz-transform: translateZ(0px);

		opacity: 1;

	}

}



@-moz-keyframes SubMenuAnimIn5 {

	0% {

		-moz-transform: translateZ(-200px);

		opacity: 0;

	}

	100% {

		-moz-transform: translateZ(0);

		opacity: 1;

	}

}



@keyframes SubMenuAnimIn1 {

	0% {

		transform: translateX(50%);

		opacity: 0;

	}

	100% {

		transform: translateX(0px);

		opacity: 1;

	}

}



@keyframes SubMenuAnimIn2 {

	0% {

		transform: translateX(100%);

		opacity: 0;

	}

	100% {

		transform: translateX(0px);

		opacity: 1;

	}

}



@keyframes SubMenuAnimIn3 {

	0% {

		transform: translateZ(-300px);

		opacity: 0;

	}

	100% {

		transform: translateZ(0px);

		opacity: 1;

	}

}



@keyframes SubMenuAnimIn4 {

	0% {

		transform: translateZ(300px);

		opacity: 0;

	}

	100% {

		transform: translateZ(0px);

		opacity: 1;

	}

}



@keyframes SubMenuAnimIn5 {

	0% {

		transform: translateZ(-200px);

		opacity: 0;

	}

	100% {

		transform: translateZ(0);

		opacity: 1;

	}

}



.dl-menuwrapper > .dl-submenu.dl-animate-out-1 {

	-webkit-animation: SubMenuAnimOut1 0.4s ease forwards;

	-moz-animation: SubMenuAnimOut1 0.4s ease forwards;

	animation: SubMenuAnimOut1 0.4s ease forwards;

}



.dl-menuwrapper > .dl-submenu.dl-animate-out-2 {

	-webkit-animation: SubMenuAnimOut2 0.3s ease-in-out forwards;

	-moz-animation: SubMenuAnimOut2 0.3s ease-in-out forwards;

	animation: SubMenuAnimOut2 0.3s ease-in-out forwards;

}



.dl-menuwrapper > .dl-submenu.dl-animate-out-3 {

	-webkit-animation: SubMenuAnimOut3 0.4s ease forwards;

	-moz-animation: SubMenuAnimOut3 0.4s ease forwards;

	animation: SubMenuAnimOut3 0.4s ease forwards;

}



.dl-menuwrapper > .dl-submenu.dl-animate-out-4 {

	-webkit-animation: SubMenuAnimOut4 0.4s ease forwards;

	-moz-animation: SubMenuAnimOut4 0.4s ease forwards;

	animation: SubMenuAnimOut4 0.4s ease forwards;

}



.dl-menuwrapper > .dl-submenu.dl-animate-out-5 {

	-webkit-animation: SubMenuAnimOut5 0.4s ease forwards;

	-moz-animation: SubMenuAnimOut5 0.4s ease forwards;

	animation: SubMenuAnimOut5 0.4s ease forwards;

}



@-webkit-keyframes SubMenuAnimOut1 {

	0% {

		-webkit-transform: translateX(0%);

		opacity: 1;

	}

	100% {

		-webkit-transform: translateX(50%);

		opacity: 0;

	}

}



@-webkit-keyframes SubMenuAnimOut2 {

	0% {

		-webkit-transform: translateX(0%);

		opacity: 1;

	}

	100% {

		-webkit-transform: translateX(100%);

		opacity: 0;

	}

}



@-webkit-keyframes SubMenuAnimOut3 {

	0% {

		-webkit-transform: translateZ(0px);

		opacity: 1;

	}

	100% {

		-webkit-transform: translateZ(-300px);

		opacity: 0;

	}

}



@-webkit-keyframes SubMenuAnimOut4 {

	0% {

		-webkit-transform: translateZ(0px);

		opacity: 1;

	}

	100% {

		-webkit-transform: translateZ(300px);

		opacity: 0;

	}

}



@-webkit-keyframes SubMenuAnimOut5 {

	0% {

		-webkit-transform: translateZ(0);

		opacity: 1;

	}

	100% {

		-webkit-transform: translateZ(-200px);

		opacity: 0;

	}

}



@-moz-keyframes SubMenuAnimOut1 {

	0% {

		-moz-transform: translateX(0%);

		opacity: 1;

	}

	100% {

		-moz-transform: translateX(50%);

		opacity: 0;

	}

}



@-moz-keyframes SubMenuAnimOut2 {

	0% {

		-moz-transform: translateX(0%);

		opacity: 1;

	}

	100% {

		-moz-transform: translateX(100%);

		opacity: 0;

	}

}



@-moz-keyframes SubMenuAnimOut3 {

	0% {

		-moz-transform: translateZ(0px);

		opacity: 1;

	}

	100% {

		-moz-transform: translateZ(-300px);

		opacity: 0;

	}

}



@-moz-keyframes SubMenuAnimOut4 {

	0% {

		-moz-transform: translateZ(0px);

		opacity: 1;

	}

	100% {

		-moz-transform: translateZ(300px);

		opacity: 0;

	}

}



@-moz-keyframes SubMenuAnimOut5 {

	0% {

		-moz-transform: translateZ(0);

		opacity: 1;

	}

	100% {

		-moz-transform: translateZ(-200px);

		opacity: 0;

	}

}



@keyframes SubMenuAnimOut1 {

	0% {

		transform: translateX(0%);

		opacity: 1;

	}

	100% {

		transform: translateX(50%);

		opacity: 0;

	}

}



@keyframes SubMenuAnimOut2 {

	0% {

		transform: translateX(0%);

		opacity: 1;

	}

	100% {

		transform: translateX(100%);

		opacity: 0;

	}

}



@keyframes SubMenuAnimOut3 {

	0% {

		transform: translateZ(0px);

		opacity: 1;

	}

	100% {

		transform: translateZ(-300px);

		opacity: 0;

	}

}



@keyframes SubMenuAnimOut4 {

	0% {

		transform: translateZ(0px);

		opacity: 1;

	}

	100% {

		transform: translateZ(300px);

		opacity: 0;

	}

}



@keyframes SubMenuAnimOut5 {

	0% {

		transform: translateZ(0);

		opacity: 1;

	}

	100% {

		transform: translateZ(-200px);

		opacity: 0;

	}

}



/* No JS Fallback */

.no-js .dl-menuwrapper .dl-menu {

	position: relative;

	opacity: 1;

	-webkit-transform: none;

	-moz-transform: none;

	transform: none;

}



.no-js .dl-menuwrapper li .dl-submenu {

	display: block;

}



.no-js .dl-menuwrapper li.dl-back {

	display: none;

}



.no-js .dl-menuwrapper li > a:not(:only-child) {

	background: rgba(0,0,0,0.1);

}



.no-js .dl-menuwrapper li > a:not(:only-child):after {

	content: '';

}

