* {
    engine: adwaita;
    padding: 0;

    background-clip: padding-box;

    -GtkToolButton-icon-spacing: 4;

    -GtkTextView-error-underline-color: @error_color;

    -GtkPaned-handle-size: 5;

    -GtkCheckButton-indicator-size: 16;
    -GtkCheckMenuItem-indicator-size: 12;

    /* The size for scrollbars. The slider is 2px smaller, but we keep it
     * up so that the whole area is sensitive to button presses for the
     * slider. The stepper button is larger in both directions, the slider
     * only in the width
     */

    -GtkScrolledWindow-scrollbar-spacing: 0;
    -GtkScrolledWindow-scrollbars-within-bevel: 1;

    -GtkToolItemGroup-expander-size: 11;
    -GtkExpander-expander-size: 11;

    -GtkMenu-horizontal-padding: 0;
    -GtkMenu-vertical-padding: 0;

    -GtkWidget-link-color: @link_color;
    -GtkWidget-visited-link-color: @link_color;
    -GtkIMHtml-hyperlink-color: @link_color;
    -GtkHTML-link-color: @link_color;

    -WnckTasklist-fade-overlay-rect: 0;

    -GtkWidget-focus-padding: 2;
    -GtkWidget-focus-line-width: 1;
    -adwaita-focus-border-color: alpha(@theme_text_color, 0.3);
    -adwaita-focus-border-radius: 2;
    -adwaita-focus-border-dashes: 1;
    -GtkWindow-resize-grip-width: 0;
    -GtkWindow-resize-grip-height: 0;   
}

/***************
 * Base States *
 ***************/

GtkWindow {
    color: @theme_fg_color;
    background-color: @theme_bg_color;
}

GtkWindow:backdrop {
    color: @theme_unfocused_fg_color;
}

/* FIXME: why do we still need this? */
GtkClutterOffscreen {
    background-color: @theme_bg_color;
    color: @theme_fg_color;
}

*:selected,
*:selected:focus {
    background-color: @theme_selected_bg_color;
    color: @theme_selected_fg_color;
}

*:selected:backdrop {
    /* I would like to remove colors from the backdrop state, next release*/
    background-color: @theme_unfocused_selected_bg_color;
    color: @theme_unfocused_selected_fg_color;
}

*:insensitive {
    background-color: @insensitive_bg_color;
    color: @insensitive_fg_color;
    border-color: @insensitive_borders;
}

*:backdrop {
    /* I want everything nice and flat in the unfocused window */
    text-shadow: none;
    icon-shadow: none;
    color: @theme_unfocused_fg_color;
}

*:insensitive:backdrop {
    /* I want everything nice and flat in the unfocused window */
    text-shadow: none;
    icon-shadow: none;
    color: @unfocused_insensitive_fg_color;
}

.gtkstyle-fallback {
    background-color: @theme_bg_color;
    color: @theme_fg_color;
}

.gtkstyle-fallback:prelight {
    background-color: shade(@theme_bg_color, 1.10);
    color: @theme_fg_color;
}

.gtkstyle-fallback:active {
    background-color: shade(@theme_bg_color, 0.90);
    color: @theme_fg_color;
}

.gtkstyle-fallback:insensitive {
    background-color: @insensitive_bg_color;
    color: @insensitive_fg_color;
}

.gtkstyle-fallback:selected {
    background-color: @theme_selected_bg_color;
    color: @theme_selected_fg_color;
}

GtkImage,
GtkImage:insensitive,
GtkLabel,
GtkLabel:insensitive {
    background-color: transparent;
}

/************
 * Tooltips *
 ************/
.tooltip {
    padding: 4px;
    border-style: none;
    border-radius: 5px;

    background-color: alpha(@theme_tooltip_bg_color, 0.90);
    color: @theme_tooltip_fg_color;

    text-shadow: 1px 1px black;
}

.tooltip * {
    background-color: transparent;
}

/*****************
 * Miscellaneous *
 *****************/
@keyframes spinner {
    0.00% { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)),
                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.875)), to(transparent)),
                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.750)), to(transparent)),
                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.625)), to(transparent)),
                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.500)), to(transparent)),
                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.375)), to(transparent)),
                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.250)), to(transparent)),
                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.125)), to(transparent)); }

    12.5% { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.875)), to(transparent)),
                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.750)), to(transparent)),
                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.625)), to(transparent)),
                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.500)), to(transparent)),
                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.375)), to(transparent)),
                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.250)), to(transparent)),
                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.125)), to(transparent)),
                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)); }

    25.0% { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.750)), to(transparent)),
                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.625)), to(transparent)),
                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.500)), to(transparent)),
                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.375)), to(transparent)),
                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.250)), to(transparent)),
                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.125)), to(transparent)),
                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)),
                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.875)), to(transparent)); }

    37.5% { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.625)), to(transparent)),
                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.500)), to(transparent)),
                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.375)), to(transparent)),
                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.250)), to(transparent)),
                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.125)), to(transparent)),
                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)),
                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.875)), to(transparent)),
                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.750)), to(transparent)); }

    50.0% { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.500)), to(transparent)),
                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.375)), to(transparent)),
                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.250)), to(transparent)),
                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.125)), to(transparent)),
                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)),
                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.875)), to(transparent)),
                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.750)), to(transparent)),
                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.625)), to(transparent)); }

    62.5% { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.375)), to(transparent)),
                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.250)), to(transparent)),
                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.125)), to(transparent)),
                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)),
                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.875)), to(transparent)),
                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.750)), to(transparent)),
                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.625)), to(transparent)),
                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.500)), to(transparent)); }

    75.0% { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.250)), to(transparent)),
                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.125)), to(transparent)),
                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)),
                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.875)), to(transparent)),
                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.750)), to(transparent)),
                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.625)), to(transparent)),
                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.500)), to(transparent)),
                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.375)), to(transparent)); }

    87.5% { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.125)), to(transparent)),
                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)),
                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.875)), to(transparent)),
                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.750)), to(transparent)),
                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.625)), to(transparent)),
                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.500)), to(transparent)),
                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.375)), to(transparent)),
                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.250)), to(transparent)); }

    100%  { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)),
                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.875)), to(transparent)),
                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.750)), to(transparent)),
                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.625)), to(transparent)),
                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.500)), to(transparent)),
                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.375)), to(transparent)),
                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.250)), to(transparent)),
                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.125)), to(transparent)); }
}

.spinner {
    background-color: transparent;
    background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)),
                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)),
                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)),
                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)),
                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)),
                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)),
                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)),
                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent));
    background-position: 14% 14%, 0% 50%, 14% 86%, 50% 100%, 86% 86%, 100% 50%, 86% 14%, 50% 0%;
    background-size: 20% 20%;
    background-repeat: no-repeat;
}

.spinner:active {
    animation: spinner 1s infinite linear;
}

.floating-bar {
    background-image: linear-gradient(to bottom, 
                                      @theme_base_color 20%, 
                                      shade(@theme_base_color, 0.9)
                                      );
    background-color: @theme_base_color;
    border-color: @borders;

    color: @theme_text_color;
    text-shadow: 0 1px @button_text_shadow;

    border-radius: 3px;
    border-width: 1px;
    border-style: solid;
    box-shadow: inset 1px 1px @inset_light_color, -1px -1px @inset_light_color;
}

.floating-bar.top {
    border-top-width: 0;
    border-top-right-radius: 0;
    border-top-left-radius: 0;
}

