/* Common styles of menus */
* { padding: 0px; margin: 0px; }
html { box-sizing: border-box; }
*, *:before, *:after { box-sizing: inherit; }
input, button, select, textarea { outline: none }
*:focus { outline: none; }
.dl-menuwrapper { width: 100%; max-width: 991px; float: left; position: relative; -webkit-perspective: 1000px; perspective: 1000px; -webkit-perspective-origin: 50% 200%; perspective-origin: 50% 200%; }
.dl-menuwrapper:first-child { margin-right: 100px; }
.dl-menuwrapper button { background: #ccc; border: none; width: 48px; height: 45px; text-indent: -900em; overflow: hidden; position: relative; cursor: pointer; outline: none; left: 100%; margin-left: -48px; }
.dl-menuwrapper button:hover, .dl-menuwrapper button.dl-active, .dl-menuwrapper ul { background: #aaa; }
.dl-menuwrapper button:after { content: ''; position: absolute; width: 68%; height: 5px; background: #fff; top: 10px; left: 16%; box-shadow: 0 10px 0 #fff, 0 20px 0 #fff; }
.dl-menuwrapper ul { padding: 0; list-style: none; -webkit-transform-style: preserve-3d; transform-style: preserve-3d; }
.dl-menuwrapper li { position: relative; }
.dl-menuwrapper li a { display: block; position: relative; padding: 15px 20px; font-size: 16px; line-height: 20px; font-weight: 300; color: #fff; outline: none; }
.no-touch .dl-menuwrapper li a:hover { background: rgba(255, 248, 213, 0.1); }
.dl-menuwrapper li.dl-back > a { padding-left: 30px; background: rgba(0, 0, 0, 0.1); }
.dl-menuwrapper li.dl-back:after, .dl-menuwrapper li > a:not(:only-child):after { position: absolute; top: 0; line-height: 50px; font-family: 'icomoon'; speak: none; -webkit-font-smoothing: antialiased; content: "\25BA"; }
.dl-menuwrapper li.dl-back:after { left: 10px; color: rgba(212, 204, 198, 0.3); -webkit-transform: rotate(180deg); transform: rotate(180deg); }
.dl-menuwrapper li > a:after { right: 10px; color: rgba(255, 255, 255, 0.3);  } /**/
.dl-menuwrapper .dl-menu { margin: 5px 0 0 0; position: absolute; width: 100%; opacity: 0; pointer-events: none; -webkit-transform: translateY(10px); transform: translateY(10px); -webkit-backface-visibility: hidden; backface-visibility: hidden; }
.dl-menuwrapper .dl-menu.dl-menu-toggle { transition: all 0.3s ease; }
.dl-menuwrapper .dl-menu.dl-menuopen { opacity: 1; pointer-events: auto; -webkit-transform: translateY(0px); transform: translateY(0px); }

/* Hide the inner submenus */
.dl-menuwrapper li .dl-submenu { display: none; }
.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; }
.dl-menuwrapper > .dl-submenu { position: absolute; width: 100%; top: 50px; left: 0; margin: 0; }

/* Animation classes for moving out and in */
.dl-menu.dl-animate-out-1 { -webkit-animation: MenuAnimOut1 0.4s; animation: MenuAnimOut1 0.4s; }
@-webkit-keyframes MenuAnimOut1 {
	0% { }
	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; }
}
@keyframes MenuAnimOut1 {
	0% { }
	50% { -webkit-transform: translateZ(-250px) rotateY(30deg); transform: translateZ(-250px) rotateY(30deg); }
	75% { -webkit-transform: translateZ(-372.5px) rotateY(15deg); transform: translateZ(-372.5px) rotateY(15deg); opacity: .5; }
	100% { -webkit-transform: translateZ(-500px) rotateY(0deg); transform: translateZ(-500px) rotateY(0deg); opacity: 0; }
}
.dl-menu.dl-animate-in-1 { -webkit-animation: MenuAnimIn1 0.3s; animation: MenuAnimIn1 0.3s; }
@-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; }
}
@keyframes MenuAnimIn1 {
	0% { -webkit-transform: translateZ(-500px) rotateY(0deg); transform: translateZ(-500px) rotateY(0deg); opacity: 0; }
	20% { -webkit-transform: translateZ(-250px) rotateY(30deg); transform: translateZ(-250px) rotateY(30deg); opacity: 0.5; }
	100% { -webkit-transform: translateZ(0px) rotateY(0deg); transform: translateZ(0px) rotateY(0deg); opacity: 1; }
}
.dl-menuwrapper > .dl-submenu.dl-animate-in-1 { -webkit-animation: SubMenuAnimIn1 0.4s ease; animation: SubMenuAnimIn1 0.4s ease; }
@-webkit-keyframes SubMenuAnimIn1 {
	0% { -webkit-transform: translateX(50%); opacity: 0; }
	100% { -webkit-transform: translateX(0px); opacity: 1; }
}
@keyframes SubMenuAnimIn1 {
	0% { -webkit-transform: translateX(50%); transform: translateX(50%); opacity: 0; }
	100% { -webkit-transform: translateX(0px); transform: translateX(0px); opacity: 1; }
}
.dl-menuwrapper > .dl-submenu.dl-animate-out-1 { -webkit-animation: SubMenuAnimOut1 0.4s ease; animation: SubMenuAnimOut1 0.4s ease; }
@-webkit-keyframes SubMenuAnimOut1 {
	0% { -webkit-transform: translateX(0%); opacity: 1; }
	100% { -webkit-transform: translateX(50%); opacity: 0; }
}
@keyframes SubMenuAnimOut1 {
	0% { -webkit-transform: translateX(0%); transform: translateX(0%); opacity: 1; }
	100% { -webkit-transform: translateX(50%); transform: translateX(50%); opacity: 0; }
}

/* Demo 1 */
.demo-1 .dl-menuwrapper button { background: #4f4f4f; }
.demo-1 .dl-menuwrapper button:hover, .demo-1 .dl-menuwrapper button.dl-active, .demo-1 .dl-menuwrapper ul { background: #2a2a2a; }