html, body {
  overflow-x: hidden; /* Prevent scroll on narrow devices */
}

body {
  padding-top: 56px;
}

.navbar {
  height: var(--navbar-height);
  transition: top 0.3s ease-in-out;
}

.navbar-dark {
  background-color: var(--header-bg-color);
}

.logo {
  padding-top: 0;
  padding-bottom: 0;
}

.navbar-brand {
  font-weight: 600;
  background: var(--linear-gradient-blue);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.navbar-expand-lg .navbar-nav .nav-link {
  padding-right: 1.25rem;
  padding-bottom: 0;
  font-size: 1.125rem;
  color: var(--body-text-color);
}

.nav-scroller .nav {
  color: rgba(255, 255, 255, .75);
}

.nav-scroller .nav-link {
  padding-top: .75rem;
  padding-bottom: .75rem;
  font-size: .875rem;
  color: #6c757d;
}

.nav-scroller .nav-link:hover {
  color: #007bff;
}

.nav-scroller .active {
  font-weight: 500;
  color: #343a40;
}

.bg-purple {
  background-color: #6f42c1;
}

@media (max-width: 991.98px) {
  .offcanvas-collapse {
    position: fixed;
    top: 56px; /* Height of navbar */
    bottom: 0;
    left: 100%;
    width: 100%;
    padding-right: 1rem;
    padding-left: 1rem;
    overflow-y: auto;
    visibility: hidden;
    background-color: #343a40;
    transition: transform .3s ease-in-out, visibility .3s ease-in-out;
  }
  .offcanvas-collapse.open {
    visibility: visible;
    transform: translateX(-100%);
  }
  .offcanvas-collapse {
    top: var(--navbar-height);
    width: 50%;
    background-color: var(--main-bg-color);
    justify-items: center;
    text-align: center;
  }
  .offcanvas-collapse .navbar-nav {
    padding: 25% 15%;
    margin-right: 0!important;
  }
  .offcanvas-collapse .navbar-nav li {
    padding: 10% 0;
  }
  .navbar-expand-lg .navbar-nav .nav-link {
    padding-right: 0;
    font-size: 1.25rem;
  }
  nav .btn {
    font-size: .7rem;
  }
  nav .btn-primary {
    padding: 6px 12px;
  }
}