.floating-bar.right {
    border-right-width: 0;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.floating-bar.bottom {
    border-bottom-width: 0;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
}

.floating-bar.left {
    border-left-width: 0;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.floating-bar.bottom.right {
    box-shadow: inset 1px 1px @inset_light_color;
}

.floating-bar.bottom.left {
    box-shadow: inset -1px 1px @inset_light_color;
}

.floating-bar:backdrop {
    background-color: @theme_unfocused_base_color;
    border-color: shade(@theme_unfocused_base_color, 0.9);
    background-image: none;
    box-shadow: none;
}

.floating-bar .button {
    background-color: alpha (@theme_base_color, 0.0);
    background-image: none;

    border-style: none;
    border-image: none;

    -GtkButton-image-spacing: 0;
    -GtkButton-inner-border: 0;
}

.view.rubberband,
.rubberband {
    background-color: alpha (@theme_selected_bg_color, 0.35);

    border-color: @theme_selected_bg_color;
    border-style: solid;
    border-width: 1px;
    border-radius: 2px;
}

GtkStatusbar {
    padding: 5px;
    color: @theme_fg_color;
    -GtkStatusbar-shadow-type: none;
}

.dnd {
    border-width: 1px;
    border-style: solid;
    border-color: @theme_selected_bg_color;
    border-radius: 0;
}

GtkTreeView.view.separator,
GtkTreeView.separator,
.separator,
.separator:hover {
    color: @view_separators;
}

GtkTreeView.view.separator:backdrop,
GtkTreeView.separator:backdrop,
.separator:backdrop,
.separator:hover:backdrop {
    color: @unfocused_insensitive_borders;
}

.pane-separator {
    color: shade (@inactive_frame_color, 0.80);
}

.pane-separator:hover,
.pane-separator:selected {
    color: @theme_text_color;
}

.pane-separator {
    background-color: @theme_bg_color;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url("assets/pane-separator-grip.svg");
}

.pane-separator.vertical {
    background-image: url("assets/pane-separator-grip-vertical.svg");
}

.pane-separator:backdrop,
.pane-separator:hover:backdrop {
    background-color: @theme_unfocused_bg_color;
}

.notebook .pane-separator,
.notebook .pane-separator:hover {
    background-color: @theme_base_color;
}

.notebook .pane-separator:backdrop,
.notebook .pane-separator:hover:backdrop {
    background-color: @theme_unfocused_base_color;
}

/****************
 * Text Entries *
 ****************/
.entry {
    border-style: solid;
    padding: 4px;

    /* border-image defined in the -assets variants */

    color: @entry_text_color;
    background-color: @theme_base_color;
    transition: all 200ms ease-out;
}

.entry:focus {
    box-shadow: inset 1px 2px alpha(@theme_selected_bg_color, 0.1),
                inset 1px 1px alpha(@theme_selected_bg_color, 0.1),
                inset -1px -1px alpha(@theme_selected_bg_color, 0.2);
    transition: all 200ms ease-in;
}

.entry.progressbar,
.entry.progressbar:focus {
    margin-left: 2px;
    margin-right: 2px;
    border-image: none;
    border-style: none;
    background-color: transparent;
    background-image: linear-gradient(to top, 
                                      transparent 2px,
                                      white 2px,
                                      white 3px,
                                      shade(@theme_selected_bg_color, 0.9) 3px,
                                      shade(@theme_selected_bg_color, 0.9) 5px,
                                      transparent 5px);
    background-size: auto;
    box-shadow: none;
}

.entry.progressbar.pulse,
.entry.progressbar.pulse:focus {
    background-image: linear-gradient(to top, 
                                      transparent 2px,
                                      white 2px,
                                      white 3px,
                                      @borders 3px,
                                      @borders 5px,
                                      transparent 5px);
}

.entry.progressbar:backdrop {
    margin-left: 2px;
    margin-right: 2px;
    border-image: none;
    border-style: none;
    background-color: transparent;
    background-image: linear-gradient(to top, 
                                      transparent 2px,
                                      white 2px,
                                      white 3px,
                                      @theme_unfocused_selected_bg_color 3px,
                                      @theme_unfocused_selected_bg_color 5px,
                                      transparent 5px);
    box-shadow: none;
}

.entry:selected {
    color: @theme_selected_fg_color;
    background-color: @theme_selected_bg_color;
}

.entry:insensitive {
    color: @insensitive_fg_color;
}

.entry:backdrop {
    color: @theme_unfocused_text_color;
}

.entry:insensitive:backdrop {
    color: @unfocused_insensitive_fg_color;
}

.entry:selected:backdrop {
    color: @theme_unfocused_selected_fg_color;
    background-color: @theme_unfocused_selected_bg_color
}

/* needed for webkit/GtkStyle compatibility */
.entry:active,
.entry:active:backdrop {
    color: @theme_unfocused_selected_fg_color;
    background-color: @theme_unfocused_selected_bg_color;
}

.cursor-handle.top,
.cursor-handle.bottom {
    background-color: transparent;
    box-shadow: none;
    border-style: none;
    border-image: none;
    border-radius: 0px;
    border-width: 0px;

    /* background-image in assets */
}

/*******************
 * Symbolic images *
 *******************/
.image {
    color: @internal_element_color;
}

.image:hover {
    color: @internal_element_prelight;
}

.image:selected,
.image:selected:hover {
    color: @theme_selected_fg_color;
}

.view.image,
.view.image:hover {
    color: @view_symbolic_color;
}

.view.image:selected,
.view.image:selected:hover {
    color: @theme_selected_fg_color;
}

/*****************
 * GtkSpinButton *
 *****************/
.spinbutton .button {
    color: @internal_element_color;
    padding: 2px 6px;
    border-width: 0;
    border-radius: 0;
    border-style: none;
    border-image: none;
    box-shadow: inset 1px 0 @inset_dark_color;
}

.spinbutton .button:backdrop {
    box-shadow: inset 1px 0 @unfocused_entry_separators;
    box-shadow: none;
}

.spinbutton .button,
.spinbutton .button:backdrop {
    background-color: transparent;
    background-image: none;
}

.spinbutton .button:insensitive {
    color: @internal_element_insensitive;
}

.spinbutton .button:insensitive:backdrop {
    color: mix(@internal_element_color, @theme_unfocused_base_color, 0.7);
}

.spinbutton .button:active,
.spinbutton .button:hover {
    color: @internal_element_prelight;
}

.spinbutton .button:first-child {
    border-radius: 2px 0 0 2px;
    box-shadow: none;
}

.spinbutton .button:last-child {
    border-radius: 0 2px 2px 0;
}

/* Add back the glowy effect from the entry covered by the pushed button background*/
.spinbutton .button:active {
    box-shadow: inset 1px 0 @inset_dark_color,
                inset 0 1px alpha(@theme_selected_bg_color, 0.2),
                inset 0 -1px alpha(@theme_selected_bg_color, 0.2);
}

.spinbutton .button:first-child:active {
    box-shadow: inset 1px 1px alpha(@theme_selected_bg_color, 0.2),
                inset 0 -1px alpha(@theme_selected_bg_color, 0.2);
}

.spinbutton .button:last-child:active {
    box-shadow: inset 1px 0 @inset_dark_color,
                inset 0 1px alpha(@theme_selected_bg_color, 0.2),
                inset -1px -1px alpha(@theme_selected_bg_color, 0.2);
}

.spinbutton.vertical .button {
    padding: 4px;
    icon-shadow: 0 1px @button_text_shadow;
}

.spinbutton.vertical .button:active {
    color: @button_active_text;
    icon-shadow: 0 1px @button_active_text_shadow;
}

/* :insensitive:insensitive to override the dark overriden style for
   normal spinbutton buttons, yeah we lack !important */
.spinbutton.vertical .button:insensitive:insensitive {
    icon-shadow: none;
}

.spinbutton.vertical .button,
/* :active:active to override the dark overriden style for
   normal spinbutton buttons, yeah we lack !important */
.spinbutton.vertical .button:active:active {
    box-shadow: none;
}

.spinbutton.vertical .button:first-child {
    border-image-width: 3px 3px 0 3px;
    border-width: 1px 1px 0 1px;
    border-bottom-left-radius: 0; 
    border-bottom-right-radius: 0;
}

.spinbutton.vertical .button:last-child {
    border-image-width: 0 3px 4px 3px;
    border-width: 0 1px 2px 1px;
    border-top-left-radius: 0; 
    border-top-right-radius: 0;
}

.spinbutton.vertical.entry {
    border-image: none;
    border-color: @borders;
    border-width: 0 1px;
    border-style: solid;
    border-radius: 0;
    box-shadow: inset 0 2px @entry_inset, 
                inset 0 3px alpha(@entry_inset, 0.4),
                inset 0 1px @borders, 
                inset 0 -1px @borders;

    /* I'm using box-shadow as borders, so I need to compensate
       with padding. Those two values need to be entry padding +1 */
    padding-top: 5px;
    padding-bottom: 5px;
}

.spinbutton.vertical.entry:insensitive {
    border-color: @insensitive_borders;
    box-shadow: inset 0 1px @insensitive_borders, 
                inset 0 -1px @insensitive_borders;
}

.spinbutton.vertical.entry:focus {
    border-color: @theme_selected_bg_color;
    box-shadow: inset 1px 2px alpha(@theme_selected_bg_color, 0.1), 
                inset 1px 3px alpha(@theme_selected_bg_color, 0.1),
                inset -1px -2px alpha(@theme_selected_bg_color, 0.2),
                inset 0 1px @theme_selected_bg_color,
                inset 0 -1px @theme_selected_bg_color;
}

.spinbutton.vertical.entry:backdrop {
    /* Adding back box-shadow for borders */
    border-color: @unfocused_borders;
    box-shadow: inset 0 1px @unfocused_borders,
                inset 0 -1px @unfocused_borders;
}

.spinbutton.vertical.entry:insensitive:backdrop {
    /* Adding back box-shadow for borders */
    box-shadow: inset 0 1px @unfocused_insensitive_borders,
                inset 0 -1px @unfocused_insensitive_borders;
}


/*****************
 * Color Chooser *
 *****************/
GtkColorSwatch,
GtkColorSwatch:selected {
    border-width: 1px;
    border-style: solid;
    border-radius: 1px;
    border-color: alpha(black, 0.3);
    box-shadow: inset 0 2px alpha(black, 0.07),
                inset 1px 1px alpha(black, 0.07);

    background-color: transparent;
    background-clip: border-box;
}

GtkColorSwatch:hover,
GtkColorSwatch:selected:hover {
    border-color: alpha(black, 0.45);
}

GtkColorSwatch.color-dark:hover {
    background-image: linear-gradient(to bottom,
                                      alpha(white, 0) 40%,
                                      alpha(white, 0.3)
                                      );
}

GtkColorSwatch.color-light:hover {
    background-image: linear-gradient(to top,
                                      alpha(black, 0) 40%,
                                      alpha(black, 0.1)
                                      );
}

GtkColorSwatch.color-light:selected:hover,
GtkColorSwatch.color-dark:selected:hover {
    background-image: none;
}

GtkColorSwatch:backdrop,
GtkColorSwatch:backdrop:selected {
    box-shadow: none;
}

GtkColorSwatch:backdrop:hover {
    border-color: alpha(black, 0.3);
    background-image: none;
}

GtkColorSwatch.left,
GtkColorSwatch:first-child {
    border-top-left-radius: 6px;
    border-bottom-left-radius: 6px;
}

GtkColorSwatch.right,
GtkColorSwatch:last-child {
    border-top-right-radius: 6px;
    border-bottom-right-radius: 6px;
}

GtkColorSwatch:only-child {
    border-radius: 6px;
}

GtkColorSwatch.top {
    border-top-left-radius: 6px;
    border-top-right-radius: 6px;
}

GtkColorSwatch.bottom {
    border-bottom-left-radius: 6px;
    border-bottom-right-radius: 6px;
}

GtkColorChooserWidget #add-color-button {
    background-clip: padding-box;
    border-color: mix(@borders, @theme_bg_color, 0.3);
    background-color: mix(@borders, @theme_bg_color, 0.3);
    color: @theme_base_color;
    box-shadow: none;
}

GtkColorChooserWidget #add-color-button:hover {
    border-color: @borders;
    background-color: @borders;
    color: @theme_base_color;
}

GtkColorChooserWidget #add-color-button:backdrop {
    border-color: mix(@unfocused_borders, @theme_unfocused_bg_color, 0.3);
    background-color: mix(@unfocused_borders, @theme_unfocused_bg_color, 0.3);
    color: @theme_unfocused_bg_color;
}


.color-active-badge,
.color-active-badge:selected {
    border-style: solid;
    border-width: 2px;
    background-color: transparent;
}

.color-active-badge.color-light,
.color-active-badge.color-light:hover {
    border-color: #444444;
    color: #444444;
}

.color-active-badge.color-dark,
.color-active-badge.color-dark:hover {
    border-color: #cccccc;
    color: #cccccc;
}

GtkColorEditor GtkColorSwatch {
    border-radius: 6px;
}

GtkColorEditor GtkColorSwatch.color-dark:hover,
GtkColorEditor GtkColorSwatch.color-light:hover {
    background-image: none;
    border-color: alpha(black, 0.3);
}

GtkColorButton.button {
    padding: 1px 20px;
}

/****************
 * Progress bar *
 ****************/

/* FIXME: this should really be a margin... */
GtkProgressBar {
    padding: 0 0 1px 0;
}

/* progress component */
.progressbar,
.progressbar row,
.progressbar row:hover,
.progressbar row:selected,
.progressbar row:selected:focus {
    border-radius: 3px;
    border-width: 1px;
    border-style: solid;
    border-color: @progressbar_border;
}

.progressbar row:selected,
.progressbar row:selected:focus {
    border-color: shade(@progressbar_border, 0.85);
}

.progressbar:backdrop,
.progressbar row:backdrop,
.progressbar row:selected:backdrop,
.progressbar.vertical:backdrop,
.progressbar.vertical row:backdrop,
.progressbar.vertical row:selected:backdrop {
    background-image: none;
    background-color: @progressbar_unfocused_background;
    border-color: @progressbar_unfocused_border;
    box-shadow: none;
}

/* for progressbars in cell renderers */
.trough row {
    padding: 0;
}

.trough row:selected,
.trough row:selected:focus {
    background-image: linear-gradient(to bottom,
                                      mix(@trough_bg_color_a, @theme_selected_bg_color, 0.25),
                                      mix(@trough_bg_color_b, @theme_selected_bg_color, 0.25)
                                      );
}

GtkProgressBar:backdrop,
GtkProgressBar.vertical:backdrop,
.trough row:backdrop,
.trough.vertical row:backdrop {
    background-image: none;
    background-color: @unfocused_dark_bg;
}

/* level bars as used for password quality or remaining power */
GtkLevelBar {
    -GtkLevelBar-min-block-width: 34;
    -GtkLevelBar-min-block-height: 3;
}

GtkLevelBar.vertical {
    -GtkLevelBar-min-block-width: 3;
    -GtkLevelBar-min-block-height: 34;
}

.level-bar.trough {
    padding: 2px;
}


.level-bar.fill-block {
    border-width: 1px;
    border-style: solid;

    border-color: @progressbar_border;
    background-image: linear-gradient(to bottom,
                                      shade(@progressbar_background_a, 0.9),
                                      @progressbar_background_b 75%,
                                      shade(@progressbar_background_a, 0.85)
                                      );
}

.level-bar.indicator-continuous.fill-block {
    padding: 2px;
    border-radius: 2px;
}

.level-bar.fill-block:backdrop,
.level-bar.fill-block.level-high:backdrop,
.level-bar.fill-block.level-low:backdrop {
    background-color: @unfocused_borders;
    border-color: @unfocused_borders;
    background-image: none;
}

.level-bar.indicator-discrete.fill-block.horizontal {
    margin: 0 1px;
}

.level-bar.indicator-discrete.fill-block.vertical {
    margin: 1px 0;
}

/* discrete indicator border rounding,
   uncomment when :nth-child will be working
   on the widget

.level-bar.indicator-discrete.fill-block.horizontal:first-child {
    border-radius: 2px 0 0 2px;
}

.level-bar.indicator-discrete.fill-block.horizontal:last-child {
    border-radius: 0 2px 2px 0;
}

.level-bar.indicator-discrete.fill-block.vertical:first-child {
    border-radius: 2px 2px 0 0;
}

.level-bar.indicator-discrete.fill-block.vertical:last-child {
    border-radius: 0 0 2px 2px;
}

*/

