html { font-size: 14px; } @media (min-width: 768px) { html { font-size: 16px; } } .btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus { box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb; } html { position: relative; min-height: 100%; } body { margin-bottom: 60px; } .app-wrapper { display: flex; min-height: 100vh; } .sidebar { width: 240px; background-color: #2c3e50; color: #fff; display: flex; flex-direction: column; position: fixed; top: 0; bottom: 0; left: 0; overflow-y: auto; z-index: 100; } .sidebar-brand { display: block; padding: 1rem 1.25rem; font-size: 1.25rem; font-weight: 600; color: #fff; text-decoration: none; border-bottom: 1px solid rgba(255, 255, 255, 0.1); } .sidebar-brand:hover { color: #fff; background-color: rgba(255, 255, 255, 0.05); } .sidebar-nav { padding: 1rem 0; flex: 1 1 auto; } .sidebar-heading { padding: 1rem 1.25rem 0.5rem; margin: 0; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.08em; color: rgba(255, 255, 255, 0.5); } .sidebar-nav .nav-link { color: rgba(255, 255, 255, 0.8); padding: 0.5rem 1.25rem; display: block; text-decoration: none; } .sidebar-nav .nav-link:hover, .sidebar-nav .nav-link.active { background-color: rgba(255, 255, 255, 0.1); color: #fff; } .main-content { margin-left: 240px; flex: 1 1 auto; display: flex; flex-direction: column; min-height: 100vh; } .topbar { background-color: #f8f9fa; border-bottom: 1px solid #dee2e6; padding: 0.75rem 1.5rem; text-align: right; } .topbar .navbar-text { color: #343a40; } @media (max-width: 767.98px) { .sidebar { position: static; width: 100%; height: auto; } .main-content { margin-left: 0; } }