.menu { font-size: 0; position: relative; z-index: 2; height: 65px; margin: 0; padding: 0; background: #fff; box-shadow: 0 3px 6px rgba(0,0,0,.23), 0 3px 6px rgba(0,0,0,.16); a { font-size: 22px; font-variant: small-caps; line-height: 65px; display: inline-block; height: 100%; padding: 0 30px; transition: background .1s, color .1s; vertical-align: middle; text-decoration: none; color: rgba(0,0,0,.52); &:first-child { font-size: 30px; font-variant: normal; padding-left: 0; color: #ff4081; > i { height: inherit; line-height: inherit; vertical-align: top; font-size: 30px; } > span { margin-left: 10px; } } &:not(:first-child):hover, &:not(:first-child).open { color: #fff; background: #ff4081; } } } .submenu { position: relative; z-index: 1; overflow: hidden; width: 100%; height: 0; transition: height .5s; background: #212121; box-shadow: inset 0 3px 6px rgba(0,0,0,.23); will-change: height; &.open { height: 350px; } .container { height: 350px; .group { position: absolute; top: 0; left: 0; display: flex; width: 100%; height: 100%; pointer-events: none; opacity: 0; &.open { opacity: 1; } .column { display: flex; flex-direction: column; margin: 20px 10px; color: #fff; flex: 1; .groupTitle { line-height: 20px; max-height: 20px; } > * { display: flex; height: 100%; } ul { display: flex; flex-direction: column; margin: 20px 0 0 10px; padding: 10px 20px; list-style: none; border-left: 2px rgba(255,255,255,.1) solid; li { position: relative; flex: 1; .title { font-size: 16px; display: block; margin-bottom: 3px; color: #ff80ab; } .info { font-size: .8em; font-weight: light; color: #aaa; } } } } } } }