.level-bar.fill-block.level-high {
    border-color: shade(@success_color, 0.85);
    background-image: linear-gradient(to bottom,
                                      shade(@success_color, 1.2),
                                      @success_color 75%,
                                      shade(@success_color, 0.95)
                                      );
}

.level-bar.fill-block.level-low {
    border-color: shade(@warning_bg_color, 0.80);
    background-image: linear-gradient(to bottom,
                                      shade(@warning_bg_color, 1.3),
                                      @warning_bg_color 75%,
                                      shade(@warning_bg_color, 0.90)
                                      );
}

.level-bar.fill-block.empty-fill-block {
    background-color: transparent;
    background-image: none;
    border-color: alpha(@theme_fg_color, 0.1);
}

.level-bar.fill-block.empty-fill-block:backdrop {
    border-color: transparent;
    background-color: transparent;
}

/************
 * GtkScale *
 ************/
.scale {
    -GtkScale-slider-length: 16;
    -GtkRange-slider-width: 20;
    -GtkRange-trough-border: 0;
}

.scale.slider,
.scale.slider:hover,
.scale.slider:insensitive,
.scale.slider:backdrop,
.scale.slider:insensitive:backdrop {
    border-radius: 0;
    border-style: none;

    background-color: transparent;

    /* background-image in -assets variant */
}

.scale.trough {
    margin: 8px 0;
}

.scale.trough.vertical {
    margin: 0 8px;
}

.scale.trough,
.scale.trough.highlight,
.scale.trough.vertical,
.scale.trough:backdrop {
    border-width: 1px;
    border-image: none;
    border-style: solid;
}

.scale.trough,
.scale.trough.highlight,
.scale.trough.vertical {
    border-color: @borders;
}

.scale.trough:backdrop {
    border-color: @unfocused_borders;
}

.scale.trough:insensitive {
    background-color: @insensitive_bg_color;
    border-color: @insensitive_scale_borders;
    box-shadow: none;
    background-image: none;
}

.scale.progressbar {
    background-color: @scale_progress_fill;
}

.scale.progressbar:backdrop {
    background-color: @unfocused_borders;
}

.scale.mark {
    color: alpha(@theme_fg_color, 0.3);
}

.scale.trough.vertical {
    box-shadow: inset -1px 0 @theme_bg_color;
}

.scale.trough {
    box-shadow: inset 0 -1px @theme_bg_color;
}

.scale.trough:backdrop {
    box-shadow: none;
    border-color: @unfocused_borders;
    background-color: @unfocused_dark_bg;
    background-image: none;
}

.scale.trough:insensitive:backdrop {
    background-color: @unfocused_insensitive_bg_color;
    border-color: @unfocused_insensitive_borders;
    box-shadow: none;
    background-image: none;
}

/**********
 * Frames *
 **********/
.frame {
    border-width: 1px;
    border-color: @borders;
    border-style: solid;
    background-color: @theme_base_color;
    padding: 0;
}

.frame:backdrop {
    border-color: @unfocused_borders;
}

GtkScrolledWindow.frame {
    border-style: solid;
    border-color: @borders;
    border-width: 1px;
    border-radius: 2px;
    padding: 0;
}

GtkScrolledWindow.frame:backdrop {
    border-color: @unfocused_borders;
}

/* avoid double borders when a viewport is 
 * packed into a GtkScrolledWindow */
GtkScrolledWindow GtkViewport.frame {
    border-style: none;
}

/***********
 * Buttons *
 ***********/
.button,
.button.menuitem.menubar,
GtkComboBox.combobox-entry .button {
    padding: 1px 4px;
}

.button {
    -GtkButton-image-spacing: 4;
    -GtkButton-interior-focus: true;
    -GtkButton-default-border: 0;
    -GtkButton-inner-boder: 3;

    color: @theme_text_color;

    border-style: solid;
    border-color: transparent;

    text-shadow: 0 1px @button_text_shadow;
}

/* We may want a background for focused buttons, but in the meantime let's remove it too */
.primary-toolbar .button,
.primary-toolbar .button:insensitive,
.primary-toolbar .button:backdrop,
.primary-toolbar .button:hover:backdrop,
.primary-toolbar .button:insensitive:backdrop {
    background-image: none;
    background-color: transparent;
}

/* Remove borders from primary toolbar buttons*/
.primary-toolbar .button {
    border-image: none;

    /* setting border-style: none; here would override the border-width values 
     * we set in gtk-widget-borders.css to zero.
     */
    border-style: solid;
    border-width: 2px;
    border-color: transparent;

    text-shadow: 0 1px @primary_toolbar_button_text_shadow;
}

.primary-toolbar .button *:active,
.inline-toolbar .button *:active,
.button *:active {
    color: @button_active_text;
    text-shadow: 0 1px @button_active_text_shadow;
}

.button *:insensitive,
.button *:active:insensitive {
    color: @insensitive_fg_color;
    text-shadow: none;
}

.button *:insensitive:backdrop {
    color: @unfocused_insensitive_fg_color;
}

.button *:active:backdrop,
.button *:active:insensitive:backdrop {
    color: @theme_unfocused_bg_color;
    text-shadow: none;
    icon-shadow: none;
}

.toolbar .button.raised *,
.toolbar .raised .button *,
.inline-toolbar .button * {
    icon-shadow: 0 1px @button_text_shadow;
    text-shadow: 0 1px @button_text_shadow;
}

.toolbar .button.raised *:active,
.toolbar .raised .button *:active,
.inline-toolbar .button *:active {
    icon-shadow: 0 1px @button_active_text_shadow;
    text-shadow: 0 1px @button_active_text_shadow;
}

.toolbar .button.raised *:insensitive,
.toolbar .raised .button *:insensitive,
.inline-toolbar .button *:insensitive {
    icon-shadow: none;
    text-shadow: none;
}

.toolbar .button.raised *:backdrop,
.toolbar .raised .button *:backdrop,
.inline-toolbar .button *:backdrop {
    text-shadow: none;
    icon-shadow: none;
}

/* linked buttons */

/* Set up shadows and hilights for button visual separation */
.linked .button,
.toolbar .button.raised.linked,
.toolbar .raised.linked .button,
.inline-toolbar.toolbar .button,
.inline-toolbar.toolbar GtkToolButton > .button {
    box-shadow: inset 1px 0 @inset_light_color, inset -1px 0 @inset_dark_color;
}

.linked .button:first-child,
.toolbar .button.raised.linked:first-child,
.toolbar .raised.linked .button:first-child,
.inline-toolbar.toolbar .button:first-child,
.inline-toolbar.toolbar GtkToolButton:first-child > .button {
    box-shadow: inset -1px 0 @inset_dark_color;
}

.linked .button:last-child,
.toolbar .button.raised.linked:last-child,
.toolbar .raised.linked .button:last-child,
.inline-toolbar.toolbar .button:last-child,
.inline-toolbar.toolbar GtkToolButton:last-child > .button {
    box-shadow: inset 1px 0 @inset_light_color;
}

.linked .button:active,
.toolbar .button.raised.linked:active,
.toolbar .raised.linked .button:active,
.inline-toolbar.toolbar .button:active,
.inline-toolbar.toolbar GtkToolButton > .button:active {
    box-shadow: inset 1px 0 @inset_dark_color;
}

.linked .button:insensitive,
.toolbar .button.raised.linked:insensitive,
.toolbar .raised.linked .button:insensitive,
.inline-toolbar.toolbar .button:insensitive,
.inline-toolbar.toolbar GtkToolButton > .button:insensitive {
    box-shadow: inset -1px 0 @inset_dark_color;
}

.linked .button:backdrop,
.toolbar .button.raised.linked:backdrop,
.toolbar .raised.linked .button:backdrop,
.inline-toolbar.toolbar .button:backdrop,
.inline-toolbar.toolbar GtkToolButton > .button:backdrop {
    box-shadow: inset -1px 0 @unfocused_borders;
}

.linked .button:insensitive:backdrop,
.toolbar .button.raised.linked:insensitive:backdrop,
.toolbar .raised.linked .button:insensitive:backdrop,
.inline-toolbar.toolbar .button:insensitive:backdrop,
.inline-toolbar.toolbar GtkToolButton > .button:insensitive:backdrop {
    box-shadow: inset -1px 0 @unfocused_insensitive_borders;
}

/* remove box shadow from last-child and only-child */
.linked .button:backdrop:last-child,
.linked .button:insensitive:last-child,
.linked .button:backdrop:insensitive:last-child,
.linked .button:only-child,
.linked .button:backdrop:only-child,
.linked .button:backdrop:insensitive:only-child,
.toolbar .button.raised.linked:backdrop:last-child,
.toolbar .button.raised.linked:insensitive:last-child,
.toolbar .button.raised.linked:backdrop:insensitive:last-child,
.toolbar .button.raised.linked:backdrop:only-child,
.toolbar .button.raised.linked:backdrop:insensitive:only-child,
.toolbar .raised.linked .button:insensitive:last-child,
.toolbar .raised.linked .button:backdrop:last-child,
.toolbar .raised.linked .button:insensitive:backdrop:last-child,
.toolbar .raised.linked .button:backdrop:only-child,
.toolbar .raised.linked .button:backdrop:insensitive:only-child,
.inline-toolbar.toolbar .button:backdrop:last-child,
.inline-toolbar.toolbar .button:insensitive:last-child,
.inline-toolbar.toolbar .button:backdrop:insensitive:last-child,
.inline-toolbar.toolbar .button:only-child,
.inline-toolbar.toolbar .button:backdrop:only-child,
.inline-toolbar.toolbar .button:backdrop:insensitive:only-child,
.inline-toolbar.toolbar GtkToolButton:last-child > .button:backdrop,
.inline-toolbar.toolbar GtkToolButton:last-child > .button:insensitive,
.inline-toolbar.toolbar GtkToolButton:last-child > .button:backdrop:insensitive,
.inline-toolbar.toolbar GtkToolButton:only-child > .button,
.inline-toolbar.toolbar GtkToolButton:only-child > .button:backdrop,
.inline-toolbar.toolbar GtkToolButton:only-child > .button:backdrop:insensitive {
    box-shadow: none; 
}

/* Middle button */
.linked .entry,
.linked .button,
.linked .button:active,
.linked .button:active:hover,
.linked .button:insensitive {
    border-right-width: 0;
    border-left-width: 0;
    border-image-width: 3px 0 4px 0;
    border-radius: 0;
}

/* Leftmost button */
.linked .entry:first-child,
.linked .button:first-child,
.linked .button:active:first-child,
.linked .button:active:hover:first-child,
.linked .button:insensitive:first-child {
    border-right-width: 0;
    border-image-width: 3px 0 4px 3px;
    border-bottom-right-radius: 0;
    border-top-right-radius: 0;
}

/* Rightmost button */
.linked .entry:last-child,
.linked .button:last-child,
.linked .button:active:last-child,
.linked .button:active:hover:last-child,
.linked .button:insensitive:last-child {
    border-left-width: 0;
    border-image-width: 3px 3px 4px 0;
    border-bottom-left-radius: 0;
    border-top-left-radius: 0;
}

/* Linked single button */
.linked .entry:only-child,
.linked .button:only-child,
.linked .button:active:only-child,
.linked .button:active:hover:only-child,
.linked .button:insensitive:only-child {
    border-right-width: 1px;
    border-left-width: 1px;
    border-image-width: 3px 3px 4px 3px;
    border-radius: 3px;
}

/* Middle button (vertical) */
.linked.vertical .entry,
.linked.vertical .button,
.linked.vertical .button:active,
.linked.vertical .button:active:hover,
.linked.vertical .button:insensitive {
    border-top-width: 0;
    border-bottom-width: 0;
    border-image-width: 0 3px;
    border-radius: 0;
}

