/* Scroll fix, try to disable overflow scrolling on mobile to make this feel more native */ html, body { width: 100%; height: 100%; overflow: hidden; position: fixed; padding-bottom: 0; overscroll-behavior-y: none; } /* Hide bootstrap tooltip arrows I did this so I wouldn't have to deal with toolbar button alignment but you can change that if you want */ .tooltip .arrow { display: none; } /* Navbar */ .navbar { position: absolute; top: 0; width: 100%; } .toolbar-button { padding-left: 2rem; padding-top: .375rem; line-height: 1.5; color: white; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } .toolbar-button:hover { color: #ddd; text-decoration: none; } /* Sidebar */ #sidebar { padding-left: 20px; background-color: #ecedee; height: 100vh; padding-top: 20px; border-right: 1px solid darkgray; position: fixed; width: 250px; } #sidebar a:hover { text-decoration: none; } #sidebar ul > li { padding-bottom: 10px; } #sidebar ul > li > a { color: rgba(0,0,0,.5); } #sidebar ul > li.active > a { color: black; } #sidebar div > a { color: rgba(0,0,0,.5); } #sidebar div.active > a { color: black; } /* Content area */ .wrapper { height: calc(100% - 56px); overflow: auto; position: fixed; top: 56px; width: 100%; -webkit-overflow-scrolling: touch; align-items: stretch; } #content { width: 100%; padding: 20px; } /* Dark theming */ @media (prefers-color-scheme: dark) { /* Custom Bootstrap dark theming */ body { background-color: #111 !important; color: #eee; } .jumbotron { background-color: #333 !important; } .modal-content { background-color: #111 !important; color: #eee; } .modal-header { border-bottom: 1px solid #555 !important; } .modal-header .close { color: #eee !important; text-shadow: 0 1px 0 #555 !important; } .modal-footer { border-top: 1px solid #555 !important; } .bg-light { background-color: #333 !important; } .bg-white { background-color: #000 !important; } .bg-black { background-color: #eee !important; } .form-control { display: block; width: 100%; height: calc(1.5em + 0.75rem + 2px); padding: 0.375rem 0.75rem; font-size: 1rem; font-weight: 400; line-height: 1.5; color: #dee2e6; background-color: #000; background-clip: padding-box; border: 1px solid #6c757d; border-radius: 0.25rem; transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; } @media (prefers-reduced-motion: reduce) { .form-control { transition: none; } } .form-control::-ms-expand { background-color: transparent; border: 0; } .form-control:-moz-focusring { color: transparent; text-shadow: 0 0 0 #dee2e6; } .form-control:focus { color: #dee2e6; background-color: #191d21; border-color: #b3d7ff; outline: 0; box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); } .form-control::-webkit-input-placeholder { color: #6c757d; opacity: 1; } .form-control::-moz-placeholder { color: #6c757d; opacity: 1; } .form-control::-ms-input-placeholder { color: #6c757d; opacity: 1; } .form-control::placeholder { color: #6c757d; opacity: 1; } .form-control:disabled, .form-control[readonly] { background-color: #343a40; opacity: 1; } .card { background-color: #000; border: 1px solid #6c757d; } /* Sidebar */ #sidebar { padding-left: 20px; background-color: #1a1d20; height: 100vh; padding-top: 20px; border-right: 1px solid black; } #sidebar ul > li { padding-bottom: 10px; } #sidebar ul > li > a { color: rgba(255,255,255,.5); } #sidebar ul > li.active > a { color: white; } #sidebar div > a { color: rgba(255,255,255,.5); } #sidebar div.active > a { color: white; } } /* PWA theming fixes Tested basically only on iOS, so Android, get fucked maybe */ @media all and (display-mode: standalone) { .navbar { position: absolute; top: 0; width: 100%; padding-top: 44px !important; } .wrapper { height: calc(100vh - 92px); overflow: auto; position: fixed; top: 92px; width: 100%; align-items: stretch; padding-left: env(safe-area-inset-left); padding-right: env(safe-area-inset-right); padding-bottom: env(safe-area-inset-bottom); } /* Tweaks for size classes above portait phones */ @media (min-width: 577px) { .navbar { position: absolute; top: 0; width: 100%; padding-top: 24px !important; } #navbarNavDropdown { padding-left: env(safe-area-inset-left); padding-right: env(safe-area-inset-right); } .wrapper { height: calc(100% - 72px); overflow: auto; position: fixed; top: 72px; width: 100%; align-items: stretch; padding-left: env(safe-area-inset-left); padding-right: env(safe-area-inset-right); padding-bottom: env(safe-area-insert-bottom); } } } /* Hide sidebar on phones and portrait tablets */ @media (max-width: 991.98px) { #sidebar { display: none !important; } } /* Display sidebar and hide nav menu for landscape tablets and desktop */ @media (min-width: 991.98px) { .navbar-nav { display: none !important; } #sidebar { min-width: 250px; max-width: 250px; display: block !important; } #content { left: 250px; width: calc(100% - 250px) !important; position: relative; } #sidebar.active { margin-left: -250px; } }