/** * @license GNU AGPL version 3 or any later version * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . */ .__debug { background: red; padding: 5px; color: #fff; width: 50vw; bottom: 0; right: 0; z-index: 3000; position: fixed; } #side-menu { position: fixed; top: 0; left: 0; height: 100vh; width: 100%; max-width: 290px; background: linear-gradient(90deg, var(--side-menu-background-color, #333) 0%, var(--side-menu-background-color-to, #333) 100%); z-index: 3000; color: var(--side-menu-text-color, #fff); box-shadow: rgba(0, 0, 0, 0.22) 0px 25.6px 57.6px 0px, rgba(0, 0, 0, 0.18) 0px 4.8px 14.4px 0px; display: none; a { transition: 0.2s; } &.open { display: block; .side-menu-settings { display: block; } } .side-menu-opener { margin-top: 1px !important; } &.side-menu-big { max-width: 100%; height: auto; } &.side-menu-with-categories { max-width: 290px; height: 100vh; .side-menu-categories { display: block; padding: 0; width: 100%; } .side-menu-category { padding: 10px 0; } } &.side-menu-big, &.side-menu-with-categories { height: auto; } } #header { .side-menu-opener { margin-left: 0px; margin-top: 0px; } } .side-menu-settings { margin-right: 9px; margin-top: 2px; float: right; line-height: 34px; height: 42px; display: none; a { color: var(--side-menu-text-color, #fff); display: block; padding: 4px 7px; } &:hover a, a:active, a:focus { background: var(--side-menu-current-app-background-color, #444); } img { vertical-align: bottom; margin-left: 3px; width: 32px; height: 32px; } } .side-menu-opener { background: var(--side-menu-opener, url('../../img/side-menu-opener.svg')); background-color: transparent !important; height: 40px !important; width: 40px !important; border-radius: 0 !important; border: 0 !important; padding-right: 12px !important; padding-left: 12px !important; margin-left: 5px !important; margin-left: 3px !important; overflow: hidden; span { position: relative; left: 50px; display: block; width: 1px; height: 1px; overflow: hidden; } &:active, &:focus { background-color: var(--side-menu-current-app-background-color, #444) !important; } } .side-menu-closer { background: url('../../img/side-menu-opener-closer.svg'); display: none; } .side-menu-apps-list { height: calc(100vh - 49px); top: 49px; z-index: 2200; position: fixed; width: 100%; max-width: 290px; overflow: auto; &.side-menu-apps-list--with-logo { height: calc(100vh - 160px); top: 160px; } } .side-menu-app-icon { width: 20px; vertical-align: middle; margin-top: -4px; margin-right: 10px; filter: invert(var(--side-menu-icon-invert-filter, 0%)); opacity: var(--side-menu-icon-opacity, 1); } .side-menu-app { a { line-height: 30px; color: var(--side-menu-text-color, #fff); display: block; padding: 7px 0 5px 15px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } a:hover, a:focus, &:active, &.active { background: var(--side-menu-current-app-background-color, #444); } } .side-menu-logo { text-align: center; clear: both; img { max-width: 60%; max-height: 100px; } } .side-menu-header { width: 100%; z-index: 2300; max-width: 290px; padding-top: 2px; top: 0; &::after { content: ' '; display: block; clear: both; } } #side-menu.side-menu-with-categories .side-menu-header { max-width: 295px; } #side-menu-loader { position: fixed; top: 0; left: 0; width: 100%; z-index: 3001; #side-menu-loader-bar { height: 4px; background: var(--side-menu-loader-color, #0e75ac); width: 0; transition-property: width; } } .side-menu-big, .side-menu-with-categories { .side-menu-apps-list { height: auto; position: static; max-width: 100vw; overflow: auto; } .side-menu-app { a { padding: 7px 0 7px 7px; } } .side-menu-app-icon { vertical-align: middle; margin-top: -2px; } } .side-menu-categories-wrapper { padding-bottom: 70px; } .side-menu-categories { max-height: calc(100vh - 55px); overflow: auto; position: relative; display: flex; flex-wrap: wrap; justify-content: center; padding: 0 10% 0 10%; } .side-menu-category { padding: 10px 20px; flex: 1 1 auto; } .side-menu-category-title { padding-left: 10px; color: var(--side-menu-text-color, #fff); font-weight: bold; font-size: 20px; margin-bottom: 12px; line-height: 30px; margin-top: 0; } .side-menu-loader { text-align: center; } .side-menu-loader svg { width: 45px; margin: auto; stroke: var(--side-menu-text-color, #fff); } .side-menu-always-displayed { body { width: calc(100% - 50px) !important; position: absolute; left: 50px; } #header { position: absolute !important; } #side-menu { display: block; } .side-menu-apps-list { height: calc(100vh - 49px); top: 49px; } .side-menu-apps-list:hover { overflow: auto; } #side-menu, .side-menu-header, .side-menu-apps-list { width: 50px; } #side-menu .side-menu-app-text, #header .side-menu-opener, .side-menu-logo { display: none; } #side-menu .side-menu-header { height: 49px; } #side-menu.open, #side-menu.open .side-menu-apps-list, #side-menu.open .side-menu-header { width: 100%; } #side-menu.open .side-menu-app-text { display: inline; } .app-navigation-toggle-wrapper { right: 0 !important; margin-left: 0 !important; } } .app-menu { visibility: hidden; } .app-menu.show { visibility: visible; } .side-menu-search { float: right; } .side-menu-search { input { background: none; border: 0; border-radius: 0; color: var(--side-menu-text-color); &::placeholder { color: var(--side-menu-text-color); } } } @media screen and (max-width: 1024px) { #side-menu.side-menu-big { max-width: 290px; height: 100vh; } .side-menu-categories { display: block; padding: 0; } .side-menu-category { padding: 10px 0; } } @media screen and (min-width: 1024px) { .side-menu-closer { display: block; float: right; margin-right: 9px; } .side-menu-big .side-menu-header { max-width: 100%; } }