/* Top button (vertical) */
.linked.vertical .entry:first-child,
.linked.vertical .button:first-child,
.linked.vertical .button:active:first-child,
.linked.vertical .button:active:hover:first-child,
.linked.vertical .button:insensitive:first-child {
    border-bottom-width: 0;
    border-image-width: 3px 3px 0 3px;
    border-radius: 3px 3px 0 0;
}

/* Bottom button (vertical) */
.linked.vertical .entry:last-child,
.linked.vertical .button:last-child,
.linked.vertical .button:active:last-child,
.linked.vertical .button:active:hover:last-child,
.linked.vertical .button:insensitive:last-child {
    border-top-width: 0;
    border-image-width: 0 3px 4px 3px;
    border-radius: 0 0 3px 3px;
}

/* Linked single button (vertical) */
.linked.vertical .entry:only-child,
.linked.vertical .button:only-child,
.linked.vertical .button:active:only-child,
.linked.vertical .button:active:hover:only-child,
.linked.vertical .button:insensitive:only-child {
    border-top-width: 1px;
    border-bottom-width: 1px;
    border-image-width: 3px 3px 4px 3px;
    border-radius: 3px;
}

/* Linked button shadows (vertical) */
.linked.vertical .button {
    box-shadow: inset 0 1px @inset_light_color, inset 0 -1px @inset_dark_color;
}

.linked.vertical .button:first-child {
    box-shadow: inset 0 -1px @inset_dark_color;
}

.linked.vertical .button:last-child {
    box-shadow: inset 0 -1px @inset_light_color;
}

.linked.vertical .button:active {
    box-shadow: inset 0 1px @inset_dark_color, inset 0 -1px @inset_dark_color;
}

.linked.vertical .button:insensitive {
    box-shadow: inset 0 -1px @inset_dark_color;
}

.linked.vertical .button:backdrop {
    box-shadow: inset 0 -1px @unfocused_borders;
}

.linked.vertical .button:insensitive:backdrop {
    box-shadow: inset 0 -1px @unfocused_insensitive_borders;
}

.linked.vertical .button:only-child,
.linked.vertical .button:backdrop:last-child,
.linked.vertical .button:insensitive:last-child,
.linked.vertical .button:insensitive:backdrop:last-child,
.linked.vertical .button:backdrop:only-child,
.linked.vertical .button:backdrop:insensitive:only-child {
    box-shadow: none;
}

/* Linked buttons on primary toolbars */

/* Middle button */
.primary-toolbar .button.raised.linked,
.primary-toolbar .button.raised.linked:active,
.primary-toolbar .button.raised.linked:insensitive,
.primary-toolbar .button.raised.linked:backdrop,
.primary-toolbar .linked .button,
.primary-toolbar .linked .button:active,
.primary-toolbar .linked .button:insensitive,
.primary-toolbar .linked .button:backdrop,
.inline-toolbar.toolbar .button,
.inline-toolbar.toolbar .button:active,
.inline-toolbar.toolbar .button:insensitive,
.inline-toolbar.toolbar .button:backdrop,
.inline-toolbar.toolbar .button:backdrop:active,
.inline-toolbar.toolbar .button:backdrop:insensitive,
.inline-toolbar.toolbar GtkToolButton > .button,
.inline-toolbar.toolbar GtkToolButton > .button:active,
.inline-toolbar.toolbar GtkToolButton > .button:insensitive,
.inline-toolbar.toolbar GtkToolButton > .button:backdrop,
.inline-toolbar.toolbar GtkToolButton > .button:backdrop:active,
.inline-toolbar.toolbar GtkToolButton > .button:backdrop:insensitive {
    border-right-width: 0;
    border-left-width: 0;
    border-image-width: 4px 0 4px 0;
    border-radius: 0;
}

/* Leftmost button */
.primary-toolbar .button.raised.linked:first-child,
.primary-toolbar .button.raised.linked:active:first-child,
.primary-toolbar .button.raised.linked:insensitive:first-child,
.primary-toolbar .button.raised.linked:backdrop:first-child,
.primary-toolbar .linked .button:first-child,
.primary-toolbar .linked .button:active:first-child,
.primary-toolbar .linked .button:insensitive:first-child,
.primary-toolbar .linked .button:backdrop:first-child,
.inline-toolbar.toolbar .button:first-child,
.inline-toolbar.toolbar .button:active:first-child,
.inline-toolbar.toolbar .button:insensitive:first-child,
.inline-toolbar.toolbar .button:backdrop:first-child,
.inline-toolbar.toolbar .button:backdrop:active:first-child,
.inline-toolbar.toolbar .button:backdrop:insensitive:first-child,
.inline-toolbar.toolbar GtkToolButton:first-child > .button,
.inline-toolbar.toolbar GtkToolButton:first-child > .button:active,
.inline-toolbar.toolbar GtkToolButton:first-child > .button:insensitive,
.inline-toolbar.toolbar GtkToolButton:first-child > .button:backdrop,
.inline-toolbar.toolbar GtkToolButton:first-child > .button:backdrop:active,
.inline-toolbar.toolbar GtkToolButton:first-child > .button:backdrop:insensitive {
    border-left-width: 2px;
    border-right-width: 0;
    border-image-width: 4px 0 4px 4px;
    border-bottom-right-radius: 0;
    border-top-right-radius: 0;
}

/* Rightmost button */
.primary-toolbar .button.raised.linked:last-child,
.primary-toolbar .button.raised.linked:active:last-child,
.primary-toolbar .button.raised.linked:insensitive:last-child,
.primary-toolbar .button.raised.linked:backdrop:last-child,
.primary-toolbar .linked .button:last-child,
.primary-toolbar .linked .button:active:last-child,
.primary-toolbar .linked .button:insensitive:last-child,
.primary-toolbar .linked .button:backdrop:last-child,
.inline-toolbar.toolbar .button:last-child,
.inline-toolbar.toolbar .button:active:last-child,
.inline-toolbar.toolbar .button:insensitive:last-child,
.inline-toolbar.toolbar .button:backdrop:last-child,
.inline-toolbar.toolbar .button:backdrop:active:last-child,
.inline-toolbar.toolbar .button:backdrop:insensitive:last-child,
.inline-toolbar.toolbar GtkToolButton:last-child > .button,
.inline-toolbar.toolbar GtkToolButton:last-child > .button:active,
.inline-toolbar.toolbar GtkToolButton:last-child > .button:insensitive,
.inline-toolbar.toolbar GtkToolButton:last-child > .button:backdrop,
.inline-toolbar.toolbar GtkToolButton:last-child > .button:backdrop:active,
.inline-toolbar.toolbar GtkToolButton:last-child > .button:backdrop:insensitive {
    border-left-width: 0;
    border-right-width: 2px;
    border-image-width: 4px 4px 4px 0;
    border-bottom-left-radius: 0;
    border-top-left-radius: 0;
}

/* Single button */
.inline-toolbar.toolbar .button:only-child,
.inline-toolbar.toolbar .button:active:only-child,
.inline-toolbar.toolbar .button:insensitive:only-child,
.inline-toolbar.toolbar .button:backdrop:only-child,
.inline-toolbar.toolbar .button:backdrop:active:only-child,
.inline-toolbar.toolbar .button:backdrop:insensitive:only-child,
.inline-toolbar.toolbar GtkToolButton:only-child > .button,
.inline-toolbar.toolbar GtkToolButton:only-child > .button:active,
.inline-toolbar.toolbar GtkToolButton:only-child > .button:insensitive,
.inline-toolbar.toolbar GtkToolButton:only-child > .button:backdrop,
.inline-toolbar.toolbar GtkToolButton:only-child > .button:backdrop:active,
.inline-toolbar.toolbar GtkToolButton:only-child > .button:backdrop:insensitive {
    border-right-width: 2px;
    border-left-width: 2px;
    border-image-width: 4px;
    border-radius: 3px;
}

/* Special-case GtkMenuToolButton, since it's a GtkToolButton, but it
 * has a box inside to pack the button and the actual menu */
.inline-toolbar.toolbar GtkMenuToolButton .button:first-child,
.inline-toolbar.toolbar GtkMenuToolButton .button:active:first-child,
.inline-toolbar.toolbar GtkMenuToolButton .button:insensitive:first-child,
.inline-toolbar.toolbar GtkMenuToolButton .button:backdrop:first-child,
.inline-toolbar.toolbar GtkMenuToolButton .button:backdrop:insensitive:first-child,
.inline-toolbar.toolbar GtkMenuToolButton .button:last-child,
.inline-toolbar.toolbar GtkMenuToolButton .button:active:last-child,
.inline-toolbar.toolbar GtkMenuToolButton .button:insensitive:last-child,
.inline-toolbar.toolbar GtkMenuToolButton .button:backdrop:last-child,
.inline-toolbar.toolbar GtkMenuToolButton .button:backdrop:insensitive:last-child {
    border-right-width: 0;
    border-left-width: 0;
    border-image-width: 4px 0 4px 0;
    border-radius: 0;
}

.inline-toolbar.toolbar GtkMenuToolButton:first-child .button:first-child,
.inline-toolbar.toolbar GtkMenuToolButton:first-child .button:active:first-child,
.inline-toolbar.toolbar GtkMenuToolButton:first-child .button:insensitive:first-child,
.inline-toolbar.toolbar GtkMenuToolButton:first-child .button:backdrop:first-child,
.inline-toolbar.toolbar GtkMenuToolButton:first-child .button:backdrop:insensitive:first-child {
    border-left-width: 2px;
    border-right-width: 0;
    border-image-width: 4px 0 4px 4px;
    border-bottom-right-radius: 0;
    border-top-right-radius: 0;
}

.inline-toolbar.toolbar GtkMenuToolButton:last-child .button:last-child,
.inline-toolbar.toolbar GtkMenuToolButton:last-child .button:active:last-child,
.inline-toolbar.toolbar GtkMenuToolButton:last-child .button:insensitive:last-child,
.inline-toolbar.toolbar GtkMenuToolButton:last-child .button:backdrop:last-child,
.inline-toolbar.toolbar GtkMenuToolButton:last-child .button:backdrop:insensitive:last-child {
    border-left-width: 0;
    border-right-width: 2px;
    border-image-width: 4px 4px 4px 0;
    border-bottom-left-radius: 0;
    border-top-left-radius: 0;
}

GtkLinkButton.button,
GtkLinkButton.button *:active {
    text-shadow: none;
}

.button .separator { 
    color: shade(@internal_element_color, 1.30);
}

/*****************
 * Notebooks and *
 * tabs          *
 *****************/
.notebook {
    padding: 0;

    border-color: @borders;
    border-style: solid;
    border-width: 1px;

    background-clip: border-box;
    background-color: @theme_base_color;

    -GtkNotebook-tab-overlap: 8;
    -GtkNotebook-tab-curvature: 6;
    /* FIXME - the gap should be applied only to top or bottom tabs */
    -GtkNotebook-initial-gap: 8;
}

.notebook GtkViewport {
    background-color: @theme_base_color;
}

.notebook:backdrop,
.notebook GtkViewport:backdrop {
    background-color: @theme_unfocused_base_color;
    border-color: @unfocused_borders;
}

.notebook tab {
    padding: 3px;
    border-style: solid;
    /* we draw our own custom border here for now */
    border-width: 0;

    background-image: linear-gradient(to bottom,
                                      @notebook_tab_hilight 2px,
                                      @notebook_tab_gradient_a 2px,
                                      @notebook_tab_gradient_a 7px,
                                      @notebook_tab_gradient_b);

    -adwaita-focus-border-radius: 2;
}

