/***************************************************************
 * Green-Submarine                                             *
 * Part of https://github.com/NiceandGently/mate-themes-extras *
 * Author Wolfgang Ulbrich                                     *
 ***************************************************************/
 
* {
    padding: 0;
    background-clip: padding-box;
    -GtkButton-child-displacement-x: 1;
    -GtkButton-child-displacement-y: 1;
    -GtkButton-default-border: 0;
    -GtkButton-image-spacing: 0;
    -GtkButton-interior-focus: true;
    -GtkButton-inner-border: 3;
    -GtkButtonBox-child-min-height: 26;
    -GtkCheckButton-indicator-size: 16;
    -GtkCheckMenuItem-indicator-size: 12;
    -GtkComboBox-arrow-scaling: 0.75;
    -GtkDialog-button-spacing: 4; /* ie. logout dialog */
    -GtkDialog-action-area-border: 10; /* ie. logout dialog */
    -GtkExpander-expander-size: 14;
    -GtkHTML-link-color: @link_color;
    -GtkIMHtml-hyperlink-color: @link_color;
    -GtkMenu-horizontal-padding: 0;
    -GtkMenu-vertical-padding: 0;
    -GtkMenuBar-internal-padding: 0;
    -GtkMenuItem-arrow-scaling: 0.7;
    -GtkNotebook-tab-overlap: 1;
    -GtkPaned-handle-size: 1;
    -GtkProgressBar-min-horizontal-bar-height: 16;
    -GtkProgressBar-min-vertical-bar-width: 16;
    -GtkRange-trough-border: 1;
    -GtkRange-slider-width: 11;
    -GtkRange-stepper-size: 13;
    -GtkRange-trough-under-steppers: 1;
    -GtkRange-stepper-spacing: 0;
    -GtkScale-trough-border: 0;
    -GtkScrollbar-activate-slider: 1;
    -GtkScrollbar-trough-border: 0;
    -GtkScrollbar-slider-width: 11;
    -GtkScrollbar-min-slider-length: 31;
    -GtkScrolledWindow-scrollbar-spacing: 0;
    -GtkScrolledWindow-scrollbars-within-bevel: 1;
    -GtkSeparatorMenuItem-horizontal-padding: 0;
    -GtkStatusbar-shadow-type: none;
    -GtkTextView-error-underline-color: @error_color;
    -GtkToolButton-icon-spacing: 4;
    -GtkToolItemGroup-expander-size: 6;
    -GtkToolbar-internal-padding: 0;
    -GtkTreeView-expander-size: 12; /* arrow size in list/tree views */
    -GtkTreeView-horizontal-separator: 4;
    -GtkTreeView-vertical-separator: 4;
    -GtkWidget-focus-padding: 2;
    -GtkWidget-focus-line-width: 0;
    -GtkWindow-resize-grip-default: true;
    -GtkWindow-resize-grip-width: 13;
    -GtkWindow-resize-grip-height: 13;
    -GtkWidget-separator-width: 2px;
    -GtkWidget-separator-height: 2px;
    -GtkWidget-wide-separators: true;
    -WnckTasklist-fade-overlay-rect: 0;
    /* Highlight drag-drop destination */
    engine: none;
    outline-color: alpha(@theme_selected_bg_color, 0.3);
    outline-style: dashed;
    outline-offset: -3px; /* 2px */
    outline-width: 0px; /* disable ugly focus-line */
    outline-radius: 2px;
    -gtk-icon-style: regular; /* no symbolic icons */
}

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

GtkWindow {
    color: @theme_fg_color;
}

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

.background:backdrop {
    text-shadow: none;
    icon-shadow: none;
}

/* Ugly hack to fix unexpected background colours (e.g. combo box arrow)
 * we should just set it above, but that loses our background on fullscreen)
 */
/* * {
 background-color: transparent;
}*/

*:active {
    background-color: alpha(shade(@theme_selected_bg_color, 1.90), 0.015);
}

*:hover:active:insensitive {
}

*:active:insensitive {
}

*:hover {
     background-color: alpha(shade(@menu_bg_color, 1.05), 0.0);
}

*:hover:insensitive {
}

*:selected,
*:selected:focus {
    background-color: shade(@theme_selected_bg_color, 1.0);
    color: @theme_selected_fg_color;
}

*:insensitive {
    /* inherit the color from parent by default */
    background-color: inherit;
    color: @insensitive_fg_color;
    border-color: @insensitive_border_color;
    box-shadow: none;
}

*:backdrop { 
}

.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;
}

/*********
 * label *
 *********/

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

.tooltip,
.tooltip.background {
    padding: 4px 4px;
    color: shade(@theme_tooltip_fg_color, 0.90);
    border-width: 1px;
    border-style: solid;
    border-radius: 3px;
/*    border-color: @theme_fg_color; */
    background-color: alpha(@theme_tooltip_bg_color, 0.90);
    background-clip: padding-box;
    box-shadow: 0 1px 5px shade (@theme_selected_bg_color, 1.3);
}

.tooltip * {
    background-color: transparent;
    padding: 4px 4px;
}

.grip {
    background-color: transparent;
    background-image: url("assets/resize-grip.svg");
}

.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;    
}

/*************
 * separator *
 *************/

.separator {
    border-width: 1px;
    border-style: solid;
    border-image: none;
    border-color: mix(@theme_fg_color, @theme_bg_color, 0.95);
    border-bottom-color: alpha (shade (@theme_bg_color, 1.26), 0.15);
    border-right-color:  alpha (shade (@theme_bg_color, 1.26), 0.15);
}

GtkTreeView.view.separator,
GtkTreeView.separator,
GtkTreeView.view.separator:hover,
GtkTreeView.separator:hover,
.separator,
.separator:prelight {
    color: shade (@theme_bg_color, 0.92);
    border-color: mix(@theme_fg_color, @theme_bg_color, 0.95);
    border-image: none;
}

.separator.horizontal {
    border-width: 1px 0 1px 0;
}

.separator.vertical {
    border-width: 0 1px 0 1px;
}

GtkComboBox .separator {
    -GtkWidget-wide-separators: true;
    -GtkWidget-horizontal-separator: 0;
    -GtkWidget-vertical-separator: 0;
}

