@import "../htk/style/classes"; $side-panel-width: 250px; $navbar-height: 64px; .vn-gui { height: inherit; /* Font */ .user-name, .menu-title { font-size: 1.1rem; } /* Navigation bar */ .navbar { position: fixed; background-color: #1A1A1A; left: $side-panel-width; top: 0; right: 0; z-index: 1; overflow: hidden; height: $navbar-height; color: white; display: flex; align-items: center; transition-property: left, background-color, transform; transition-duration: 200ms; transition-timing-function: ease-in-out; & > .menu-button { flex: none; display: none; border: none; &:hover { background-color: rgba(255, 255, 255, .1); } & > .htk-icon { display: block; } } & > .title-wraper { display: flex; align-items: center; gap: 12px; overflow: hidden; padding-left: 12px; flex-shrink: 2; & > .title { overflow: hidden; h1 { font-weight: normal; font-size: 1.4rem; margin: 0; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; } } } & > .action-bar { flex: auto; height: 100%; & > div { display: flex; justify-content: flex-end; height: 100%; align-items: center; padding-right: 12px; padding-left: 4px; gap: 2px; } button { margin: 0; padding: 8px 13px; &:hover { background-color: rgba(2550, 255, 255, .2); } } } } /* Background */ & > .background { z-index: 10; position: fixed; top: 0; left: 0; right: 0; bottom: 0; visibility: hidden; background-color: rgba(1, 1, 1, .7); opacity: 0; &.show { visibility: visible; transition: opacity 200ms ease-out; opacity: 1; } } /* Left panel */ .left-panel { z-index: 20; position: fixed; left: 0; bottom: 0; top: 0; background-color: white; z-index: 20; width: $side-panel-width; } .menu-overflow { position: absolute; top: 0; left: 0; right: 0; bottom: 4em; overflow: auto; } .menu-header { background-color: #1A1A1A; color: white; height: $navbar-height; display: flex; } .logo { display: block; width: 160px; margin-left: 37px; } .user-info { margin: 25px; & > div { display: flex; justify-content: space-between; align-items: center; overflow: hidden; font-weight: bold; border: 1px solid #eaeaea; & > span { padding: 10px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .logout { display: block; margin: 0; text-align: left; border-radius: 0; &:hover { background-color: #1a1a1a; color: white; } & > .htk-icon { display: block; } } &.supplant { display: none; border-top: none; &.show { display: flex; } } } } /* Test link */ .test-link { display: none; margin: .5em; background-color: #3f51b5; color: white; padding: 0 1em; line-height: 2em; border-radius: .1em; text-align: center; &:hover { background-color: #4f61c5; } } .dev-info { display: none; padding: .3em .5em; color: white; background-color: #3f51b5; font-size: .9em; margin: .5em; border-radius: .1em; & > p { margin: .2em 0; } & > .mode { color: #BBF; } } /* Menu */ .main-menu, ul.submenu { list-style-type: none; padding: 0; margin: 0; } .main-menu > li { display: block; padding: 0; margin: 0; width: 100%; } .main-menu a { width: 70%; padding: 0 15%; display: block; line-height: 2.8em; } .main-menu a:hover, .main-menu a.selected { background-color: rgba(1, 1, 1, .1); } ul.submenu { display: none; } ul.submenu.popup { display: inline; position: fixed; border: none; border-radius: 1px; background-color: white; box-shadow: 0 0 .3em rgba(1, 1, 1, .3); z-index: 50; width: 13em; max-height: 30em; } /* Social */ .menu-footer { position: absolute; bottom: 0; right: 0; left: 0; } /* Body */ & > .body { margin-left: $side-panel-width; padding-top: $navbar-height; height: inherit; box-sizing: border-box; height: inherit; transition-property: margin-left, margin-right; transition-duration: 200ms; } .form-holder { position: relative; height: inherit; &.move-start { opacity: 0; transform: translate3d(-2em, 0, 0); -webkit-transform: translate3d(-2em, 0, 0); } &.move-end { opacity: 1; transform: translate3d(0, 0, 0); -webkit-transform: translate3d(0, 0, 0); transition-property: opacity, transform; transition-duration: 200ms; transition-timing-function: ease-out; } & > * { padding: $spacing-md; } } /* Mobile */ @media (max-width: 960px) { & > .navbar { padding-left: 12px; left: 0; & > .menu-button { display: block; } & > .action-bar { button { padding: 8px; } span.label, button > .text { display: none; } } } & > .body { margin-left: 0; } .left-panel { top: 0; left: -250px; box-shadow: 0 0 .2em rgba(1, 1, 1, .3); transition: transform 200ms ease-out; -webkit-transition: transform 200ms ease-out; } .left-panel.show { transform: translateZ(0) translateX(250px); -webkit-transform: translateZ(0) translateX(250px); } .form-holder { left: 0; } ul.submenu { display: block; background-color: #888; color: white; box-shadow: inset 0 0 .2em rgba(1, 1, 1, .2); overflow: hidden; max-height: 0; transition: max-height 300ms ease-out; webkit-transition: max-height 300ms ease-out; } .main-menu li:hover > ul.submenu { max-height: 20em; } } }