diff --git a/src/scripts/menu-toggle.js b/src/scripts/menu-toggle.js
new file mode 100644
index 0000000000000000000000000000000000000000..8f966706a8d181dc68770deab3bb1db5431c6e43
--- /dev/null
+++ b/src/scripts/menu-toggle.js
@@ -0,0 +1,11 @@
+document.addEventListener("DOMContentLoaded", () => {
+    const menuWrappers = Array.from(document.querySelectorAll(".menu-wrapper"));
+  
+    //- Toggle sub-menus
+    menuWrappers.forEach(menuWrapper => {
+      const menu = menuWrapper.querySelector(".menu");
+      menu.addEventListener("click", e => {
+        menuWrapper.classList.toggle("is-closed");
+      });
+    });
+});  
\ No newline at end of file
diff --git a/src/styles/base/main.scss b/src/styles/base/main.scss
index 950b85a4bba65c24f11c966d21306f6daf9c2d9f..835e8db020bf349b1844172e897578f4c5352fd2 100644
--- a/src/styles/base/main.scss
+++ b/src/styles/base/main.scss
@@ -61,7 +61,7 @@ solid-dashboard section {
     position: sticky;
     top: 0;
     overflow-x: hidden;
-    overflow-y: auto;
+    overflow-y: scroll;
   }
 
   &.jsLeftMenu {
diff --git a/src/styles/base/menu-left.scss b/src/styles/base/menu-left.scss
index a018b5d7b07a2d97d58200d556a753e91a2e546f..6996fb63fdc7879dfa753567ae623da8de4abd24 100644
--- a/src/styles/base/menu-left.scss
+++ b/src/styles/base/menu-left.scss
@@ -13,13 +13,21 @@
 
   solid-router {
     .menu-wrapper {
-      &.is-closed {
-        .sub-menu {
-          display: none;
+      .menu-icon.icon-arrow-up {
+        visibility: hidden;
+      }
+      @include breakpoint(lg) {
+        .menu-icon.icon-arrow-up {
+          visibility: visible;
         }
+        &.is-closed {
+          .sub-menu {
+            display: none;
+          }
 
-        .menu-chevron {
-          transform: rotate(180deg);
+          .menu-chevron {
+            transform: rotate(180deg);
+          }
         }
       }
     }