body {
    overflow-x: hidden;
    /* Prevent scroll on narrow devices */
    height: 100vh;
    padding-top: 56px;
  }

  .app-container {
    min-height: 100%;
    padding: 15px;
  }

  .sidebar {
    height: 100%;
    overflow-y: auto;
  }

  .sidebar .nav-link {
    font-weight: 500;
    color: #333;
  }

  .sidebar .nav-link.active {
    color: #007bff;
  }

  .sidebar .nav-link:hover {
    color: #999;
  }

  @media (max-width: 768px) {
    .offcanvas-navbar {
      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: visibility .3s ease-in-out, -webkit-transform .3s ease-in-out;
      transition: transform .3s ease-in-out, visibility .3s ease-in-out;
      transition: transform .3s ease-in-out, visibility .3s ease-in-out, -webkit-transform .3s ease-in-out;
    }

    .offcanvas-navbar.open {
      /*visibility: visible;*/
      -webkit-transform: translateX(-100%);
      transform: translateX(-100%);
    }
  }


  .offcanvas-sidebar {
    position: fixed;
    top: 71px;
    bottom: 15px;
    z-index: 100;
    padding: 0px 0;
    /*border-right: 1px solid #eee;*/
    /*box-shadow: inset -1px 0 0 rgba(0, 0, 0, .1);*/
    padding-bottom: 56px;
  }

  @media (max-width: 768px) {
    .offcanvas-sidebar {
      right: 100%;
      transition: visibility .3s ease-in-out, -webkit-transform .3s ease-in-out;
      transition: transform .3s ease-in-out, visibility .3s ease-in-out;
      transition: transform .3s ease-in-out, visibility .3s ease-in-out, -webkit-transform .3s ease-in-out;
    }

    .offcanvas-sidebar.open {
      -webkit-transform: translateX(100%);
      transform: translateX(100%);
    }
  }