- position: fixed; // Fix the body position to disable any scroll content
- width: 100vw; // Make sure the content fits all the available width when position: fixed
+ width: 100vw; // Make sure the content fits all the available width
+}
+
+// On touchscreen devices, simply overflow: hidden to avoid detached overlay on scroll
+@media (hover: none) and (pointer: coarse) {
+ .modal-open, .menu-open {
+ overflow: hidden !important;
+ }
+
+ // On touchscreen devices display content overlay when opened menu
+ .menu-open {
+ .main-col {
+ &::before {
+ background-color: black;
+ width: 100vw;
+ height: 100vh;
+ opacity: 0.75;
+ content: '';
+ display: block;
+ position: fixed;
+ z-index: z('header') - 1;
+ }
+ }
+ }