.notebook tab.bottom {
    /* FIXME: Adwaita engine arrogantly flips my gradients upside down! */
    background-image: linear-gradient(to top,
				      @notebook_tab_gradient_b,
                                      @notebook_tab_gradient_a 3px,
                                      @notebook_tab_gradient_a 7px,
                                      @notebook_tab_gradient_b);
}

.notebook tab:backdrop {
    background-image: none;
    background-color: @theme_unfocused_bg_color;
    border-color: @unfocused_insensitive_borders;
}

.notebook tab:active {
    -adwaita-border-gradient: -gtk-gradient (linear,
                                             left top, left bottom,
                                             from (@notebook_active_tab_border),
                                             to (@borders));

    background-image: linear-gradient(to bottom,
                                      @notebook_selected_tab_color,
                                      @notebook_selected_tab_color 2px,
                                      @button_gradient_color_a 3px, /* FIXME */
                                      @theme_base_color
                                      );
}

.notebook tab:active:backdrop {
    /* FIXME I need to set a background-image here, background-color is ignored */
    background-image: linear-gradient(to bottom,
                                      @unfocused_borders,
                                      @unfocused_borders 2px,
                                      @theme_unfocused_base_color 3px,
                                      @theme_unfocused_base_color
                                      );
    background-color:  @theme_unfocused_base_color;
    border-color: @unfocused_borders;
    /* FIXME - should be possible to set it to none and use border color */
    -adwaita-border-gradient: -gtk-gradient (linear, 
                                             left top, left bottom,
                                             from (@unfocused_borders),
                                             to (@unfocused_borders));
    -adwaita-selected-tab-color: @unfocused_borders;
}

.notebook tab.top {
    padding: 4px 2px 0;
}

.notebook tab.top:active {
    padding: 7px 2px 0;
}

.notebook tab.bottom {
    padding: 0 2px 4px;
}

.notebook tab.bottom:active {
    padding: 0 2px 7px;
}

.notebook tab.left,
.notebook tab.right {
    background-image: none;
    background-color: @theme_bg_color;
    padding: 3px;
}

.notebook tab.left {
    border-width: 1px 0 1px 1px;
}

.notebook tab.right {
    border-width: 1px 1px 1px 0;
}

.notebook tab.left:active,
.notebook tab.right:active {
    background-image: none;
    background-color: @theme_base_color;
}

.notebook tab.left:active {
    padding: 3px 3px 3px 5px;
    border-radius: 3px 0 0 3px;
}

.notebook tab.right:active {
    padding: 3px 5px 3px 3px;
    border-radius: 0 3px 3px 0;
}

/* close button styling */
.notebook tab .button,
.notebook tab .button:active,
.notebook tab .button:hover {
    border-image: none;
    border-style: none;
    background-image: none;
    background-color: transparent;
}

.notebook tab .button GtkImage {
    border-radius: 3px;
    color: mix(@theme_fg_color, @theme_base_color, 0.6);
    border-style: solid;
    border-color: transparent;
    border-width: 1px;
    padding: 0;

    icon-shadow: 0 1px @button_text_shadow;
}

.notebook tab .button GtkImage:hover {
    color: @theme_fg_color;
    border-color: alpha(black, 0.1);
}

.notebook tab .button GtkImage:active,
.notebook tab .button GtkImage:active:hover {
    background-color: alpha(black, 0.08);
    box-shadow: inset 0 1px alpha(black, 0.05);
    color:  @button_active_text;
    icon-shadow: 0 1px @button_active_text_shadow;

    border-color: alpha(black, 0.27) 
                  alpha(black, 0.13) 
                  alpha(black, 0.13) 
                  alpha(black, 0.13);
}

.notebook tab .button GtkImage:backdrop {
    color: mix(@theme_unfocused_fg_color, @theme_unfocused_base_color, 0.7);
    icon-shadow: none;
}

.notebook tab .button GtkImage:backdrop:hover {
    color: @theme_unfocused_fg_color;
}

/**************
 * ComboBoxes *
 **************/
GtkComboBox {
    padding: 0;

    -GtkComboBox-arrow-scaling: 0.5;
    -GtkComboBox-shadow-type: none;

    text-shadow: 0 1px @button_text_shadow;
}

GtkComboBox *:backdrop {
    color: @theme_unfocused_fg_color;
}

GtkComboBox *:insensitive:backdrop {
    color: @unfocused_insensitive_fg_color;
}

GtkComboBox *:insensitive {
    text-shadow: none;
    color: @insensitive_fg_color;
}

GtkComboBox .separator {
    /* always disable separators */
    -GtkWidget-wide-separators: true;
    -GtkWidget-horizontal-separator: 0;
    -GtkWidget-vertical-separator: 0;
}

GtkComboBox.combobox-entry .entry:first-child,
GtkComboBox.combobox-entry .button:first-child {
    border-image-width: 3px 0 4px 3px;
    border-radius: 3px 0 0 3px;
    border-right-width: 0;
}

GtkComboBox.combobox-entry .entry:last-child,
GtkComboBox.combobox-entry .button:last-child {
    border-image-width: 3px 3px 4px 0;
    border-radius: 0 3px 3px 0;
    border-left-width: 0;
}

.primary-toolbar GtkComboBox.combobox-entry .entry:first-child,
.primary-toolbar GtkComboBox.combobox-entry .button:first-child {
    border-image-width: 4px 0 4px 4px;
    border-radius: 3px 0 0 3px;
    border-right-width: 0;
}

.primary-toolbar GtkComboBox.combobox-entry .entry:last-child,
.primary-toolbar GtkComboBox.combobox-entry .button:last-child {
    border-image-width: 4px 4px 4px 0;
    border-radius: 0 3px 3px 0;
    border-left-width: 0;
}

GtkComboBox.combobox-entry .entry:focus:first-child {
    box-shadow: inset 1px 2px alpha(@theme_selected_bg_color, 0.1),
                inset 1px 1px alpha(@theme_selected_bg_color, 0.1),
                inset 0 -1px alpha(@theme_selected_bg_color, 0.2);
}

GtkComboBox.combobox-entry .entry:focus:last-child {
    box-shadow: inset -1px 2px alpha(@theme_selected_bg_color, 0.1),
                inset -1px 1px alpha(@theme_selected_bg_color, 0.1),
                inset 0 -1px alpha(@theme_selected_bg_color, 0.2);
}

GtkComboBox.combobox-entry .button:last-child,
GtkComboBox.combobox-entry .button:hover:last-child,
GtkComboBox.combobox-entry .button:active:last-child,
GtkComboBox.combobox-entry .button:hover:active:last-child {
    box-shadow: inset 1px 0 @inset_dark_color, 
                inset 0 1px @entry_inset,
                inset 0 2px alpha(@entry_inset, 0.4);
}

GtkComboBox.combobox-entry .button:first-child,
GtkComboBox.combobox-entry .button:hover:first-child,
GtkComboBox.combobox-entry .button:active:first-child,
GtkComboBox.combobox-entry .button:hover:active:first-child {
    box-shadow: inset -1px 0 @inset_dark_color, 
                inset 0 1px @entry_inset,
                inset 0 2px alpha(@entry_inset, 0.4);
}

GtkComboBox.combobox-entry .button:insensitive:first-child {
    box-shadow: inset -1px 0 @inset_dark_color;
}

GtkComboBox.combobox-entry .button:insensitive:last-child {
    box-shadow: inset 1px 0 @inset_dark_color;
}

GtkComboBox.combobox-entry .button:backdrop:first-child,
GtkComboBox.combobox-entry .button:backdrop:last-child {
    box-shadow: none;
}

GtkComboBox.combobox-entry .button *:active,
GtkComboBox.combobox-entry .button *:active:hover {
    color: @theme_text_color;
}

GtkComboBox .button {
    color: @internal_element_color;
}

GtkComboBox .button *:hover {
    color: @theme_text_color;
}

/**************
 * Scrollbars *
 **************/

.scrollbar {
    background-image: none;
    border-style: solid;
    -GtkRange-trough-border: 0;
    -GtkScrollbar-has-backward-stepper: false;
    -GtkScrollbar-has-forward-stepper: false;
    -GtkRange-slider-width: 13;
    -GtkScrollbar-min-slider-length: 42; /* minimum size for the slider. sadly can't be in '.slider' where it belongs */

    -GtkRange-stepper-spacing: 0;
    -GtkRange-trough-under-steppers: 1;
}

.scrollbars-junction, /* the small square between scrollbars!!! */
.scrollbar.trough {
    background-image: none;
    background-color: @scrollbar_trough;
    border-width: 0;
    border-radius: 0;
    border-image: none;
}

.scrollbar.button,
.scrollbar.button:active,
.scrollbar.button:active:hover,
.scrollbar.button:insensitive,
.scrollbar.button:hover:backdrop,
.scrollbar.button:active:hover:backdrop {
    border-style: none;
    border-image: none;
    border-radius: 0;
    background-image: none;
    background-color: transparent;
}

.scrollbar.button:active,
.scrollbar.button:active:hover {
    background-color: mix(@scrollbar_slider, @scrollbar_trough, 0.8);
}

.scrollbar.button.top:hover {
    box-shadow: inset 0 -1px mix(@scrollbar_slider, @scrollbar_trough, 0.8);
}

.scrollbar.button.bottom:hover {
    box-shadow: inset 0 1px mix(@scrollbar_slider, @scrollbar_trough, 0.8);
}

.scrollbar.button.right:hover {
    box-shadow: inset 1px 0 mix(@scrollbar_slider, @scrollbar_trough, 0.8);
}

.scrollbar.button.left:hover {
    box-shadow: inset -1px 0 mix(@scrollbar_slider, @scrollbar_trough, 0.8);
}

.scrollbar.button.top:hover:backdrop,
.scrollbar.button.bottom:hover:backdrop,
.scrollbar.button.right:hover:backdrop,
.scrollbar.button.left:hover:backdrop {
    box-shadow: none;
}

.scrollbar.button {
    color: @scrollbar_slider;
}

.scrollbar.button:hover {
    color: @scrollbar_slider_prelight;
}

.scrollbar.button:insensitive {
    color: mix(@scrollbar_slider, @scrollbar_trough, 0.6);
}

.scrollbar.button:active {
    color: @scrollbar_slider_active;
}

.scrollbar.button:backdrop {
    color: @scrollbar_slider_unfocused;
}

.scrollbar.button:insensitive:backdrop {
    color: mix(@scrollbar_slider_unfocused, @scrollbar_trough_unfocused, 0.7);
}

.scrollbar.trough:insensitive {
    background-color: @scrollbar_trough_insensitive;
    border-style: solid;
    border-image: none;
    border-color: transparent;
    border-width: 3px;
}

.scrollbars-junction:backdrop,
.scrollbar.trough:backdrop {
    background-image: none;
    background-color: @scrollbar_trough_unfocused;
    border-width: 0;
    border-radius: 0;
    border-image: none;
}

.scrollbar.trough:insensitive:backdrop {
    background-image: none;
    background-color: mix(@scrollbar_trough_unfocused, @scrollbar_trough_insensitive, 0.5);
    border-width: 0;
    border-radius: 0;
    border-image: none;
}


.scrollbar.slider {
    background-image: none;
    background-color: @scrollbar_slider;
    border-radius: 20px;
    border-style: solid;
    border-image: none;
    border-color: transparent;
    border-width: 3px;
}

.scrollbar.slider:hover {
    transition: 1000ms linear; /* doesn't work */
    background-image: none;
    background-color: @scrollbar_slider_prelight;
    border-style: solid;
    border-image: none;
    border-color: transparent;
    border-width: 3px;
}

.scrollbar.slider:prelight:active {
    background-image: none;
    background-color: @scrollbar_slider_active;
    border-style: solid;
    border-image: none;
    border-color: transparent;
    border-width: 3px;
}

.scrollbar.slider:insensitive {
    background-color: @scrollbar_slider_insensitive;
    border-style: solid;
    border-image: none;
    border-color: transparent;
    border-width: 3px;
}

