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;
}

/* --- VERTICAL SIDEBAR STYLES --- */
body {
    overflow-x: hidden;
}

#sidebar {
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    width: 240px;
    background-color: #f8f9fa; /* A light grey background */
    border-right: 1px solid #dee2e6;
    padding-top: 60px; /* Space for the top navbar */
    z-index: 1020; /* Sits just below the main navbar */
}

    #sidebar .nav-link {
        color: seashell;
        padding: 10px 20px;
        font-weight: 500;
    }

		#sidebar .nav-link:hover {
			background-color: #e9ecef;
			color: seagreen;
		}

/* Push main content to the right to make space for the sidebar */
#main-content {
    padding-left: 240px;
    transition: padding-left 0.3s;
}

/* When the user is logged out, the sidebar is hidden, so main content takes full width */
body.logged-out #main-content {
    padding-left: 0;
}

/* --- RESPONSIVE SIDEBAR STYLES --- */

/* Hide the hamburger toggle on large screens */
#sidebar-toggle {
    display: none;
}

/* Media Query for screens smaller than 992px (tablets and phones) */
@media (max-width: 991.98px) {

    /* Show the hamburger toggle */
    #sidebar-toggle {
        display: block;
    }

    /* Hide the sidebar by pushing it off-screen */
    #sidebar {
        left: -240px;
        transition: left 0.3s;
    }

    /* The main content takes up the full width */
    #main-content {
        padding-left: 0;
    }

    /* This class will be added by JavaScript to show the sidebar */
    body.sidebar-show #sidebar {
        left: 0;
    }
}