@mixin menu() {
  menu, .menu {
    margin: 4px;
    padding: 0;
    border-radius: $menu_radius;
    border-style: none;
    color: $menu_fg_color;
    background-color: $menu_bg_color;

    .csd &, {
      padding: 4px 4px;
      border-radius: $menu_radius;
      border: 1px solid $borders;
      border-top-color: gtkmix($bg_color, $light_shadow, 0.7);
      border-left-color: gtkmix($bg_color, $light_shadow, 0.7);
      box-shadow: inset -1px 0 gtkshade($bg_color, 0.65), inset 0 -1px gtkshade($bg_color, 0.65), inset 1px 0 gtkmix($bg_color, $light_shadow, 0.7), inset 0 1px gtkmix($bg_color, $light_shadow, 0.7);
    }
    
    > arrow {
      padding: 4px;
      border-color: transparent;
      background-color: $menu_bg_color;
      min-width: 16px;
      min-height: 16px;

      &.top {
        margin-top: -6px;
        border-bottom: 1px solid gtkshade($menu_bg_color, 0.9);
        -gtk-icon-source: -gtk-icontheme("pan-up-symbolic");
      }

      &.bottom {
        margin-bottom: -6px;
        border-top: 1px solid gtkshade($menu_bg_color, 0.9);
        -gtk-icon-source: -gtk-icontheme("pan-down-symbolic");
      }
    }
  }
}