.scrollbar.slider:backdrop {
    background-color: @scrollbar_slider_unfocused;
    border-style: solid;
    border-image: none;
    border-color: transparent;
    border-width: 3px;
}

/*********
 * Menus *
 *********/
/* combobox menus */
GtkTreeMenu.menu {
    background-color: @theme_base_color;
}

GtkTreeMenu .menuitem {
    padding: 2px;

    border-style: none;
    text-shadow: none;
}

GtkTreeMenu .menuitem * {
    color: @theme_text_color;
}

.menu {
    background-color: @menu_bg_color;
    color: @menu_fg_color;
    padding: 0;
    border-style: none;
}

.menu.button {
    background-image: none;
    background-color: @theme_base_color;
    color: @internal_element_color;

    border-image: none;
    border-style: none;
}

.menu.button:hover {
    background-image: none;
    background-color: @theme_base_color;
    color: @theme_text_color;

    border-image: none;
    border-style: none;
}

.menu.button:insensitive {
    background-color: @theme_base_color;
    color: lighter(@internal_element_color);

    border-image: none;
    border-style: none;
}

/* this controls the general appearance of the menubar */
.menubar {
    border-style: none;
    padding: 4px;

    -GtkWidget-window-dragging: true;
    -GtkMenuBar-internal-padding: 0;
}

.menubar .menuitem {
    border-style: none;
    padding: 3px 5px;
}

/* remove the image from the prelight areas */
.menubar .menuitem:hover {
    background-image: none;
    background-color: @menu_bg_color;

    border-radius: 4px 4px 0 0;
}

.menubar .menuitem *:hover {
    color: @menu_fg_color;
}

.menu .menuitem {
    -GtkMenuItem-arrow-scaling: 0.4;
    padding: 4px;
}

.menu .menuitem:hover {
    border-radius: 0;
}

.menu .menuitem:active,
.menu .menuitem:hover {
    background-color: @theme_selected_bg_color;
}

.menu .menuitem:active,
.menu .menuitem *:active,
.menu .menuitem:hover,
.menu .menuitem *:hover {
    color: @theme_selected_fg_color;
}

.menu .menuitem:insensitive,
.menu .menuitem *:insensitive {
    color: mix (@menu_fg_color, @menu_bg_color, 0.6);
}

.menu .menuitem .accelerator:insensitive {
    color: mix (@menu_fg_color, @menu_bg_color, 0.7);
}

.menuitem .accelerator {
    color: alpha (@menu_fg_color, 0.4);
}

.menuitem .accelerator:hover,
.menuitem .accelerator:active {
    color: alpha (@menu_fg_color, 0.3);
}

.menuitem.arrow {
    color: @menu_controls_color;
}

.menuitem.separator {
    color: @menu_separator;

    -GtkMenuItem-horizontal-padding: 0;
}

.menuitem.check,
.menuitem.radio,
.menuitem.check:hover,
.menuitem.radio:hover,
.menuitem.check:insensitive,
.menuitem.radio:insensitive {
    background-image: none;
    background-color: transparent;
}

.menuitem.check:active,
.menuitem.radio:active {
    background-color: transparent;
}

.menuitem.check:active {
    background-image: url("assets/menuitem-checkbox-checked.png");
}

.menuitem.check:active:hover {
    background-image: url("assets/menuitem-checkbox-checked-selected.png");
}

.menuitem.check:active:insensitive {
    background-image: url("assets/menuitem-checkbox-checked-insensitive.png");
}

.menuitem.check:inconsistent,
.menuitem.radio:inconsistent {
    background-image: url("assets/menuitem-checkbox-mixed.png");
}

.menuitem.check:inconsistent:insensitive,
.menuitem.radio:inconsistent:insensitive {
    background-image: url("assets/menuitem-checkbox-mixed-insensitive.png");
}

.menuitem.check:inconsistent:hover,
.menuitem.radio:inconsistent:hover {
    background-image: url("assets/menuitem-checkbox-mixed-selected.png");
}

.menuitem.radio:active {
    background-image: url("assets/menuitem-radio-checked.png");
}

.menuitem.radio:active:hover {
    background-image: url("assets/menuitem-radio-checked-selected.png");
}

.menuitem.radio:active:insensitive {
    background-image: url("assets/menuitem-radio-checked-insensitive.png");
}


/***************
 * Menu Button *
 ***************/
.toolbar GtkMenuButton.button:active,
.toolbar GtkMenuButton.button.raised:active,
GtkMenuButton.button:active,
.linked GtkMenuButton.button:active,
.toolbar .linked.raised GtkMenuButton.button:active,
.toolbar GtkMenuButton.button.linked.raised:active {
    background-image: none;
    background-color: @menu_bg_color;

    border-image: none;
    border-color: @menu_bg_color;
    border-radius: 4px 4px 0 0;
    color: @theme_text_color;
}

GtkMenuButton.button *:active,
.linked GtkMenuButton.button *:active,
.toolbar .linked.raised GtkMenuButton.button *:active,
.toolbar GtkMenuButton.button.linked.raised *:active {
    text-shadow: none;
    icon-shadow: none;
}

.linked GtkMenuButton.button:active:last-child,
.toolbar .linked.raised GtkMenuButton.button:active:last-child,
.toolbar GtkMenuButton.button.linked.raised:active:last-child {
    border-top-left-radius: 0;
}

.linked GtkMenuButton.button:active:first-child,
.toolbar .linked.raised GtkMenuButton.button:active:first-child,
.toolbar GtkMenuButton.button.linked.raised:active:first-child {
    border-top-right-radius: 0;
}

.button.menuitem.menubar:active {
    background-image: none;
    background-color: @menu_bg_color;

    border-radius: 4px 4px 0 0;
    border-image: none;
    border-width: 1px 1px 0 1px;
    border-color: @menu_bg_color;
    border-style: solid;
}

.button.menuitem.menubar *:active,
GtkMenuButton.button *:active,
.toolbar GtkMenuButton.button *:active {
    color: @theme_text_color;
}

GtkMenuButton .menu {
    text-shadow: none;
}

/****************
 * Radiobuttons *
 ****************/

.check,
.radio,
.check:insensitive,
.radio:insensitive {
    background-color: transparent;
    border-style: none;
}

GtkCheckButton:hover,
GtkCheckButton:active:hover,
GtkCheckButton:selected,
GtkCheckButton:selected:focus {
    background-color: transparent;
}


/************
 * Toolbars *
 ************/
.toolbar {
    border-style: none;
    border-color: darker (@theme_bg_color);
    padding: 3px;

    background-color: @theme_bg_color;
}

.toolbar .button {
    padding: 1px;
}

.toolbar:insensitive {
    color: alpha (@theme_fg_color, 0.6);
    background-color: @insensitive_bg_color;
}

/********************
 * Menubar Toolbars *
 ********************/
.toolbar.menubar {
    -GtkToolbar-button-relief: normal;

    padding-left: 4px;
    padding-right: 4px;
}

/********************
 * Primary Toolbars *
 ********************/

/* applications using EggEditableToolbar usually set the primary-toolbar
 * hint on the containing vbox, so we need to handle both these cases here.
 */
.primary-toolbar .toolbar,
.primary-toolbar.toolbar {
    border-width: 1px 0;
    border-style: solid;
    border-top-color: @toolbar_border_top;
    border-bottom-color: @toolbar_border_bottom;

    -GtkWidget-window-dragging: true;
    -GtkToolbar-button-relief: normal;
    box-shadow: inset 0 3px alpha(black, 0.02), inset 0 2px alpha(black, 0.02), inset 0 1px alpha(black, 0.02);
    text-shadow: 0 1px @primary_toolbar_button_text_shadow;
}

.primary-toolbar .toolbar:insensitive,
.primary-toolbar.toolbar:insensitive {
    background-image: none;
    background-color: shade (@theme_bg_color, 0.97);

    border-color: shade (@theme_bg_color, 0.91);
    text-shadow: none;
}

.primary-toolbar .toolbar:backdrop,
.primary-toolbar.toolbar:backdrop {
    border-color: @unfocused_borders;
    box-shadow: none;
    text-shadow: none;
}

/* progressbars on primary toolbar entries are special */
.primary-toolbar .toolbar .entry.progressbar,
.primary-toolbar.toolbar .entry.progressbar {
    background-image: linear-gradient(to bottom,
                                      @trough_bg_color_a,
                                      @trough_bg_color_b
                                      );
    border-width: 1px;
    border-radius: 2px;
    border-style: solid;
    border-color: shade(@internal_element_color, 1.10);
    border-image: none;

    color: @theme_text_color;
}

/*******************
 * Inline toolbars *
 *******************/

.inline-toolbar.toolbar {
    border-width: 1px;
    border-style: solid;

    -GtkToolbar-button-relief: normal;
}

.inline-toolbar.toolbar:last-child {
    border-top-width: 0;
    padding-top: 4px;

    border-radius: 0 0 3px 3px;
}

/***********
 * Sidebar *
 ***********/
.sidebar,
.sidebar .view,
.sidebar GtkScrolledWindow {
    background-color: @sidebar_bg;
}

.sidebar:backdrop,
.sidebar .view:backdrop,
.sidebar GtkScrolledWindow:backdrop {
    background-color: @sidebar_bg_unfocused;
}

.sidebar .scrollbar.trough,
.sidebar .scrollbar.trough:backdrop {
    box-shadow: none;
    border-radius: 100px;
    border-style: solid;
    border-width: 2px;
    border-color: transparent;
}

.sidebar .scrollbar.trough {
    background-color: @sidebar_scrollbar_trough;
}

.sidebar .scrollbar.trough:backdrop {
    background-color: @sidebar_scrollbar_trough_backdrop;
}

.sidebar .scrollbar.slider {
    background-color: @sidebar_bg;
}

.sidebar .scrollbar.slider:backdrop {
    background-color: @sidebar_bg_unfocused;
}

.sidebar .scrollbar.slider:hover {
    background-color: mix (@sidebar_bg, @theme_base_color, 0.35);
}

.sidebar .scrollbar.slider:hover:active {
    background-color: @theme_base_color;
}

.sidebar .radio,
.sidebar .radio:focus,
.sidebar .radio:selected {
    background-image: none;
    background-color: transparent;
}

/*******
 * OSD *
 *******/
GtkWindow.osd {
    color: @osd_fg;
    background-color: @osd_bg;
}

GtkWindow.osd:backdrop {
    background-color: @osd_bg_backdrop;
}

GtkOverlay.osd {
    background-color: transparent;
}

.osd .button,
.osd .button:active {
    border-width: 1px;
    border-style: solid;
    border-image: none;
    border-color: @osd_button_border;
    border-radius: 5px;
}

.osd .button {
    padding: 4px;

    background-image: linear-gradient(to bottom,
                                      @osd_button_bg_a,
                                      @osd_button_bg_b 68%,
                                      @osd_button_bg_c
                                      );

    color: @osd_button_fg;

    text-shadow: 0 -1px @osd_button_shadow;
    icon-shadow: 0 -1px @osd_button_shadow;
}

.osd .button,
.osd .button:prelight,
.osd .button:active {
    background-color: transparent;
}

.osd .button:insensitive {
    background-image: none;
    background-color: @osd_button_bg_insensitive;
}

.osd .button:active:insensitive {
    background-image: none;
    background-color: @osd_button_bg_insensitive_active;
}

.osd .button:backdrop {
    background-image: none;
    background-color: @osd_button_bg_backdrop;
}

.osd .button:backdrop:hover,
.osd .button:backdrop:active:hover {
    background-image: none;
    background-color: @osd_button_bg_backdrop_hover;
}

.osd .button:backdrop:active {
    background-image: none;
    background-color: @osd_button_bg_backdrop_active;
}

.osd .button:backdrop:insensitive,
.osd .button:backdrop:insensitive:active {
    background-image: none;
    background-color: @osd_button_bg_backdrop_insensitive;
}

