@mixin menu-elements() {
    .menu-item {
        -fx-border-width: 0;
        -fx-background-radius: 0;
        -fx-background-color: -df-component-dark;
        > .label {
            -fx-text-fill: -df-text;
        }
        & > .image-view, > .graphic-container > .image-view {
            @include colorize-image-view(-df-text);
        }

        &:disabled {
            -fx-opacity: 0.4;
            -fx-background-color: -df-component-dark !important;
            > .label {
                -fx-opacity: 1.0;
                -fx-text-fill: -df-text !important;
            }
            > .graphic-container > .image-view {
                -fx-effect: innershadow(gaussian, -df-text, 20, 1.0, 0, 0) !important;
            }
        }

        &:focused {
            -fx-background-color: -df-component-lighter;
            > .label {
                -fx-text-fill: -df-text-selected;
            }
            & > .image-view, > .graphic-container > .image-view {
                @include effect-lighten-blue();
            }
        }

        // Generate css for file extensions
        @include extensions(menu);
    }

    .separator {
        &:horizontal {
            -fx-padding: 3 0 3 0;
            -fx-min-height: 0;
            -fx-background-color: transparent;
            .line {
                -fx-border-color: -df-background-light;
                -fx-border-insets: 0;
                -fx-border-width: 1 0 0 0;
            }
        }
    }
}