.button .separator,
.button.separator {
    border-color: alpha (#000, 0.00);
}

.button .separator:insensitive,
.button.separator:insensitive {
    border-color: alpha (#000, 0.00);
}

.pane-separator {
    color: shade (@sidebar_background, 0.95);
}

.pane-separator:prelight,
.pane-separator:selected {
    color: shade (@sidebar_background, 0.95);
}

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

GtkStatusbar .frame {
    padding: 0px;
    border-width: 0;
}

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

/****************
 * Text Entries *
 ****************/

.entry,
.combobox-entry .entry {
/* Look out !
This is the background color of mate-control-center 'too' */
    background-color: @theme_base_color;
    padding: 5px 4px;
    -GtkEntry-inner-border: 0;
    -GtkEntry-progress-border: 0;
    color: @entry_text_color;
    background-image: -gtk-gradient(linear,
                                    left top, left bottom,
                                    from       (shade(@theme_base_color, 0.86)),
                                    color-stop (0.15, shade(@theme_base_color, 0.96)),
                                    color-stop (0.50, shade(@theme_base_color, 0.98)),
                                    to         (shade(@theme_base_color, 1.00)));
    /* outer */
    border-width: 2px;
    border-style: solid;
    border-radius: 5px;
    border-top-color: transparent;
    border-right-color: alpha(#fff, 0.02);
    border-left-color: alpha(#fff, 0.02);
    border-bottom-color: alpha(#fff, 0.03);
    /* border */
    box-shadow: inset  0px  3px alpha(#000, 0.03),
                inset  0px  2px alpha(#000, 0.05),
                inset  2px  0px alpha(#000, 0.04),
                inset -2px  0px alpha(#000, 0.04),
                inset  0px -2px alpha(#000, 0.03),
                inset  0px  1px shade(@button_border, 0.80),
                inset  1px  0px shade(@button_border, 0.90),
                inset -1px  0px shade(@button_border, 0.90),
                inset  0px -1px shade(@button_border, 1.05);
}

.entry:focus {
    box-shadow: inset  0px  1px shade(@selected_bg_color, 1.05),
                inset  1px  0px shade(@selected_bg_color, 0.97),
                inset -1px  0px shade(@selected_bg_color, 0.93),
                inset  0px -1px shade(@selected_bg_color, 0.93);
}

.entry:insensitive {
    color: @insensitive_fg_color;
    background-image: none;
    background-color: @insensitive_bg_color;
    border-style: solid;
    border-color: alpha (#000, 0.00);
    border-bottom-color: alpha (#000, 0.00);
    border-image: none;
    box-shadow: inset  0px  1px @insensitive_border_color,
                inset  1px  0px @insensitive_border_color,
                inset -1px  0px @insensitive_border_color,
                inset  0px -1px @insensitive_border_color;
}

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

.entry.progressbar {
    background-color: @theme_selected_bg_color;
    color: @theme_selected_fg_color;
    border-width: 1px;
    border-radius: 3px;
}

/*******************
 * Symbolic images *
 *******************/

.image {
    color: @internal_element_color;
}

.image:prelight {
    color: @internal_element_prelight;
}

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

/* progress component */
.progressbar,
.toolbar .progressbar,
.entry.progressbar,
.progressbar row,
.progressbar row:hover,
.progressbar row:selected,
.progressbar row:selected:focus {
    background-image: linear-gradient(to right,
                                      alpha (#000, 0.00),
                                      alpha (#000, 0.00) 48%,
                                      alpha (#004, 0.12) 48%,
                                      alpha (#004, 0.12) 50%,
                                      alpha (#000, 0.00) 50%,
                                      alpha (#000, 0.00) 98%,
                                      alpha (#004, 0.12) 98%,
                                      alpha (#004, 0.12)),
                      linear-gradient(to bottom,
                                      alpha (#000, 0.20),
                                      alpha (#000, 0.05) 50%,
                                      alpha (#000, 0.00)),
                      linear-gradient(to right,
                                      @progressbar_fill_a,
                                      @progressbar_fill_b);
    background-size: 40px auto, auto, auto;
    box-shadow: inset  0px  1px alpha(black, 0.03),
                inset  1px  0px alpha(black, 0.03),
                inset -1px  0px alpha(black, 0.03),
                inset  0px -1px alpha(white, 0.10);
    border-width: 1px;
    border-style: solid;
    border-radius: 3px;
    border-top-color: shade(@button_border_active, 0.80);
    border-left-color: shade(@button_border_active, 0.85);
    border-right-color: shade(@button_border_active, 0.85);
    border-bottom-color: shade(@button_border_active, 1.00);
/* Label font color of progressbar*/
    color: @theme_fg_color;
    text-shadow: none;
}

.progressbar.vertical {
    background-image: linear-gradient(to top,
                                      alpha (#000, 0.00),
                                      alpha (#000, 0.00) 48%,
                                      alpha (#004, 0.12) 48%,
                                      alpha (#004, 0.12) 50%,
                                      alpha (#000, 0.00) 50%,
                                      alpha (#000, 0.00) 98%,
                                      alpha (#004, 0.12) 98%,
                                      alpha (#004, 0.12)),
                      linear-gradient(to right,
                                      alpha (#000, 0.20),
                                      alpha (#000, 0.05) 50%,
                                      alpha (#000, 0.00)),
                      linear-gradient(to top,
                                      @progressbar_fill_a,
                                      @progressbar_fill_b);
    background-size: auto 40px, auto, auto;
    box-shadow: inset  0px  1px alpha(black, 0.03),
                inset  1px  0px alpha(black, 0.03),
                inset -1px  0px alpha(white, 0.10),
                inset  0px -1px alpha(black, 0.03);
    border-width: 1px;
    border-style: solid;
    border-radius: 3px;
    border-top-color: shade(@button_border_active, 0.85);
    border-left-color: shade(@button_border_active, 0.80);
    border-right-color: shade(@button_border_active, 1.00);
    border-bottom-color: shade(@button_border_active, 0.85);
/* Label font color of progressbar*/
    color: @theme_fg_color;
    text-shadow: none;
}

GtkProgressBar {
    /* FIXME - Not working 3.14 */
    -GtkProgressBar-min-horizontal-bar-height: 16;
    -GtkProgressBar-min-vertical-bar-width: 16;
    border-radius: 2px;
    padding: 0 0 1px 0;
    text-shadow: none;
}

/* through component */
.trough row {
    padding: 0px;
    text-shadow: none;
    border-radius: 2px;
    padding: 0 0 1px 0;
}

.trough,
.toolbar .trough,
.trough row,
.trough row:hover {
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (alpha (#000, 0.18)),
                                     color-stop (0.20, alpha (#000, 0.14)),
                                     to (alpha (#000, 0.04)));
    border-style: none;
    border-width: 0px;
    border-radius: 2px;
    padding: 0 0 1px 0;
    box-shadow: inset  1px  1px alpha(#000, 0.15),
                inset -1px -1px alpha(#000, 0.15);
    text-shadow: none;
}

.trough.vertical {
    background-image: -gtk-gradient (linear,
                                     left top, right top,
                                     from (alpha (#000, 0.18)),
                                     color-stop (0.20, alpha (#000, 0.14)),
                                     to (alpha (#000, 0.04)));
    border-radius: 2px;
    padding: 0 0 1px 0;
    text-shadow: none;
}

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

/* 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: @button_border_active;
    background-image: -gtk-gradient (linear,
                                     0.45 top, 0.55 bottom,
                                     from (shade (@button_bg_active, 1.30)),
                                     color-stop (0.40, shade (@button_bg_active, 1.04)),
                                     color-stop (0.60, shade (@button_bg_active, 0.92)),
                                     to (shade (@button_bg_active, 1.20)));
}

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

.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: 16;
    -GtkRange-trough-border: 0;
    -GtkWidget-focus-line-width: 0;
}

.scale.slider,
.scale.slider:hover,
.scale.slider:insensitive {
    border-width: 1px;
    border-radius: 8px;
    border-style: none;
    color: alpha(@theme_base_color, 0.0);
    background-color: alpha(@theme_base_color, 0.0);
    /* background-image in -assets variant */
    background-position: center;
}

.scale.slider.fine-tune:active,
.scale.slider.fine-tune:hover:active,
.scale.slider.fine-tune.horizontal:active,
.scale.slider.fine-tune.horizontal:hover:active {
    background-size: 98%;
    background-repeat: no-repeat;
    background-position: center;
}

.toolbar .scale.trough,
.scale.trough {
    border-radius: 8px;
    border-style: solid;
    border-width: 1px;
    background-image: -gtk-gradient (linear,
                                     left top,
                                     left bottom,
                                     from (alpha (#000, 0.20)),
                                     color-stop (0.20, alpha (#000, 0.16)),
                                     to (alpha (#000, 0.06)));
    box-shadow: inset  1px  1px alpha(#000, 0.08),
                inset -1px -1px alpha(#000, 0.08);
}

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

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

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

.scale.trough.highlight,
.scale.trough.highlight.vertical {
    border-style: none;
}

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

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

.scale.trough:insensitive {
    background-image: -gtk-gradient (linear,
                                     left top,
                                     left bottom,
                                     from (alpha (#000, 0.03)),
                                     to   (alpha (#000, 0.03)));
    border-style: none;
}

.scale.progressbar {
    background-color: @scale_progress_fill;
    border-width: 1px;
    border-radius: 3px;
    border-style: none;
}

.scale:insensitive,
.vertical.scale:insensitive {
    background-color: transparent;
}

.scale.mark {
    color: mix(@theme_bg_color, @theme_text_color, 0.56);
}

.menubar .menuitem .scale.highlight.left,
.scale.highlight.left {
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (shade (@scale_fill, 0.90)),
                                     to (shade (@scale_fill, 1.31)));
    border-style: none;
    border-width: 0px;
    border-radius: 8px;
    box-shadow: inset  1px  1px alpha(#000, 0.08),
                inset -1px -1px alpha(#000, 0.08);                                     
    color: @theme_selected_fg_color;
    text-shadow: none;
}

.menubar .menuitem .scale.highlight.bottom,
.scale.highlight.bottom {
    background-image: -gtk-gradient (linear,
                                     left top, right top,
                                     from (shade (@scale_fill, 0.90)),
                                     to (shade (@scale_fill, 1.31)));
    border-style: none;
    border-width: 0px;
    border-radius: 8px;
    box-shadow: inset  1px  1px alpha(#000, 0.08),
                inset -1px -1px alpha(#000, 0.08);
    color: @theme_selected_fg_color;
    text-shadow: none;
}

.scale.highlight.left:insensitive {
    background-image: -gtk-gradient (linear, left top, left bottom,
                                     from (shade (@theme_bg_color, 0.85)),
                                     to (shade (@theme_bg_color, 0.85)));
    box-shadow: inset  1px  1px alpha(#000, 0.02),
                inset -1px -1px alpha(#000, 0.02);
}

.scale.highlight.bottom:insensitive {
    background-image: -gtk-gradient (linear,  left top, right top,
                                     from (shade (@theme_bg_color, 0.85)),
                                     to (shade (@theme_bg_color, 0.85)));
    box-shadow: inset  1px  1px alpha(#000, 0.02),
                inset -1px -1px alpha(#000, 0.02);
}

/**********
 * Frames *
 **********/

.frame {
    padding: 2px;
    border-width: 1px;
    border-radius: 4px;
    border-style: solid;
    border-color: shade (@theme_bg_color, 0.85);
    border-top-color: shade(@notebook_border, 1.25);
    border-left-color: shade(@notebook_border, 1.25);
    border-right-color: shade(@notebook_border, 1.25);
    border-bottom-color: shade(@notebook_border, 1.25);
    color: mix(@theme_selected_bg_color, @theme_fg_color, 0.70);
}

/* only render frames in a GtkScrolledWindow */
GtkScrolledWindow.frame {
    border-width: 1px;
    border-radius: 0;
    border-style: solid;
    border-color: shade (@theme_bg_color, 0.85);
    padding: 0px;
}

/***********
 * Buttons *
 ***********/

.button.menuitem.menubar {
    padding: 4px 8px;
}

.button {
    padding: 4px;
}

.button {
    transition: all 400ms ease-out;
    -GtkButton-image-spacing: 4;
    -GtkButton-interior-focus: true;
    -GtkButton-default-border: 0;
    -GtkButton-inner-border: 3;
    -GtkArrow-arrow-scaling: 0.5;
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (@button_gradient1),
                                     color-stop (0.48, @button_gradient2),
                                     color-stop (0.52, @button_gradient3),
                                     to   (@button_gradient4));
    border-width: 1px;
    border-radius: 6px;
    border-style: solid;
    /* outer */
    border-top-color: transparent;
    border-left-color: alpha (#000, 0.01);
    border-right-color: alpha (#000, 0.01);
    border-bottom-color: alpha (#000, 0.03);
    box-shadow: inset  0px  2px alpha(#fff, 0.11),
                inset  2px  0px alpha(#fff, 0.09),
                inset -2px  0px alpha(#fff, 0.09),
                inset  0px -2px alpha(#fff, 0.07),
                inset  0px  1px alpha(shade(@button_border, 1.00), 0.70),
                inset  1px  0px alpha(shade(@button_border, 0.94), 0.80),
                inset -1px  0px alpha(shade(@button_border, 0.94), 0.80),
                inset  0px -1px alpha(shade(@button_border, 0.88), 0.90);
/* box-shadow Syntax */
/* box-shadow: [ inset ] horizontal_offset vertical_offset [ blur_radius ] [ spread ] color */
    color: @theme_fg_color;
    text-shadow: 0px 1px @theme_shadow_color;
}

.button.default {
    transition: all 400ms ease-out;
    text-shadow: none;
    color: @theme_fg_color;
}

/* ie. mate-control-center */
.button.flat {
    transition: all 400ms ease-out;
    padding: 0px;
    border-color: transparent;
    background-color: transparent;
    background-image: none;
    box-shadow: inset 0 1px rgba(255,255,255,0), 0 1px rgba(255,255,255,0);
    text-shadow: none;
    icon-shadow: none;
    border-image: none;
}

/* ie. controls gnome-mplayer, virtual-manager */
.button.flat.image-button,
.button.flat.image-button:hover,
GtkVolumeButton.button.flat {
	padding: 4px;
}

.button:hover {
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (shade(@button_gradient1, 1.03)),
                                     color-stop (0.48, shade(@button_gradient2, 1.03)),
                                     color-stop (0.52, shade(@button_gradient3, 1.03)),
                                     to   (shade(@button_gradient4, 1.01)));
    box-shadow: inset  0px  1px shade(@selected_bg_color, 1.05),
                inset  1px  0px shade(@selected_bg_color, 0.97),
                inset -1px  0px shade(@selected_bg_color, 0.93),
                inset  0px -1px shade(@selected_bg_color, 0.93);
}

.button:hover:active,
.button:focus:hover:active,
.button:checked,
.button:checked:hover,
.button:checked:hover:active {
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (shade (@theme_bg_color, 1.20)),
                                     color-stop (0.50, shade (@theme_bg_color, 1.00)),
                                     color-stop (0.50, shade (@theme_bg_color, 0.95)),
                                     to (shade (@theme_bg_color, 0.80)));
    border-radius: 6px;
    box-shadow: inset  0px  1px shade(@selected_bg_color, 1.05),
                inset  1px  0px shade(@selected_bg_color, 0.97),
                inset -1px  0px shade(@selected_bg_color, 0.93),
                inset  0px -1px shade(@selected_bg_color, 0.93);
}

.button:focus,
.button.default {
    border-top-color: alpha(@focused_entry_outer, 0.95);
    border-right-color: alpha(@focused_entry_outer, 1.00);
    border-left-color: alpha(@focused_entry_outer, 1.00);
    border-bottom-color: alpha(@focused_entry_outer, 0.95);
    box-shadow: inset  0px  1px shade(@selected_bg_color, 1.05),
                inset  1px  0px shade(@selected_bg_color, 0.97),
                inset -1px  0px shade(@selected_bg_color, 0.93),
                inset  0px -1px shade(@selected_bg_color, 0.93);
}

.button *:hover:active,
.button *:checked,
.button *:checked:hover,
.button *:checked:hover:active {
    color: @theme_selected_fg_color;
    text-shadow: 1px 1px @theme_selected_shadow_color;
}

.button:insensitive {
    background-image: none;
    background-color: @insensitive_bg_color;
    border-color: alpha (#000, 0.00);
    border-bottom-color: alpha (#000, 0.00);
    border-image: none;
    box-shadow: inset  0px  1px @insensitive_border_color,
                inset  1px  0px @insensitive_border_color,
                inset -1px  0px @insensitive_border_color,
                inset  0px -1px @insensitive_border_color;
}

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

.toolbar.vertical .image-button.flat.button {
    padding: 5px;
}

.button.text-button,
.button.text-button:hover,
GtkFileChooserButton .button {
    padding: 5px 4px;
}

GtkComboBox GtkToggleButton.button,
GtkComboBox GtkToggleButton.button:hover {
    padding: 4px;
}

GtkFontButton.button,
GtkColorButton.button {
    padding: 6px 4px;
}

.path-bar .button,
.path-bar .button GtkImage,
.path-bar .button GtkLabel {
    padding: 2px;
}

.path-bar .button {
    border-width: 1px 0px 1px 1px;
}

.path-bar .button:hover:checked {
    border-left-width: 1px;
}

/* linked path-bar buttons */

.path-bar.linked .button:dir(ltr),
.path-bar.linked .button:dir(ltr):hover,
.path-bar.linked .button:dir(ltr):hover:active,
.path-bar.linked .button:dir(ltr):checked,
.path-bar.linked .button:dir(ltr):checked:hover,
.path-bar.linked .button:dir(ltr):checked:hover:active {
    border-radius: 0px;
    border-width: 1px 0px 1px 0px;
}

.path-bar.linked .button:dir(ltr):first-child,
.path-bar.linked .button:dir(ltr):hover:first-child,
.path-bar.linked .button:dir(ltr):hover:active:first-child,
.path-bar.linked .button:dir(ltr):checked:first-child,
.path-bar.linked .button:dir(ltr):checked:hover:first-child,
.path-bar.linked .button:dir(ltr):checked:hover:active:first-child {
    border-radius: 6px 0px 0px 6px;
    border-width: 1px 0px 1px 1px;
}

.path-bar.linked .button:dir(ltr):last-child,
.path-bar.linked .button:dir(ltr):hover:last-child,
.path-bar.linked .button:dir(ltr):hover:active:last-child,
.path-bar.linked .button:dir(ltr):checked:last-child,
.path-bar.linked .button:dir(ltr):checked:hover:last-child,
.path-bar.linked .button:dir(ltr):checked:hover:active:last-child {
    border-radius: 0px 6px 6px 0px;
    border-width: 1px 1px 1px 0px;
}

.path-bar.linked .button:dir(ltr):only-child,
.path-bar.linked .button:dir(ltr):hover:only-child,
.path-bar.linked .button:dir(ltr):hover:active:only-child,
.path-bar.linked .button:dir(ltr):checked:only-child,
.path-bar.linked .button:dir(ltr):checked:hover:only-child,
.path-bar.linked .button:dir(ltr):checked:hover:active:only-child {
    border-radius: 6px;
    border-width: 1px;
}

/***************************/
/* Linked toolbars-buttons */
/***************************/

/* Middle toolbar-button */
.toolbar.menubar .linked .button,
.toolbar.menubar .linked .button:focus,
.toolbar.menubar .linked .button:hover,
.toolbar.menubar .linked .button:hover:active,
.toolbar.menubar .linked .button:checked,
.toolbar.menubar .linked .button:checked:focus,
.toolbar.menubar .linked .button:checked:hover,
.toolbar.menubar .linked .button:checked:hover:active,
.toolbar.menubar .linked .button:insensitive,
.toolbar .button.raised.linked,
.toolbar .button.raised.linked:focus,
.toolbar .button.raised.linked:hover,
.toolbar .button.raised.linked:hover:active,
.toolbar .button.raised.linked:checked,
.toolbar .button.raised.linked:checked:focus,
.toolbar .button.raised.linked:checked:hover,
.toolbar .button.raised.linked:checked:hover:active,
.toolbar .button.raised.linked:insensitive,
.toolbar .raised.linked .button,
.toolbar .raised.linked .button:focus,
.toolbar .raised.linked .button:hover,
.toolbar .raised.linked .button:hover:active,
.toolbar .raised.linked .button:checked,
.toolbar .raised.linked .button:checked:focus,
.toolbar .raised.linked .button:checked:hover,
.toolbar .raised.linked .button:checked:hover:active,
.toolbar .raised.linked .button:insensitive,
.primary-toolbar .linked .entry,
.primary-toolbar .linked .entry:insensitive,
.primary-toolbar .linked .button,
.primary-toolbar .linked .button:focus,
.primary-toolbar .linked .button:focus:hover,
.primary-toolbar .linked .button:focus:hover:active,
.primary-toolbar .linked .button:hover,
.primary-toolbar .linked .button:hover:active,
.primary-toolbar .linked .button:checked,
.primary-toolbar .linked .button:checked:focus,
.primary-toolbar .linked .button:checked:hover,
.primary-toolbar .linked .button:checked:hover:active,
.primary-toolbar .linked .button:insensitive {
    padding: 2px 4px 2px 4px;
    border-radius: 0px;
    border-width: 1px 0px 1px 0px;
}

/* Middle toolbar-button hover */
.toolbar.menubar .linked .button:hover,
.toolbar .raised.linked .button:hover,
.primary-toolbar .linked .button:hover,
.primary-toolbar .linked .button:focus:hover,
.primary-toolbar .linked .button:focus:hover:active {
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (shade(@menu_bg_dark_color, 2.03)),
                                     to   (shade(@menu_bg_dark_color, 1.17)));
    box-shadow: inset  0px  1px shade(@selected_bg_color, 1.05),
                inset  1px  0px shade(@selected_bg_color, 0.97),
                inset -1px  0px shade(@selected_bg_color, 0.93),
                inset  0px -1px shade(@selected_bg_color, 0.93);
}

/* Middle toolbar-button active */
.toolbar.menubar .linked .button:hover:active,
.toolbar.menubar .linked .button:checked,
.toolbar.menubar .linked .button:checked:focus,
.toolbar.menubar .linked .button:checked:hover,
.toolbar.menubar .linked .button:checked:hover:active,
.toolbar .button.raised.linked:hover:active,
.toolbar .button.raised.linked:checked,
.toolbar .button.raised.linked:checked:focus,
.toolbar .button.raised.linked:checked:hover,
.toolbar .button.raised.linked:checked:hover:active,
.toolbar .raised.linked .button:hover:active,
.toolbar .raised.linked .button:checked,
.toolbar .raised.linked .button:checked:focus,
.toolbar .raised.linked .button:checked:hover,
.toolbar .raised.linked .button:checked:hover:active,
.primary-toolbar .linked .button:hover:active,
.primary-toolbar .linked .button:checked,
.primary-toolbar .linked .button:checked:focus,
.primary-toolbar .linked .button:checked:hover,
.primary-toolbar .linked .button:checked:hover:active {
    box-shadow: inset  0px  1px shade(@selected_bg_color, 1.05),
                inset  1px  0px shade(@selected_bg_color, 0.97),
                inset -1px  0px shade(@selected_bg_color, 0.93),
                inset  0px -1px shade(@selected_bg_color, 0.93);
}

/* Middle toolbar-button insensitive */
.toolbar.menubar .linked .button:insensitive,
.toolbar .button.raised.linked:insensitive,
.toolbar .raised.linked .button:insensitive,
.primary-toolbar .linked .button:insensitive,
.primary-toolbar .linked .entry:insensitive {
     /* remove outer */
    border-color: alpha (#fff, 0.00);
    /* Remove right border */
    box-shadow: inset  0px  1px shade(@theme_button_border_dark, 1.10),
                inset  1px  0px shade(@theme_button_border_dark, 1.05),
                inset  0px -1px shade(@theme_button_border_dark, 1.00);
}

/* Leftmost toolbars-button */
.toolbar.menubar .linked .button:first-child,
.toolbar.menubar .linked .button:focus:first-child,
.toolbar.menubar .linked .button:hover:first-child,
.toolbar.menubar .linked .button:hover:active:first-child,
.toolbar.menubar .linked .button:checked:first-child,
.toolbar.menubar .linked .button:checked:focus:first-child,
.toolbar.menubar .linked .button:checked:hover:first-child,
.toolbar.menubar .linked .button:checked:hover:active:first-child,
.toolbar.menubar .linked .button:insensitive:first-child,
.toolbar .button.raised.linked:first-child,
.toolbar .button.raised.linked:focus:first-child,
.toolbar .button.raised.linked:hover:first-child,
.toolbar .button.raised.linked:hover:active:first-child,
.toolbar .button.raised.linked:checked:first-child,
.toolbar .button.raised.linked:checked:focus:first-child,
.toolbar .button.raised.linked:checked:hover:first-child,
.toolbar .button.raised.linked:checked:hover:active:first-child,
.toolbar .button.raised.linked:insensitive:first-child,
.toolbar .raised.linked .button:first-child,
.toolbar .raised.linked .button:focus:first-child,
.toolbar .raised.linked .button:hover:first-child,
.toolbar .raised.linked .button:hover:active:first-child,
.toolbar .raised.linked .button:checked:first-child,
.toolbar .raised.linked .button:checked:focus:first-child,
.toolbar .raised.linked .button:checked:hover:first-child,
.toolbar .raised.linked .button:checked:hover:active:first-child,
.toolbar .raised.linked .button:insensitive:first-child,
.primary-toolbar .linked .entry:first-child,
.primary-toolbar .linked .button:first-child,
.primary-toolbar .linked .button:focus:first-child,
.primary-toolbar .linked .button:focus:hover:first-child,
.primary-toolbar .linked .button:focus:hover:active:first-child,
.primary-toolbar .linked .button:hover:first-child,
.primary-toolbar .linked .button:hover:active:first-child,
.primary-toolbar .linked .button:checked:first-child,
.primary-toolbar .linked .button:checked:focus:first-child,
.primary-toolbar .linked .button:checked:hover:first-child,
.primary-toolbar .linked .button:checked:hover:active:first-child,
.primary-toolbar .linked .button:insensitive:first-child,
.primary-toolbar .linked .entry:insensitive:first-child {
    padding: 2px 4px 2px 4px;
    border-radius: 6px 0px 0px 6px;
    border-width: 1px 0px 1px 1px;
}

/* Leftmost toolbars-button hover */
.toolbar.menubar .linked .button:hover:first-child,
.toolbar .raised.linked .button:hover:first-child,
.primary-toolbar .linked .button:hover:first-child,
.primary-toolbar .linked .button:focus:hover:first-child,
.primary-toolbar .linked .button:focus:hover:active:first-child {
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (shade(@menu_bg_dark_color, 2.03)),
                                     to   (shade(@menu_bg_dark_color, 1.17)));
    box-shadow: inset  0px  1px shade(@selected_bg_color, 1.05),
                inset  1px  0px shade(@selected_bg_color, 0.97),
                inset -1px  0px shade(@selected_bg_color, 0.93),
                inset  0px -1px shade(@selected_bg_color, 0.93);
}

/* Leftmost toolbars-button active */
.toolbar.menubar .linked .button:hover:active:first-child,
.toolbar.menubar .linked .button:checked:first-child,
.toolbar.menubar .linked .button:checked:focus:first-child,
.toolbar.menubar .linked .button:checked:hover:first-child,
.toolbar.menubar .linked .button:checked:hover:active:first-child,
.toolbar .button.raised.linked:hover:active:first-child,
.toolbar .button.raised.linked:checked:first-child,
.toolbar .button.raised.linked:checked:focus:first-child,
.toolbar .button.raised.linked:checked:hover:first-child,
.toolbar .button.raised.linked:checked:hover:active:first-child,
.toolbar .raised.linked .button:hover:active:first-child,
.toolbar .raised.linked .button:checked:first-child,
.toolbar .raised.linked .button:checked:focus:first-child,
.toolbar .raised.linked .button:checked:hover:first-child,
.toolbar .raised.linked .button:checked:hover:active:first-child,
.primary-toolbar .linked .button:hover:active:first-child,
.primary-toolbar .linked .button:checked:first-child,
.primary-toolbar .linked .button:checked:focus:first-child,
.primary-toolbar .linked .button:checked:hover:first-child,
.primary-toolbar .linked .button:checked:hover:active:first-child {
    box-shadow: inset  0px  1px shade(@selected_bg_color, 1.05),
                inset  1px  0px shade(@selected_bg_color, 0.97),
                inset -1px  0px shade(@selected_bg_color, 0.93),
                inset  0px -1px shade(@selected_bg_color, 0.93);
}

/* Leftmost toolbars-button insensitive */
.toolbar.menubar .linked .button:insensitive:first-child,
.toolbar .button.raised.linked:insensitive:first-child,
.toolbar .raised.linked .button:insensitive:first-child,
.primary-toolbar .linked .button:insensitive:first-child,
.primary-toolbar .linked .entry:insensitive:first-child {
     /* remove outer */
    border-color: alpha (#fff, 0.00);
    /* Remove right border */
    box-shadow: inset  0px  1px shade(@theme_button_border_dark, 1.10),
                inset  1px  0px shade(@theme_button_border_dark, 1.05),
                inset  0px -1px shade(@theme_button_border_dark, 1.00);
}

/* Rightmost toolbar-button */
.toolbar.menubar .linked .button:last-child,
.toolbar.menubar .linked .button:focus:last-child,
.toolbar.menubar .linked .button:hover:last-child,
.toolbar.menubar .linked .button:hover:active:last-child,
.toolbar.menubar .linked .button:checked:last-child,
.toolbar.menubar .linked .button:checked:focus:last-child,
.toolbar.menubar .linked .button:checked:hover:last-child,
.toolbar.menubar .linked .button:checked:hover:active:last-child,
.toolbar.menubar .linked .button:insensitive:last-child,
.toolbar .button.raised.linked:last-child,
.toolbar .button.raised.linked:focus:last-child,
.toolbar .button.raised.linked:hover:last-child,
.toolbar .button.raised.linked:hover:active:last-child,
.toolbar .button.raised.linked:checked:last-child,
.toolbar .button.raised.linked:checked:focus:last-child,
.toolbar .button.raised.linked:checked:hover:last-child,
.toolbar .button.raised.linked:checked:hover:active:last-child,
.toolbar .button.raised.linked:insensitive:last-child,
.toolbar .raised.linked .button:last-child,
.toolbar .raised.linked .button:focus:last-child,
.toolbar .raised.linked .button:hover:last-child,
.toolbar .raised.linked .button:hover:active:last-child,
.toolbar .raised.linked .button:checked:last-child,
.toolbar .raised.linked .button:checked:focus:last-child,
.toolbar .raised.linked .button:checked:hover:last-child,
.toolbar .raised.linked .button:checked:hover:active:last-child,
.toolbar .raised.linked .button:insensitive:last-child,
.primary-toolbar .linked .entry:last-child,
.primary-toolbar .linked .button:last-child,
.primary-toolbar .linked .button:focus:last-child,
.primary-toolbar .linked .button:focus:hover:last-child,
.primary-toolbar .linked .button:focus:hover:active:last-child,
.primary-toolbar .linked .button:hover:last-child,
.primary-toolbar .linked .button:hover:active:last-child,
.primary-toolbar .linked .button:checked:last-child,
.primary-toolbar .linked .button:checked:focus:last-child,
.primary-toolbar .linked .button:checked:hover:last-child,
.primary-toolbar .linked .button:checked:hover:active:last-child,
.primary-toolbar .linked .button:insensitive:last-child,
.primary-toolbar .linked .entry:insensitive:last-child {
    padding: 2px 4px 2px 4px;
    border-radius: 0px 6px 6px  0px;
    border-width: 1px 1px 1px 0px;
}

/* Rightmost toolbars-button hover */
.toolbar.menubar .linked .button:hover:last-child,
.toolbar .raised.linked .button:hover:last-child,
.primary-toolbar .linked .button:hover:last-child,
.primary-toolbar .linked .button:focus:hover:last-child,
.primary-toolbar .linked .button:focus:hover:active:last-child {
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (shade(@menu_bg_dark_color, 2.03)),
                                     to   (shade(@menu_bg_dark_color, 1.17)));
    box-shadow: inset  0px  1px shade(@selected_bg_color, 1.05),
                inset  1px  0px shade(@selected_bg_color, 0.97),
                inset -1px  0px shade(@selected_bg_color, 0.93),
                inset  0px -1px shade(@selected_bg_color, 0.93);
}

/* Rightmost toolbar-button active */
.toolbar.menubar .linked .button:hover:active:last-child,
.toolbar.menubar .linked .button:checked:last-child,
.toolbar.menubar .linked .button:checked:focus:last-child,
.toolbar.menubar .linked .button:checked:hover:last-child,
.toolbar.menubar .linked .button:checked:hover:active:last-child,
.toolbar .button.raised.linked:hover:active:last-child,
.toolbar .button.raised.linked:checked:last-child,
.toolbar .button.raised.linked:checked:focus:last-child,
.toolbar .button.raised.linked:checked:hover:last-child,
.toolbar .button.raised.linked:checked:hover:active:last-child,
.toolbar .raised.linked .button:hover:active:last-child,
.toolbar .raised.linked .button:checked:last-child,
.toolbar .raised.linked .button:checked:focus:last-child,
.toolbar .raised.linked .button:checked:hover:last-child,
.toolbar .raised.linked .button:checked:hover:active:last-child,
.primary-toolbar .linked .button:hover:active:last-child,
.primary-toolbar .linked .button:checked:last-child,
.primary-toolbar .linked .button:checked:focus:last-child,
.primary-toolbar .linked .button:checked:hover:last-child,
.primary-toolbar .linked .button:checked:hover:active:last-child {
    box-shadow: inset  0px  1px shade(@selected_bg_color, 1.05),
                inset  1px  0px shade(@selected_bg_color, 0.97),
                inset -1px  0px shade(@selected_bg_color, 0.93),
                inset  0px -1px shade(@selected_bg_color, 0.93);
}

/* Rightmost toolbar-button insensitive */
.toolbar.menubar .linked .button:insensitive:last-child,
.toolbar .button.raised.linked:insensitive:last-child,
.toolbar .raised.linked .button:insensitive:last-child,
.primary-toolbar .linked .button:insensitive:last-child,
.primary-toolbar .linked .entry:insensitive:last-child {
    border-color: alpha (#fff, 0.00); /* Quita outer */
    box-shadow: inset  0px  1px shade(@theme_button_border_dark, 1.10),
                inset  1px  0px shade(@theme_button_border_dark, 1.05),
                inset -1px  0px shade(@theme_button_border_dark, 1.05),
                inset  0px -1px shade(@theme_button_border_dark, 1.00);
}

/* Linked single toolbar-button */
.toolbar.menubar .linked .button:only-child,
.toolbar.menubar .linked .button:hover:only-child,
.toolbar.menubar .linked .button:hover:active:only-child,
.toolbar.menubar .linked .button:checked:only-child,
.toolbar.menubar .linked .button:checked:focus:only-child,
.toolbar.menubar .linked .button:checked:hover:only-child,
.toolbar.menubar .linked .button:checked:hover:active:only-child,
.toolbar.menubar .linked .button:insensitive:only-child,
.toolbar .button.raised.linked:only-child,
.toolbar .button.raised.linked:hover:only-child,
.toolbar .button.raised.linked:hover:active:only-child,
.toolbar .button.raised.linked:checked:only-child,
.toolbar .button.raised.linked:checked:focus:only-child,
.toolbar .button.raised.linked:checked:hover:only-child,
.toolbar .button.raised.linked:checked:hover:active:only-child,
.toolbar .button.raised.linked:insensitive:only-child,
.toolbar .raised.linked .button:only-child,
.toolbar .raised.linked .button:hover:only-child,
.toolbar .raised.linked .button:hover:active:only-child,
.toolbar .raised.linked .button:checked:only-child,
.toolbar .raised.linked .button:checked:focus:only-child,
.toolbar .raised.linked .button:checked:hover:only-child,
.toolbar .raised.linked .button:checked:hover:active:only-child,
.toolbar .raised.linked .button:insensitive:only-child,
.primary-toolbar .linked .entry:only-child,
.primary-toolbar .linked .button:only-child,
.primary-toolbar .linked .button:hover:only-child,
.primary-toolbar .linked .button:hover:active:only-child,
.primary-toolbar .linked .button:checked:only-child,
.primary-toolbar .linked .button:checked:focus:only-child,
.primary-toolbar .linked .button:checked:focus:hover:only-child,
.primary-toolbar .linked .button:checked:focus:hover:active:only-child,
.primary-toolbar .linked .button:checked:hover:only-child,
.primary-toolbar .linked .button:checked:hover:active:only-child,
.primary-toolbar .linked .entry:insensitive:only-child,
.primary-toolbar .linked .button:insensitive:only-child {
    border-width: 1px;
    border-radius: 6px;
    padding: 2px 4px 4px 2px;
}

/* Linked single toolbar-button hover */
.toolbar .raised.linked .button:hover:only-child,
.toolbar.menubar .linked .button:hover:only-child,
.primary-toolbar .linked .button:hover:only-child,
.primary-toolbar .linked .button:checked:focus:hover:only-child,
.primary-toolbar .linked .button:checked:focus:hover:active:only-child {
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (shade(@menu_bg_dark_color, 2.03)),
                                     to   (shade(@menu_bg_dark_color, 1.17)));
    box-shadow: inset  0px  1px shade(@selected_bg_color, 1.05),
                inset  1px  0px shade(@selected_bg_color, 0.97),
                inset -1px  0px shade(@selected_bg_color, 0.93),
                inset  0px -1px shade(@selected_bg_color, 0.93);
}

/* Linked single toolbar-button active */
.toolbar.menubar .linked .button:hover:active:only-child,
.toolbar.menubar .linked .button:checked:only-child,
.toolbar.menubar .linked .button:checked:focus:only-child,
.toolbar.menubar .linked .button:checked:hover:only-child,
.toolbar.menubar .linked .button:checked:hover:active:only-child,
.toolbar .button.raised.linked:hover:active:only-child,
.toolbar .button.raised.linked:checked:only-child,
.toolbar .button.raised.linked:checked:focus:only-child,
.toolbar .button.raised.linked:checked:hover:only-child,
.toolbar .button.raised.linked:checked:hover:active:only-child,
.toolbar .raised.linked .button:hover:active:only-child,
.toolbar .raised.linked .button:checked:only-child,
.toolbar .raised.linked .button:checked:focus:only-child,
.toolbar .raised.linked .button:checked:hover:only-child,
.toolbar .raised.linked .button:checked:hover:active:only-child,
.primary-toolbar .linked .button:hover:active:only-child,
.primary-toolbar .linked .button:checked:only-child,
.primary-toolbar .linked .button:checked:focus:only-child,
.primary-toolbar .linked .button:checked:hover:only-child,
.primary-toolbar .linked .button:checked:hover:active:only-child {
    box-shadow: inset  0px  1px shade(@selected_bg_color, 1.05),
                inset  1px  0px shade(@selected_bg_color, 0.97),
                inset -1px  0px shade(@selected_bg_color, 0.93),
                inset  0px -1px shade(@selected_bg_color, 0.93);
}

/* Linked single toolbar-button insensitive */
.toolbar.menubar .linked .button:insensitive:only-child,
.toolbar .button.raised.linked:insensitive:only-child,
.toolbar .raised.linked .button:insensitive:only-child,
.primary-toolbar .linked .entry:insensitive:only-child,
.primary-toolbar .linked .button:insensitive:only-child {
    border-color: alpha (#fff, 0.00); /* Quita outer */
    box-shadow: inset  0px  1px shade(@theme_button_border_dark, 1.10),
                inset  1px  0px shade(@theme_button_border_dark, 1.05),
                inset -1px  0px shade(@theme_button_border_dark, 1.05),
                inset  0px -1px shade(@theme_button_border_dark, 1.00);
}

/* nth-child for linked areas */
.toolbar .raised.linked.button,
.toolbar .raised.linked.button:hover:active,
.toolbar .raised.linked.button:checked,
.toolbar .raised.linked.button:checked:hover,
.toolbar .raised.linked.button:checked:hover:active,
.toolbar .raised.linked .button,
.toolbar .raised.linked .button:hover:active,
.toolbar .raised.linked .button:checked,
.toolbar .raised.linked .button:checked:hover,
.toolbar .raised.linked .button:checked:hover:active {
}

.toolbar .raised.linked.button:nth-child(first) ,
.toolbar .raised.linked.button:hover:active:nth-child(first),
.toolbar .raised.linked.button:checked:nth-child(first),
.toolbar .raised.linked.button:checked:hover:nth-child(first),
.toolbar .raised.linked:nth-child(first) .button,
.toolbar .raised.linked:nth-child(first) .button:hover:active,
.toolbar .raised.linked:nth-child(first) .button:checked,
.toolbar .raised.linked:nth-child(first) .button:checked:hover {
}

.toolbar .raised.linked.button:nth-child(last),
.toolbar .raised.linked.button:hover:active:nth-child(last),
.toolbar .raised.linked.button:checked:nth-child(last),
.toolbar .raised.linked.button:checked:hover:nth-child(last),
.toolbar .raised.linked:nth-child(last) .button,
.toolbar .raised.linked:nth-child(last) .button:hover:active,
.toolbar .raised.linked:nth-child(last) .button:checked,
.toolbar .raised.linked:nth-child(last) .button:checked:hover {
}

/***************************/
/* Linked standard buttons */
/***************************/

.linked .entry,
.linked > GtkComboBox > .button,
.linked > GtkComboBox > .button:focus
.linked > GtkComboBox > .button:checked,
.linked > GtkComboBox > .button:hover,
.linked > GtkComboBox > .button:focus:hover,
.linked > GtkComboBox > .button:insensitive,
.linked .button,
.linked .button:focus,
.linked .button:checked,
.linked .button:hover,
.linked .button:focus:hover,
.linked .button:hover:active,
.linked .button:checked:hover,
.linked .button:checked:hover:active,
.linked .button:insensitive {
    padding-left:  5px;
    padding-right: 5px;
    border-width: 1px 1px 2px 1px;
    border-radius: 6px;
}

.linked .entry {
    padding: 5px 4px;
}

.linked > GtkComboBox > .button,
.linked > GtkComboBox > .button:focus,
.linked > GtkComboBox > .button:hover,
.linked > GtkComboBox > .button:checked,
.linked > GtkComboBox > .button:focus:hover,
.linked > GtkComboBox > .button:insensitive {
    padding: 5px 6px;
}

.linked .button,
.linked .button:focus,
.linked .button:hover,
.linked .button:checked,
.linked .button:focus:active,
.linked .button:focus:hover:active,
.linked .button:hover:active,
.linked .button:checked:hover,
.linked .button:checked:hover:active,
.linked .button:insensitive {
    padding: 4px;
}

.linked > GtkComboBox > .button:insensitive,
.linked .button:insensitive {
    background-color: @insensitive_bg_color;
    border-color: alpha (#000, 0.00);
    border-bottom-color: alpha (#000, 0.00);
    color: @insensitive_fg_color;
}

.linked > GtkComboBox > .button,
.linked > GtkComboBox > .button:focus,
.linked .button,
.linked .button:focus {
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (@button_gradient1),
                                     color-stop (0.48, @button_gradient2),
                                     color-stop (0.52, @button_gradient3),
                                     to   (@button_gradient4));

}

.linked > GtkComboBox > .button:hover,
.linked > GtkComboBox > .button:focus:hover,
.linked .button:hover,
.linked .button:focus:hover,
.linked .button:checked:hover {
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (shade(@button_gradient1, 1.03)),
                                     color-stop (0.48, shade(@button_gradient2, 1.03)),
                                     color-stop (0.52, shade(@button_gradient3, 1.03)),
                                     to   (shade(@button_gradient4, 1.01)));
}

.linked > GtkComboBox > .button:checked,
.linked > GtkComboBox > .button:checked:hover:active,
.linked .button:checked,
.linked .button:checked:hover:active {
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (shade (@theme_bg_color, 1.20)),
                                     color-stop (0.50, shade (@theme_bg_color, 1.00)),
                                     color-stop (0.50, shade (@theme_bg_color, 0.95)),
                                     to (shade (@theme_bg_color, 0.80)));
}

/* default button */
.linked .button.default,
.linked .button.default:focus,
.linked .button.default:first-child,
.linked .button.default:focus:first-child {
    box-shadow: inset  0px  1px shade(@selected_bg_color, 1.3),
                inset  1px  0px shade(@selected_bg_color, 1.3),
                inset -1px  0px rgba(255,255,255,0), 0 1px rgba(255,255,255,0),
                inset  0px -1px shade(@selected_bg_color, 1.3);
}

.linked .button.default:last-child,
.linked .button.default:focus:last-child,
.linked .button.default:only-child,
.linked .button.default:focus:only-child {
    box-shadow: inset  0px  1px shade(@selected_bg_color, 1.05),
                inset  1px  0px shade(@selected_bg_color, 0.97),
                inset -1px  0px shade(@selected_bg_color, 0.93),
                inset  0px -1px shade(@selected_bg_color, 0.93);
}

/* Middle button */
.linked .entry,
.linked > GtkComboBox > .button:last-child,
.linked > GtkComboBox > .button:focus:last-child,
.linked .button,
.linked .button:focus {
    box-shadow: inset  0px  1px alpha(shade(@button_border, 1.00), 0.70),
                inset  1px  0px alpha(shade(@button_border, 0.94), 0.80),
                inset -1px  0px rgba(255,255,255,0), 0 1px rgba(255,255,255,0),
                inset  0px -1px alpha(shade(@button_border, 0.88), 0.90);
    border-right-width: 0px;
    border-left-width: 0px;
    border-radius: 0;
}

 /* Middle Button active */
.linked > GtkComboBox > .button:checked:last-child,
.linked > GtkComboBox > .button:checked:hover:active:last-child,
.linked .button:focus:active,
.linked .button:hover:active,
.linked .button:checked,
.linked .button:checked:hover:active {
    box-shadow: inset  0px  1px shade(@selected_bg_color, 1.05),
                inset  1px  0px shade(@selected_bg_color, 0.97),
                inset -1px  0px rgba(255,255,255,0), 0 1px rgba(255,255,255,0),
                inset  0px -1px shade(@selected_bg_color, 0.93);
     border-right-width: 0px;
     border-left-width: 0px;
     border-radius: 0;
}

/* Middle button hover */
.linked > GtkComboBox > .button:hover:last-child,
.linked > GtkComboBox > .button:focus:hover:last-child,
.linked .button:hover,
.linked .button:checked:hover {
    box-shadow: inset  0px  1px shade(@selected_bg_color, 1.05),
                inset  1px  0px shade(@selected_bg_color, 0.97),
                inset -1px  0px rgba(255,255,255,0), 0 1px rgba(255,255,255,0),
                inset  0px -1px shade(@selected_bg_color, 0.93);
    border-right-width: 0px;
    border-left-width: 0px;
    border-radius: 0;
}

/* Middle button insensitive */
.linked > GtkComboBox > .button:insensitive:last-child,
.linked .button:insensitive {
    box-shadow: inset  0px  1px @insensitive_border_color,
                inset  1px  0px @insensitive_border_color,
                inset -1px  0px rgba(255,255,255,0), 0 1px rgba(255,255,255,0),
                inset  0px -1px @insensitive_border_color;
    border-right-width: 0px;
    border-left-width: 0px;
    border-radius: 0;
}

/* Leftmost button */
.linked .entry:first-child,
.linked > GtkComboBox:first-child > .button:last-child,
.linked > GtkComboBox:first-child > .button:focus:last-child,
.linked .button:first-child,
.linked .button:focus:first-child {
    box-shadow: inset  0px  1px alpha(shade(@button_border, 1.00), 0.70),
                inset  1px  0px alpha(shade(@button_border, 0.94), 0.80),
                inset -1px  0px rgba(255,255,255,0), 0 1px rgba(255,255,255,0),
                inset  0px -1px alpha(shade(@button_border, 0.88), 0.90);
    border-radius: 6px 0 0 6px;
    border-right-width: 0;
}

/* Leftmost button active */
.linked > GtkComboBox:first-child > .button:checked:first-child:last-child,
.linked > GtkComboBox:first-child > .button:checked:hover:active:last-child,
.linked .button:focus:active:first-child,
.linked .button:hover:active:first-child,
.linked .button:checked:first-child,
.linked .button:checked:hover:active:first-child {
    box-shadow: inset  0px  1px shade(@selected_bg_color, 1.05),
                inset  1px  0px shade(@selected_bg_color, 0.97),
                inset -1px  0px rgba(255,255,255,0), 0 1px rgba(255,255,255,0),
                inset  0px -1px shade(@selected_bg_color, 0.93);
    border-radius: 6px 0 0 6px;
    border-right-width: 0;
}

/* Leftmost button hover */
.linked > GtkComboBox:first-child > .button:hover:last-child,
.linked > GtkComboBox:first-child > .button:hover:focus:last-child,
.linked .button:hover:first-child,
.linked .button:checked:hover:first-child {
    box-shadow: inset  0px  1px shade(@selected_bg_color, 1.05),
                inset  1px  0px shade(@selected_bg_color, 0.97),
                inset -1px  0px rgba(255,255,255,0), 0 1px rgba(255,255,255,0),
                inset  0px -1px shade(@selected_bg_color, 0.93);
    border-radius: 6px 0 0 6px;
    border-right-width: 0;
}

/* Leftmost button insensitive */
.linked > GtkComboBox:first-child > .button:insensitive:last-child,
.linked .button:insensitive:first-child {
    box-shadow: inset  0px  1px @insensitive_border_color,
                inset  1px  0px @insensitive_border_color,
                inset -1px  0px rgba(255,255,255,0), 0 1px rgba(255,255,255,0),
                inset  0px -1px @insensitive_border_color;
    border-radius: 6px 0 0 6px;
    border-right-width: 0;
}

/* Rightmost button */
.linked .entry:last-child,
.linked > GtkComboBox:last-child > .button:last-child,
.linked > GtkComboBox:last-child > .button:focus:last-child,
.linked .button:last-child,
.linked .button:focus:last-child {
     box-shadow: inset  0px  1px alpha(shade(@button_border, 1.00), 0.70),
                 inset  1px  0px alpha(shade(@button_border, 0.94), 0.80),
                 inset -1px  0px alpha(shade(@button_border, 0.94), 0.80),
                 inset  0px -1px alpha(shade(@button_border, 0.88), 0.90);
    border-radius: 0 6px 6px 0;
    border-left-width: 0;
}

/* Rightmost button active */
.linked > GtkComboBox:last-child > .button:checked:last-child,
.linked > GtkComboBox:last-child > .button:checked:hover:active:last-child,
.linked .button:focus:active:last-child,
.linked .button:hover:active:last-child,
.linked .button:checked:last-child,
.linked .button:checked:hover:active:last-child {
    box-shadow: inset  0px  1px shade(@selected_bg_color, 1.05),
                inset  1px  0px shade(@selected_bg_color, 0.97),
                inset -1px  0px shade(@selected_bg_color, 0.93),
                inset  0px -1px shade(@selected_bg_color, 0.93);
    border-radius: 0 6px 6px 0;
    border-left-width: 0;
}

/* Rightmost button hover */
.linked > GtkComboBox:last-child > .button:hover:last-child,
.linked > GtkComboBox:last-child > .button:hover:focus:last-child,
.linked .button:hover:last-child,
.linked .button:checked:hover:last-child {
    box-shadow: inset  0px  1px shade(@selected_bg_color, 1.05),
                inset  1px  0px shade(@selected_bg_color, 0.97),
                inset -1px  0px shade(@selected_bg_color, 0.93),
                inset  0px -1px shade(@selected_bg_color, 0.93);
    border-radius: 0 6px 6px 0;
    border-left-width: 0;
}

/* Rightmost button insensitive */
.linked > GtkComboBox:last-child > .button:insensitive:last-child,
.linked .button:insensitive:last-child {
    box-shadow: inset  0px  1px @insensitive_border_color,
                inset  1px  0px @insensitive_border_color,
                inset -1px  0px @insensitive_border_color,
                inset  0px -1px @insensitive_border_color;
    border-radius: 0 6px 6px 0;
    border-left-width: 0;
}

/* Linked single button */
.linked .entry:only-child,
.linked > GtkComboBox:only-child > .button:last-child,
.linked > GtkComboBox:only-child > .button:focus:last-child,
.linked .button:only-child,
.linked .button:focus:only-child {
    border-radius: 6px;
}

.linked > GtkComboBox:only-child > .button:hover:last-child,
.linked > GtkComboBox:only-child > .button:checked:last-child,
.linked > GtkComboBox:only-child > .button:focus:hover:last-child,
.linked .button:hover:only-child,
.linked .button:hover:active:only-child,
.linked .button:focus:active:only-child,
.linked .button:checked:only-child,
.linked .button:checked:hover:only-child,
.linked .button:checked:hover:active:only-child {
    box-shadow: inset  0px  1px shade(@selected_bg_color, 1.05),
                inset  1px  0px shade(@selected_bg_color, 0.97),
                inset -1px  0px shade(@selected_bg_color, 0.93),
                inset  0px -1px shade(@selected_bg_color, 0.93);
    border-radius: 6px;
}

/* Linked single button insensitive */
.linked > GtkComboBox:only-child > .button:insensitive:last-child,
.linked .button:insensitive:only-child {
    box-shadow: inset  0px  1px @insensitive_border_color,
                inset  1px  0px @insensitive_border_color,
                inset -1px  0px @insensitive_border_color,
                inset  0px -1px @insensitive_border_color;
    border-radius: 6px;
}

/* vertical */
/* Middle button */
.vertical.linked > GtkComboBox > .button:last-child,
.vertical.linked > GtkComboBox > .button:focus:last-child,
.vertical.linked .button,
.vertical.linked .button:focus {
    box-shadow: inset  0px  1px alpha(shade(@button_border, 1.00), 0.90),
                inset  1px  0px alpha(shade(@button_border, 0.94), 0.90),
                inset -1px  0px alpha(shade(@button_border, 0.88), 0.90),
                inset  0px -1px alpha(shade(@button_border, 0.88), 0.90);
    border-radius: 0px;
    border-width: 0px 1px 1px 1px;
}

.vertical.linked > GtkComboBox > .button:hover:last-child,
.vertical.linked > GtkComboBox > .button:focus:hover:last-child,
.vertical.linked > GtkComboBox > .button:checked:last-child,
.vertical.linked .button:hover,
.vertical.linked .button:checked,
.vertical.linked .button:focus:hover,
.vertical.linked .button:focus:hover:active,
.vertical.linked .button:hover:active,
.vertical.linked .button:checked:active,
.vertical.linked .button:checked:hover:active {
    box-shadow: inset  0px  1px shade(@selected_bg_color, 1.05),
                inset  1px  0px shade(@selected_bg_color, 0.97),
                inset -1px  0px shade(@selected_bg_color, 0.93),
                inset  0px -1px shade(@selected_bg_color, 0.93);
    border-radius: 0px;
    border-width: 0px 1px 1px 1px;
}

.vertical.linked > GtkComboBox > .button:insensitive:last-child,
.vertical.linked .button:insensitive {
    box-shadow: inset  0px  1px @insensitive_border_color,
                inset  1px  0px @insensitive_border_color,
                inset -1px  0px @insensitive_border_color,
                inset  0px -1px @insensitive_border_color;
    border-radius: 0px;
    border-width: 0px 1px 1px 1px;
}

/* Top button */

.vertical.linked > GtkComboBox:first-child > .button:last-child,
.vertical.linked > GtkComboBox:first-child > .button:focus:last-child,
.vertical.linked .button:first-child,
.vertical.linked .button:focus:first-child {
    box-shadow: inset  0px  1px alpha(shade(@button_border, 1.00), 0.70),
                inset  1px  0px alpha(shade(@button_border, 0.94), 0.90),
                inset  -1px 0px alpha(shade(@button_border, 0.88), 0.90);
    border-radius: 6px 6px 0 0;
    border-width: 1px 1px 1px 1px;
}

.vertical.linked > GtkComboBox:first-child > .button:hover:last-child,
.vertical.linked > GtkComboBox:first-child > .button:focus:hover:last-child,
.vertical.linked > GtkComboBox:first-child > .button:checked:last-child,
.vertical.linked .button:hover:first-child,
.vertical.linked .button:checked:first-child,
.vertical.linked .button:focus:hover:first-child,
.vertical.linked .button:focus:hover:active:first-child,
.vertical.linked .button:hover:active:first-child,
.vertical.linked .button:checked:active:first-child,
.vertical.linked .button:checked:hover:active:first-child {
    box-shadow: inset  0px  1px shade(@selected_bg_color, 1.3),
                inset  1px  0px shade(@selected_bg_color, 1.05),
                inset  -1px 0px shade(@selected_bg_color, 0.93);
    border-radius: 6px 6px 0 0;
    border-width: 1px 1px 1px 1px;
}

.vertical.linked > GtkComboBox:first-child > .button:insensitive:last-child,
.vertical.linked .button:insensitive:first-child {
    box-shadow: inset  0px  1px @insensitive_border_color,
                inset  1px  0px @insensitive_border_color,
                inset -1px  0px @insensitive_border_color;
    border-radius: 6px 6px 0 0;
    border-width: 1px 1px 1px 1px;
}

/* Bottom button */

.vertical.linked > GtkComboBox:last-child > .button:last-child,
.vertical.linked > GtkComboBox:last-child > .button:focus:last-child,
.vertical.linked .button:last-child,
.vertical.linked .button:focus:last-child {
     box-shadow: inset  1px  0px alpha(shade(@button_border, 0.94), 0.90),
                 inset -1px  0px alpha(shade(@button_border, 0.94), 0.90),
                 inset  0px -1px alpha(shade(@button_border, 0.88), 0.70);
    border-radius: 0 0 6px 6px;
    border-width: 0px 1px 1px 1px;
}

.vertical.linked > GtkComboBox:last-child > .button:hover:last-child,
.vertical.linked > GtkComboBox:last-child > .button:focus:hover:last-child,
.vertical.linked > GtkComboBox:last-child > .button:checked:last-child,
.vertical.linked .button:hover:last-child,
.vertical.linked .button:checked:last-child,
.vertical.linked .button:focus:hover:last-child,
.vertical.linked .button:focus:hover:active:last-child,
.vertical.linked .button:hover:active:last-child,
.vertical.linked .button:checked:active:last-child,
.vertical.linked .button:checked:hover:active:last-child {
    box-shadow: inset  1px  0px shade(@selected_bg_color, 0.97),
                inset -1px  0px shade(@selected_bg_color, 0.93),
                inset  0px -1px shade(@selected_bg_color, 0.93);
    border-radius: 0 0 6px 6px;
    border-width: 0px 1px 1px 1px;
}

.vertical.linked > GtkComboBox:last-child > .button:insensitive:last-child,
.vertical.linked .button:insensitive:last-child {
    box-shadow: inset  1px  0px @insensitive_border_color,
                inset -1px  0px @insensitive_border_color,
                inset  0px -1px @insensitive_border_color;
    border-radius: 0 0 6px 6px;
    border-width: 0px 1px 1px 1px;
}

/* Single button */

.vertical.linked > GtkComboBox:only-child > .button:last-child,
.vertical.linked > GtkComboBox:only-child > .button:focus:last-child,
.vertical.linked .button:only-child,
.vertical.linked .button:focus:only-child {
    box-shadow: inset  0px  1px alpha(shade(@button_border, 0.94), 0.90),
                inset  1px  0px alpha(shade(@button_border, 0.94), 0.90),
                inset -1px  0px alpha(shade(@button_border, 0.94), 0.90),
                inset  0px -1px alpha(shade(@button_border, 0.94), 0.90);
    border-radius: 6px;
    border-width: 1px;
}

.vertical.linked > GtkComboBox:only-child > .button:hover:last-child,
.vertical.linked > GtkComboBox:only-child > .button:focus:hover:last-child,
.vertical.linked > GtkComboBox:only-child > .button:checked:last-child,
.vertical.linked .button:hover:only-child,
.vertical.linked .button:checked:only-child,
.vertical.linked .button:focus:hover:only-child,
.vertical.linked .button:focus:hover:active:only-child,
.vertical.linked .button:hover:active:only-child,
.vertical.linked .button:checked:active:only-child,
.vertical.linked .button:checked:hover:active:only-child {
    box-shadow: inset  0px  1px shade(@selected_bg_color, 1.05),
                inset  1px  0px shade(@selected_bg_color, 0.97),
                inset -1px  0px shade(@selected_bg_color, 0.93),
                inset  0px -1px shade(@selected_bg_color, 0.93);
    border-radius: 6px;
    border-width: 1px;
}

.vertical.linked > GtkComboBox:only-child > .button:insensitive:last-child,
.vertical.linked .button:insensitive:only-child {
    box-shadow: inset  0px  1px @insensitive_border_color,
                inset  1px  0px @insensitive_border_color,
                inset -1px  0px @insensitive_border_color,
                inset  0px -1px @insensitive_border_color;
    border-radius: 6px;
    border-width: 1px;
}

/*************************/
/* linked inline buttons */
/*************************/

/* Middle button */
.inline-toolbar.toolbar .button,
.inline-toolbar.toolbar .button:focus:hover:active,
.inline-toolbar.toolbar .button:checked,
.inline-toolbar.toolbar .button:insensitive,
.inline-toolbar.toolbar GtkToolButton > .button,
.inline-toolbar.toolbar GtkToolButton > .button:checked,
.inline-toolbar.toolbar GtkToolButton > .button:insensitive {
    /* outer */
    border-width: 0px;
    border-right-width: 0px;
    border-left-width:  0px;
    border-radius: 0;
    /* border and inset */
    box-shadow: inset  0px  1px alpha(#fff, 0.09),
                inset  2px  0px alpha(#fff, 0.07),
                inset  1px  0px shade(@button_border, 1.10),
                inset -1px  0px alpha(#fff, 0.07),
                inset  0px -1px alpha(#fff, 0.05);
}

.inline-toolbar.toolbar .button:hover:active,
.inline-toolbar.toolbar .button:focus:hover:active,
.inline-toolbar.toolbar .button:checked,
.inline-toolbar.toolbar .button:checked:hover,
.inline-toolbar.toolbar .button:checked:hover:active,
.inline-toolbar.toolbar GtkToolButton > .button:checked {
    background-color: transparent;
    box-shadow: inset  0px  1px alpha(#000, 0.05),
                inset  2px  0px alpha(#000, 0.03),
                inset  1px  0px shade(@button_border, 0.80),
                inset -1px  0px alpha(#000, 0.03),
                inset  0px -1px alpha(#000, 0.02);
}

.inline-toolbar.toolbar .button:insensitive,
.inline-toolbar.toolbar GtkToolButton > .button:insensitive {
    box-shadow: inset  1px  0px shade(@button_border, 1.10);
}

/* Leftmost button */
.inline-toolbar.toolbar .button:first-child,
.inline-toolbar.toolbar .button:focus:hover:active:first-child,
.inline-toolbar.toolbar .button:checked:first-child,
.inline-toolbar.toolbar .button:insensitive:first-child,
.inline-toolbar.toolbar GtkToolButton:first-child > .button,
.inline-toolbar.toolbar GtkToolButton:first-child > .button:checked,
.inline-toolbar.toolbar GtkToolButton:first-child > .button:insensitive {
    border-width: 0px;
    border-radius: 0px;
    box-shadow: inset  0px  1px alpha(#fff, 0.09),
                inset  1px  0px alpha(#fff, 0.07),
                inset -1px  0px alpha(#fff, 0.07),
                inset  0px -1px alpha(#fff, 0.05);
}

.inline-toolbar.toolbar .button:hover:active:first-child,
.inline-toolbar.toolbar .button:focus:hover:active:first-child,
.inline-toolbar.toolbar .button:checked:first-child,
.inline-toolbar.toolbar .button:checked:hover:first-child,
.inline-toolbar.toolbar .button:checked:hover:active:first-child,
.inline-toolbar.toolbar GtkToolButton:first-child > .button:checked {

    background-color: transparent;
    box-shadow: inset  0px  1px alpha(#000, 0.05),
                inset  1px  0px alpha(#000, 0.03),
                inset -1px  0px alpha(#000, 0.03),
                inset  0px -1px alpha(#000, 0.02);
}

.inline-toolbar.toolbar .button:insensitive:first-child,
.inline-toolbar.toolbar GtkToolButton:first-child > .button:insensitive {
    box-shadow: none;
}

/* Rightmost button */
.inline-toolbar.toolbar .button:last-child,
.inline-toolbar.toolbar .button:focus:hover:active:last-child,
.inline-toolbar.toolbar .button:checked:last-child,
.inline-toolbar.toolbar .button:insensitive:last-child,
.inline-toolbar.toolbar GtkToolButton:last-child > .button,
.inline-toolbar.toolbar GtkToolButton:last-child > .button:checked,
.inline-toolbar.toolbar GtkToolButton:last-child > .button:insensitive {
    border-width: 0px;
    border-radius: 0px;
    box-shadow: inset  0px  1px alpha(#fff, 0.09),
                inset  2px  0px alpha(#fff, 0.07),
                inset  1px  0px shade(@button_border, 1.10),
                inset -2px  0px alpha(#fff, 0.07),
                inset -1px  0px shade(@button_border, 1.10),
                inset  0px -1px alpha(#fff, 0.05);
}

.inline-toolbar.toolbar .button:hover:active:last-child,
.inline-toolbar.toolbar .button:focus:hover:active:last-child,
.inline-toolbar.toolbar .button:checked:last-child,
.inline-toolbar.toolbar .button:checked:hover:last-child,
.inline-toolbar.toolbar .button:checked:hover:active:last-child,
.inline-toolbar.toolbar GtkToolButton:last-child > .button:checked {
    background-color: transparent;
    box-shadow: inset  0px  1px alpha(#000, 0.05),
                inset  2px  0px alpha(#000, 0.03),
                inset  1px  0px shade(@button_border, 0.80),
                inset -2px  0px alpha(#000, 0.03),
                inset -1px  0px shade(@button_border, 0.80),
                inset  0px -1px alpha(#000, 0.02);
}

.inline-toolbar.toolbar .button:insensitive:last-child,
.inline-toolbar.toolbar GtkToolButton:last-child > .button:insensitive {
    box-shadow: inset  1px  0px shade(@button_border, 1.10),
                inset -1px  0px shade(@button_border, 1.10);
}

/* Single button */
.inline-toolbar.toolbar .button:only-child,
.inline-toolbar.toolbar .button:hover:active:only-child,
.inline-toolbar.toolbar .button:focus:hover:active:only-child,
.inline-toolbar.toolbar .button:checked:only-child,
.inline-toolbar.toolbar .button:insensitive:only-child,
.inline-toolbar.toolbar GtkToolButton:only-child > .button,
.inline-toolbar.toolbar GtkToolButton:only-child > .button:checked,
.inline-toolbar.toolbar GtkToolButton:only-child > .button:insensitive {
    border-radius:  0px;
    border-width: 0px;
    box-shadow: inset  0px  1px alpha(#fff, 0.09),
                inset -1px  0px alpha(#fff, 0.07),
                inset  0px -1px alpha(#fff, 0.05),
                inset  1px  0px shade(@button_border, 1.10);
}

.inline-toolbar.toolbar .button:hover:active:only-child,
.inline-toolbar.toolbar .button:focus:hover:active:only-child,
.inline-toolbar.toolbar .button:checked:only-child,
.inline-toolbar.toolbar .button:checked:hover:only-child,
.inline-toolbar.toolbar .button:checked:hover:active:only-child,
.inline-toolbar.toolbar GtkToolButton:only-child > .button:checked {
    background-color: transparent;
    box-shadow: inset  0px  1px alpha(#000, 0.05),
                inset -1px  0px alpha(#000, 0.03),
                inset  0px -1px alpha(#000, 0.02),
                inset  1px  0px shade(@button_border, 0.80);
}

.inline-toolbar.toolbar .button:insensitive:only-child,
.inline-toolbar.toolbar GtkToolButton:only-child > .button:insensitive {
    box-shadow: inset  1px  0px shade(@button_border, 1.10);
}

/**************
 * ComboBoxes *
 **************/

GtkComboBox {
    padding: 0px;
    -GtkWidget-focus-padding: 0;
    -GtkWidget-focus-line-width: 0;
    -GtkComboBox-arrow-scaling: 0.5;
    -GtkComboBox-shadow-type: none;
}

GtkComboBox .cell {
    /* color combobox read-only */
    color: @theme_fg_color;
    text-shadow: 0 1px @theme_shadow_color;
}

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

GtkComboBox .entry,
GtkComboBox .entry:nth-child(first) {
    border-width: 2px 0px 2px 2px; /* remove right-outer */
    border-radius: 4px 0px 0px 4px;
    /* remove right-border */
    box-shadow: inset  0px  3px alpha(#000, 0.03),
                inset  0px  2px alpha(#000, 0.05),
                inset  2px  0px alpha(#000, 0.04),
                inset -1px  0px alpha(#000, 0.04),
                inset  0px -2px alpha(#000, 0.03),
                inset  0px  1px shade(@button_border, 0.90),
                inset  1px  0px shade(@button_border, 0.99),
                inset  0px -1px shade(@button_border, 1.10);
}


GtkComboBox .entry:focus {
    border-width: 2px 0px 2px 2px; /* remove right-outer */
    /* border */
    box-shadow: inset  0px  3px alpha(#000, 0.03),
                inset  0px  2px alpha(#000, 0.05),
                inset  2px  0px alpha(#000, 0.04),
                inset -1px  0px alpha(#000, 0.04),
                inset  0px -2px alpha(#000, 0.03),
                inset  0px  1px alpha(@focused_entry_border, 0.95),
                inset  1px  0px alpha(@focused_entry_border, 0.95),
                inset  0px -1px alpha(@focused_entry_border, 0.95);
}

/* for RTL languages */
GtkComboBox .entry:nth-child(last) {
    border-width: 2px 2px 2px 0px;
    border-radius: 0px 5px 5px 0px;
    border-image-width: 2px 2px 2px 0px;
}

GtkComboBox .button {
    color: @internal_element_color;
    padding: 2px 3px 2px 6px;
}

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

.toolbar GtkComboBox .cell {
    /* color combobox read-only */
    color: shade(@toolbar_fg_color, 0.94);
    text-shadow: 0 1px @toolbar_shadow_color;
}

.primary-toolbar GtkComboBox .cell {
    /* color combobox read-only */
    color: shade(@theme_fg_dark_color, 0.94);
    text-shadow: 0 1px @theme_shadow_dark_color;
}

.toolbar GtkComboBox .entry,
.toolbar GtkComboBox .entry:focus {
    border-width: 1px 0px 1px 1px; /* remove rightr */
    border-top-color: shade(@toolbar_gradient_base, 0.60);
    border-left-color: shade(@toolbar_gradient_base, 0.70);
    border-bottom-color: shade(@toolbar_gradient_base, 0.80);
    box-shadow: inset  0px  3px alpha(#000, 0.02),
                inset  0px  2px alpha(#000, 0.04),
                inset  0px  1px alpha(#000, 0.06),
                inset  1px  0px alpha(#000, 0.05),
                inset -1px  0px alpha(#000, 0.05);
}

.toolbar GtkComboBox.combobox-entry .button {
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (alpha(#fff, 0.04)),
                                     to   (alpha(#000, 0.07)));
    border-top-color: alpha (#000, 0.15);
    border-left-color: alpha (#000, 0.20);
    border-right-color: alpha (#000, 0.20);
    border-bottom-color: alpha (#000, 0.25);
}

.toolbar GtkComboBox.combobox-entry .button:checked {
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (alpha(#000, 0.20)),
                                     to   (alpha(#000, 0.06)));
    border-top-color: alpha (#000, 0.40);
    border-left-color: alpha (#000, 0.31);
    border-right-color: alpha (#000, 0.31);
    border-bottom-color: alpha (#000, 0.22);
    box-shadow: inset  0px  2px alpha(#000, 0.02),
                inset  0px  1px alpha(#000, 0.06),
                inset  2px  0px alpha(#000, 0.02),
                inset  1px  0px alpha(#000, 0.04),
                inset -2px  0px alpha(#000, 0.02),
                inset -1px  0px alpha(#000, 0.04),
                inset  0px -1px alpha(#fff, 0.01);
}

.toolbar GtkComboBox.combobox-entry .button,
.toolbar GtkComboBox.combobox-entry .button:hover,
.toolbar GtkComboBox.combobox-entry .button:checked,
.toolbar GtkComboBox.combobox-entry .button:insensitive,
.toolbar GtkComboBox.combobox-entry .button:nth-child(last),
.primary-toolbar GtkComboBox.combobox-entry .button,
.primary-toolbar GtkComboBox.combobox-entry .button:hover,
.primary-toolbar GtkComboBox.combobox-entry .button:checked,
.primary-toolbar GtkComboBox.combobox-entry .button:insensitive,
.primary-toolbar GtkComboBox.combobox-entry .button:nth-child(last) {
    border-top-left-radius: 0px;
    border-bottom-left-radius: 0px;
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
    border-width: 1px 1px 1px 1px;
    padding: 2px 3px;
}

GtkComboBox.combobox-entry .button,
GtkComboBox.combobox-entry .button:hover,
GtkComboBox.combobox-entry .button:checked,
GtkComboBox.combobox-entry .button:insensitive,
GtkComboBox.combobox-entry .button:nth-child(last) {
    border-color: transparent;
    border-top-left-radius: 0px;
    border-bottom-left-radius: 0px;
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
    border-width: 2px 2px 2px 0px;
    padding: 2px 3px;
}

GtkComboBox.combobox-entry .button:hover {
    border-top-left-radius: 0px;
    border-bottom-left-radius: 0px;
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
    border-width: 2px 2px 2px 0px;
    box-shadow: inset  0px  1px shade(@selected_bg_color, 1.05),
                inset  1px  0px shade(@selected_bg_color, 0.97),
                inset -1px  0px shade(@selected_bg_color, 0.93),
                inset  0px -1px shade(@selected_bg_color, 0.93);
    border-color: transparent;
}

/* for RTL languages */
GtkComboBox.combobox-entry .button:nth-child(first) {
    border-width: 2px 0px 2px 2px;
    border-radius: 4px 0px 0px 4px;
}

.primary-toolbar GtkComboBox.combobox-entry .button:nth-child(first) {
    border-width: 1px 0px 1px 1px;
    border-radius: 4px 0px 0px 4px;
}

GtkComboBox.combobox-entry .button *:checked,
GtkComboBox.combobox-entry .button *:prelight {
    color: @internal_element_prelight;
}

.toolbar GtkComboBox.combobox-entry .button *:checked,
.toolbar GtkComboBox.combobox-entry .button *:prelight,
.primary-toolbar GtkComboBox.combobox-entry .button *:checked,
.primary-toolbar GtkComboBox.combobox-entry .button *:prelight {
    color: @theme_text_dark_color;
}

/************
 * Toolbars *
 ************/

.toolbar * {
    background-image: none;
    background-color: alpha (@theme_base_color, 0.0);
}

GtkHandleBox,
.toolbar  {
    padding: 2px 4px;
    background-color: @toolbar_gradient_base;
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (@toolbar_gradient_base),
                                     to   (@toolbar_gradient_base));
    border-width: 0 0 1px 0;
    border-radius: 0px;
    border-style: solid;
    border-bottom-color: shade(@toolbar_gradient_base, 0.90);
    color: @toolbar_fg_color;
}

.toolbar.vertical {
    border-radius: 4px 0 0 4px;
    padding: 2px;
}

/********************
 * Menubar Toolbars *
 ********************/

.toolbar.menubar {
    padding: 2px 4px 5px 3px;
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (shade (@theme_bg_dark_color, 1.00)),
                                     to (shade (@theme_bg_dark_color, 0.95)));
    border-image: none;
    border-width: 0px 0px 1px 0px;
    border-radius: 0px;
    border-style: solid;    
    border-color: shade (@theme_bg_dark_color, 0.72);
    color: @theme_fg_dark_color;
    box-shadow: none;
    -GtkToolbar-button-relief: normal;
}

/********************
 * 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 {
   background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (shade(@theme_bg_dark_color, 1.00)),
                                     to   (shade(@theme_bg_dark_color, 0.95)));
    border-image: none;
    border-width: 0px 0px 1px 0px;
    border-radius: 0px;
    border-style: solid;    
    border-color: transparent;
    padding: 3px;
    box-shadow: none;
    -GtkWidget-window-dragging: true;
    -GtkToolbar-button-relief: normal;
    color: @theme_fg_dark_color;
}

.primary-toolbar.toolbar:insensitive {
    background-image: none;
    background-color: shade (@theme_bg_dark_color, 0.97);
    border-image: none;
    border-style: solid;
    border-color: transparent;
}

/* primary toolbar buttons */
.toolbar .button,
.primary-toolbar.toolbar .button {
    -GtkWidget-focus-line-width: 0;
    border-image: none;
    border-style: solid;
    border-radius: 6px;
    border-color: transparent;
    box-shadow: none;
    background-image: none;
    background-color: alpha (@theme_base_color, 0.0);
}

.toolbar .button {
    color: shade(@toolbar_fg_color, 1.00);
    text-shadow: 0px 1px @toolbar_shadow_color;
}

.toolbar GtkComboBox .button {
    /* color combobox read-only */
    color: shade(@toolbar_fg_color, 1.00);
    text-shadow: 0px 1px @toolbar_shadow_color;
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (alpha(#fff, 0.04)),
                                     to   (alpha(#000, 0.06)));
    border-top-color: alpha (#000, 0.15);
    border-left-color: alpha (#000, 0.20);
    border-right-color: alpha (#000, 0.20);
    border-bottom-color: alpha (#000, 0.25);
    box-shadow: inset  0px  1px alpha(shade(@button_border, 1.00), 0.70),
                inset  1px  0px alpha(shade(@button_border, 0.94), 0.80),
                inset -1px  0px alpha(shade(@button_border, 0.94), 0.80),
                inset  0px -1px alpha(shade(@button_border, 0.88), 0.90);
}

.toolbar GtkComboBox .button:hover {
    border-radius: 5px
}

.primary-toolbar.toolbar .button {
    color: @theme_fg_dark_color;
    text-shadow: 0px 1px @theme_shadow_dark_color;
}

.primary-toolbar .linked .button:focus {
   box-shadow: none;
}

.toolbar .button:insensitive,
.primary-toolbar.toolbar .button:insensitive {
    background-image: none;
    background-color: alpha (@theme_base_color, 0.0);
    border-color: transparent;
    /* -GtkWidget-focus-line-width: 0; */
}

.toolbar .button *:insensitive {
    color: mix(@toolbar_gradient_base, @toolbar_fg_color, 0.60);
    text-shadow: none;
}

.primary-toolbar.toolbar .button *:insensitive {
    color: mix(@theme_bg_dark_color, @theme_fg_dark_color, 0.60);
    text-shadow: none;
}

.toolbar .button:hover {
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (shade(@menu_bg_dark_color, 2.03)),
                                     to   (shade(@menu_bg_dark_color, 1.17)));
    box-shadow: inset  0px  1px shade(@selected_bg_color, 1.05),
                inset  1px  0px shade(@selected_bg_color, 0.97),
                inset -1px  0px shade(@selected_bg_color, 0.93),
                inset  0px -1px shade(@selected_bg_color, 0.93);
}

.toolbar .button:hover:active,
.toolbar .button:checked,
.toolbar .button:checked:focus,
.toolbar .button:checked:hover,
.toolbar .button:checked:hover:active {
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (shade(@menu_bg_dark_color, 2.03)),
                                     to   (shade(@menu_bg_dark_color, 1.17)));
    border-width: 1px;
    border-radius: 5px;
    border-color: transparent;
    box-shadow: inset  0px  1px shade(@selected_bg_color, 1.05),
                inset  1px  0px shade(@selected_bg_color, 0.97),
                inset -1px  0px shade(@selected_bg_color, 0.93),
                inset  0px -1px shade(@selected_bg_color, 0.93);
}

.primary-toolbar.toolbar .button:hover,
.primary-toolbar.toolbar .button:hover:active,
.primary-toolbar.toolbar .button:checked,
.primary-toolbar.toolbar .button:checked:focus,
.primary-toolbar.toolbar .button:checked:hover,
.primary-toolbar.toolbar .button:checked:hover:active {
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (shade(@menu_bg_dark_color, 2.03)),
                                     to   (shade(@menu_bg_dark_color, 1.17)));
    border-image: none;
    border-color: transparent;
    border-style: solid;
    box-shadow: inset  0px  1px shade(@selected_bg_color, 1.05),
                inset  1px  0px shade(@selected_bg_color, 0.97),
                inset -1px  0px shade(@selected_bg_color, 0.93),
                inset  0px -1px shade(@selected_bg_color, 0.93);
}

.toolbar .button *:hover,
.toolbar .button *:active,
.toolbar .button *:checked {
/* edge */
    color: shade(@toolbar_fg_color, 0.90);
    text-shadow: 0px 1px @toolbar_shadow_color;
}

/* arrangement epiphany (toolbar.menubar) */
.primary-toolbar.toolbar .button *:hover,
.primary-toolbar.toolbar .button *:active,
.primary-toolbar.toolbar .button *:hover:active,
.primary-toolbar.toolbar .button *:active:active,
.primary-toolbar.toolbar .button *:checked,
.primary-toolbar.toolbar .button *:checked:hover,
.primary-toolbar.toolbar .button *:checked:checked {
    color: @theme_text_dark_color;
    text-shadow: 0px 1px @theme_shadow_dark_color;
}

.toolbar .button:active:insensitive,
.toolbar .button:checked:insensitive,
.primary-toolbar.toolbar .button:checked:insensitive {
    background-image: none;
    background-color: alpha (@theme_base_color, 0.0);
    border-color: transparent;
    icon-shadow: none;
    text-shadow: none;
}

.toolbar GtkLabel {
    color: shade(@theme_fg_color, 1.10);
    text-shadow: 0px 1px @theme_shadow_color;
}

.toolbar.menubar GtkLabel,
.primary-toolbar.toolbar GtkLabel {
    color: @theme_fg_dark_color;
    text-shadow: 0px 1px @theme_shadow_dark_color;
}

.toolbar GtkSeparatorToolItem,
.toolbar .separator,
.toolbar .separator:insensitive {
    border-color: alpha (#000, 0.24);
    border-bottom-color: alpha (#fff, 0.08);
    border-right-color: alpha (#fff, 0.08);
}

/************************************
    primary toolbar raised buttons
*************************************/

.toolbar .raised .button,
.toolbar .raised.button {
    padding: 2px 4px 2px 4px;
}

.toolbar.menubar .linked .button {
    padding: 3px 4px;
}

.toolbar.menubar .button {
    padding: 2px 4px;
}

.toolbar.menubar .button,
.toolbar .raised .button,
.toolbar .raised.button {
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (@button_raised_gradient_color_a),
                                     to   (@button_raised_gradient_color_b));
    border-style: solid;
    /* outer */
    border-color: transparent;
    /* border and inset */
    -GtkWidget-focus-line-width: 0;
    color: shade(@theme_fg_dark_color, 1.00);
}

.toolbar .button.raised.linked:insensitive,
.toolbar .raised.linked .button:insensitive,
.toolbar .button.raised.linked:insensitive:active,
.toolbar .raised.linked .button:insensitive:active,
.toolbar .button.raised.linked:insensitive:checked,
.toolbar .raised.linked .button:insensitive:checked,
.toolbar.menubar .button:insensitive,
.toolbar.menubar .button:insensitive:active,
.toolbar.menubar .button:insensitive:checked,
.toolbar .raised .button:insensitive,
.toolbar .raised.button:insensitive,
.toolbar .raised .button:insensitive:active,
.toolbar .raised.button:insensitive:active,
.toolbar .raised .button:insensitive:checked,
.toolbar .raised.button:insensitive:checked {
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (shade(@button_raised_gradient_color_a, 0.88)),
                                     to   (shade(@button_raised_gradient_color_b, 1.00)));
    border-color: transparent;
    box-shadow: none;
    color: mix(@theme_bg_dark_color, @theme_fg_dark_color, 0.50);
}

.toolbar.menubar .button:hover,
.toolbar .raised .button:hover,
.toolbar .raised.button:hover {
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (shade(@menu_bg_dark_color, 2.03)),
                                     to   (shade(@menu_bg_dark_color, 1.17)));
    border-image: none;
    /* outer */
    border-color: transparent;
    /* border and inset */
    box-shadow: inset  0px  1px shade(@selected_bg_color, 1.05),
                inset  1px  0px shade(@selected_bg_color, 0.97),
                inset -1px  0px shade(@selected_bg_color, 0.93),
                inset  0px -1px shade(@selected_bg_color, 0.93);
    color: shade(@theme_fg_dark_color, 1.00);
}

.toolbar .raised .button:hover:active,
.toolbar .raised.button:hover:active,
.toolbar.menubar .button:checked,
.toolbar .raised .button:checked,
.toolbar .raised .button:checked:hover,
.toolbar .raised.button:checked:hover,
.toolbar .raised.button:checked {
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (shade(@menu_bg_dark_color, 2.03)),
                                     to   (shade(@menu_bg_dark_color, 1.17)));
    border-style: solid; 
    border-radius: 5px;
    border-image: none;
    border-color: transparent;
    box-shadow: inset  0px  1px shade(@selected_bg_color, 1.05),
                inset  1px  0px shade(@selected_bg_color, 0.97),
                inset -1px  0px shade(@selected_bg_color, 0.93),
                inset  0px -1px shade(@selected_bg_color, 0.93);
}

/* setup shadows */
.toolbar .raised .button GtkLabel,
.toolbar .raised.button GtkLabel {
    color: @theme_fg_dark_color;
    text-shadow: 0px 1px @theme_shadow_dark_color;
}

.toolbar .raised .button,
.toolbar .raised.button {
    icon-shadow:  1px  1px @theme_shadow_dark_color;
}

.toolbar.menubar .button *:hover,
.toolbar .raised .button *:hover,
.toolbar .raised.button *:hover,
.toolbar .raised .button *:hover:active,
.toolbar .raised.button *:hover:active,
.toolbar.menubar .button *:checked,
.toolbar .raised .button *:checked,
.toolbar .raised.button *:checked,
.toolbar .raised .button *:checked:hover,
.toolbar .raised.button *:checked:hover {
    color: @theme_text_dark_color;
    text-shadow: 0px 1px @theme_shadow_dark_color;
}

.toolbar.menubar .button *:insensitive,
.toolbar .raised .button *:insensitive,
.toolbar .raised.button *:insensitive {
    icon-shadow: none;
    text-shadow: none;
    color: mix(@theme_bg_dark_color, @theme_fg_dark_color, 0.50);
}

.toolbar .entry {
    padding: 4px 4px 4px 6px;
    color: shade(@toolbar_fg_color, 1.0);
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (shade(@toolbar_gradient_base, 0.95)),
                                     color-stop (0.15, shade(@toolbar_gradient_base, 1.10)),
                                     to   (shade(@toolbar_gradient_base, 1.15)));
}

.toolbar .entry,
.toolbar.menubar .entry,
.toolbar .raised .entry,
.toolbar .raised.entry,
.primary-toolbar .toolbar .entry,
.primary-toolbar.toolbar .entry {
    padding: 4px 4px 4px 6px;
    color: @entry_text_dark_color;
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (shade(@entry_bg_dark_color, 0.80)),
                                     color-stop (0.15, shade(@entry_bg_dark_color, 0.95)),
                                     to   (shade(@entry_bg_dark_color, 1.00)));
    /* outer */
    border-width: 2px;
    border-style: solid;
    border-radius: 5px;
    border-top-color: transparent;
    border-right-color: alpha(#fff, 0.02);
    border-left-color: alpha(#fff, 0.02);
    border-bottom-color: alpha(#fff, 0.07);
    /* border */
    box-shadow: inset  0px  3px alpha(#000, 0.05),
                inset  0px  2px alpha(#000, 0.07),
                inset  2px  0px alpha(#000, 0.04),
                inset -2px  0px alpha(#000, 0.04),
                inset  0px -2px alpha(#000, 0.03),
                inset  0px  1px shade(@theme_entry_border_dark, 0.90),
                inset  1px  0px shade(@theme_entry_border_dark, 0.99),
                inset -1px  0px shade(@theme_entry_border_dark, 0.99),
                inset  0px -1px shade(@theme_entry_border_dark, 1.10);
}

.toolbar .entry:focus,
.toolbar.menubar .entry:focus,
.toolbar .raised .entry:focus,
.toolbar .raised.entry:focus,
.primary-toolbar.toolbar .entry:focus {
    /* outer */
    border-top-color: @focused_dark_entry_outer;
    border-right-color: alpha(@focused_dark_entry_outer, 0.90);
    border-left-color: alpha(@focused_dark_entry_outer, 0.90);
    border-bottom-color: alpha(@focused_dark_entry_outer, 0.85);
    /* border */
    box-shadow: inset  0px  3px alpha(#000, 0.03),
                inset  0px  2px alpha(#000, 0.05),
                inset  2px  0px alpha(#000, 0.04),
                inset -2px  0px alpha(#000, 0.04),
                inset  0px -2px alpha(#000, 0.03),
                inset  0px  1px shade(@focused_dark_entry_border, 0.90),
                inset  1px  0px shade(@focused_dark_entry_border, 0.95),
                inset -1px  0px shade(@focused_dark_entry_border, 0.95),
                inset  0px -1px shade(@focused_dark_entry_border, 1.00);
}

.toolbar .entry:selected,
.toolbar.menubar .entry:selected,
.toolbar .raised .entry:selected,
.toolbar .raised.entry:selected,
.primary-toolbar.toolbar .entry:selected {
    background-color: @theme_selected_bg_color;
    color: @theme_selected_fg_color;
}

/* progressbars on primary toolbar entries are special */
.primary-toolbar.toolbar .entry.progressbar {
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (shade (@button_bg_active, 1.35)),
                                     color-stop (0.7, shade (@button_bg_active, 1.15)),
                                     to (shade (@button_bg_active, 1.35)));
    border-width: 1px;
    border-radius: 4px;
    border-style: solid;
    border-color: shade(@button_bg_active, 1.00);
    border-image: none;    
    color: @theme_text_color;
}

/****************************
 * Inline toolbars          *
 ****************************
 * Buttons + dialog open *
 ****************************/

.inline-toolbar.toolbar {
    -GtkToolbar-button-relief: normal;
    padding: 0px;
    background-color: alpha(@button_base, 0.0);
    border-style: none;
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (shade(@button_base, 1.00)),
                                     color-stop (0.48, shade(@button_base, 0.96)),
                                     color-stop (0.52, shade(@button_base, 0.93)),
                                     to (shade(@button_base, 0.94))); 
    border-width: 0 1px 1px 1px;
    border-style: solid;
    border-radius: 3px;
    border-top-color: shade(@button_border, 1.00);
    border-right-color: shade(@button_border, 1.00);
    border-left-color: shade(@button_border, 1.00);
    border-bottom-color: shade(@button_border, 1.00);
    box-shadow: inset  0px  1px alpha(#fff, 0.09),
                inset  1px  0px alpha(#fff, 0.07),
                inset -1px  0px alpha(#fff, 0.07),
                inset  0px -1px alpha(#fff, 0.05);
}

.inline-toolbar.toolbar .button {
    padding: 2px 6px;
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (shade(@button_base, 1.00)),
                                     color-stop (0.48, shade(@button_base, 0.96)),
                                     color-stop (0.52, shade(@button_base, 0.93)),
                                     to (shade(@button_base, 0.94)));
    border-width: 0px;
    border-radius: 0px;
    border-style: none;
    box-shadow:  none;
    color:       @theme_fg_color;
    text-shadow: 0 1px @theme_shadow_color;
    icon-shadow: 1px 1px @theme_shadow_color;
}

.inline-toolbar.toolbar .button:hover:active,
.inline-toolbar.toolbar .button:checked,
.inline-toolbar.toolbar .button:checked:hover,
.inline-toolbar.toolbar .button:checked:hover:active {
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (shade(@button_base, 0.50)),
                                     to   (shade(@button_base, 0.70)));
    box-shadow: inset  0px  1px alpha(#000, 0.05),
                inset  1px  0px alpha(#000, 0.03),
                inset -1px  0px alpha(#000, 0.03),
                inset  0px -1px alpha(#000, 0.02),
                inset  1px  0px shade(@button_border, 0.75),
                inset -1px  0px shade(@button_border, 0.75),
                inset  0px -1px shade(@button_border, 0.78);
}

.inline-toolbar.toolbar .button:hover {
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (shade(@button_base, 1.03)),
                                     color-stop (0.48, shade(@button_base, 0.99)),
                                     color-stop (0.52, shade(@button_base, 0.96)),
                                     to (shade(@button_base, 0.97)));
    color: @theme_text_color;
}

.inline-toolbar.toolbar .button:insensitive {
    box-shadow: none;
    background-color: mix(@button_base, @theme_fg_color, 0.10);
    background-image: none;
}

.inline-toolbar.toolbar .button *:insensitive {
    color: @insensitive_fg_color;
    text-shadow: none;
    icon-shadow: none;
}

.inline-toolbar.toolbar .button *:hover {
    color: @theme_text_color;
    text-shadow: 0 1px @theme_shadow_color;
    icon-shadow: 1px 1px @theme_shadow_color;
}

.inline-toolbar.toolbar .button *:active,
.inline-toolbar.toolbar .button *:checked {
    color: @theme_selected_fg_color;
    text-shadow: 0 1px @theme_selected_shadow_color;
    icon-shadow: 1px 1px @theme_selected_shadow_color;
}

/* Stack switcher */
.stack-switcher > .button > GtkLabel,
.header-bar .stack-switcher > .button.titlebutton > GtkLabel,
.titlebar .stack-switcher > .button.titlebutton > GtkLabel,
GtkCalendar.header .stack-switcher > .button.titlebutton > GtkLabel {
    padding-left: 6px;
    padding-right: 6px;
}

.stack-switcher > .button > GtkImage,
.header-bar .stack-switcher > .button.titlebutton > GtkImage,
.titlebar .stack-switcher > .button.titlebutton > GtkImage,
GtkCalendar.header .stack-switcher > .button.titlebutton > GtkImage {
    padding-left: 6px;
    padding-right: 6px;
    padding-top: 3px;
    padding-bottom: 3px;
}

.stack-switcher > .button.text-button,
.stack-switcher > .button.image-button,
.header-bar .stack-switcher > .titlebutton.button,
.titlebar .stack-switcher > .titlebutton.button,
GtkCalendar.header .stack-switcher > .titlebutton.button {
    padding: 4px 2px;
}

.stack-switcher > .button.needs-attention > GtkLabel,
.stack-switcher > .button.needs-attention > GtkImage {
    animation: needs_attention 150ms ease-in;
    background-color: @theme_bg_color; /* FIXME: ? */
    background-size: 6px 6px, 6px 6px;
    background-repeat: no-repeat;
    background-position: right 3px, right 4px;
}

.stack-switcher > .button.needs-attention > GtkLabel:backdrop,
.stack-switcher > .button.needs-attention > GtkImage:backdrop {
    background-size: 6px 6px, 0 0;
}

.stack-switcher > .button.needs-attention > GtkLabel:dir(rtl),
.stack-switcher > .button.needs-attention > GtkImage:dir(rtl) {
    background-position: left 3px, left 4px;
}

.stack-switcher > .button.needs-attention:checked > GtkLabel,
.stack-switcher > .button.needs-attention:checked > GtkImage {
    animation: none;
    background-image: none;
}

/****************
 * GtkActionBar *
 ****************/

GtkActionBar .frame.action-bar .horizontal.linked.stack-switcher .button.image-button {
    padding: 4px 2px;
}

GtkActionBar .frame.action-bar .button.image-button {
    padding: 8px;
}

/*****************
 * GtkSpinButton *
 *****************/

.horizontal.entry.spinbutton {
   padding: 4px 5px;
}

.spinbutton .button {
    color: @internal_element_color;
    border-width: 0;
    border-radius: 0;
    border-style: none;
    border-image: none;
    background-color: transparent;
    background-image: none;
}

.spinbutton .button:insensitive,
.spinbutton .button:insensitive:last-child,
.spinbutton .button:insensitive:first-child,
.spinbutton .button:insensitive:only-child,
.spinbutton .vertical .button:insensitive,
.spinbutton .vertical .button:insensitive:last-child,
.spinbutton .vertical .button:insensitive:first-child,
.spinbutton .vertical .button:insensitive:only-child {
    color: @internal_element_insensitive;
    box-shadow: inset  1px  0px shade(@insensitive_border_color, 0.97);
    border-color: @insensitive_border_color;
}

.spinbutton .button,
.spinbutton .button:hover,
.spinbutton .button:focus,
.spinbutton .button:checked {
    border-radius: 0px 0px 0px 0px;
    color: @internal_element_prelight;
    box-shadow: inset  0px  1px shade(@selected_bg_color, 1.05),
                inset  1px  0px shade(@selected_bg_color, 0.97),
                inset  0px -1px shade(@selected_bg_color, 0.93);
}

.spinbutton .button:hover {
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (shade(@button_gradient1, 1.03)),
                                     color-stop (0.48, shade(@button_gradient2, 1.03)),
                                     color-stop (0.52, shade(@button_gradient3, 1.03)),
                                     to   (shade(@button_gradient4, 1.01)));
}

.spinbutton .button:checked {
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (shade (@theme_bg_color, 1.20)),
                                     color-stop (0.50, shade (@theme_bg_color, 1.00)),
                                     color-stop (0.50, shade (@theme_bg_color, 0.95)),
                                     to (shade (@theme_bg_color, 0.80)));
}

.spinbutton .button,
.spinbutton .button:hover,
.spinbutton .button:checked,
.spinbutton .button:insensitive {
    border-radius: 0px 0 0 0px;
    border-image: none;
    padding: 6px 3px;
}

.spinbutton .button:first-child,
.spinbutton .button:hover:first-child,
.spinbutton .button:checked:first-child {
    border-radius: 3px 0 0 3px;
    border-image: none;
    padding: 6px 3px;
}

.spinbutton .button:last-child,
.spinbutton .button:hover:last-child,
.spinbutton .button:checked:last-child {
    border-radius: 0 3px 3px 0;
    border-image: none;
    padding: 6px 3px;
}

.spinbutton .button:first-child,
.spinbutton .button:hover:first-child,
.spinbutton .button:checked:first-child,
.spinbutton .button:last-child,
.spinbutton .button:hover:last-child,
.spinbutton .button:checked:last-child {
    box-shadow: inset  0px  1px shade(@selected_bg_color, 1.05),
                inset  1px  0px shade(@selected_bg_color, 0.97),
                inset -1px  0px shade(@selected_bg_color, 0.93),
                inset  0px -1px shade(@selected_bg_color, 0.93);
}

.spinbutton .button:dir(rtl) {
    box-shadow: inset -1px 0 @inset_dark_color;
}

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

.spinbutton.vertical .button,
.spinbutton.vertical .button:hover {
    color: @theme_fg_color;
}

.spinbutton.vertical .button:insensitive {
    color: @insensitive_fg_color;
}

.spinbutton.vertical .button:checked {
    color: @theme_fg_color;
    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;
}

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

.spinbutton.vertical .button:first-child {
    padding: 6px 4px;
    border-image-width: 3px 3px 0 3px;
    border-width: 1px 1px 0 1px;
    border-radius: 4px 4px 0px 0px;
    box-shadow: inset  0px  2px alpha(#fff, 0.11),
                inset  2px  0px alpha(#fff, 0.09),
                inset -2px  0px alpha(#fff, 0.09),
                inset  0px -2px alpha(#fff, 0.07),
                inset  0px  1px alpha(shade(@button_border, 1.00), 0.70),
                inset  1px  0px alpha(shade(@button_border, 0.94), 0.80),
                inset -1px  0px alpha(shade(@button_border, 0.94), 0.80),
                inset  0px -1px alpha(shade(@button_border, 0.88), 0.90);
}

.spinbutton.vertical .button:hover:first-child,
.spinbutton.vertical .button:checked:first-child {
    border-radius: 4px 4px 0px 0;
    border-image: none;
    color: @internal_element_prelight;
    box-shadow: inset  0px  1px shade(@selected_bg_color, 1.05),
                inset  1px  0px shade(@selected_bg_color, 0.97),
                inset -1px  0px shade(@selected_bg_color, 0.93),
                inset  0px -1px shade(@selected_bg_color, 0.93);
}

.spinbutton.vertical .button:last-child {
    padding: 6px 4px;
    border-image-width: 0 3px 4px 3px;
    border-width: 0px 1px 1px 1px;
    border-radius: 0px 0px 4px 4px;
    box-shadow: inset  0px  2px alpha(#fff, 0.11),
                inset  2px  0px alpha(#fff, 0.09),
                inset -2px  0px alpha(#fff, 0.09),
                inset  0px -2px alpha(#fff, 0.07),
                inset  0px  1px alpha(shade(@button_border, 1.00), 0.70),
                inset  1px  0px alpha(shade(@button_border, 0.94), 0.80),
                inset -1px  0px alpha(shade(@button_border, 0.94), 0.80),
                inset  0px -1px alpha(shade(@button_border, 0.88), 0.90);
}

.spinbutton.vertical .button:hover:last-child,
.spinbutton.vertical .button:checked:last-child {
    border-radius: 0px 0px 4px 4px;
    border-image: none;
    color: @internal_element_prelight;
    box-shadow: inset  0px  1px shade(@selected_bg_color, 1.05),
                inset  1px  0px shade(@selected_bg_color, 0.97),
                inset -1px  0px shade(@selected_bg_color, 0.93),
                inset  0px -1px shade(@selected_bg_color, 0.93);
}

.spinbutton.vertical.entry {
    border-image: none;
    border-color: alpha(@borders, 0.1);
    border-width: 0 0px 0 0px;
    border-style: none;
    border-radius: 0;
    padding: 4px 1px 4px 1px;
    box-shadow: inset  0px  2px alpha(#fff, 0.11),
                inset  2px  0px alpha(#fff, 0.09),
                inset -2px  0px alpha(#fff, 0.09),
                inset  0px -2px alpha(#fff, 0.07),
                inset  1px  0px alpha(shade(@button_border, 0.94), 0.80),
                inset -1px  0px alpha(shade(@button_border, 0.94), 0.80);
}

.spinbutton.vertical.entry:insensitive {
    padding: 4px 1px 4px 1px;
    border-color: alpha(@borders, 0.1);
    box-shadow: inset 1px  0px alpha(@borders, 0.4),
                inset -1px 0px alpha(@borders, 0.4);
}

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

/* volume button */
GtkGrid .button,
GtkGrid .button.flat {
    transition: all 600ms ease-out;
}

GtkGrid .button,
GtkGrid .button.flat,
GtkGrid .button:hover,
GtkGrid .button:insensitive,
GtkGrid .button.flat:hover,
GtkGrid .button.flat:insensitive {
    padding: 5px 4px;
    border-radius: 6px;
    border-color: transparent;
    background-color: transparent;
}

GtkFlowBox .grid-child {
    padding: 3px;
    border-radius: 3px;
}

GtkFlowBox .grid-child:selected {
    outline-offset: -2px;
}

/* hyperlinks */
/* ie. yelp */
*:link,
*:visited {
  color: @link_color;
}

GtkLinkButton,
GtkLinkButton:hover,
GtkLinkButton.button.flat,
GtkLinkButton.button.flat:hover {
     padding: 4px;
     border-color: transparent;
}

/*****************
 * Notebooks and *
 * tabs          *
 *****************/

.notebook {
    padding: 0;
    background-clip: border-box;
    background-color: shade (@theme_bg_color, 1.1);
    border-style: solid;
    border-color: @notebook_border;
    border-width: 1px;
    -GtkNotebook-initial-gap: 0;
    -GtkNotebook-arrow-spacing: 0;
    -GtkNotebook-tab-curvature: 0;
    -GtkNotebook-tab-overlap: 1;
    -GtkNotebook-has-tab-gap: false;
    /* FIXME, why this doesn't work? */
	-GtkNotebook-arrow-scaling: 0.3;
    -GtkWidget-focus-padding: 0;
    -GtkWidget-focus-line-width: 0;
}

.notebook :hover {
    -gtk-image-effect: highlight;
    color: @theme_fg_color;
}

.notebook.frame.top {
    border-top: 0px;
    border-radius: 0px 0px 4px 4px;
}

.notebook.frame.bottom {
    border-bottom: 0px;
    border-radius: 4px 4px 0px 0px;
}

.notebook.frame.left {
    border-left: 0px;
    border-radius: 0px 4px 4px 0px;
}

.notebook.frame.right {
    border-right: 0px;
    border-radius: 4px 0px 0px 4px;
}

.notebook.header {
    background-image: linear-gradient(to bottom,
                                      shade(@theme_bg_color, 0.86),
                                      shade(@theme_bg_color, 1.05));
    border-radius: 0px;
}

.notebook.header.top {
    border-width: 0px 0px 1px 0px;
}

.notebook.header.bottom {
    border-width: 1px 0px 0px 0px;
}

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

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

/* tabs in view areas, ie. pluma-, caja-tabs */
GtkPaned.horizontal .notebook.header.top {
    border-width: 0px;
}

.notebook.header.frame.top {
    border-radius: 4px 4px 0px 0px;
}

.notebook.header.frame.bottom {
    border-radius: 0px 0px 4px 4px;
}

.notebook.header.frame.left {
    border-radius: 4px 0px 0px 4px;
}

.notebook.header.frame.right {
    border-radius: 0px 4px 4px 0px;
}

.notebook tab {
    border-color: transparent;
    border-width: 0px;
    background-image: none;
    background-color: transparent;
}

.notebook tab GtkLabel {
    color: mix (@theme_fg_color, @theme_bg_color, 0.40);
    font-weight: normal;
}

.notebook .prelight-page,
.notebook .prelight-page GtkLabel {
    color: mix (@theme_fg_color, @theme_bg_color, 0.15);
}

.notebook .active-page,
.notebook tab .active-page GtkLabel {
    color: @theme_fg_color;
}

/* horizontal tabs */

.notebook tab.top,
.notebook tab.bottom {
    padding: 5px 20px 6px;
}

GtkPaned.horizontal .notebook tab.top {
    padding: 5px 4px;
}

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

.notebook tab.top:active,
.notebook tab.top:active:hover {
    background-image: linear-gradient(to bottom,
                                      shade(@theme_bg_color, 1.18),
                                      shade(@theme_bg_color, 1.1));
    border-radius: 4px 4px 0 0;
    border-width: 1px 1px 0 1px;
    border-style: solid;
    border-color: @notebook_border;
    box-shadow: none;
}

.notebook tab.top:hover {
    background-image: linear-gradient(to bottom,
                                      alpha(@theme_base_color, 0.0),
                                      alpha(@theme_base_color, 0.3));
    border-radius: 4px 4px 0 0;
    border-width: 1px 1px 0 1px;
    border-style: solid;
    border-color: @notebook_border;
    box-shadow: none;
}

.notebook tab.top:active {
    border-bottom-color: @notebook_active_tab_border;
}

.notebook tab.bottom:active,
.notebook tab.bottom:hover:active {
    background-image: linear-gradient(to top,
                                      shade(@theme_bg_color, 1.18),
                                      shade(@theme_bg_color, 1.1));
    border-radius: 0 0 4px 4px;
    border-style: solid;
    border-width: 0px 1px 1px 1px;
    border-color: @notebook_border;
    box-shadow: none;
}

.notebook tab.bottom:hover {
    background-image: linear-gradient(to top,
                                      alpha(@theme_base_color, 0.0),
                                      alpha(@theme_base_color, 0.3));
    border-radius: 0 0 4px 4px;
    border-style: solid;
    border-width: 0px 1px 1px 1px;
    border-color: @notebook_border;
    box-shadow: none;
}

/* vertical tabs */

.notebook tab.left,
.notebook tab.right {
    padding: 5px 20px;
}

.notebook tab.left:active,
.notebook tab.left:hover:active {
    background-image: linear-gradient(to right,
                                      shade(@theme_bg_color, 1.18),
                                      shade(@theme_bg_color, 1.1));
    border-style: solid;
    border-width: 1px 0px 1px 1px;
    border-color: @notebook_border;
    border-radius: 4px 0px 0px 4px;
}

.notebook tab.left:hover {
    background-image: linear-gradient(to right,
                                      alpha(@theme_base_color, 0.0),
                                      alpha(@theme_base_color, 0.3));
    border-style: solid;
    border-width: 1px 0px 1px 1px;
    border-color: @notebook_border;
    border-radius: 4px 0px 0px 4px;
}

.notebook tab.right:active,
.notebook tab.right:hover:active {
    background-image: linear-gradient(to left,
                                      shade(@theme_bg_color, 1.18),
                                      shade(@theme_bg_color, 1.1));
    border-style: solid;
    border-width: 1px 1px 1px 0px;
    border-color: @notebook_border;
    border-radius: 0px 4px 4px 0px;
}

.notebook tab.right:hover {
    background-image: linear-gradient(to left,
                                      alpha(@theme_base_color, 0.0),
                                      alpha(@theme_base_color, 0.3));
    border-style: solid;
    border-width: 1px 1px 1px 0px;
    border-color: @notebook_border;
    border-radius: 0px 4px 4px 0px;
}

.notebook tab.reorderable-page:hover {
    background-image: linear-gradient(to bottom,
                                      alpha(@theme_base_color, 0.0),
                                      alpha(@theme_base_color, 0.3));
    border-radius: 0;
    box-shadow: inset 1px 0 alpha(@borders, 0.6), inset -1px 0 alpha(@borders, 0.6);
    border-style: none;
}

.notebook tab.reorderable-page:active {
    background-image: linear-gradient(to bottom,
                                      shade(@theme_bg_color, 1.18),
                                      shade(@theme_bg_color, 1.1));
    border-radius: 4px 4px 0 0;
    box-shadow: none;
    border-style: solid;
}

/* close button styling */

.notebook tab .button {
    color: mix (@theme_fg_color, @theme_bg_color, 0.85);
    border-image: none;
    background-image: none;
    background-color: transparent;
    border-radius: 4px;
    border-style: solid;
    border-color: transparent;
    border-width: 1px;
    padding: 1px;
    icon-shadow: none;
}

.notebook .prelight-page .button,
.notebook tab.prelight-page .button,
.notebook .active-page .button,
.notebook tab.active-page .button {
	color: mix(@theme_fg_color, @theme_base_color, 0.6);
	icon-shadow: 0 1px @button_text_shadow;
}

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

.notebook tab .button:active,
.notebook tab .button:hover:active {
	color:  @button_active_text;
	background-color: alpha(black, 0.08);
	box-shadow: inset 0 1px alpha(black, 0.05);
	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.arrow {
    color: @theme_fg_color;
}

.notebook.arrow:hover,
.notebook.arrow:active {
    color: @theme_selected_bg_color;
}

.notebook.arrow:insensitive {
    color: rgba(141, 144, 145, 0.3);
}

.notebook.arrow:backdrop {
    color: rgba(84, 89, 90, 0.4);
}

.notebook.arrow:backdrop:insensitive {
    color: #c7c7c7;
}

/*************************
 * Check and Radio items *
 *************************/

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

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

GtkCheckButton.text-button, GtkRadioButton.text-button {
  padding: 1px;
  outline-offset: 0; }

/***************
 * Header bars *
 ***************/

.header-bar {
    border-width: 0 0 1px;
    border-style: solid;
    border-color: shade(@borders, 0.90);
    border-radius: 7px 7px 0px 0px;
    box-shadow: inset 0 -1px shade(@wm_bg_b, 0.95);
    background-color: @theme_bg_dark_color;
    padding: 6px 6px 5px 6px;
}

.header-bar:backdrop {
    border-image: linear-gradient(to top,
                                  @unfocused_borders,
                                  @unfocused_borders 1px,
                                  @theme_unfocused_bg_color 1px) 0 0 2;
    box-shadow: none;
    background-color: @theme_bg_dark_color;
}

.header-bar .button,
.header-bar .button:last-child,
.header-bar .button:first-child,
.header-bar .button:only-child {
    background-image: none;
    text-shadow: none;
    icon-shadow: none;
    color: @theme_fg_dark_color;
    border-width: 1px;
    border-radius: 5px;
}

.header-bar:backdrop .button {
    border-width: 1px;
    border-radius: 5px;
    padding-left:  4px;
    padding-right: 4px;
    color: @theme_text_dark_color;
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (shade(@theme_unfocused_bg_color, 1.05)),
                                     to   (shade(@theme_unfocused_bg_color, 0.85)));
}

.header-bar .button:hover:first-child,
.header-bar .button:checked:first-child,
.header-bar .button:hover:active:first-child,
.header-bar .button:checked:hover:first-child,
.header-bar .button:checked:hover:active:first-child,
.header-bar .button:hover:last-child,
.header-bar .button:checked:last-child,
.header-bar .button:hover:active:last-child,
.header-bar .button:checked:hover:last-child,
.header-bar .button:checked:hover:active:last-child,
.header-bar .button:hover:only-child,
.header-bar .button:checked:only-child,
.header-bar .button:hover:active:last-child,
.header-bar .button:checked:hover:only-child,
.header-bar .button:checked:hover:active:only-child {
    border-width: 1px;
    border-radius: 5px;
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (shade(@menu_bg_dark_color, 2.03)),
                                     to   (shade(@menu_bg_dark_color, 1.17)));
    border-top-color: shade(@button_raised_gradient_color_a, 0.50);
    border-bottom-color: shade(@button_raised_gradient_color_a, 0.50);
    border-right-color: shade(@button_raised_gradient_color_a, 0.50);
    border-left-color: shade(@button_raised_gradient_color_a, 0.50);
    box-shadow: inset  0px  1px shade(@selected_bg_color, 1.05),
                inset  1px  0px shade(@selected_bg_color, 0.97),
                inset -1px  0px shade(@selected_bg_color, 0.93),
                inset  0px -1px shade(@selected_bg_color, 0.93);
}

.header-bar .button:insensitive,
.header-bar .button:insensitive:last-child,
.header-bar .button:insensitive:first-child {
    color: @theme_text_dark_color;
    background-image: none;
    background-color: @theme_bg_dark_color;
    border-color: @theme_button_border_dark;
    box-shadow: none;
    text-shadow: none;
    icon-shadow: none;
}

.header-bar .button *:insensitive {
    background-color: transparent;
    text-shadow: none;
    icon-shadow: none;
}

.header-bar .button.text-button {
    padding: 2px 6px;
}
 
.header-bar .button.image-button {
    padding: 5px 5px 6px 5px;
}
 
.header-bar .title {
    font: Bold 11;
    color: @theme_text_dark_color;
}
 
.header-bar .subtitle {
    font: 9;
    color: @theme_text_dark_color;
}

.header-bar GtkSeparatorToolItem,
.header-bar .separator,
.header-bar .separator:insensitive,
.header-bar .pane-separator {
    border-color: alpha (shade(@theme_bg_dark_color, 0.2), 0.24);
    border-bottom-color: @theme_bg_dark_color;
    border-right-color: @theme_bg_dark_color;
}

/****************
 * GtkAssistant *
 ****************/

GtkAssistant .sidebar .highlight {
    color: @theme_text_color;
    font: bold;
}

GtkAssistant .sidebar {
    padding: 5px;
    background-color: shade (@theme_bg_color, 0.97);
    border-width: 0px 1px 0px 0px;
    border-radius: 0px;
    border-style: solid;
    border-right-color: @inactive_frame_color;
    color: mix (@theme_fg_color, @theme_bg_color, 0.40);
}

/**********
 * Switch *
 **********/

GtkSwitch {
    padding: 8px; /* 8px to avoid padding list-row issue if active */
    -GtkSwitch-slider-width: 45px;
    font-weight: bold;
    font-size: smaller;
    box-shadow: inset  0px  2px alpha(#fff, 0.11),
                inset  2px  0px alpha(#fff, 0.09),
                inset -2px  0px alpha(#fff, 0.09),
                inset  0px -2px alpha(#fff, 0.07),
                inset  0px  1px alpha(shade(@button_border, 1.00), 0.70),
                inset  1px  0px alpha(shade(@button_border, 0.94), 0.80),
                inset -1px  0px alpha(shade(@button_border, 0.94), 0.80),
                inset  0px -1px alpha(shade(@button_border, 0.88), 0.90);
}

GtkSwitch.trough,
GtkSwitch.trough:backdrop {
    border: 1px solid ;
    border-radius: 6px;
    color: @theme_fg_color;
    background-image: linear-gradient(to bottom,
                                      shade(@theme_bg_color, 0.9));
    /* outer */
    border-top-color: transparent;
    border-left-color: alpha (#000, 0.01);
    border-right-color: alpha (#000, 0.01);
    border-bottom-color: alpha (#000, 0.03);
    box-shadow: inset  0px  2px alpha(#fff, 0.11),
                inset  2px  0px alpha(#fff, 0.09),
                inset -2px  0px alpha(#fff, 0.09),
                inset  0px -2px alpha(#fff, 0.07),
                inset  0px  1px alpha(shade(@button_border, 1.00), 0.70),
                inset  1px  0px alpha(shade(@button_border, 0.94), 0.80),
                inset -1px  0px alpha(shade(@button_border, 0.94), 0.80),
                inset  0px -1px alpha(shade(@button_border, 0.88), 0.90);
    text-shadow: 0 1px rgba(0, 0, 0, 0.1);
}

GtkSwitch.trough:active,
GtkSwitch.trough:backdrop:active {
    background-image: linear-gradient(to bottom,
                                      @theme_selected_bg_color 2px,
                                      shade(@theme_selected_bg_color, 1.2));
    color: white;
}

GtkSwitch.trough:insensitive,
GtkSwitch.trough:backdrop:insensitive {
    color: @insensitive_fg_color;
    border-color: @insensitive_border_color;
    background-image: none;
    background-color: @insensitive_bg_color;
    box-shadow: inset  0px  1px @insensitive_border_color,
                inset  1px  0px @insensitive_border_color,
                inset -1px  0px @insensitive_border_color,
                inset  0px -1px @insensitive_border_color;
    text-shadow: none;
}

GtkSwitch.slider,
GtkSwitch.slider:backdrop {
    border: 1px solid;
    border-radius: 6px;
    color: @theme_fg_color;
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (@button_gradient1),
                                     color-stop (0.48, @button_gradient2),
                                     color-stop (0.52, @button_gradient3),
                                     to   (@button_gradient4));
    border-top-color: transparent;
    border-left-color: alpha (#000, 0.01);
    border-right-color: alpha (#000, 0.01);
    border-bottom-color: alpha (#000, 0.03);
    box-shadow: inset  0px  2px alpha(#fff, 0.11),
                inset  2px  0px alpha(#fff, 0.09),
                inset -2px  0px alpha(#fff, 0.09),
                inset  0px -2px alpha(#fff, 0.07),
                inset  0px  1px alpha(shade(@button_border, 1.00), 0.70),
                inset  1px  0px alpha(shade(@button_border, 0.94), 0.80),
                inset -1px  0px alpha(shade(@button_border, 0.94), 0.80),
                inset  0px -1px alpha(shade(@button_border, 0.88), 0.90);
    padding: 2px 4px 2px 2px;
}

GtkSwitch.slider:active,
GtkSwitch.slider:backdrop:active {
    color: @theme_fg_color;
    border-color: transparent;
    border-radius: 6px;
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (shade (@theme_bg_color, 1.20)),
                                     color-stop (0.50, shade (@theme_bg_color, 1.00)),
                                     color-stop (0.50, shade (@theme_bg_color, 0.95)),
                                     to (shade (@theme_bg_color, 0.80)));
    box-shadow: inset  0px  1px shade (@theme_fg_color, 1.0),
                inset  1px  0px shade (@theme_fg_color, 1.0),
                inset -1px  0px shade (@theme_fg_color, 1.0),
                inset  0px -1px shade (@theme_fg_color, 1.0);
    padding: 1px 3px 1px 1px;
}

GtkSwitch.slider:insensitive,
GtkSwitch.slider:backdrop:insensitive {
    background-image: none;
    background-color: @insensitive_bg_color;
    border-color: alpha (#000, 0.00);
    border-bottom-color: alpha (#000, 0.00);
    border-image: none;
    box-shadow: inset  0px  1px @insensitive_border_color,
                inset  1px  0px @insensitive_border_color,
                inset -1px  0px @insensitive_border_color,
                inset  0px -1px @insensitive_border_color;
}

GtkSwitch.slider:insensitive > GtkLabel,
GtkSwitch.slider:backdrop:insensitive > GtkLabel {
    color: inherit;
}

.list-row GtkSwitch,
.list-row GtkSwitch:backdrop,
.list-row:selected GtkSwitch,
.list-row:selected GtkSwitch:backdrop {
    box-shadow: none;
    border-color: shade(@theme_selected_bg_color, 0.4);
}

.list-row:selected GtkSwitch.slider:dir(rtl) {
    border-left-color: @borders;
}

.list-row:selected GtkSwitch.slider:dir(ltr) {
    border-right-color: @borders;
}

.list-row:selected GtkSwitch.slider,
.list-row:selected GtkSwitch.slider:active {
    border-color: shade(@theme_selected_bg_color, 0.4);
}

/*********
 * image *
 *********/

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

/****************
 * drawing area *
 ****************/

/************
 * viewport *
 ************/

GtkViewport {
    border-width: 0px;
    border-style: none;
    /* Background color and system config gnome-tweak-tools */
    background-color: shade(@theme_bg_color, 1.00);
}

GtkViewport.frame {
    border-width: 0px;
    border-style: none;
    padding: 0px;
}

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;
}

GtkIconView,
GtkViewport {
    /* avoid resizing theme thumbnails in mate-appearance-properties */
    padding: 0px;
}

GtkIconView {
    border-width: 0px;
    border-style: none;
    /* background view mate-appearance-properties */
    background-color: @base_color;
}

GtkIconView.view.cell:selected,
GtkIconView.view.cell:selected:focus {
    /* eg. Configuration center */
    background-color: alpha(@theme_selected_bg_color, 0.90);    
    background-image: -gtk-gradient (linear,
                                     0.40 top, 0.60 bottom,
                                     from (shade (@button_bg_active, 1.14)),
                                     color-stop (0.45, shade (@button_bg_active, 1.00)),
                                     color-stop (0.52, shade (@button_bg_active, 0.88)),
                                     to (shade (@button_bg_active, 0.90))); 
    border-width: 1px;
    border-style: solid;
    border-radius: 4px;
    border-top-color: shade(@button_bg_active, 1.04);
    border-left-color: shade(@button_bg_active, 0.92);
    border-right-color: shade(@button_bg_active, 0.92);
    border-bottom-color: shade(@button_bg_active, 0.80);
    border-image: none;
    box-shadow: inset  0px  1px alpha(#fff, 0.08),
                inset  1px  0px alpha(#fff, 0.07),
                inset -1px  0px alpha(#fff, 0.07),
                inset  0px -1px alpha(#fff, 0.06);
    -GtkWidget-focus-line-width: 0;
    text-shadow: 0px 1px @theme_selected_shadow_color;
}

GtkIconView.view.cell:hover,
GtkIconView.view.cell:hover:focus {
    background-color: alpha(@theme_selected_bg_color, 0.10);
    border-style: none;
    border-radius: 4px;
}

.view {
    background-color: @theme_base_color;
    color: @theme_fg_color;
    text-shadow: 0px 1px @theme_shadow_color;
}

.view:selected,
.view:selected:focus {
    background-color: shade(@theme_selected_bg_color, 1.10);
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (shade(@theme_selected_bg_color, 1.0)),
                                     to (shade(@theme_selected_bg_color, 1.1))); 
    color: @theme_selected_fg_color;
    text-shadow: 0px 1px @theme_selected_shadow_color;
    text-shadow: none;
}

.view:selected:focus {
    text-shadow: 0px 1px @theme_selected_shadow_color;
}

GtkTreeView {
    -GtkWidget-focus-line-width: 0;
    -GtkWidget-focus-padding: 1;
}

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

GtkTreeView row:nth-child(odd):selected:hover,
GtkTreeView row:nth-child(even):selected:hover,
.notebook GtkContainer GtkTreeView row:selected {
    background-image: -gtk-gradient (linear,
                                     left top,
                                     left bottom,
                                     from (shade(@sidebar_selected_bg, 0.90)),
                                     color-stop (0.40, shade (@sidebar_selected_bg, 0.98)),
                                     to (shade(@sidebar_selected_bg, 1.05)));
    color:  @theme_selected_fg_color;
}

GtkTreeView.view row,
GtkTreeView.view row:focus {
    background-color: @theme_base_color;
    border-style: none;
}

.view row:hover,
GtkTreeView row:nth-child(odd):hover,
GtkTreeView row:nth-child(even):hover,
.notebook GtkContainer GtkTreeView row:hover {
    background-image: -gtk-gradient (linear,
                                    left top,
                                    left bottom,
                                    from (shade(@theme_bg_color, 1.05)),
                                    color-stop (0.40, shade (@theme_bg_color, 1.13)),
                                    to (shade(@theme_bg_color, 1.10)));
    color: shade (@theme_fg_color, 0.90);
    text-shadow: none;
}

column-header {
    padding: 0px 2px;
}

column-header .button,
column-header .button:focus {
    padding: 0px 4px 1px;
    -GtkWidget-focus-line-width: 0; 
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (shade(@button_base, 1.00)),
                                     color-stop (0.48, shade(@button_base, 0.96)),
                                     color-stop (0.52, shade(@button_base, 0.92)),
                                     to (shade(@button_base, 0.93)));
    border-width: 0px 1px 1px 0px;
    border-style: solid;
    border-radius: 0px;
    border-top-color:    transparent;
    border-left-color:   shade(@button_border, 1.05);
    border-right-color:  shade(@button_border, 1.05);
    border-bottom-color: shade(@button_border, 0.95);
    border-image: none;
    box-shadow: inset  0px  1px alpha(#fff, 0.09),
                inset  1px  0px alpha(#fff, 0.07),
                inset -1px  0px alpha(#fff, 0.07),
                inset  0px -1px alpha(#fff, 0.05);
}

column-header .button:hover {
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (shade(@button_gradient1, 1.03)),
                                     color-stop (0.48, shade(@button_gradient2, 1.03)),
                                     color-stop (0.52, shade(@button_gradient3, 1.03)),
                                     to   (shade(@button_gradient4, 1.01)));
    border-style: solid;
    border-radius: 0px;
    border-top-color:    transparent;
    border-left-color:   shade(@button_bg_active, 0.78);
    border-right-color:  shade(@button_bg_active, 0.78);
    border-bottom-color: shade(@button_bg_active, 0.70);
    border-image: none;
    box-shadow: inset  0px  1px shade(@selected_bg_color, 1.05),
                inset  1px  0px shade(@selected_bg_color, 0.97),
                inset -1px  0px shade(@selected_bg_color, 0.93),
                inset  0px -1px shade(@selected_bg_color, 0.93);
}

column-header .button:focus:hover:active {
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (shade (@theme_bg_color, 1.20)),
                                     color-stop (0.50, shade (@theme_bg_color, 1.00)),
                                     color-stop (0.50, shade (@theme_bg_color, 0.95)),
                                     to (shade (@theme_bg_color, 0.80)));
    border-radius: 0px;
    box-shadow: none;
}

column-header .button:insensitive {
    background-image: none;
    background-color: @insensitive_bg_color;
    border-color: @insensitive_border_color;
    border-image: none;
    box-shadow: none;
}

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

column-header:nth-child(last) .button {
    border-width: 0px 0px 1px 0px;
}

row:insensitive {
    border-width: 0px;
}

row:selected,
row:selected:focus {
    border-width: 1px 0 1px 0;
    border-style: solid;
    box-shadow: none;
}

row:selected:backdrop,
row:selected:focus:backdrop {
    border-width: 1px 0 1px 0;
    border-style: solid;
    text-shadow: none;
    box-shadow: none;
}

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

.cell:hover {
    /* take the same background in .view to avoid mouse-over lists */
    /*background-color: @theme_base_color;*/
    background-color: alpha(@theme_base_color, 0.0);
}

/*********************
 * App Notifications *
 *********************/

.app-notification,
.app-notification.frame {
    color: @theme_dark_fg_color;
    padding: 10px;
    border: none;
    border-radius: 0 0 4px 4px;
    background-color: rgba(0, 0, 0, 0.7);
    background-image: linear-gradient(to bottom,
                                      rgba(0, 0, 0, 0.2),
                                      transparent 2px);
    background-clip: padding-box;
}

.app-notification:backdrop,
.app-notification.frame:backdrop {
    background-image: none;
}

.app-notification .button,
.app-notification .header-bar .button.titlebutton,
.header-bar .app-notification .button.titlebutton,
.app-notification .titlebar .button.titlebutton,
.titlebar .app-notification .button.titlebutton,
.app-notification GtkCalendar.header .button.titlebutton,
GtkCalendar.header .app-notification .button.titlebutton,
.app-notification.frame .button {
    color: @theme_dark_fg_color;
    border-color: rgba(114, 180, 157, 0.7);
    background-image: linear-gradient(to bottom,
                                      rgba(0, 0, 0, 0.7));
    background-clip: padding-box;
    box-shadow: inset 0 1px rgba(255, 255, 255, 0.1);
    text-shadow: none;
    icon-shadow: 0 1px black;
    outline-color: rgba(238, 238, 236, 0.3);
    border-radius: 3px;
    padding: 0 0px 2px 0px;
}

.app-notification .button.flat,
.app-notification .header-bar .titlebutton.button,
.header-bar .app-notification .titlebutton.button,
.app-notification .titlebar .titlebutton.button,
.titlebar .app-notification .titlebutton.button,
.app-notification GtkCalendar.header .titlebutton.button,
GtkCalendar.header .app-notification .titlebutton.button,
.app-notification.frame .button.flat,
.app-notification.frame .header-bar .titlebutton.button,
.header-bar .app-notification.frame .titlebutton.button,
.app-notification.frame .titlebar .titlebutton.button,
.titlebar .app-notification.frame .titlebutton.button,
.app-notification.frame GtkCalendar.header .titlebutton.button,
GtkCalendar.header .app-notification.frame .titlebutton.button {
    icon-shadow: 0 1px black;
    text-shadow: 0 1px black;
}

.app-notification .button:hover,
.app-notification.frame .button:hover {
    color: black;
    border-color: rgba(0, 0, 0, 0.7);
    background-image: linear-gradient(to bottom,
                                      rgba(203, 217, 212, 0.7));
    background-clip: padding-box;
    box-shadow: inset 0 1px rgba(255, 255, 255, 0.1);
    text-shadow: none;
    icon-shadow: 0 1px black;
    outline-color: rgba(238, 238, 236, 0.3);
    border-radius: 3px;
    padding: 0 0px 2px 0px;
}

.app-notification .button:checked,
.app-notification .button:backdrop:checked,
.app-notification.frame .button:checked,
.app-notification.frame .button:backdrop:active {
    color: white;
    border-color: rgba(0, 0, 0, 0.7);
    background-image: linear-gradient(to bottom,
                                      rgba(114, 180, 157, 0.7));
    background-clip: padding-box;
    box-shadow: none;
    text-shadow: none;
    icon-shadow: none;
    outline-color: rgba(238, 238, 236, 0.3);
    border-radius: 3px;
}

.app-notification .button:insensitive,
.app-notification .button:backdrop:insensitive,
.app-notification.frame .button:insensitive,
.app-notification.frame .button:backdrop:insensitive {
    color: #878989;
    border-color: rgba(0, 0, 0, 0.7);
    background-image: linear-gradient(to bottom,
                                      rgba(52, 57, 57, 0.5));
    background-clip: padding-box;
    box-shadow: none;
    text-shadow: none;
    icon-shadow: none;
    border-radius: 3px;
    padding: 0px;
}

.app-notification .button:backdrop,
.app-notification.frame .button:backdrop {
    color: #eeeeec;
    border-color: rgba(0, 0, 0, 0.7);
    background-image: linear-gradient(to bottom,
                                      rgba(172, 205, 138, 0.7));
    background-clip: padding-box;
    box-shadow: none;
    text-shadow: none;
    icon-shadow: none;
    border-radius: 3px;
    padding: 0px;
}

/*************
 * Expanders *
 *************/

GtkTreeView.view.expander {
    -gtk-icon-source: -gtk-icontheme("pan-end-symbolic");
    color: @theme_fg_color;
}

 GtkTreeView.view.expander:dir(rtl) {
     -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl");
}

GtkTreeView.view.expander:checked {
    -gtk-icon-source: -gtk-icontheme("pan-down-symbolic");
 }

GtkTreeView.view.expander:hover {
    color: @theme_selected_bg_color;
}

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

GtkExpander {
    -gtk-icon-source: -gtk-icontheme("pan-end-symbolic");
}

GtkExpander:dir(rtl) {
    -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl");
}

GtkExpander:hover {
    color: @internal_element_color;
}

GtkExpander:checked {
    -gtk-icon-source: -gtk-icontheme("pan-down-symbolic");
}

/* why this weird padding, possible issue with gtk+-3.18 ? */
GtkExpander {
    -GtkExpander-expander-size: 14;
    padding: 0px 4px 0px 0px;
}

.expander {
    color: @theme_fg_color;
    border-color: @theme_fg_color;
}

.expander:checked {
    color: @theme_selected_bg_color;
    border-color: @theme_selected_bg_color;
}

.expander:hover {
    color: @internal_element_color;
    border-color: @internal_element_color;
}

.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:hover,
.expander row:selected:focus:hover {
    color: @theme_selected_fg_color;
    border-color: @theme_selected_fg_color;
}

/**************
 * List boxes *
 **************/

.list {
    background-color: @list_box_bg;
}

.list .separator.horizontal {
    background-color: @theme_base_color;
    border-width: 0px;
}

.list-row {
    padding: 2px;
    transition: all 200ms ease-in;
    background-image: none;
    background-color: @theme_base_color;
}

.list-row:hover {
    border-color: shade (@theme_selected_bg_color, 1.6);
    background-image: -gtk-gradient (linear,
                                     left top,
                                     left bottom,
                                     from (shade(@theme_bg_color, 1.05)),
                                     color-stop (0.40, shade (@theme_bg_color, 1.13)),
                                     to (shade(@theme_bg_color, 1.10)));
    box-shadow: inset  0px  1px shade(@selected_bg_color, 1.05),
                inset  1px  0px shade(@selected_bg_color, 0.97),
                inset -1px  0px shade(@selected_bg_color, 0.93),
                inset  0px -1px shade(@selected_bg_color, 0.93);
    text-shadow: none;
    icon-shadow: none;
    border-image: none;
    border-radius: 6px;
    border-style: solid;
}

.list-row:selected,
.list-row:selected:hover,
.list-row:selected:hover:active {
    border-width: 0;
    border-radius: 0px;
    border-style: none;
    border-color: transparent;
    background-image: linear-gradient(to bottom,
                                      shade (@theme_selected_bg_color, 1.2),
                                      shade (@theme_selected_bg_color, 0.7));
    box-shadow: none;
    color: @theme_selected_fg_color;
}

.list-row:selected:backdrop,
.list-row:selected:backdrop:hover {
    border-width: 0;
    border-style: solid;
    border-color: shade (@theme_bg_color, 0.85);
    background-image: linear-gradient(to bottom,
                                      shade (@theme_bg_color, 0.94),
                                      shade (@theme_bg_color, 0.94));
    color: @theme_fg_color;
    text-shadow: none;
    box-shadow: none;
}

/**************
 * Calendar   *
 **************/

GtkCalendar {
    border-radius: 3px;
    border-color: shade (@theme_fg_color, 0.8);
    padding: 1px 1px 3px 1px;
}

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

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

GtkCalendar.expander,
GtkCalendar.button,
GtkCalendar.button.flat,
GtkCalendar.button:insensitive {
    border-color: transparent;
    background-image: none;
    background-color: transparent;
    border-radius: 0px;
    box-shadow: none;
}

/* disable shadows and button background on arrows */
GtkCalendar.button:first-child,
GtkCalendar.button:last-child {
    box-shadow: none;
    background-image: none;
}

/* disable button background on arrows */
GtkCalendar.button:hover:first-child,
GtkCalendar.button:hover:last-child {
    background-image: none;
    border-radius: 3px;
    box-shadow: inset  0px  1px shade(@selected_bg_color, 1.05),
                inset  1px  0px shade(@selected_bg_color, 0.97),
                inset -1px  0px shade(@selected_bg_color, 0.93),
                inset  0px -1px shade(@selected_bg_color, 0.93);
}

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

.menuitem GtkCalendar,
.menuitem GtkCalendar.button,
.menuitem GtkCalendar.header,
.menuitem GtkCalendar.view {
    background-color: shade(@theme_bg_dark_color, 0.82);
    background-image: none;
    border-radius: 0px;
    border-style: solid;
    border-width: 0px;
    padding: 0px;
    color: @theme_base_color;
}

.menuitem GtkCalendar {
    background-color: shade (@menu_bg_color, 1.3);
    background-image: none;
}

/**************
 * GtkInfoBar *
 **************/

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

.info,
.question,
.warning,
.error {
    background-color: @info_bg_color;
    color: @infobar_fg_color;
    text-shadow: none;
    border-color: darker(@info_bg_color);
}

.warning {
    color: @warning_fg_color;
}

.info .button.close,
.warning .button.close,
.question .button.close,
.error .button.close {
    color: @theme_fg_color;
    icon-shadow: none;
}

.info .button.close:hover,
.warning .button.close:hover,
.question .button.close:hover,
.error .button.close:hover {
    background-image: linear-gradient(to bottom,
                                      alpha(white, 0.3),
                                      alpha(white, 0.2) 30%,
                                      alpha(black, 0.02));
}

.info .button.close:checked,
.warning .button.close:checked,
.question .button.close:checked,
.error .button.close:checked {
    color: @infobar_fg_color;
    background-image: linear-gradient(to bottom,
                                      alpha(black, 0.1),
                                      transparent);
}

.info .entry,
.info .entry:focus,
.info .button,
.info .button:insensitive,
.info .button:checked,
.warning .entry,
.warning .entry:focus,
.warning .button,
.warning .button:insensitive,
.warning .button:checked,
.error .entry,
.error .entry:focus,
.error .button,
.error .button:insensitive,
.error .button:checked,
.question .entry,
.question .entry:focus,
.question .button,
.question .button:insensitive,
.question .button:checked {
    color: @theme_fg_color;
    border-color: darker(@info_bg_color);
    border-style: solid;
    border-width: 1px;
}

/* Warning Bar */
GtkInfoBar.horizontal.error {
    background-color: @error_bg_color;
    color: @error_fg_color;
    border-color: darker(@error_bg_color);
    border-width: 1px ;
    border-style: solid;
}

/* Question Bar */
GtkInfoBar.horizontal.info .horizontal {
    background-color: @question_bg_color;
    color: @question_fg_color;
}

GtkInfoBar.horizontal.info .horizontal .button.flat.raised.close,
GtkInfoBar.horizontal.info .horizontal .button.flat.raised.close:hover,
GtkInfoBar.horizontal.info .horizontal .button.flat.raised.close:checked {
    border-radius: 3px;
    box-shadow: none;
}

/***************
 * Dialog      *
 ***************/

.prompt,
GtkMessageDialog {
    -GtkDialog-content-area-border: 0;
    -GtkDialog-action-area-border: 12;
    -GtkDialog-button-spacing: 0;
    margin: 0;
    padding: 0;
}

/* ie. mate-keyboard-properties option window */
GtkDialog GtkScrolledWindow.frame {
    border-color: @notebook_border;
    border-style: solid;
    border-width: 1px;
    border-radius: 2px;
}

GtkDialog GtkScrolledWindow.frame GtkViewport .vertical {
    background-color: shade (@theme_bg_color, 1.10);
}

GtkDialog GtkScrolledWindow.frame GtkViewport .vertical GtkExpander .vertical {
    background-color: @theme_base_color;
    border-radius: 3px;
    border-color: @notebook_border;
    border-style: solid;
    border-width: 1px;
}

/* middle buttons */
.dialog-action-area.linked .button,
.dialog-action-area.linked .button:focus,
.dialog-action-area.linked .button:hover,
.dialog-action-area.linked .button:focus:hover,
.dialog-action-area.linked .button:focus:hover:active,
.dialog-action-area.linked .button:checked,
.dialog-action-area.linked .button:checked:hover,
.dialog-action-area.linked .button:checked:hover:active,
.dialog-action-area.linked .button:insensitive {
    border-right-width: 0px;
    border-left-width:  0px;
    border-width: 1px 0;
    border-radius: 0;
    padding: 1px 2px;
}

/* left button */
.dialog-action-area.linked .button:first-child,
.dialog-action-area.linked .button:focus:first-child,
.dialog-action-area.linked .button:hover:first-child,
.dialog-action-area.linked .button:focus:hover:first-child,
.dialog-action-area.linked .button:focus:hover:active:first-child,
.dialog-action-area.linked .button:checked:first-child,
.dialog-action-area.linked .button:checked:hover:first-child,
.dialog-action-area.linked .button:checked:hover:active:first-child,
.dialog-action-area.linked .button:insensitive:first-child {
    border-radius: 6px 0 0 6px;
    border-width: 1px;
    border-right-width: 0;
    padding: 1px 2px;
}

/* right button */
.dialog-action-area.linked .button:last-child,
.dialog-action-area.linked .button:focus:last-child,
.dialog-action-area.linked .button:hover:last-child,
.dialog-action-area.linked .button:focus:hover:last-child,
.dialog-action-area.linked .button:focus:hover:active:last-child,
.dialog-action-area.linked .button:checked:last-child,
.dialog-action-area.linked .button:checked:hover:last-child,
.dialog-action-area.linked .button:checked:hover:active:last-child,
.dialog-action-area.linked .button:insensitive:last-child {
    border-width: 1px;
    border-radius: 0 6px 6px 0;
    border-left-width: 0;
    padding: 1px 2px;
}

/* single button */
.dialog-action-area.linked .button:only-child,
.dialog-action-area.linked .button:focus:only-child,
.dialog-action-area.linked .button:hover:only-child,
.dialog-action-area.linked .button:focus:hover:only-child,
.dialog-action-area.linked .button:focus:hover:active:only-child,
.dialog-action-area.linked .button:checked:only-child,
.dialog-action-area.linked .button:checked:hover:only-child,
.dialog-action-area.linked .button:checked:hover:active:only-child,
.dialog-action-area.linked .button:insensitive:last-child {
    padding-left: 6px;
    padding-right: 6px;
    border-width: 1px;
    border-radius: 6px;
}

.dialog-action-area.linked .button:only-child {
    border-width: 0px;
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (@button_gradient1),
                                     color-stop (0.48, @button_gradient2),
                                     color-stop (0.52, @button_gradient3),
                                     to   (@button_gradient4));
    box-shadow: inset  0px  2px alpha(#fff, 0.11),
                inset  2px  0px alpha(#fff, 0.09),
                inset -2px  0px alpha(#fff, 0.09),
                inset  0px -2px alpha(#fff, 0.07),
                inset  0px  1px alpha(shade(@button_border, 1.00), 0.70),
                inset  1px  0px alpha(shade(@button_border, 0.94), 0.80),
                inset -1px  0px alpha(shade(@button_border, 0.94), 0.80),
                inset  0px -1px alpha(shade(@button_border, 0.88), 0.90);
}

.dialog-action-area.linked .button:focus:only-child {
    box-shadow: inset  0px  1px shade(@selected_bg_color, 1.05),
                inset  1px  0px shade(@selected_bg_color, 0.97),
                inset -1px  0px shade(@selected_bg_color, 0.93),
                inset  0px -1px shade(@selected_bg_color, 0.93);
}

.dialog-action-area.linked .button:hover:only-child {
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (shade(@button_gradient1, 1.03)),
                                     color-stop (0.48, shade(@button_gradient2, 1.03)),
                                     color-stop (0.52, shade(@button_gradient3, 1.03)),
                                     to   (shade(@button_gradient4, 1.01)));
}

.dialog-action-area.linked .button:active:only-child {
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (shade (@theme_bg_color, 1.20)),
                                     color-stop (0.50, shade (@theme_bg_color, 1.00)),
                                     color-stop (0.50, shade (@theme_bg_color, 0.95)),
                                     to (shade (@theme_bg_color, 0.80)));
}

.dialog-action-area.linked .button.suggested-action,
.dialog-action-area.linked .button.suggested-action:active,
.dialog-action-area.linked .button.suggested-action:checked,
.dialog-action-area.linked .button.suggested-action:insensitive {
    box-shadow: none;
}

/**************
 * Dim labels *
 **************/

.view.dim-label,
.dim-label,
.dim-label:hover,
.dim-label:focus {
    color: mix (@theme_fg_color, @theme_bg_color, 0.27);
    text-shadow: none;
}

.dim-label:selected,
.dim-label:selected:focus {
    color: @theme_selected_fg_color;
    text-shadow: none;
}

/*******
 * OSD *
 *******/

.background.osd {
    color: @osd_fg;
    text-shadow: 0 1px @osd_text_shadow;
    border-style: solid;
    border-width: 1px;
    border-color: shade (@theme_selected_bg_color, 0.8);
    border-radius: 0px;
    background-image: linear-gradient(to left,
                                      alpha(shade(@theme_selected_bg_color, 1.2), 0.7),
                                      alpha(shade(@theme_selected_bg_color, 0.95), 0.7));
    background-color: alpha(shade(@theme_selected_bg_color, 1.0), 0.4);
}

GtkOverlay.osd {
    background-color: transparent;
}

.osd.frame {
    background-clip: border-box;
    background-origin: border-box;
}

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

.osd.button,
.osd.button:hover,
.osd.button:checked {
    background-color: shade(@osd_bg, 1.10);
    border-radius: 5px;
    border-color: @osd_button_border;
}

.osd .button,
.osd .button:hover,
.osd .button:checked {
    background-color: transparent;
    box-shadow: none;
}

.osd.button:insensitive,
.osd .button:insensitive {
    background-image: none;
    border-color: @osd_button_bg_insensitive;
    background-color: transparent;
    box-shadow: none;
    color: @osd_button_fg_insensitive;
}

.osd.button:checked:insensitive,
.osd .button:checked:insensitive {
    background-image: none;
    background-color: @osd_button_bg_insensitive_active;
    color: @osd_button_fg_insensitive;
}

.osd.button,
.osd.button:focus,
.osd .button,
.osd .button:focus {
    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:hover,
.osd .button:hover,
.osd .linked .button:hover {
    padding: 4px;
    background-image: linear-gradient(to bottom,
                                      @osd_button_bg_hover_a,
                                      @osd_button_bg_hover_b 68%,
                                      @osd_button_bg_hover_c);
    color: @osd_button_fg_hover;
}

.osd.button:checked,
.osd.button:checked:hover,
.osd.button:checked:hover:active,
.osd.button:hover:active,
.osd.button:focus:hover:active,
.osd .button:checked,
.osd .button:checked:hover,
.osd .button:checked:hover:active,
.osd .button:hover:active,
.osd .button:focus:hover:active,
.osd GtkMenuButton.button:checked {
    background-image: linear-gradient(to bottom,
                                      @osd_button_bg_active_a,
                                      @osd_button_bg_active_b 68%,
                                      @osd_button_bg_active_c);
    color: @osd_button_fg_active;
    text-shadow: 0 -1px @osd_button_shadow;
}

.osd GtkMenuButton.button:checked {
    background-color: transparent;
    border-color: @osd_button_border;
}

/* gnome-weather */
.linked.stack-switcher.osd .button {
    background-image: linear-gradient(to bottom,
                                      alpha(shade(@theme_selected_bg_color, 1.2), 0.1),
                                      alpha(shade(@theme_selected_bg_color, 0.95), 0.1));
    background-color: alpha(shade(@theme_selected_bg_color, 1.0), 0.4);
    box-shadow: none;
}

.linked.stack-switcher.osd .button:hover {
    background-image: linear-gradient(to bottom,
                                      alpha(shade(@theme_selected_bg_color, 1.2), 0.4),
                                      alpha(shade(@theme_selected_bg_color, 0.95), 0.4));
    background-color: alpha(shade(@theme_selected_bg_color, 1.0), 0.4);

}

.linked.stack-switcher.osd .button {
    border-width: 1px 0 1px 0px;
    border-color: shade (@theme_selected_bg_color, 0.8);
}

.linked.stack-switcher.osd .button:first-child {
    border-width: 1px 1px 1px 1px;
}

.linked.stack-switcher.osd .button:last-child {
    border-width: 1px 1px 1px 0px;
}

.linked.stack-switcher.osd .button:only-child {
    border-width: 1px;
}

/* ie. parole media-player */
/* previous/play/next */
.osd .horizontal .horizontal .button {
    padding: 5px 8px;
}

.osd .horizontal .horizontal .button:insensitive {
    border-color: @osd_button_bg_insensitive;
}

.osd .horizontal .horizontal .label {
    padding: 5px 5px;
    background-color: transparent;
    background-image: linear-gradient(to bottom,
                                      @osd_button_bg_a,
                                      @osd_button_bg_b 68%,
                                      @osd_button_bg_c);
    border-color: @osd_button_bg_insensitive;
    border-style: solid;
    border-width: 1px;
    border-radius: 5px;
}

/* ie. volume button */
.osd .horizontal .button,
.osd .horizontal .button:hover {
    padding: 5px 8px;
}

.osd.toolbar {
    color: @osd_fg;
    text-shadow: 0 1px @osd_text_shadow;
    padding: 10px;
    border-style: solid;
    border-width: 1px;
    border-color: shade (@theme_selected_bg_color, 0.8);
    border-radius: 7px;
    background-image: linear-gradient(to left,
                                      alpha(shade(@theme_selected_bg_color, 1.2), 0.7),
                                      alpha(shade(@theme_selected_bg_color, 0.95), 0.7));
    background-color: alpha(shade(@theme_selected_bg_color, 1.0), 0.4);
    -GtkToolbar-button-relief: normal;
}

.osd.toolbar .button,
.osd.toolbar .button:hover,
.osd.toolbar .linked .button,
.osd.toolbar .linked .button:focus:hover:active {
    padding: 6px;
    border-width: 1px;
    border-radius: 5px;
}

.osd.toolbar .button:first-child,
.osd.toolbar .linked .button:first-child,
.osd.toolbar .linked .button:focus:hover:active: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,
.osd.toolbar .linked .button:last-child,
.osd.toolbar .linked .button:focus:hover:active:last-child {
    box-shadow: none;
    border-radius: 0 5px 5px 0;
    border-width: 1px 1px 1px 0;
}

.osd.toolbar .button:only-child,
.osd.toolbar .linked .button:only-child,
.osd.toolbar .linked .button:focus:hover:active: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
   and Epiphany */
.osd.trough {
    background-color: @osd_trough_bg;
    border-width: 0;
}

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

.osd .scale.trough:insensitive,
.osd .scale.trough.highlight:insensitive {
    background-image: none;
    background-color: transparent;
}

.osd .scale-popup.popover.background {
    color: @osd_fg;
    border-style: solid;
    border-width: 1px;
    border-color: shade (@theme_selected_bg_color, 0.8);
    border-radius: 4px;
    background-image: linear-gradient(to bottom,
                                      alpha(shade(@theme_selected_bg_color, 1.2), 0.7),
                                      alpha(shade(@theme_selected_bg_color, 0.95), 0.7));
    background-color: alpha(shade(@theme_selected_bg_color, 1.0), 0.4);
}

.osd .popover.scale-popup .flat.button.image-button {
    background-image: linear-gradient(to bottom,
                                      @osd_button_bg_a,
                                      @osd_button_bg_b 68%,
                                      @osd_button_bg_c);
    border-radius: 4px;
    border-width: 1px;
    border-color: @osd_button_border;
    box-shadow: none;
    padding: 2px;
}

.osd .popover.scale-popup .flat.button.image-button:hover {
    background-image: linear-gradient(to bottom,
                                      @osd_button_bg_hover_a,
                                      @osd_button_bg_hover_b 68%,
                                      @osd_button_bg_hover_c);
    border-color: alpha(shade(@theme_selected_bg_color, 2.2), 0.8);
    -gtk-image-effect: highlight;
}

.osd .popover.scale-popup .flat.button.image-button:insensitive {
    background-image: none;
    background-color: transparent;
    border-image: none;
    border-color: transparent;
    box-shadow: none;
}

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

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

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

.osd .view,
.osd.view {
    background-color: @osd_view_bg;
}

.osd .scrollbar.trough {
    background-color: @osd_scrollbar_trough;
}

.osd .scrollbar.slider {
    background-color: @osd_scrollbar_slider;
}

.osd .scrollbar.slider:hover {
    background-color: @osd_scrollbar_slider_prelight;
}

.osd .scrollbar.slider:active {
    background-color: @osd_scrollbar_slider_active;
}

.osd GtkIconView.cell:selected,
.osd GtkIconView.cell:selected:focus {
    background-color: transparent;
    border-style: solid;
    border-radius: 15px;
    border-width: 3px;
    border-color: @osd_button_fg;
    outline-color: transparent;
}

/* used by Documents */
.osd .page-thumbnail {
    border-style: solid;
    border-width: 1px;
    border-color: @osd_lowlight;
    /* when there's no pixbuf yet */
    background-color: @osd_bg;
}

/*************
 * Popovers *
 *************/

.popover {
    background-clip: initial;
    margin: 10px;
    padding: 2px;
    border-color: @borders;
    border-width: 1px;
    border-style: solid;
    border-radius: 6px;
    background-color: @bg_dark_color;
    box-shadow: 0 1px 5px @wm_shadow;
    text-shadow: none;
    icon-shadow: none;
}

.popover .label,
.popover .label:hover,
.popover .label:focus {
    color: @theme_fg_dark_color;
    text-shadow: none;
}

.popover > .list,
.popover > .view,
.popover > .toolbar .popover.osd > .toolbar,
.popover > .inline-toolbar .popover.osd > .toolbar,
.popover > .search-bar .popover.osd > .toolbar,
.popover > .location-bar .popover.osd > .toolbar,
.popover > .toolbar .popover.osd > .inline-toolbar,
.popover > .inline-toolbar .popover.osd > .inline-toolbar,
.popover > .search-bar .popover.osd > .inline-toolbar,
.popover > .location-bar .popover.osd > .inline-toolbar,
.popover > .toolbar .popover.osd > .search-bar,
.popover > .inline-toolbar .popover.osd > .search-bar,
.popover > .search-bar .popover.osd > .search-bar,
.popover > .location-bar .popover.osd > .search-bar,
.popover > .toolbar .popover.osd > .location-bar,
.popover > .inline-toolbar .popover.osd > .location-bar,
.popover > .search-bar .popover.osd > .location-bar,
.popover > .location-bar .popover.osd > .location-bar {
    border-style: none;
    background-color: transparent;
}

.popover .separator {
    font-size: 80%;
    font-weight: bold;
    color: alpha(@theme_fg_dark_color,0.6);
    text-shadow: none;
    background-color: transparent;
    icon-shadow: none;
    border: 0;
}

.popover.osd {
    background-image: none;
    background-color: alpha(shade(#3D3E40, 0.85), 0.75);
    border: 1px solid black;
    box-shadow: none;
    color: @theme_selected_fg_color;
}

.popover.osd .toolbar {
    background-image: none;
    background-color: transparent;
    border: none;
    box-shadow: none;
}

.popover.osd .button {
    text-shadow: 0 -1px @osd_text_shadow;
    icon-shadow: 0 -1px @osd_text_shadow;
}

.popover.osd .button:checked {
    box-shadow: none;
}

.popover.osd .button:insensitive {
    color: alpha(@theme_selected_fg_color, 0.4);
}

.popover.scale-popup .flat.button.image-button:insensitive {
    background-image: none;
    background-color: transparent;
    border-image: none;
    border-color: transparent;
    box-shadow: none;
}

.popover.scale-popup .flat.button.image-button {
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (shade(@menu_bg_dark_color, 2.03)),
                                     to   (shade(@menu_bg_dark_color, 1.17)));
    border-radius: 4px;
    box-shadow: inset  0px  1px shade(@selected_bg_color, 1.05),
                inset  1px  0px shade(@selected_bg_color, 0.97),
                inset -1px  0px shade(@selected_bg_color, 0.93),
                inset  0px -1px shade(@selected_bg_color, 0.93);
}

.popover.scale-popup .flat.button.image-button:hover {
    -gtk-image-effect: highlight;
}

.popover.scale-popup .scale .trough,
.popover.scale-popup .scale .trough.vertical {
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (shade (@scale_border_a, 1.10)),
                                     to (shade (@scale_border_a, 1.51)));
}

.popover.scale-popup .scale .trough.highlight,
.popover.scale-popup .scale .trough.highlight.vertical {
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (shade (@theme_selected_bg_color, 1.31)),
                                     to (shade (@theme_selected_bg_color, 1.00)));
}

/* needs to be here to avoid a override by .popover.scale-popup */
.osd .scale.trough,
.osd .scale-popup.popover .scale.trough {
    border-color: @osd_scale_border;
    border-image: none;
    background-image: linear-gradient(to bottom,
                                      shade(@osd_button_border, 0.70),
                                      shade(@osd_button_border, 0.90));
    background-color: transparent;
}

.osd .scale.trough.highlight,
.osd .scale-popup.popover .scale.trough.highlight {
    background-image: none;
    background-color: @theme_selected_bg_color;
    border-color: @scale_highlight_border;
}

.popover .list {
    background-color: @theme_base_color;
}

/* more/less volume button */
.popover .image-button:hover {
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (shade(@menu_bg_dark_color, 2.03)),
                                     to   (shade(@menu_bg_dark_color, 1.17)));
    box-shadow: inset  0px  1px shade(@selected_bg_color, 1.05),
                inset  1px  0px shade(@selected_bg_color, 0.97),
                inset -1px  0px shade(@selected_bg_color, 0.93),
                inset  0px -1px shade(@selected_bg_color, 0.93);
}

.popover .image-button:insensitive {
    background-image: none;
    background-color: transparent;
    box-shadow: inset  0px  1px @insensitive_border_color,
                inset  1px  0px @insensitive_border_color,
                inset -1px  0px @insensitive_border_color,
                inset  0px -1px @insensitive_border_color;
}

GtkModelButton.button,
GtkModelButton.button:first-child,
GtkModelButton.button:last-child,
GtkModelButton.button:only-child {
    background-image: none;
    color: @theme_fg_dark_color;
    border-radius: 3px;
}

GtkModelButton.button:checked,
GtkModelButton.button:insensitive,
GtkModelButton.button:checked:insensitive,
GtkModelButton.button,
GtkModelButton.button:focus,
GtkModelButton.button:checked:focus,
GtkModelButton.button:checked:first-child,
GtkModelButton.button:insensitive:first-child,
GtkModelButton.button:checked:insensitive:first-child,
GtkModelButton.button:first-child,
GtkModelButton.button:focus:first-child,
GtkModelButton.button:checked:focus:first-child,
GtkModelButton.button:checked:last-child,
GtkModelButton.button:insensitive:last-child,
GtkModelButton.button:checked:insensitive:last-child,
GtkModelButton.button:last-child,
GtkModelButton.button:focus:last-child,
GtkModelButton.button:checked:focus:last-child,
GtkModelButton.button:checked:only-child,
GtkModelButton.button:insensitive:only-child,
GtkModelButton.button:checked:insensitive:only-child,
GtkModelButton.button:only-child,
GtkModelButton.button:focus:only-child,
GtkModelButton.button:checked:focus:only-child,
.linked GtkModelButton.button,
.linked GtkModelButton.button:focus,
.linked GtkModelButton.button:first-child,
.linked GtkModelButton.button:focus:first-child,
.linked GtkModelButton.button:last-child,
.linked GtkModelButton.button:focus:last-child {
    background-color: shade (@theme_bg_dark_color, 1.0);
    background-image: none;
    border-color: transparent;
    border-image: none;
    border-style: none;
    box-shadow: none;
    border-radius: 3px;
}

GtkModelButton.button:checked:hover:only-child,
GtkModelButton.button:checked:hover:active:only-child,
GtkModelButton.button:focus:hover:active:only-child,
GtkModelButton.button:hover:active:only-child,
GtkModelButton.button:hover:only-child,
GtkModelButton.button:selected:only-child,
GtkModelButton.button:checked:hover:first-child,
GtkModelButton.button:checked:hover:active:first-child,
GtkModelButton.button:focus:hover:active:first-child,
GtkModelButton.button:hover:active:first-child,
GtkModelButton.button:hover:first-child,
GtkModelButton.button:selected:first-child,
GtkModelButton.button:checked:hover:last-child,
GtkModelButton.button:checked:hover:active:last-child,
GtkModelButton.button:focus:hover:active:last-child,
GtkModelButton.button:hover:active:last-child,
GtkModelButton.button:hover:last-child,
GtkModelButton.button:selected:last-child,
GtkModelButton.button:checked:hover,
GtkModelButton.button:checked:hover:active,
GtkModelButton.button:focus:hover:active,
GtkModelButton.button:hover:active,
GtkModelButton.button:hover,
GtkModelButton.button:selected,
.linked GtkModelButton.button:hover,
.linked GtkModelButton.button:hover:active,
.linked GtkModelButton.button:checked:hover,
.linked GtkModelButton.button:checked:hover:active,
.linked GtkModelButton.button:hover:first-child,
.linked GtkModelButton.button:hover:active:first-child,
.linked GtkModelButton.button:checked:hover:first-child,
.linked GtkModelButton.button:checked:hover:active:first-child,
.linked GtkModelButton.button:hover:last-child,
.linked GtkModelButton.button:hover:active:last-child,
.linked GtkModelButton.button:checked:hover:last-child,
.linked GtkModelButton.button:checked:hover:active:last-child {
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (shade(@menu_bg_dark_color, 2.03)),
                                     to   (shade(@menu_bg_dark_color, 1.17)));
    background-color: shade (@theme_bg_dark_color, 1.2);
    color: shade (@theme_selected_bg_color, 1.3);
    text-shadow: none;
    border-width: 0;
    border-color: transparent;
    border-radius: 6px;
    box-shadow: inset  0px  1px shade(@selected_bg_color, 1.05),
                inset  1px  0px shade(@selected_bg_color, 0.97),
                inset -1px  0px shade(@selected_bg_color, 0.93),
                inset  0px -1px shade(@selected_bg_color, 0.93);
}

.csd .popover .linked GtkModelButton.button:checked,
.csd .popover .linked GtkModelButton.button:hover,
.csd .popover .linked GtkModelButton.button:hover:active,
.csd .popover .linked GtkModelButton.button:checked:hover,
.csd .popover .linked GtkModelButton.button:checked:hover:active {
    color: @fg_dark_color;
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (shade(@menu_bg_dark_color, 2.03)),
                                     to   (shade(@menu_bg_dark_color, 1.17)));
    box-shadow: inset  0px  1px shade(@selected_bg_color, 1.05),
                inset  1px  0px shade(@selected_bg_color, 0.97),
                inset  0px -1px shade(@selected_bg_color, 0.93),
                inset -1px  0px shade(@selected_bg_color, 0.93);
}

/* middle button*/
.linked GtkModelButton.button:hover,
.linked GtkModelButton.button:hover:active,
.linked GtkModelButton.button:checked:hover,
.linked GtkModelButton.button:checked:hover:active {
    border-right-width: 0px;
    border-left-width:  0px;
    border-radius: 0;
}

/* left button*/
.linked GtkModelButton.button:hover:first-child,
.linked GtkModelButton.button:hover:active:first-child,
.linked GtkModelButton.button:checked:hover:first-child,
.linked GtkModelButton.button:checked:hover:active:first-child {
    border-right-width: 0px;
    border-radius: 6px 0 0 6px;
}

/* right button*/
.linked GtkModelButton.button:hover:last-child,
.linked GtkModelButton.button:hover:active:last-child,
.linked GtkModelButton.button:checked:hover:last-child,
.linked GtkModelButton.button:checked:hover:active:last-child {
    border-left-width:  0px;
    border-radius: 0 6px 6px 0;
}

.popover .button.default.text-button.suggested-action {
    background-image: none;
    color: @theme_fg_dark_color;
    text-shadow: none;
    border-width: 0;
    border-color: transparent;
    border-radius: 5px;
    padding: 5px 4px;
}

.popover .button.default.text-button.suggested-action:hover {
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (shade(@menu_bg_dark_color, 2.03)),
                                     to   (shade(@menu_bg_dark_color, 1.17)));
    background-color: shade (@theme_bg_dark_color, 1.2);
    color: shade (@theme_selected_bg_color, 1.3);
    text-shadow: none;
    border-width: 0;
    border-color: transparent;
    border-radius: 5px;
    box-shadow: inset  0px  1px shade(@selected_bg_color, 1.05),
                inset  1px  0px shade(@selected_bg_color, 0.97),
                inset -1px  0px shade(@selected_bg_color, 0.93),
                inset  0px -1px shade(@selected_bg_color, 0.93);
}

.entry.cursor-handle,
.cursor-handle {
    background-color: transparent;
    background-image: none;
    box-shadow: none;
    border-style: none;
}

.entry.cursor-handle.top,
.cursor-handle.top {
    -gtk-icon-source: -gtk-icontheme("selection-start-symbolic");
}

.entry.cursor-handle.bottom,
.cursor-handle.bottom {
    -gtk-icon-source: -gtk-icontheme("selection-end-symbolic");
}

/*******
 * CSD *
 *******/

.titlebar {
    text-shadow: 0 1px @wm_title_shadow;
    background-image: linear-gradient(to bottom,
                                      @wm_bg_a,
                                      @wm_bg_b);
    border-radius: 7px 7px 0px 0px;
}

.tiled .titlebar {
    border-radius: 0;
}

.maximized .titlebar {
    border-radius: 0;
}

/* this is the default titlebar that is added by GTK
 * when client-side decorations are in use and the application
 * did not set a custom titlebar.
 */
.titlebar.default-decoration {
    border: none;
    box-shadow: none;
}

.titlebar .title {
    font: Bold 10;
    background: none;
    color: @theme_text_dark_color;
}

 /* Colour when unfocused? */
.titlebar:backdrop {
    text-shadow: none;
    background-image: none;
    background-color: @theme_bg_dark_color;
}

.titlebar .button,
.titlebar .button:first-child,
.titlebar .button:last-child,
.titlebar .button:only-child {
    icon-shadow: 0px 1px @theme_shadow_dark_color;
    color: @wm_title;
    background: none;
    padding: 5px 5px 6px 5px;
    border-width: 1px;
    border-radius: 5px;
    border-color: transparent;
    border-style: solid;
    border-image: none;
    box-shadow: inset  0px  1px shade(@theme_bg_dark_color, 1.05),
                inset  1px  0px shade(@theme_bg_dark_color, 0.97),
                inset  0px -1px shade(@theme_bg_dark_color, 0.93),
                inset -1px  0px shade(@theme_bg_dark_color, 0.93);
}

.titlebar .titlebutton {
    icon-shadow: 0px 1px @theme_shadow_dark_color;
    color: @wm_title;
    padding: 5px 5px 6px 5px;
    border-style: solid;
    border-image: none;
    border-radius: 5px;
    border-width: 1px;
    border-color: transparent;
    background: none;
    background-color: transparent;
}

.titlebar .button:hover,
.titlebar .button:focus:hover,
.titlebar .button:focus:hover:active,
.titlebar .button:checked,
.titlebar .button:checked:focus,
.titlebar .titlebutton:hover,
.titlebar .titlebutton:hover:focus,
.titlebar .titlebutton:hover:focus:active,
.titlebar .titlebutton:checked,
.titlebar .titlebutton:checked:focus {
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (shade(@menu_bg_dark_color, 2.03)),
                                     to   (shade(@menu_bg_dark_color, 1.17)));
    background-color: transparent;
    border-radius: 5px;
    border-width: 1px;
    border-color: transparent;
    box-shadow: inset  0px  1px shade(@theme_bg_dark_color, 1.05),
                inset  1px  0px shade(@theme_bg_dark_color, 0.97),
                inset  0px -1px shade(@theme_bg_dark_color, 0.93),
                inset -1px  0px shade(@theme_bg_dark_color, 0.93);
}

.titlebar .titlebutton:backdrop {
    background: none;
    color: @theme_text_dark_color;
    border-image: none;
    icon-shadow: none;
}

/* Middle titlebar-button */
.titlebar .linked .button,
.titlebar .linked .button:focus,
.titlebar .linked .button:insensitive,
.titlebar .button.raised.linked,
.titlebar .button.raised.linked:focus,
.titlebar .button.raised.linked:insensitive,
.titlebar .raised.linked .button,
.titlebar .raised.linked .button:focus,
.titlebar .raised.linked .button:insensitive {
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (shade(@button_raised_gradient_color_b, 0.90)),
                                     to   (shade(@button_raised_gradient_color_a, 0.80)));
    color: @theme_fg_dark_color;
    border-width: 1px;
    border-right-width: 0px;
    border-left-width:  0px;
    border-radius: 0;
    padding: 5px 5px 6px 5px;
}

.titlebar .linked .button:hover,
.titlebar .linked .button:checked,
.titlebar .linked .button:focus:hover:active,
.titlebar .linked .button:checked:hover,
.titlebar .linked .button:checked:focus:hover:active,
.titlebar .button.raised.linked:hover,
.titlebar .button.raised.linked:checked,
.titlebar .button.raised.linked:focus:hover:active,
.titlebar .button.raised.linked:checked:hover,
.titlebar .button.raised.linked:checked:focus:hover:active,
.titlebar .raised.linked .button:hover,
.titlebar .raised.linked .button:checked,
.titlebar .raised.linked .button:focus:hover:active,
.titlebar .raised.linked .button:checked:hover,
.titlebar .raised.linked .button:checked:focus:hover:active {
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (shade(@menu_bg_dark_color, 2.03)),
                                     to   (shade(@menu_bg_dark_color, 1.17)));
    padding: 5px 5px 6px 5px;
    box-shadow: inset  0px  1px shade(@selected_bg_color, 1.05),
                inset  1px  0px shade(@selected_bg_color, 0.97),
                inset -1px  0px shade(@selected_bg_color, 0.93),
                inset  0px -1px shade(@selected_bg_color, 0.93);
    color: @theme_fg_dark_color;
    border-width: 1px;
    border-right-width: 0px;
    border-left-width:  0px;
    border-radius: 0;
    padding: 5px 5px 6px 5px;
}

/* Leftmost titlebar-button */
.titlebar .linked .button:first-child,
.titlebar .linked .button:focus:first-child,
.titlebar .linked .button:insensitive:first-child,
.titlebar .button.raised.linked:first-child,
.titlebar .button.raised.linked:focus:first-child,
.titlebar .button.raised.linked:insensitive:first-child,
.titlebar .raised.linked .button:first-child,
.titlebar .raised.linked .button:focus:first-child,
.titlebar .raised.linked .button:insensitive:first-child {
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (shade(@button_raised_gradient_color_b, 0.90)),
                                     to   (shade(@button_raised_gradient_color_a, 0.80)));
    color: @theme_fg_dark_color;
    border-width: 1px;
    border-right-width: 0;
    border-radius: 5px;
    border-bottom-right-radius: 0;
    border-top-right-radius: 0;
    padding: 5px 5px 6px 5px;
}

.titlebar .linked .button:hover:first-child,
.titlebar .linked .button:checked:first-child,
.titlebar .linked .button:focus:hover:active:first-child,
.titlebar .linked .button:checked:hover:first-child,
.titlebar .linked .button:checked:focus:hover:active:first-child,
.titlebar .button.raised.linked:hover:first-child,
.titlebar .button.raised.linked:checked:first-child,
.titlebar .button.raised.linked:focus:hover:active:first-child,
.titlebar .button.raised.linked:checked:hover:first-child,
.titlebar .button.raised.linked:checked:focus:hover:active:first-child,
.titlebar .raised.linked .button:hover:first-child,
.titlebar .raised.linked .button:checked:first-child,
.titlebar .raised.linked .button:focus:hover:active:first-child,
.titlebar .raised.linked .button:checked:hover:first-child,
.titlebar .raised.linked .button:checked:focus:hover:active:first-child {
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (shade(@menu_bg_dark_color, 2.03)),
                                     to   (shade(@menu_bg_dark_color, 1.17)));
    padding: 5px 5px 6px 5px;
    box-shadow: inset  0px  1px shade(@selected_bg_color, 1.05),
                inset  1px  0px shade(@selected_bg_color, 0.97),
                inset -1px  0px shade(@selected_bg_color, 0.93),
                inset  0px -1px shade(@selected_bg_color, 0.93);
    color: @theme_fg_dark_color;
    border-width: 1px;
    border-right-width: 0;
    border-radius: 5px;
    border-bottom-right-radius: 0;
    border-top-right-radius: 0;
    padding: 5px 5px 6px 5px;
}

/* rightmost titlebar-button */
.titlebar .linked .button:last-child,
.titlebar .linked .button:focus:last-child,
.titlebar .linked .button:insensitive:last-child,
.titlebar .button.raised.linked:last-child,
.titlebar .button.raised.linked:focus:last-child,
.titlebar .button.raised.linked:insensitive:last-child,
.titlebar .raised.linked .button:last-child,
.titlebar .raised.linked .button:focus:last-child,
.titlebar .raised.linked .button:insensitive:last-child {
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (shade(@button_raised_gradient_color_b, 0.90)),
                                     to   (shade(@button_raised_gradient_color_a, 0.80)));
    color: @theme_fg_dark_color;
    border-width: 1px;
    border-left-width: 0px;
    border-radius: 5px;
    border-bottom-left-radius: 0;
    border-top-left-radius: 0;
    padding: 5px 5px 6px 5px;
}

.titlebar .linked .button:hover:last-child,
.titlebar .linked .button:checked:last-child,
.titlebar .linked .button:focus:hover:active:last-child,
.titlebar .linked .button:checked:hover:last-child,
.titlebar .linked .button:checked:focus:hover:active:last-child,
.titlebar .button.raised.linked:hover:last-child,
.titlebar .button.raised.linked:checked:last-child,
.titlebar .button.raised.linked:focus:hover:active:last-child,
.titlebar .button.raised.linked:checked:hover:last-child,
.titlebar .button.raised.linked:checked:focus:hover:active:last-child,
.titlebar .raised.linked .button:hover:last-child,
.titlebar .raised.linked .button:checked:last-child,
.titlebar .raised.linked .button:focus:hover:active:last-child,
.titlebar .raised.linked .button:checked:hover:last-child,
.titlebar .raised.linked .button:checked:focus:hover:active:last-child {
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (shade(@menu_bg_dark_color, 2.03)),
                                     to   (shade(@menu_bg_dark_color, 1.17)));
    padding: 5px 5px 6px 5px;
    box-shadow: inset  0px  1px shade(@selected_bg_color, 1.05),
                inset  1px  0px shade(@selected_bg_color, 0.97),
                inset -1px  0px shade(@selected_bg_color, 0.93),
                inset  0px -1px shade(@selected_bg_color, 0.93);
    color: @theme_fg_dark_color;
    border-width: 1px;
    border-left-width: 0px;
    border-radius: 5px;
    border-bottom-left-radius: 0;
    border-top-left-radius: 0;
    padding: 5px 5px 6px 5px;
}

/* Linked single titlebar-button */
.titlebar .linked .button:only-child,
.titlebar .linked .button:focus:only-child,
.titlebar .linked .button:insensitive:only-child,
.titlebar .button.raised.linked:only-child,
.titlebar .button.raised.linked:focus:only-child,
.titlebar .button.raised.linked:insensitive:only-child,
.titlebar .raised.linked .button:only-child,
.titlebar .raised.linked .button:focus:only-child,
.titlebar .raised.linked .button:insensitive:only-child {
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (shade(@button_raised_gradient_color_b, 0.90)),
                                     to   (shade(@button_raised_gradient_color_a, 0.80)));
    color: @theme_fg_dark_color;
    border-width: 1px;
    border-radius: 5px;
    padding: 5px 5px 6px 5px;
}

.titlebar .linked .button:hover:only-child,
.titlebar .linked .button:checked:only-child,
.titlebar .linked .button:focus:hover:active:only-child,
.titlebar .linked .button:checked:hover:only-child,
.titlebar .linked .button:checked:focus:hover:active:only-child,
.titlebar .button.raised.linked:hover:only-child,
.titlebar .button.raised.linked:checked:only-child,
.titlebar .button.raised.linked:focus:hover:active:only-child,
.titlebar .button.raised.linked:checked:hover:only-child,
.titlebar .button.raised.linked:checked:focus:hover:active:only-child,
.titlebar .raised.linked .button:hover:only-child,
.titlebar .raised.linked .button:checked:only-child,
.titlebar .raised.linked .button:focus:hover:active:only-child,
.titlebar .raised.linked .button:checked:hover:only-child,
.titlebar .raised.linked .button:checked:focus:hover:active:only-child {
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (shade(@menu_bg_dark_color, 2.03)),
                                     to   (shade(@menu_bg_dark_color, 1.17)));
    padding: 5px 5px 6px 5px;
    box-shadow: inset  0px  1px shade(@selected_bg_color, 1.05),
                inset  1px  0px shade(@selected_bg_color, 0.97),
                inset -1px  0px shade(@selected_bg_color, 0.93),
                inset  0px -1px shade(@selected_bg_color, 0.93);
    color: @theme_fg_dark_color;
    border-width: 1px;
    border-radius: 5px;
    padding: 5px 5px 6px 5px;
}

/* workaround to avoid unwanted black frames if switching compositor on/off */
.background .window-frame  {
    box-shadow: none;
}

.background.csd .window-frame {
    border-color: darker(@theme_bg_dark_color);
    border-radius: 7px 7px 0 0;
    border-width: 1px;
    border-style: solid;
    background-color: @theme_bg_color;
    box-shadow: 0 0 0 1px @wm_border, 0 2px 8px 3px @wm_shadow;
    /* this is used for the resize cursor area */
    margin: 10px;
}

/* workaround to avoid unwanted black frames if switching compositor on/off */
.window-frame:backdrop {
    background-color: @theme_bg_dark_color;
/*    box-shadow: 0 0 0 1px shade(@wm_border,1.1), 0 2px 5px 1px @wm_shadow;*/
    box-shadow: none;
}

.window-frame.tiled {
    border-radius: 0;
    background-color: @theme_bg_color;
}

.window-frame.ssd {
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.23);
}

.window-frame.solid-csd {
    border-radius: 0;
    margin: 1px;
    background-color: @wm_bg_a;
    border: solid 1px @wm_csd_solid_border_color;
    box-shadow: none;
}

.window-frame.csd.popup {
    border-radius: 0;
    box-shadow: none;
}

.window-frame.csd.tooltip {
    border-radius: 3px;
    box-shadow: 0 1px 5px shade (@theme_selected_bg_color, 1.3);
    padding: 4px 4px;
}

.window-frame.csd.message-dialog {
    border-radius: 7px;
    box-shadow: 0 1px 5px shade (@theme_selected_bg_color, 1.3);
}
/*********************
 * Spinner Animation *
 *********************/
/* This is could be CPU-intensive */

@keyframes spin {
    to { -gtk-icon-transform: rotate(1turn); }
}

.spinner {
    background-image: none;
    background-color: blue;
    opacity: 0;
    -gtk-icon-source: -gtk-icontheme("process-working-symbolic");
}

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

.spinner:active:insensitive {
    opacity: 0.5;
}

.button .spinner:active {
    color: @theme_fg_color;
}

/************************
 * overshoot/undershoot *
 ************************/

/* displays at end of mouse scrolling */
.overshoot.top {
    background-image: -gtk-gradient(radial,
                                    center top, 0,
                                    center top, 0.5,
                                    to(@overshoot_bg_color),
                                    to(rgba(158, 179, 137, 0))),
                      -gtk-gradient(radial,
                                    center top, 0,
                                    center top, 0.6,
                                    from(rgba(73, 87, 56, 0.17)),
                                    to(rgba(73, 87, 56, 0)));
    background-size: 100% 5%, 100% 100%;
    background-repeat: no-repeat;
    background-position: center top;
    background-color: transparent;
    border: none;
    box-shadow: none;
}

.overshoot.top:backdrop {
    background-image: -gtk-gradient(radial,
                                    center top, 0,
                                    center top, 0.5,
                                    to(@overshoot_backdrop_bg_color),
                                    to(rgba(137, 145, 131, 0)));
    background-size: 100% 5%;
    background-repeat: no-repeat;
    background-position: center top;
    background-color: transparent;
    border: none;
    box-shadow: none;
}

.overshoot.bottom {
    background-image: -gtk-gradient(radial,
                                    center bottom, 0,
                                    center bottom, 0.5,
                                    to(@overshoot_bg_color),
                                    to(rgba(158, 179, 137, 0))),
                      -gtk-gradient(radial,
                                    center bottom, 0,
                                    center bottom, 0.6,
                                    from(rgba(73, 87, 56, 0.17)),
                                    to(rgba(73, 87, 56, 0)));
    background-size: 100% 5%, 100% 100%;
    background-repeat: no-repeat;
    background-position: center bottom;
    background-color: transparent;
    border: none;
    box-shadow: none;
}

.overshoot.bottom:backdrop {
    background-image: -gtk-gradient(radial,
                                    center bottom, 0,
                                    center bottom, 0.5,
                                    to(@overshoot_backdrop_bg_color),
                                    to(rgba(137, 145, 131, 0)));
    background-size: 100% 5%;
    background-repeat: no-repeat;
    background-position: center bottom;
    background-color: transparent;
    border: none;
    box-shadow: none;
}

.overshoot.left {
    background-image: -gtk-gradient(radial,
                                    left center, 0,
                                    left center, 0.5,
                                    to(@overshoot_bg_color),
                                    to(rgba(158, 179, 137, 0))),
                      -gtk-gradient(radial,
                                    left center, 0,
                                    left center, 0.6,
                                    from(rgba(73, 87, 56, 0.07)),
                                    to(rgba(73, 87, 56, 0)));
    background-size: 5% 100%, 100% 100%;
    background-repeat: no-repeat;
    background-position: left center;
    background-color: transparent;
    border: none;
    box-shadow: none;
}

.overshoot.left:backdrop {
    background-image: -gtk-gradient(radial,
                                    left center, 0,
                                    left center, 0.5,
                                    to(@overshoot_backdrop_bg_color),
                                    to(rgba(137, 145, 131, 0)));
    background-size: 5% 100%;
    background-repeat: no-repeat;
    background-position: left center;
    background-color: transparent;
    border: none;
    box-shadow: none;
}

.overshoot.right {
    background-image: -gtk-gradient(radial,
                                    right center, 0,
                                    right center, 0.5,
                                    to(@overshoot_bg_color),
                                    to(rgba(158, 179, 137, 0))),
                      -gtk-gradient(radial,
                                    right center, 0,
                                    right center, 0.6,
                                    from(rgba(73, 87, 56, 0.07)),
                                    to(rgba(73, 87, 56, 0)));
    background-size: 5% 100%, 100% 100%;
    background-repeat: no-repeat;
    background-position: right center;
    background-color: transparent;
    border: none;
    box-shadow: none;
}

.overshoot.right:backdrop {
    background-image: -gtk-gradient(radial,
                                    right center, 0,
                                    right center, 0.5,
                                    to(@overshoot_backdrop_bg_color),
                                    to(rgba(137, 145, 131, 0)));
    background-size: 5% 100%;
    background-repeat: no-repeat;
    background-position: right center;
    background-color: transparent;
    border: none;
    box-shadow: none;
}

/* result is disable undershoot */
.undershoot.top {
    background-color: transparent;
    background-image: linear-gradient(to left,
                                      rgba(255, 255, 255, 0.2) 50%,
                                      rgba(0, 0, 0, 0.2) 50%);
    background-size: 10px 0px;
    background-repeat: repeat-x;
    background-origin: content-box;
    background-position: center top;
}

.undershoot.bottom {
    background-color: transparent;
    background-image: linear-gradient(to left,
                                      rgba(255, 255, 255, 0.2) 50%,
                                      rgba(0, 0, 0, 0.2) 50%);
    background-size: 10px 0px;
    background-repeat: repeat-x;
    background-origin: content-box;
    background-position: center bottom;
}

.undershoot.left {
    background-color: transparent;
    background-image: linear-gradient(to top,
                                      rgba(255, 255, 255, 0.2) 50%,
                                      rgba(0, 0, 0, 0.2) 50%);
    background-size: 0px 10px;
    background-repeat: repeat-y;
    background-origin: content-box;
    background-position: left center;
}

.undershoot.right {
    background-color: transparent;
    background-image: linear-gradient(to top,
                                      rgba(255, 255, 255, 0.2) 50%,
                                      rgba(0, 0, 0, 0.2) 50%);
    background-size: 0px 10px;
    background-repeat: repeat-y;
    background-origin: content-box;
    background-position: right center;
}

/************
 * GtkStack *
 ************/

GtkStack .horizontal .vertical .frame {
    background-color: shade (@theme_bg_color, 1.1);
    border-width: 1px;
    border-color: @notebook_border;
}

GtkStackSidebar.sidebar .separator.horizontal {
    -GtkWidget-separator-height: 0px;
}

GtkStack .linked.vertical .entry {
    border-radius: 5px;
    border-style: solid;
    border-width: 1px 1px 0px 1px;
    box-shadow: inset  0px  2px alpha(#fff, 0.11),
                inset  2px  0px alpha(#fff, 0.09),
                inset -2px  0px alpha(#fff, 0.09),
                inset  0px -2px alpha(#fff, 0.09),
                inset  0px  1px alpha(shade(@button_border, 1.00), 0.70),
                inset  1px  0px alpha(shade(@button_border, 0.94), 0.80),
                inset -1px  0px alpha(shade(@button_border, 0.94), 0.70),
                inset  0px -1px alpha(shade(@button_border, 0.88), 0.90);
}


GtkStack .vertical.linked > GtkComboBox > GtkToggleButton.button:last-child,
GtkStack .vertical.linked > GtkComboBox > GtkToggleButton.button:hover:last-child,
GtkStack .vertical.linked > GtkComboBox > GtkToggleButton.button:focus:last-child,
GtkStack .vertical.linked > GtkComboBox > GtkToggleButton.button:focus:hover:last-child,
GtkStack .vertical.linked > GtkComboBox > GtkToggleButton.button:checked:last-child,
GtkStack .vertical.linked > GtkComboBox > GtkToggleButton.button:insensitive:last-child,
GtkStack .linked.vertical GtkToggleButton.button,
GtkStack .linked.vertical GtkToggleButton.button:hover,
GtkStack .linked.vertical GtkToggleButton.button:focus,
GtkStack .linked.vertical GtkToggleButton.button:focus:hover,
GtkStack .linked.vertical GtkToggleButton.button:checked,
GtkStack .linked.vertical GtkToggleButton.button:insensitive {
    border-radius: 5px 5px 0 0;
    border-width: 1px;
    border-bottom-width: 1px;
    border-style: solid;
    padding: 3px 5px;
}

GtkStack .linked.vertical .button:last-child,
GtkStack .linked.vertical .button:hover:last-child,
GtkStack .linked.vertical .button:focus:last-child,
GtkStack .linked.vertical .button:focus:hover:last-child,
GtkStack .linked.vertical .button:checked:last-child,
GtkStack .linked.vertical .button:insensitive:last-child {
    border-radius: 0 0 5px 5px;
    border-width: 1px;
    border-top-width: 0;
    border-style: solid;
    padding: 5px 5px;
}

GtkStack .linked.vertical GtkSpinButton.horizontal.entry.spinbutton,
GtkStack .linked.vertical GtkSpinButton.horizontal.entry.spinbutton:hover,
GtkStack .linked.vertical GtkSpinButton.horizontal.entry.spinbutton:focus,
GtkStack .linked.vertical GtkSpinButton.horizontal.entry.spinbutton:active,
GtkStack .linked.vertical GtkSpinButton.horizontal.entry.spinbutton:checked,
GtkStack .linked.vertical GtkSpinButton.horizontal.entry.spinbutton:insensitive {
    border-radius: 0px;
    border-width: 1px;
    border-style: solid;
    padding: 6px 5px;
}

/* all to zero */
GtkStack .linked.vertical GtkSpinButton.horizontal.entry.spinbutton .button,
GtkStack .linked.vertical GtkSpinButton.horizontal.entry.spinbutton .button:last-child,
GtkStack .linked.vertical GtkSpinButton.horizontal.entry.spinbutton .button:hover,
GtkStack .linked.vertical GtkSpinButton.horizontal.entry.spinbutton .button:hover:last-child,
GtkStack .linked.vertical GtkSpinButton.horizontal.entry.spinbutton .button:hover:active,
GtkStack .linked.vertical GtkSpinButton.horizontal.entry.spinbutton .button:hover:active:last-child,
GtkStack .linked.vertical GtkSpinButton.horizontal.entry.spinbutton .button:focus,
GtkStack .linked.vertical GtkSpinButton.horizontal.entry.spinbutton .button:focus:last-child,
GtkStack .linked.vertical GtkSpinButton.horizontal.entry.spinbutton .button:focus:hover,
GtkStack .linked.vertical GtkSpinButton.horizontal.entry.spinbutton .button:focus:hover:last-child,
GtkStack .linked.vertical GtkSpinButton.horizontal.entry.spinbutton .button:focus:hover:active,
GtkStack .linked.vertical GtkSpinButton.horizontal.entry.spinbutton .button:focus:hover:active:last-child,
GtkStack .linked.vertical GtkSpinButton.horizontal.entry.spinbutton .button:checked,
GtkStack .linked.vertical GtkSpinButton.horizontal.entry.spinbutton .button:checked:last-child,
GtkStack .linked.vertical GtkSpinButton.horizontal.entry.spinbutton .button:checked:hover,
GtkStack .linked.vertical GtkSpinButton.horizontal.entry.spinbutton .button:checked:hover:last-child,
GtkStack .linked.vertical GtkSpinButton.horizontal.entry.spinbutton .button:checked:focus:hover:active,
GtkStack .linked.vertical GtkSpinButton.horizontal.entry.spinbutton .button:checked:focus:hover:active:last-child,
GtkStack .linked.vertical GtkSpinButton.horizontal.entry.spinbutton .button:insensitive,
GtkStack .linked.vertical GtkSpinButton.horizontal.entry.spinbutton .button:first-child:insensitive {
    border-radius: 0px;
    border-width: 0px;
    border-style: none;
    padding: 6px 5px;
    background-color: transparent;
    background-image: none;
    border-image: none;
    box-shadow: none;
}

GtkStack .linked.vertical GtkSpinButton.horizontal.entry.spinbutton .button,
GtkStack .linked.vertical GtkSpinButton.horizontal.entry.spinbutton .button:hover,
GtkStack .linked.vertical GtkSpinButton.horizontal.entry.spinbutton .button:focus:hover,
GtkStack .linked.vertical GtkSpinButton.horizontal.entry.spinbutton .button:focus,
GtkStack .linked.vertical GtkSpinButton.horizontal.entry.spinbutton .button:checked {
    border-width: 0 1px 0 1px;
    border-style: solid;
    border-color: shade(@notebook_border, 1.0);
}

GtkStack .linked.vertical GtkSpinButton.horizontal.entry.spinbutton .button:last-child,
GtkStack .linked.vertical GtkSpinButton.horizontal.entry.spinbutton .button:hover:last-child,
GtkStack .linked.vertical GtkSpinButton.horizontal.entry.spinbutton .button:focus:hover:last-child,
GtkStack .linked.vertical GtkSpinButton.horizontal.entry.spinbutton .button:focus:last-child,
GtkStack .linked.vertical GtkSpinButton.horizontal.entry.spinbutton .button:checked:last-child {
    border-width: 0px;
}

GtkStack .linked.vertical GtkSpinButton.horizontal.entry.spinbutton .button:hover,
GtkStack .linked.vertical GtkSpinButton.horizontal.entry.spinbutton .button:focus:hover,
GtkStack .linked.vertical GtkSpinButton.horizontal.entry.spinbutton .button:hover:last-child,
GtkStack .linked.vertical GtkSpinButton.horizontal.entry.spinbutton .button:focus:hover:last-child {
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (shade(@button_gradient1, 1.03)),
                                     color-stop (0.48, shade(@button_gradient2, 1.03)),
                                     color-stop (0.52, shade(@button_gradient3, 1.03)),
                                     to   (shade(@button_gradient4, 1.01)));
}

GtkStack .linked.vertical GtkSpinButton.horizontal.entry.spinbutton .button:active,
GtkStack .linked.vertical GtkSpinButton.horizontal.entry.spinbutton .button:active:last-child {
    background-image: -gtk-gradient (linear,
                                     left top, left bottom,
                                     from (shade (@theme_bg_color, 1.20)),
                                     color-stop (0.50, shade (@theme_bg_color, 1.00)),
                                     color-stop (0.50, shade (@theme_bg_color, 0.95)),
                                     to (shade (@theme_bg_color, 0.80)));
}

GtkStack .linked.vertical GtkSpinButton.horizontal.entry.spinbutton .button:active,
GtkStack .linked.vertical GtkSpinButton.horizontal.entry.spinbutton .button:hover,
GtkStack .linked.vertical GtkSpinButton.horizontal.entry.spinbutton .button:focus:hover {
    border-width: 1px;
    border-style: solid;
    border-color: shade(@button_border_active, 1.0);
}

GtkStack .linked.vertical GtkSpinButton.horizontal.entry.spinbutton .button:active:last-child,
GtkStack .linked.vertical GtkSpinButton.horizontal.entry.spinbutton .button:hover:last-child,
GtkStack .linked.vertical GtkSpinButton.horizontal.entry.spinbutton .button:focus:hover:last-child {
    border-width: 1px;
    border-style: solid;
    border-width: 1px 1px 1px 0;
}

/****************
 * print dialog *
 ****************/

GtkPrintUnixDialog.background .vertical.view.dialog-vbox {
    background-color: shade (@theme_bg_color, 1.0);
}

GtkPrintUnixDialog.background .notebook {
    border-width: 0px 1px 1px 1px;
    border-radius: 0px 0px 4px 4px;
}

GtkPrintUnixDialog.background .notebook.header {
    border-radius: 0px;
}

GtkPrintUnixDialog.background .notebook tab GtkLabel {
    color: mix (@theme_fg_color, @theme_bg_color, 0.40);
    font-weight: normal;
}

GtkPrintUnixDialog.background .notebook .prelight-page,
GtkPrintUnixDialog.background .notebook .prelight-page GtkLabel {
    color: mix (@theme_fg_color, @theme_bg_color, 0.15);
}

GtkPrintUnixDialog.background .notebook .active-page,
.notebook tab .active-page GtkLabel {
    color: @theme_fg_color;
}

GtkPrintUnixDialog.background .notebook tab.top:active,
GtkPrintUnixDialog.background .notebook tab.top:hover:active {
    background-image: linear-gradient(to bottom,
                                      shade(@theme_bg_color, 1.18),
                                      shade(@theme_bg_color, 1.1));
    border-radius: 4px 4px 0 0;
    border-width: 1px 1px 0 1px;
    border-style: solid;
    border-color: @borders;
    box-shadow: none;
}

GtkPrintUnixDialog.background .notebook tab.top:hover {
    background-image: linear-gradient(to bottom,
                                      alpha(@theme_base_color, 0.0),
                                      alpha(@theme_base_color, 0.3));
    border-radius: 4px 4px 0 0;
    border-width: 1px 1px 0 1px;
    border-style: solid;
    border-color: @borders;
    box-shadow: none;
}

GtkPrintUnixDialog.background .notebook tab.top:active {
    border-bottom-color: @notebook_active_tab_border;
}

GtkPrintUnixDialog.background .notebook .text-button {
    background-color: transparent;
}

GtkPrintUnixDialog.background .vertical.view.dialog-vbox .notebook GtkToggleButton.button {
    padding: 4px;
    border-radius: 4px;
}

/******************
 * GtkFileChooser *
 ******************/

GtkFileChooserWidget.vertical GtkPaned.horizontal {
    -GtkPaned-handle-size: 3px;
    border-color: transparent;
}

/* workaround for broken first/last-child logic with linked buttons
   in pathbar with gtk+-3.18 */
.path-bar.linked .button:dir(ltr),
.path-bar.linked .button:dir(ltr):hover,
.path-bar.linked .button:dir(ltr):hover:active,
.path-bar.linked .button:dir(ltr):checked,
.path-bar.linked .button:dir(ltr):checked:hover,
.path-bar.linked .button:dir(ltr):checked:hover:active,
.path-bar.linked .button:dir(ltr):first-child,
.path-bar.linked .button:dir(ltr):hover:first-child,
.path-bar.linked .button:dir(ltr):hover:active:first-child,
.path-bar.linked .button:dir(ltr):checked:first-child,
.path-bar.linked .button:dir(ltr):checked:hover:first-child,
.path-bar.linked .button:dir(ltr):checked:hover:active:first-child,
.path-bar.linked .button:dir(ltr):last-child,
.path-bar.linked .button:dir(ltr):hover:last-child,
.path-bar.linked .button:dir(ltr):hover:active:last-child,
.path-bar.linked .button:dir(ltr):checked:last-child,
.path-bar.linked .button:dir(ltr):checked:hover:last-child,
.path-bar.linked .button:dir(ltr):checked:hover:active:last-child {
	border-width: 1px 0 1px 0px;
	border-radius: 3px;
    padding: 0px 4px;
}

.path-bar.linked .button  {
    box-shadow: inset  0px  2px alpha(#fff, 0.11),
                inset  2px  0px alpha(#fff, 0.09),
                inset -2px  0px alpha(#fff, 0.09),
                inset  0px -2px alpha(#fff, 0.07),
                inset  0px  1px alpha(shade(@button_border, 1.00), 0.70),
                inset  1px  0px alpha(shade(@button_border, 0.94), 0.80),
                inset -1px  0px alpha(shade(@button_border, 0.94), 0.80),
                inset  0px -1px alpha(shade(@button_border, 0.88), 0.90);
}

.path-bar.linked .button:hover,
.path-bar.linked .button:checked,
.path-bar.linked .button:checked:active {
    box-shadow: inset  0px  1px shade(@selected_bg_color, 1.05),
                inset  1px  0px shade(@selected_bg_color, 0.97),
                inset -1px  0px shade(@selected_bg_color, 0.93),
                inset  0px -1px shade(@selected_bg_color, 0.93);
}

/*****************
 * Miscellaneous *
 *****************/

.floating-bar {
    background-image: linear-gradient(to bottom, 

                                      @theme_bg_color 20%, 
                                      shade(@theme_bg_color, 0.95));
    background-color: @theme_bg_color;
    border-color: shade(@theme_bg_color, 0.85);
    color: @theme_text_color;
    text-shadow: 0 1px @theme_shadow_color;
    border-radius: 3px;
    border-width: 1px;
    border-style: solid;
    box-shadow: inset 1px 1px alpha(#fff, 0.07), -1px -1px alpha(#fff, 0.07);
}

.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 alpha(#fff, 0.07);
}

.floating-bar.bottom.left {
    box-shadow: inset -1px 1px alpha(#fff, 0.07);
}