.osd .button *:hover {
    color: @osd_button_fg_hover;
}

.osd .button *:active,
.osd .button *:hover:active {
    color: @osd_button_fg_active;
}

.osd .button *:insensitive,
.osd .button *:insensitive:active {
    color: @osd_button_fg_insensitive;
}

.osd .button *:backdrop,
.osd .button *:backdrop:insensitive,
.osd .button *:backdrop:insensitive:active {
    color: @osd_button_fg_backdrop;
}

.osd .button *:backdrop:active {
    color: @osd_button_fg_backdrop_active;
}

.osd .button:hover {
    background-image: linear-gradient(to bottom,
                                      @osd_button_bg_hover_a,
                                      @osd_button_bg_hover_b 68%,
                                      @osd_button_bg_hover_c
				      );
}

.osd .button:active,
.osd .button:active:hover {
    background-image: linear-gradient(to bottom,
                                      @osd_button_bg_active_a,
                                      @osd_button_bg_active_b 68%,
                                      @osd_button_bg_active_c
                                      );
}

.osd.toolbar {
    color: @osd_fg;
    text-shadow: 0 1px @osd_text_shadow;

    padding: 10px;
    border-style: none;
    border-radius: 7px;
    background-image: linear-gradient(to bottom,
                                      @osd_toolbar_bg_a,
                                      @osd_toolbar_bg_b 63%,
                                      @osd_toolbar_bg_c
                                      );
    background-color: transparent;

    -GtkToolbar-button-relief: normal;
}

.osd.toolbar:backdrop {
    background-image: none;
    background-color: @osd_bg_backdrop;
}

.osd.toolbar .button {
    padding: 4px;
    border-width: 1px 0;
    border-radius: 0;
    box-shadow: inset -1px 0 @osd_button_inset;
}

.osd.toolbar .button:first-child {
    border-radius: 5px 0 0 5px;
    border-width: 1px 0 1px 1px;
    box-shadow: inset -1px 0 @osd_button_inset;
}

.osd.toolbar .button:last-child {
    box-shadow: none;
    border-radius: 0 5px 5px 0;
    border-width: 1px 1px 1px 0;
}

.osd.toolbar .button:only-child,
.osd.toolbar GtkToolButton .button,
.osd.toolbar GtkToolButton:only-child .button,
.osd.toolbar GtkToolButton:last-child .button,
.osd.toolbar GtkToolButton:first-child .button {
    border-width: 1px;
    border-radius: 5px;
    border-style: solid;

    box-shadow: none;
}

.osd.toolbar .separator {
    color: shade(@osd_lowlight, 0.80);
}

/* used by gnome-settings-daemon's media-keys OSD */
.osd.trough {
    background-color: @osd_trough_bg;
}

.osd.progressbar {
    background-color: @osd_fg;
}

.osd .scale.trough {
    border-color: @osd_button_border;
    background-image: linear-gradient(to bottom,
                                      shade(@osd_button_border, 0.70),
                                      shade(@osd_button_border, 0.90)
                                      );
    background-color: transparent;
}

.osd GtkProgressBar {
    padding: 0;
    -GtkProgressBar-xspacing: 0;
    -GtkProgressBar-yspacing: 3px;
    -GtkProgressBar-min-horizontal-bar-height: 3px;
}

.osd GtkProgressBar.trough {
    padding: 0;
    border-image: none;
    border-style: none;
    border-width: 0;
    background-image: none;
    background-color: transparent;
    border-radius: 0;
}

.osd GtkProgressBar.progressbar {
    border-style: none;
    background-color: @theme_selected_bg_color;
    background-image: none;
    border-radius: 0;    
}

/****************************
 * Suggested action buttons *
 ****************************/
.suggested-action.button {
    background-image: linear-gradient(to bottom,
                                      @suggested_action_button_a,
                                      @suggested_action_button_b);
    border-image: none;
    border-color: @suggested_action_button_border;
    border-width: 1px;

    color: @suggested_action_button_fg;
    text-shadow: 0 -1px @suggested_action_button_shadow;
}

.suggested-action.button:hover {
    background-image: linear-gradient(to bottom,
                                      shade(@suggested_action_button_a, 1.10),
                                      shade(@suggested_action_button_b, 1.05));
}

.suggested-action.button:active,
.suggested-action.button:hover:active {
    background-image: linear-gradient(to bottom,
                                      @suggested_action_button_b,
                                      @suggested_action_button_a);
}

.suggested-action.button:backdrop {
    background-image: none;
    border-image: none;
    border-color: @unfocused_borders;
}

.suggested-action.button *:hover,
.suggested-action.button *:active,
.suggested-action.button *:hover:active {
    color: @suggested_action_button_fg;
}

.suggested-action.button *:active,
.suggested-action.button *:hover:active {
    text-shadow: 0 -1px shade(@suggested_action_button_shadow, 1.15);
}

.suggested-action.button *:backdrop {
    text-shadow: none;
}

/**************************
 * Selection Mode classes *
 **************************/
.selection-mode.toolbar {
    color: @selection_toolbar_fg;
    background-color: @selection_toolbar_bg;
    text-shadow: 1px 1px @primary_toolbar_button_text_shadow;

    border-top-width: 1px;
    border-color: @selection_toolbar_border;
    border-style: solid;
    padding-top: 2px;
}

.selection-mode.toolbar .selection-menu.button {
    background-image: none;
    border-image: none;
    color: @selection_menu_fg;
}

.selection-mode.toolbar .selection-menu.button:backdrop {
    background-color: @selection_toolbar_bg;
}

.selection-mode.toolbar .selection-menu.button .dim-label {
    color: @selection_menu_dim;
}

.selection-mode.toolbar .selection-menu.button:hover,
.selection-mode.toolbar .selection-menu.button:active {
    color: @selection_menu_strong;
}

.selection-mode.toolbar .selection-menu.button:active {
    border-color: @selection_menu_border;
    border-radius: 3px;
    border-width: 1px;
}

.selection-mode.toolbar .suggested-action.button,
.selection-mode.toolbar GtkToolButton.suggested-action .button {
    background-image: linear-gradient(to bottom,
                                      @selection_toolbar_suggested_button_a,
                                      @selection_toolbar_suggested_button_b 83%,
                                      @selection_toolbar_suggested_button_c);

    border-image: url("borders/selection-toolbar-suggested-button-border.svg") 3 / 3px stretch;
    border-width: 1px;

    color: @selection_toolbar_suggested_button_fg;
}

.selection-mode.toolbar .suggested-action.button:hover,
.selection-mode.toolbar GtkToolButton.suggested-action .button:hover {
    background-image: linear-gradient(to bottom,
                                      shade(@selection_toolbar_suggested_button_a, 1.20),
                                      shade(@selection_toolbar_suggested_button_b, 1.10) 83%,
                                      shade(@selection_toolbar_suggested_button_c, 1.10));
}

.selection-mode.toolbar .suggested-action.button:active,
.selection-mode.toolbar .suggested-action.button:hover:active,
.selection-mode.toolbar GtkToolButton.suggested-action .button:active,
.selection-mode.toolbar GtkToolButton.suggested-action .button:hover:active {
    background-image: linear-gradient(to bottom,
                                      @selection_toolbar_suggested_button_b,
                                      shade(@selection_toolbar_suggested_button_a, 0.90));
}

.selection-mode.toolbar .suggested-action.button:backdrop,
.selection-mode.toolbar GtkToolButton.suggested-action .button:backdrop {
    background-image: none;
    border-image: none;
    border-color: @unfocused_borders;
}

.selection-mode.toolbar .suggested-action.button *,
.selection-mode.toolbar GtkToolButton.suggested-action .button * {
    text-shadow: 0 1px @selection_toolbar_suggested_button_shadow;
    icon-shadow: 0 1px @selection_toolbar_suggested_button_shadow;
}

.selection-mode.toolbar .suggested-action.button *:hover,
.selection-mode.toolbar .suggested-action.button *:active,
.selection-mode.toolbar .suggested-action.button *:hover:active,
.selection-mode.toolbar GtkToolButton.suggested-action .button *:hover,
.selection-mode.toolbar GtkToolButton.suggested-action .button *:active,
.selection-mode.toolbar GtkToolButton.suggested-action .button *:hover:active {
    color: @selection_toolbar_suggested_button_fg;
}

.selection-mode.toolbar .suggested-action.button *:backdrop,
.selection-mode.toolbar GtkToolButton.suggested-action .button *:backdrop {
    text-shadow: none;
    icon-shadow: none;
}

/****************
 * GtkAssistant *
 ****************/
GtkAssistant .sidebar .highlight {
    background-color: transparent;
    color: @theme_fg_color;
    font: bold;
}

GtkAssistant .sidebar {
    padding: 12px;

    border-width: 1px;
    border-radius: 2px;
    border-style: solid;
    border-color: @inactive_frame_color;

    color: mix (@theme_fg_color, @theme_bg_color, 0.40);

    background-color: shade (@theme_bg_color, 0.97);
    /* shall we make it like sidebars in general? */

}

/*************
 * GtkSwitch *
 *************/

GtkSwitch {
    font: bold condensed 10;
}

.scale.progressbar,
GtkSwitch.trough:active {
    color: @switch_trough_active_color;
}

GtkSwitch.trough:insensitive {
    background-image: none;
    background-color: @insensitive_bg_color;
    color: mix(@insensitive_bg_color, @insensitive_fg_color, 0.5); /* FIXME */
}

GtkSwitch.trough:backdrop {
    color: @theme_unfocused_fg_color;
}

GtkSwitch.trough:active:backdrop {
    color: @theme_unfocused_bg_color;
}

GtkSwitch.trough:insensitive:backdrop {
    color: @unfocused_insensitive_borders;
}

GtkSwitch.slider {
    border-width: 1px;
    border-radius: 2px;
    border-style: solid;
    border-color: mix (@borders, @theme_text_color, 0.4);

    box-shadow: inset 0 -1px alpha(white, 0.9), inset 0 1px @theme_base_color, inset 0 2px alpha(@borders, 0.15);

    padding: 2px 2px 3px 2px;

    background-image: url("assets/switch-slider-grip.svg"),
                      linear-gradient(to bottom,
                                      @theme_base_color,
                                      @switch_slider_color
                                      );
    background-repeat: no-repeat;
    background-position: center;
}

.primary-toolbar GtkSwitch.slider {
    padding: 3px;
}

GtkSwitch.slider:insensitive {
    background-image: none;

    border-color: @insensitive_boder_color;

    box-shadow: none;
}

GtkSwitch.slider:insensitive {
    border-color: mix(@insensitive_bg_color, @insensitive_fg_color, 0.5);
}

GtkSwitch.slider:backdrop {
    background-color: @theme_unfocused_base_color;
    background-image: none;

    border-color: @unfocused_borders;

    box-shadow: none;

    color: @theme_unfocused_base_color;
}

GtkSwitch.slider:insensitive:backdrop {
    background-color: @theme_unfocused_bg_color;
    border-color: @unfocused_insensitive_borders;
}

/***********************
 * Tree and Icon views *
 ***********************/
GtkTreeView {
    -GtkTreeView-vertical-separator: 0;
    -GtkTreeView-expander-size: 17;

    -GtkWidget-focus-line-width: 1;
    -GtkWidget-focus-padding: 1;
    -adwaita-focus-border-radius: 2;
    -adwaita-focus-border-dashes: 1;
    -adwaita-focus-border-color: alpha(@theme_text_color, 0.6);
}

GtkTreeView.dnd {
    border-color: @internal_element_color;
    border-radius: 2px;
    border-width: 1px;
    border-style: solid;
}

GtkViewport {
    background-color: @theme_base_color;
}

GtkViewport:backdrop {
    background-color: @theme_unfocused_base_color;
}

