diff --git a/gtk-3.20/scss/widgets/_menu.scss b/gtk-3.20/scss/widgets/_menu.scss
index 2f15ea1..1c34ff6 100755
--- a/gtk-3.20/scss/widgets/_menu.scss
+++ b/gtk-3.20/scss/widgets/_menu.scss
@@ -6,30 +6,32 @@
 **********/
 
 @include exports("menubar") {
-    .menubar, menubar {
+    menubar, .menubar {
         -GtkWidget-window-dragging: true;
 
+        padding: 0;
         border: 0;
         background-color: $menubar_bg_color;
         background-image: none;
+        //box-shadow: inset 0 -1px shade($menubar_bg_color, .9);
         color: $menubar_fg_color;
 
-
-        &.menuitem, .menuitem, menuitem {
+        > menuitem {
+            min-height: 16px;
             padding: $spacing ($spacing * 2);
             border: 1px solid transparent;
             background-color: transparent;
             background-image: none;
-            color: $menu_fg_color;
+            color: $menubar_fg_color;
 
             &:hover {
-                border-color: mix($menu_bg_color, $menu_fg_color, .21);
-                background-color: mix($menu_bg_color, $menu_fg_color, .21);
+                border-color: mix($menubar_bg_color, $menubar_fg_color, .21);
+                background-color: mix($menubar_bg_color, $menubar_fg_color, .21);
                 background-image: none;
-                color: shade($menu_fg_color, 1.08);
+                color: shade($menubar_fg_color, 1.08);
             }
 
-            *:hover { color: shade($menu_fg_color, 1.08); }
+            *:hover { color: shade($menubar_fg_color, 1.08); }
         }
     }
 }
@@ -40,58 +42,36 @@
 *******/
 
 @include exports("menu") {
-    * {
-        padding: 0;
-    }
-
-    combobox {
-        &.menu, .menu, menu {
-            background-color: $menu_bg_color;
-            margin: $spacing;
-        }
-    }
-
-    #toolbar-popup, menu {
+    menu, .menu {
         padding: 0;
         border-radius: 0;
-        border: 0;
+        //border: 0;
+        border: 1px solid border_normal($menu_bg_color);
         background-color: $menu_bg_color;
         color: $menu_fg_color;
 
-        &:checked { background-color: $selected_bg_color; }
+        .csd & { border: none; }  // axes borders in a composited env
 
-        button {
+        &:selected { background-color: $selected_bg_color; }
+
+        /*button {
             &, &:hover, &:active, &:active *:disabled, &:disabled {
                 border-width: 0;
                 background-color: transparent;
                 background-image: none;
             }
-        }
-    }
+        }*/
 
-    menuitem window decoration {
-        box-shadow: 0 2px 3px rgba(0,0,0,.2);
-    }
-
-    .context-menu { font: initial; }
-
-    .menuitem, menuitem {
-        &, menu & {
-            margin: $spacing;
-            padding: $spacing 8px;
-            border: 0;
+        menuitem {
+            min-height: 16px;
+            min-width: 40px;
+            padding: $spacing;
+            //border: 0;
             border-radius: 0;
-            background-color: transparent;
-            background-image: none;
+            //background-color: transparent;
+            //background-image: none;
 
-            -GtkMenuItem-arrow-scaling: .5;
-
-            menu &:last-child {
-                padding-bottom: 8px;
-            }
-            menu &:first-child {
-                padding-top: 8px;
-            }
+            //-GtkMenuItem-arrow-scaling: .5;
 
             &:active, &:hover {
                 border: 0;
@@ -103,51 +83,92 @@
             *:active, *:hover { color: $selected_fg_color; }
 
             &:disabled, *:disabled { color: mix($menu_fg_color, $menu_bg_color, .5); }
-        }
 
-        &.check, &.radio {
-            &, &:focus, &:hover, &:disabled { background-image: none; }
+            // submenu indicators
+            arrow {
+                min-height: 16px;
+                min-width: 16px;
 
-            &, &:focus, &:hover, &:active, &:disabled {
+                &:dir(ltr) {
+                    -gtk-icon-source: -gtk-icontheme('pan-end-symbolic');
+                    margin-left: 10px;
+                }
+
+                &:dir(rtl) {
+                    -gtk-icon-source:-gtk-icontheme('pan-end-symbolic-rtl');
+                    margin-right: 10px;
+                }
+            }
+
+            > separator {
+                padding: 0;
                 border-style: none;
+                color: shade($menu_bg_color, ($contrast + .1));
+            }
+
+            &.button, &.button.flat {
+                &, &:focus, &:active, &:disabled, &:active:disabled {
+                    background-color: transparent;
+                    background-image: none;
+                    border: 0;
+                    box-shadow: none;
+                    color: currentColor;
+                }
+
+                &:hover, &:focus:hover, &:active:hover, &:selected {
+                    background-image: none;
+                    background-color: $selected_bg_color;
+                    color: $selected_fg_color;
+                }
+            }
+
+            calendar {
+                &:inconsistent { color: mix($menu_fg_color, $menu_bg_color, .5); }
+
+                .button {
+                    border-style: none;
+                    background-color: transparent;
+                    background-image: none;
+                }
+            }
+        }
+
+        // overflow arrows
+        > arrow {
+            //@include button(undecorated);
+
+            min-height: 16px;
+            min-width: 16px;
+            padding: $spacing;
+            background-color: $menu_bg_color;
+            border-radius: 0;
+
+            &.top {
+                margin-top: -6px;
+                border-bottom: 1px solid mix($fg_color, $base_color, .1);
+                -gtk-icon-source: -gtk-icontheme('pan-up-symbolic');
+            }
+
+            &.bottom {
+                margin-bottom: -6px;
+                border-top: 1px solid mix($fg_color, $base_color, .1);
+                -gtk-icon-source: -gtk-icontheme('pan-down-symbolic');
+            }
+
+            //&:hover { background-color: mix($fg_color, $base_color, 10%); }
+
+            //&:backdrop { background-color: $backdrop_menu_color; }
+
+            &:disabled {
+                color: transparent;
                 background-color: transparent;
+                border-color: transparent ;
             }
         }
+    }
 
-        &.separator {
-            padding: 0;
-
-            border-style: none;
-            color: shade($menu_bg_color, ($contrast + .1));
-        }
-
-        &.button, &.button.flat {
-            &, &:focus, &:active, &:disabled, &:active:disabled {
-                background-color: transparent;
-                background-image: none;
-                border: 0;
-                box-shadow: none;
-                color: currentColor;
-            }
-
-            &:hover, &:focus:hover, &:active:hover, &:selected {
-                background-image: none;
-                background-color: $selected_bg_color;
-                color: $selected_fg_color;
-            }
-        }
-
-        calendar {
-            &:indeterminate { color: mix($menu_fg_color, $menu_bg_color, .5); }
-
-            .button {
-                border-style: none;
-                background-color: transparent;
-                background-image: none;
-            }
-        }
-
-        .accelerator {
+    menuitem {
+        accelerator {
             color: alpha($menu_fg_color, .6);
 
             &:hover { color: alpha($selected_fg_color, .8); }
@@ -155,6 +176,18 @@
             &:disabled { color: alpha(mix($menu_fg_color, $menu_bg_color, .5), .4); }
         }
 
+        check, radio {
+            min-height: 16px;
+            min-width: 16px;
+
+            &:dir(ltr) { margin-right: 7px; }
+            &:dir(rtl) { margin-left: 7px; }
+        }
+
+        window decoration {
+            box-shadow: 0 2px 3px rgba(0,0,0,.2);
+        }
+
         entry { @include entry($menu_bg_color, $menu_fg_color); }
     }
 }
diff --git a/gtk-3.20/scss/widgets/_sidebar.scss b/gtk-3.20/scss/widgets/_sidebar.scss
index 61b7a0a..61570c7 100755
--- a/gtk-3.20/scss/widgets/_sidebar.scss
+++ b/gtk-3.20/scss/widgets/_sidebar.scss
@@ -86,32 +86,70 @@
 
 @include exports("paned") {
     paned {
-        -GtkPaned-handle-size: 1;
-        -gtk-icon-source: none;
+        > separator {
+            min-width: 1px;
+            min-height: 1px;
+            -gtk-icon-source: none; // defeats the ugly default handle decoration
+            border-style: none; // just to be sure
+            background-color: transparent;
+            // workaround, using background istead of a border since the border will get rendered twice (?)
+            background-image: image(shade($bg_color, .9));
+            background-size: 1px 1px;
 
-        margin: 0 $spacing;
+            &:selected { background-image: image($selected_bg_color); } // FIXME is this needed?
+
+            //&:backdrop { background-image: image($backdrop_borders_color); }
+
+            &.wide {
+                min-width: 5px;
+                min-height: 5px;
+                background-color: $bg_color;
+                background-image: image(border_normal($bg_color)), image(border_normal($bg_color));
+                background-size: 1px 1px, 1px 1px;
+
+              //&:backdrop {
+              //  background-color: $backdrop_bg_color;
+              //  background-image: image($backdrop_borders_color),
+              //                    image($backdrop_borders_color);
+              //}
+           }
+        }
+
+        &.horizontal > separator {
+            background-repeat: repeat-y;
+
+            &:dir(ltr) {
+                margin: 0 -8px 0 0;
+                padding: 0 8px 0 0;
+                background-position: left;
+            }
+
+            &:dir(rtl) {
+                margin: 0 0 0 -8px;
+                padding: 0 0 0 8px;
+                background-position: right;
+            }
+
+            &.wide {
+                margin: 0;
+                padding: 0;
+                background-repeat: repeat-y, repeat-y;
+                background-position: left, right;
+            }
+        }
+
+        &.vertical > separator {
+            margin: 0 0 -8px 0;
+            padding: 0 0 8px 0;
+            background-repeat: repeat-x;
+            background-position: top;
+
+            &.wide {
+                margin: 0;
+                padding: 0;
+                background-repeat: repeat-x, repeat-x;
+                background-position: bottom, top;
+            }
+        }
     }
-
-
-    paned:dir(rtl) {
-        margin-right: 0;
-        margin-left: $spacing;
-    }
-
-    paned .pane-separator { background-color: shade($bg_color, .9); }
-
-    paned.wide {
-        -GtkPaned-handle-size: 4;
-
-        margin: 0;
-    }
-
-    paned.wide .pane-separator {
-        background-color: transparent;
-        border-style: none solid;
-        border-color: shade($bg_color, .9);
-        border-width: 1px;
-    }
-
-    paned.wide.vertical .pane-separator { border-style: solid none; }
 }