GtkIconView.view.cell:selected,
GtkIconView.view.cell:selected:focus {
    background-color: @theme_selected_bg_color;
    color: @theme_selected_fg_color;
    border-radius: 4px;

    /* FIXME: this probably needs to be better;
     * see https://bugzilla.gnome.org/show_bug.cgi?id=644157
     */
    -adwaita-focus-border-color: @treeview_focus_border;
    -adwaita-focus-border-radius: 3;
    -adwaita-focus-border-dashes: 0;
}

.view,
GtkTreeView {
    background-color: @theme_base_color;
    color: @theme_text_color;
}

.view:selected,
GtkTreeView:selected {
    background-color: @theme_selected_bg_color;
    color: @theme_selected_fg_color;
}

.view:insensitive,
GtkTreeView:insensitive {
    background-color: @insensitive_bg_color;
    color: @insensitive_fg_color;
}

.view:backdrop,
GtkTreeView:backdrop {
    background-color: @theme_unfocused_base_color;
    color: @theme_unfocused_text_color;
}

.cell:backdrop:selected,
GtkIconView.view.cell:backdrop:selected,
.view:backdrop:selected,
GtkTreeView:backdrop:selected {
    background-color: @theme_unfocused_selected_bg_color;
    color: @theme_unfocused_selected_fg_color;
}

GtkTreeView:selected:focus {
    -adwaita-focus-border-color: mix(@theme_selected_fg_color, @theme_selected_bg_color, 0.30);
}

column-header.button,
column-header .button {
    color: @internal_element_color;
}

column-header.button,
column-header .button,
column-header.button:insensitive,
column-header .button:insensitive,
column-header.button:hover,
column-header .button:hover {
    background-color: @theme_base_color;
    background-image: none;
    padding: 0 4px;
    text-shadow: none;
    icon-shadow: none;
    font-weight: bold; /* Not sure about this one */
}

column-header.button:backdrop,
column-header .button:backdrop {
    background-color: @theme_unfocused_base_color;
}

column-header.button:insensitive,
column-header .button:insensitive {
    background-color: @insensitive_bg_color;
}

column-header.button:hover,
column-header .button:hover,
column-header.button:active:hover,
column-header .button:active:hover,
column-header.button *:active,
column-header .button *:active,
column-header.button *:active:hover,
column-header .button *:active:hover {
    color: @internal_element_prelight;
    text-shadow: none;
    icon-shadow: none;
}

row:hover {
    border-width: 0;
}

row:insensitive {
    border-width: 0;
}

row:selected:focus {
    border-width: 0;
    background-color: @theme_selected_bg_color;
}

row:selected {
    border-width: 0;
}

.cell {
    color: @theme_text_color;
    padding: 2px;
    border-width: 0;
}

.cell:selected {
    background-color: @theme_selected_bg_color;
    color: @theme_selected_fg_color;
}

.expander {
    border-style: solid;
    border-width: 1px;
    border-radius: 2px;
    border-color: shade (@internal_element_color, 1.40);

    color: @internal_element_color;
    background-color: @theme_base_color;
}

.expander:active {
    border-style: solid;
    border-width: 1px;

    color: @internal_element_color;
    border-color: shade (@internal_element_color, 1.40);

    background-color: @theme_base_color;
}

.expander:hover {
    border-style: solid;
    border-width: 1px;

    color: @internal_element_color;
    border-color: shade (@internal_element_color, 1.40);

    background-color: shade (@theme_bg_color, 1.02);
}

.expander row {
    border-radius: 2px;
}

.expander row:selected,
.expander row:selected:focus {
    border-style: solid;
    border-width: 1px;

    border-color: @expander_row_selected_color;
    color: @expander_row_selected_color;
    background-color: @theme_selected_bg_color;
}

.expander row:selected:backdrop {
    background-color: @theme_unfocused_selected_bg_color;
    color: @internal_element_color;
    border-color: @internal_element_color;
}

/****************
 * Content view *
 ****************/
.content-view.view {
    background-color: @content_view_bg;
}

.content-view.view:prelight {
    background-color: @theme_bg_color;
}

.content-view.view:selected,
.content-view.view:active {
    background-color: @theme_selected_bg_color;
}

.content-view.view:insensitive {
    background-color: @theme_unfocused_base_color;
}

.content-view.view:backdrop {
    background-color: @theme_unfocused_base_color;
}

.content-view.view:selected:backdrop {
    background-color: @theme_unfocused_selected_bg_color;
}

GdMainIconView.content-view {
    -GdMainIconView-icon-size: 40;
}

GtkIconView.content-view.check {
    background-image: url("assets/grid-selection-unchecked.svg");
    background-color: transparent;
}

GtkIconView.content-view.check:active {
    background-image: url("assets/grid-selection-checked.svg");
    background-color: transparent;
}

.content-view.view.check,
.content-view.view.check:active {
    background-color: transparent;
}

GtkIconView.content-view.check:prelight,
GtkIconView.content-view.check:insensitive,
GtkIconView.content-view.check:backdrop,
GtkIconView.content-view.check:selected {
    background-color: transparent;
}

/*********************
 * App Notifications *
 *********************/
.app-notification {
    border-style: solid;
    border-color: @app_notification_border;
    border-width: 0 1px 1px 1px;
    border-radius: 0 0 5px 5px;
    padding: 8px;

    background-image: linear-gradient(to bottom,
                                      @app_notification_a,
                                      @app_notification_b 18%,
                                      @app_notification_c);

    color: @theme_text_color;
    text-shadow: 0 1px @primary_toolbar_button_text_shadow;
}

/* Calendars */
GtkCalendar {
    padding: 2px;
}

GtkCalendar.view {
    border-radius: 3px;
    border-style: solid;
    border-width: 1px;
    padding: 2px;
}

GtkCalendar.header {
    border-radius: 0;
    background-image: linear-gradient(to bottom,
                                      shade(@theme_bg_color, 1.04),
                                      shade(@theme_bg_color, 0.89)
                                      );
    border-width: 0;
}

GtkCalendar.button,
GtkCalendar.button:insensitive,
GtkCalendar.button:backdrop,
GtkCalendar.button:insensitive:backdrop {
    background-image: none;
    background-color: transparent;
}

.highlight,
GtkCalendar.highlight {
    background-color: @theme_selected_bg_color;
    color: @theme_selected_fg_color;
    border-radius: 0;
    padding: 0;
    border-width: 0;
}

/**************
 * GtkInfoBar *
 **************/
GtkInfoBar {
    border-width: 0;
    border-style: none;
}

.info {
    text-shadow: 0 1px @info_text_shadow;
}

.warning {
    text-shadow: 0 1px @warning_text_shadow;
}

.question {
    text-shadow: 0 1px @question_text_shadow;
}

.error {
    text-shadow: 0 1px @error_text_shadow;
}

.info:backdrop,
.warning:backdrop,
.question:backdrop,
.error:backdrop {
    text-shadow: none;
    background-color: @theme_base_color;
    color: @theme_unfocused_fg_color;
    border-color: @theme_unfocused_fg_color;
}

.info .entry,
.info .entry:focus,
.info .button,
.info .button:insensitive,
.info .button:active,
.warning .entry,
.warning .entry:focus,
.warning .button,
.warning .button:insensitive,
.warning .button:active,
.error .entry,
.error .entry:focus,
.error .button,
.error .button:insensitive,
.error .button:active {
    border-image: none;

    border-color: shade(@borders, 0.9);
    border-style: solid;
    border-width: 1px;
}

.question .entry,
.question .entry:focus,
.question .button,
.question .button:insensitive,
.question .button:active {
    border-image: none;

    border-color: darker(@question_bg_color);
    border-style: solid;
    border-width: 1px;
}

.info .entry:backdrop,
.info .button:backdrop,
.info .button:insensitive:backdrop,
.info .button:active:backdrop,
.warning .entry:backdrop,
.warning .button:backdrop,
.warning .button:insensitive:backdrop,
.warning .button:active:backdrop,
.question .entry:backdrop,
.question .button:backdrop,
.question .button:insensitive:backdrop,
.question .button:active:backdrop,
.error .entry:backdrop,
.error .button:backdrop,
.error .button:insensitive:backdrop,
.error .button:active:backdrop {
    border-image: none;

    border-color: @unfocused_borders;
    border-style: solid;
    border-width: 1px;
}

.info {
    background-color: @info_bg_color;
    color: @info_fg_color;

    border-color: darker(@info_bg_color);
}

.warning {
    background-color: @warning_bg_color;
    color: @warning_fg_color;

    border-color: darker(@warning_bg_color);
}

.question {
    background-color: @question_bg_color;
    color: @question_fg_color;

    border-color: darker(@question_bg_color);
}

.error {
    background-color: @error_bg_color;
    color: @error_fg_color;

    border-color: darker(@error_bg_color);
}

/**************
 * Dim labels *
 **************/
.view.dim-label,
.dim-label,
.dim-label:hover,
.dim-label:focus {
    color: mix (@theme_fg_color, @theme_bg_color, 0.50);
    text-shadow: none;
}

.dim-label:selected,
.dim-label:selected:focus {
    color: mix (@theme_selected_fg_color, @theme_base_color, 0.50);
    text-shadow: none;
}

/**********************
 * Fallback Mode Panel
 **********************/

.gnome-panel-menu-bar,
PanelApplet > GtkMenuBar.menubar,
PanelToplevel,
PanelWidget,
PanelAppletFrame,
PanelApplet {
    background-color: @os_chrome_bg_color;
    background-image: none;
    color: @os_chrome_fg_color;
}

ClockBox,
.gnome-panel-menu-bar.menubar,
PanelApplet > GtkMenuBar.menubar {
    font: bold;
}

.gnome-panel-menu-bar.menubar .menuitem *:hover,
PanelApplet > GtkMenuBar.menubar .menuitem *:hover {
    text-shadow: 0 1px @os_chrome_bg_color;
}

.gnome-panel-menu-bar.menubar .menu,
PanelApplet > GtkMenuBar.menubar .menu {
    font: regular;
}

.gnome-panel-menu-bar.menubar .menu *:hover,
PanelApplet > GtkMenuBar.menubar .menu *:hover {
    text-shadow: none;
}

.gnome-panel-menu-bar .menuitem:hover,
PanelApplet > GtkMenuBar.menubar .menuitem:hover,
.gnome-panel-menu-bar .menuitem *:hover,
PanelApplet > GtkMenuBar.menubar .menuitem *:hover {
    background-color: @os_chrome_selected_bg_color;
    color: @os_chrome_selected_fg_color;
}

.gnome-panel-menu-bar .menuitem *:hover,
PanelApplet > GtkMenuBar.menubar .menuitem *:hover {
    color: @os_chrome_selected_fg_color;
}

PanelApplet .button,
PanelApplet .button:hover {
    padding: 4px;

    border-image: none;
    border-width: 0;
    border-radius: 0;

    background-image: none;
    background-color: @os_chrome_bg_color;

    color: @os_chrome_fg_color;
    text-shadow: none;
}

PanelApplet .button:active:hover,
PanelApplet .button:active {
    border-image: none;
    background-image: none;
    background-color: @os_chrome_selected_bg_color;
    border-width: 0;
    border-radius: 0;
}

PanelApplet *:hover {
    color: @os_chrome_selected_fg_color;
}

PanelApplet *:active,
PanelApplet *:hover:active {
    color: @os_chrome_selected_fg_color;
    text-shadow: 0 1px @os_chrome_bg_color;
}

WnckPager {
    background-color: lighter(@os_chrome_selected_bg_color);
}

NaTrayApplet {
    -NaTrayApplet-icon-padding: 12;
    -NaTrayApplet-icon-size: 16;
}

GsmFailWhaleDialog {
    background-color: @os_chrome_bg_color;
    background-image: none;
    color: @os_chrome_fg_color;
}

GsmFailWhaleDialog .button,
GsmFailWhaleDialog .button:active {
    border-image: none;
    border-color: @borders;
    border-width: 1px;
}

