/* NOTES to contributors:
 * use 4 spaces intends, and keep code ALIGNED and ORDERED */

/* default */
* {
    -GtkArrow-arrow-scaling: 0.6;
    -GtkButton-child-displacement-x: 1;
    -GtkButton-child-displacement-y: 1;
    -GtkButton-default-border: 0;
    -GtkButton-image-spacing: 6;
    -GtkButton-interior-focus: true;
    -GtkButton-inner-border: 3;
    -GtkCheckButton-indicator-size: 16;
    -GtkCheckMenuItem-indicator-size: 14;
    -GtkEntry-inner-border: 2;
    -GtkEntry-progress-border: 0;
    -GtkExpander-expander-size: 8;
    -GtkHTML-link-color: @link_color;
    -GtkIMHtml-hyperlink-color: @link_color;
    -GtkMenu-horizontal-padding: 3;
    -GtkMenu-vertical-padding: 5;  
    -GtkMenuBar-internal-padding: 3;
    -GtkMenuItem-arrow-scaling: 0.6;
    -GtkNotebook-tab-overlap: 1;
    -GtkPaned-handle-size: 6;
    -GtkProgressBar-min-horizontal-bar-height: 18;
    -GtkProgressBar-min-vertical-bar-width: 18;
    -GtkRange-trough-border: 0;
    -GtkRange-slider-width: 14;
    -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: 13;
    -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: 6;
    -GtkToolItemGroup-expander-size: 11;
    -GtkToolbar-internal-padding: 0;
    -GtkTreeView-expander-size: 8;
    -GtkTreeView-vertical-separator: 0;
    -GtkWidget-wide-separators: true;
    -GtkWidget-separator-width: 2px;
    -GtkWidget-separator-height: 2;
    -GtkWidget-focus-padding: 0;
    -GtkWidget-focus-line-width: 1px;
    -GtkWidget-link-color: @link_color;
    -GtkWidget-visited-link-color: @link_color;
    -GtkWindow-resize-grip-width: 0;
    -GtkWindow-resize-grip-height: 0;
    -WnckTasklist-fade-overlay-rect: 0;

    border-width: 1px;

    engine: unico;

    -unico-focus-border-color: alpha (@selected_bg_color, 0.5);
    -unico-focus-border-radius: 3;
    -unico-focus-fill-color: alpha (@selected_bg_color, 0.1);
    -unico-focus-outer-stroke-color: @transparent;

    -unico-inner-stroke-color: shade (@bg_color, 1.1);
    -unico-inner-stroke-width: 0;
}

GtkWindow {
    color: @fg_color;
}

* {
    /* inherit the color from parent by default */
    color: inherit;
    background-color: @bg_color;
}

/**********
 * states *
 **********/
*:insensitive {
    color: shade (@bg_color, 0.6);
    text-shadow: 0 1px alpha (shade (@bg_color, 1.25), 0.5);
}

*:active {
}

*:active:hover:insensitive {
}

*:active:insensitive {
}

*:hover {
}

*:hover:insensitive {
}

*:selected,
*:selected:focused {
    background-color: alpha (@selected_bg_color, 0.9);
    color: @selected_fg_color;
}

/******************
 * common effects *
 ******************/
/* border and inner stroke */
.button,
.frame,
.notebook {
    border-style: solid;
    -unico-border-gradient: -gtk-gradient (linear, left top, left bottom,
                                           from (shade (@bg_color, 0.8)),
                                           to (shade (@bg_color, 0.76)));
}

.frame,
.notebook {
    -unico-inner-stroke-color: alpha (shade (@bg_color, 1.26), 0.2);
    -unico-inner-stroke-gradient: none;
    -unico-inner-stroke-width: 1px;
}

.button:insensitive,
.frame:insensitive,
.notebook:insensitive {
    -unico-border-gradient: -gtk-gradient (linear, left top, left bottom,
                                           from (shade (@bg_color, 0.8)),
                                           to (shade (@bg_color, 0.8)));
}

/* inset */
GtkComboBox.combobox-entry .button,
.button:active,
.button:insensitive,
.check,
.entry,
.radio {
    -unico-outer-stroke-gradient: -gtk-gradient (linear, left top, left bottom,
                                                 from (alpha (shade (@bg_color, 0.85), 0.2)),
                                                 to (alpha (shade (@bg_color, 1.25), 0.6)));
    -unico-outer-stroke-width: 1px;
}

/* shadow */
.button,
.check:active,
.frame,
.notebook .button,
.notebook,
.radio:active {
    -unico-outer-stroke-gradient: -gtk-gradient (linear, left top, left bottom,
                                                 from (alpha (@bg_color, 0.00)),
                                                 to (alpha (shade (@bg_color, 1.25), 0.5)));
    -unico-outer-stroke-width: 1px;
}
/*
.button:hover,
.notebook .button:hover {
    -unico-outer-stroke-top-color: @transparent;
    -unico-outer-stroke-right-color: @transparent;
    -unico-outer-stroke-bottom-color: alpha (shade (@bg_color, 0.05), 0.06);
    -unico-outer-stroke-left-color: @transparent;
    -unico-outer-stroke-gradient: none;
    -unico-outer-stroke-width: 1px;
}
*/
/*************
 * assistant *
 *************/
GtkAssistant .sidebar .highlight {
    color: @fg_color;
    font: bold;
}

GtkAssistant .sidebar {
    background-color: shade (@bg_color, 0.97);
    border-right-color: shade (@bg_color, 0.8);
    border-radius: 0;
    border-style: solid;
    border-width: 0 1px 0 0;
    padding: 12px;
    color: mix (@fg_color, @bg_color, 0.40);
    text-shadow: 0 1px shade (@bg_color, 1.04);
    -unico-border-gradient: none;
    -unico-inner-stroke-right-color: shade (@bg_color, 0.94);
    -unico-inner-stroke-width: 0 1px 0 0;
    -unico-outer-stroke-width: 0;
}

/**************
 * background *
 **************/
.background {
    background-color: @bg_color;
    border-width: 0;
}

/**********
 * button *
 **********/
.button {
    padding: 3px;
    -unico-focus-border-color: alpha (@selected_bg_color, 0.7);
    -unico-focus-fill-color: @transparent;
    -unico-focus-outer-stroke-color: alpha (@selected_bg_color, 0.2);
}

GtkComboBox,
.button {
    background-image: -gtk-gradient (linear, left top, left bottom,
                                     from (shade (@button_bg_color, 1.1)),
                                     to (shade (@button_bg_color, 0.9)));
    border-radius: 3px;
    border-style: solid;

    color: @fg_color;
    text-shadow: 0 1px alpha (shade (@button_bg_color, 1.25), 0.4);

    /* This breaks Gtk+ 3.5.x, lp #1015497. */
    /* transition: 100ms ease-in-out; */

    -unico-border-gradient: -gtk-gradient (linear, left top, left bottom,
                                           from (shade (@button_bg_color, 0.85)),
                                           to (shade (@button_bg_color, 0.67)));
    -unico-glow-color: shade (@button_bg_color, 1.14);
    -unico-glow-radius: 6;
    -unico-inner-stroke-gradient: -gtk-gradient (linear, left top, left bottom,
                                                 from (shade (@button_bg_color, 1.16)),
                                                 to (shade (@button_bg_color, 1.015)));
    -unico-inner-stroke-width: 1px;
}

.button:hover {
    background-image: -gtk-gradient (linear, left top, left bottom,
                                     from (shade (@button_bg_color, 1.16)),
                                     to (shade (@button_bg_color, 0.95)));

    -unico-border-gradient: -gtk-gradient (linear, left top, left bottom,
                                           from (shade (@button_bg_color, 0.89)),
                                           to (shade (@button_bg_color, 0.7)));
    -unico-glow-color: shade (@button_bg_color, 1.18);
    -unico-inner-stroke-gradient: -gtk-gradient (linear, left top, left bottom,
                                                 from (shade (@button_bg_color, 1.2)),
                                                 to (shade (@button_bg_color, 1.06)));
}

.button:active {
    background-image: -gtk-gradient (linear, left top, left bottom,
                                     from (shade (@button_bg_color, 0.9)),
                                     to (shade (@button_bg_color, 0.95)));

    -unico-focus-outer-stroke: @transparent;

    -unico-border-gradient: -gtk-gradient (linear, left top, left bottom,
                                           from (shade (@button_bg_color, 0.6)),
                                           to (shade (@button_bg_color, 0.7)));
    -unico-glow-radius: 0;
    -unico-inner-stroke-gradient: -gtk-gradient (linear, left top, left bottom,
                                                 from (shade (@button_bg_color, 0.84)),
                                                 to (shade (@button_bg_color, 0.9)));
}

.button:active:hover {
    background-image: -gtk-gradient (linear, left top, left bottom,
                                     from (shade (@button_bg_color, 0.95)),
                                     to (shade (@button_bg_color, 1.0)));

    -unico-border-gradient: -gtk-gradient (linear, left top, left bottom,
                                           from (shade (@button_bg_color, 0.6)),
                                           to (shade (@button_bg_color, 0.7)));
    -unico-inner-stroke-gradient: -gtk-gradient (linear, left top, left bottom,
                                                 from (shade (@button_bg_color, 0.88)),
                                                 to (shade (@button_bg_color, 0.94)));
}

.button:insensitive {
    background-image: -gtk-gradient (linear, left top, left bottom,
                                     from (shade (@button_insensitive_bg_color, 1.04)),
                                     to (shade (@button_insensitive_bg_color, 0.96)));

    text-shadow: 0 1px alpha (shade (@button_bg_color, 1.25), 0.4);

    -unico-border-gradient: -gtk-gradient (linear, left top, left bottom,
                                           from (shade (@button_insensitive_bg_color, 0.8)),
                                           to (shade (@button_insensitive_bg_color, 0.8)));
    -unico-inner-stroke-gradient: -gtk-gradient (linear, left top, left bottom,
                                                 from (shade (@button_insensitive_bg_color, 1.08)),
                                                 to (shade (@button_insensitive_bg_color, 1.0)));
}

.button:insensitive:active {
    background-image: -gtk-gradient (linear, left top, left bottom,
                                     from (shade (@button_insensitive_bg_color, 0.97)),
                                     to (shade (@button_insensitive_bg_color, 1.0)));

    -unico-inner-stroke-gradient: -gtk-gradient (linear, left top, left bottom,
                                                 from (shade (@button_insensitive_bg_color, 0.95)),
                                                 to (shade (@button_insensitive_bg_color, 0.98)));
}

GtkComboBox.combobox-entry .button,
GtkScale.slider,
GtkScale.slider.vertical,
.notebook .button,
.inline-toolbar.toolbar .button {
    background-image: -gtk-gradient (linear, left top, left bottom,
                                     from (shade (@bg_color, 1.12)),
                                     to (shade (@bg_color, 0.92)));
    border-top-color: shade (@bg_color, 0.82);
    border-right-color: shade (@bg_color, 0.78);
    border-bottom-color: shade (@bg_color, 0.64);
    border-left-color: shade (@bg_color, 0.78);
    padding: 3px;

    text-shadow: 0 1px alpha (shade (@bg_color, 1.26), 0.5);

    -unico-border-gradient: none;
    -unico-glow-color: shade (@bg_color, 1.02);
    -unico-glow-radius: 4;
    -unico-inner-stroke-gradient: -gtk-gradient (linear, left top, left bottom,
                                                 from (shade (@bg_color, 1.2)),
                                                 to (shade (@bg_color, 0.98)));
}

GtkComboBox.combobox-entry .button:hover,
GtkScale.slider:hover,
GtkScale.slider.vertical:hover,
.notebook .button:hover,
.inline-toolbar.toolbar .button:hover {
    background-image: -gtk-gradient (linear, left top, left bottom,
                                     from (shade (@bg_color, 1.16)),
                                     to (shade (@bg_color, 0.95)));
    border-top-color: shade (@bg_color, 0.84);
    border-right-color: shade (@bg_color, 0.80);
    border-bottom-color: shade (@bg_color, 0.66);
    border-left-color: shade (@bg_color, 0.80);

    -unico-border-gradient: none;
    -unico-glow-color: shade (@bg_color, 1.07);
    -unico-inner-stroke-gradient: -gtk-gradient (linear, left top, left bottom,
                                                 from (shade (@bg_color, 1.21)),
                                                 to (shade (@bg_color, 1.02)));
}

GtkComboBox.combobox-entry .button:active,
.notebook .button:active,
.inline-toolbar.toolbar .button:active {
    background-image: -gtk-gradient (linear, left top, left bottom,
                                     from (shade (@bg_color, 0.9)),
                                     to (shade (@bg_color, 0.95)));
    border-top-color: shade (@bg_color, 0.62);
    border-right-color: shade (@bg_color, 0.72);
    border-bottom-color: shade (@bg_color, 0.76);
    border-left-color: shade (@bg_color, 0.72);

    -unico-border-gradient: none;
    -unico-inner-stroke-gradient: -gtk-gradient (linear, left top, left bottom,
                                                 from (shade (@bg_color, 0.85)),
                                                 to (shade (@bg_color, 0.9)));
}

GtkComboBox.combobox-entry .button:active:hover,
.notebook .button:active:hover,
.inline-toolbar.toolbar .button:active:hover {
    background-image: -gtk-gradient (linear, left top, left bottom,
                                     from (shade (@bg_color, 0.95)),
                                     to (shade (@bg_color, 1.0)));
    border-top-color: shade (@bg_color, 0.64);
    border-right-color: shade (@bg_color, 0.74);
    border-bottom-color: shade (@bg_color, 0.79);
    border-left-color: shade (@bg_color, 0.74);

    -unico-border-gradient: none;
    -unico-inner-stroke-gradient: -gtk-gradient (linear, left top, left bottom,
                                                 from (shade (@bg_color, 0.93)),
                                                 to (shade (@bg_color, 0.94)));
}

GtkComboBox.combobox-entry .button:insensitive,
.notebook .button:insensitive,
.inline-toolbar.toolbar .button:insensitive {
    background-image: -gtk-gradient (linear, left top, left bottom,
                                     from (shade (@bg_color, 1.06)),
                                     to (shade (@bg_color, 0.98)));
    border-top-color: shade (@bg_color, 0.86);
    border-right-color: shade (@bg_color, 0.86);
    border-bottom-color: shade (@bg_color, 0.86);
    border-left-color: shade (@bg_color, 0.9);

    -unico-border-gradient: none;
    -unico-inner-stroke-gradient: -gtk-gradient (linear, left top, left bottom,
                                                 from (shade (@bg_color, 1.1)),
                                                 to (shade (@bg_color, 1.0)));
}

/* default button */
.button.default {
    background-image: -gtk-gradient (linear, left top, left bottom,
                                     from (mix (shade (@selected_bg_color, 1.16), @bg_color, 0.3)),
                                     to (mix (shade (@selected_bg_color, 0.84), @bg_color, 0.3)));

    text-shadow: 0 1px alpha (shade (@selected_bg_color, 1.26), 0.4);

    -unico-focus-border-color: @transparent;
    -unico-focus-outer-stroke-color: alpha (@selected_bg_color, 0.2);

    -unico-border-gradient: -gtk-gradient (linear, left top, left bottom,
                                           from (mix (shade (@selected_bg_color, 0.8), @bg_color, 0.3)),
                                           to (mix (shade (@selected_bg_color, 0.64), @bg_color, 0.3)));
    -unico-glow-color: mix (shade (@selected_bg_color, 1.5), @bg_color, 0.3);
    -unico-inner-stroke-gradient: -gtk-gradient (linear, left top, left bottom,
                                                 from (mix (shade (@selected_bg_color, 1.42), @bg_color, 0.3)),
                                                 to (mix (shade (@selected_bg_color, 1.12), @bg_color, 0.3)));
}

.button.default:hover {
    background-image: -gtk-gradient (linear, left top, left bottom,
                                     from (mix (shade (@selected_bg_color, 1.21), @bg_color, 0.3)),
                                     to (mix (shade (@selected_bg_color, 0.89), @bg_color, 0.3)));

    -unico-border-gradient: -gtk-gradient (linear, left top, left bottom,
                                           from (mix (shade (@selected_bg_color, 0.83), @bg_color, 0.3)),
                                           to (mix (shade (@selected_bg_color, 0.67), @bg_color, 0.3)));
    -unico-glow-color: mix (shade (@selected_bg_color, 1.55), @bg_color, 0.3);
    -unico-inner-stroke-gradient: -gtk-gradient (linear, left top, left bottom,
                                                 from (mix (shade (@selected_bg_color, 1.47), @bg_color, 0.3)),
                                                 to (mix (shade (@selected_bg_color, 1.17), @bg_color, 0.3)));
}

.button.default:active {
    background-image: -gtk-gradient (linear, left top, left bottom,
                                     from (mix (shade (@selected_bg_color, 0.95), @bg_color, 0.3)),
                                     to (mix (shade (@selected_bg_color, 1.05), @bg_color, 0.3)));

    -unico-border-gradient: -gtk-gradient (linear, left top, left bottom,
                                           from (mix (shade (@selected_bg_color, 0.7), @bg_color, 0.3)),
                                           to (mix (shade (@selected_bg_color, 0.7), @bg_color, 0.3)));
    -unico-inner-stroke-gradient: -gtk-gradient (linear, left top, left bottom,
                                                 from (mix (shade (@selected_bg_color, 0.9), @bg_color, 0.3)),
                                                 to (mix (shade (@selected_bg_color, 1.0), @bg_color, 0.3)));
}

.button.default:active:hover {
    background-image: -gtk-gradient (linear, left top, left bottom,
                                     from (mix (shade (@selected_bg_color, 1.0), @bg_color, 0.3)),
                                     to (mix (shade (@selected_bg_color, 1.1), @bg_color, 0.3)));

    -unico-border-gradient: -gtk-gradient (linear, left top, left bottom,
                                           from (mix (shade (@selected_bg_color, 0.7), @bg_color, 0.3)),
                                           to (mix (shade (@selected_bg_color, 0.7), @bg_color, 0.3)));
    -unico-inner-stroke-gradient: -gtk-gradient (linear, left top, left bottom,
                                                 from (mix (shade (@selected_bg_color, 0.95), @bg_color, 0.3)),
                                                 to (mix (shade (@selected_bg_color, 1.05), @bg_color, 0.3)));
}

.button.default:insensitive {
    -unico-glow-radius: 0;
}

/****************
 * cell and row *
 ****************/
.cell {
    background-color: @base_color;
    border-radius: 0;
    border-width: 0;
}

.cell:selected {
}

row:hover {
}

row:insensitive {
}

row:selected {
    background-image: -gtk-gradient (linear, left top, left bottom,
                                     from (shade (@selected_bg_color, 1.06)),
                                     to (shade (@selected_bg_color, 0.94)));
    border-top-color: shade (@selected_bg_color, 0.88);
    border-style: solid;
    border-width: 1px 0 0 0;

    color: @selected_fg_color;
}

row:selected:focused {
}

/*******************
 * check and radio *
 *******************/
.check row:selected,
.radio row:selected,
.check,
.check row,
.radio,
.radio row {
    background-image: -gtk-gradient (linear, left top, left bottom,
                                     from (shade (@base_color, 0.96)),
                                     to (@base_color));
    border-top-color: shade (@bg_color, 0.64);
    border-right-color: shade (@bg_color, 0.76);
    border-bottom-color: shade (@bg_color, 0.82);
    border-left-color: shade (@bg_color, 0.76);
    border-style: solid;
    border-width: 1px;

    -unico-border-gradient: none;
    -unico-inner-stroke-gradient: -gtk-gradient (linear, left top, left bottom,
                                                 from (alpha (shade (@bg_color, 0.05), 0.06)),
                                                 to (alpha (shade (@bg_color, 0.05), 0.03)));
    -unico-inner-stroke-width: 1px;
}

.check,
.check row {
    border-radius: 3px;
}

.radio,
.radio row {
    border-radius: 10px;
}

.check:active,
.check row:selected:active,
.check row:selected:focused:active,
.notebook .check:active,
.notebook .radio:active,
.radio:active,
.radio row:selected:active,
.radio row:selected:focused:active,
.check:inconsistent,
.check row:selected:inconsistent,
.check row:selected:focused:inconsistent,
.notebook .check:inconsistent,
.notebook .radio:inconsistent,
.radio:inconsistent,
.radio row:selected:inconsistent,
.radio row:selected:focused:inconsistent {
    background-image: -gtk-gradient (linear, left top, left bottom,
                                     from (shade (@selected_bg_color, 1.2)),
                                     color-stop (0.5, shade (@selected_bg_color, 1.0)),
                                     to (shade (@selected_bg_color, 0.9)));

    -unico-bullet-color: shade (@selected_bg_color, 0.535);
    -unico-bullet-outline-color: shade (@selected_bg_color, 1.2);

    -unico-border-gradient: -gtk-gradient (linear, left top, left bottom,
                                           from (shade (@selected_bg_color, 0.7)),
                                           to (shade (@selected_bg_color, 0.7)));
    -unico-inner-stroke-gradient: -gtk-gradient (linear, left top, left bottom,
                                                 from (shade (@selected_bg_color, 1.3)),
                                                 to (shade (@selected_bg_color, 1.06)));
    -unico-outer-stroke-gradient: -gtk-gradient (linear, left top, left bottom,
                                                 from (alpha (shade (@bg_color, 0.05), 0.02)),
                                                 to (alpha (shade (@bg_color, 0.05), 0.06)));
    -unico-outer-stroke-width: 1px;
}

.check:active:hover,
.check row:selected:active:hover,
.check row:selected:focused:active:hover,
.notebook .check:active:hover,
.notebook .radio:active:hover,
.radio:active:hover,
.radio row:selected:active:hover,
.radio row:selected:focused:active:hover,
.check:active:hover:inconsistent,
.check row:selected:active:hover:inconsistent,
.check row:selected:focused:active:hover:inconsistent,
.notebook .check:active:hover:inconsistent,
.notebook .radio:active:hover:inconsistent,
.radio:active:hover:inconsistent,
.radio row:selected:active:hover:inconsistent,
.radio row:selected:focused:active:hover:inconsistent {
    background-image: -gtk-gradient (linear, left top, left bottom,
                                     from (shade (@selected_bg_color, 1.26)),
                                     color-stop (0.5, shade (@selected_bg_color, 1.05)),
                                     to (shade (@selected_bg_color, 0.95)));

    -unico-bullet-color: shade (@selected_bg_color, 0.56);
    -unico-bullet-outline-color: shade (@selected_bg_color, 1.26);

    -unico-border-gradient: -gtk-gradient (linear, left top, left bottom,
                                           from (shade (@selected_bg_color, 0.74)),
                                           to (shade (@selected_bg_color, 0.74)));
    -unico-inner-stroke-gradient: -gtk-gradient (linear, left top, left bottom,
                                                 from (shade (@selected_bg_color, 1.37)),
                                                 to (shade (@selected_bg_color, 1.12)));
}

.check row:selected,
.check row:selected:active,
.check row:selected:focused,
.check row:selected:focused:active,
.radio row:selected,
.radio row:selected:active,
.radio row:selected:focused,
.radio row:selected:focused:active {
    -unico-outer-stroke-color: @transparent;
    -unico-outer-stroke-gradient: none;
}

.check:insensitive,
.radio:insensitive {
    background-color: shade (@bg_color, 0.96);
    background-image: none;
}

.check:insensitive:active,
.radio:insensitive:active,
.check:insensitive:inconsistent,
.radio:insensitive:inconsistent {
    background-image: -gtk-gradient (linear, left top, left bottom,
                                     from (shade (@bg_color, 0.96)),
                                     to (shade (@bg_color, 0.9)));

    -unico-bullet-color: shade (@bg_color, 0.6);
    -unico-bullet-outline-color: shade (@bg_color, 1.0);

    -unico-border-gradient: -gtk-gradient (linear, left top, left bottom,
                                           from (shade (@bg_color, 0.8)),
                                           to (shade (@bg_color, 0.7)));
    -unico-inner-stroke-gradient: -gtk-gradient (linear, left top, left bottom,
                                                 from (shade (@bg_color, 1.0)),
                                                 to (shade (@bg_color, 0.94)));
}

/*****************
 * column-header *
 *****************/
column-header .button,
column-header .button:active,
.notebook column-header .button,
.notebook column-header .button:active {
    border-radius: 0;
    border-width: 0 1px 1px 0;

    -unico-focus-border-radius: 0;
    -unico-focus-border-color: @transparent;
    -unico-focus-fill-color: alpha (@selected_bg_color, 0.2);
    -unico-focus-outer-stroke-color: @transparent;

    -unico-glow-radius: 0;
    -unico-outer-stroke-width: 0;
}

column-header .button,
.notebook column-header .button {
    background-image: -gtk-gradient (linear, left top, left bottom,
                                     from (shade (@bg_color, 1.08)),
                                     to (shade (@bg_color, 0.92)));

    text-shadow: 0 1px alpha (shade (@bg_color, 1.25), 0.4);

    -unico-border-gradient: -gtk-gradient (linear, left top, left bottom,
                                           from (shade (@bg_color, 0.8)),
                                           to (shade (@bg_color, 0.76)));
    -unico-glow-color: shade (@bg_color, 1.02);
    -unico-inner-stroke-gradient: -gtk-gradient (linear, left top, left bottom,
                                                 from (shade (@bg_color, 1.16)),
                                                 to (shade (@bg_color, 0.99)));
}

column-header .button:hover,
.notebook column-header .button:hover {
    background-image: -gtk-gradient (linear, left top, left bottom,
                                     from (shade (@bg_color, 1.13)),
                                     to (shade (@bg_color, 0.97)));

    -unico-border-gradient: -gtk-gradient (linear, left top, left bottom,
                                           from (shade (@bg_color, 0.84)),
                                           to (shade (@bg_color, 0.75)));
    -unico-inner-stroke-gradient: -gtk-gradient (linear, left top, left bottom,
                                                 from (shade (@bg_color, 1.21)),
                                                 to (shade (@bg_color, 1.04)));
}

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

/******************
 * combobox entry *
 ******************/
.primary-toolbar GtkComboBox.combobox-entry .entry,
.primary-toolbar GtkComboBox.combobox-entry .entry:active,
.primary-toolbar GtkComboBox.combobox-entry .entry:focused,
.primary-toolbar GtkComboBox.combobox-entry .entry:insensitive,
GtkComboBox.combobox-entry .entry,
GtkComboBox.combobox-entry .entry:active,
GtkComboBox.combobox-entry .entry:focused,
GtkComboBox.combobox-entry .entry:insensitive {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    border-width: 1px 0 1px 1px;

    -unico-outer-stroke-width: 1px 0 1px 1px;
}

.primary-toolbar GtkComboBox.combobox-entry .button,
.primary-toolbar GtkComboBox.combobox-entry .button:hover,
.primary-toolbar GtkComboBox.combobox-entry .button:active,
.primary-toolbar GtkComboBox.combobox-entry .button:insensitive,
GtkComboBox.combobox-entry .button,
GtkComboBox.combobox-entry .button:hover,
GtkComboBox.combobox-entry .button:active,
GtkComboBox.combobox-entry .button:insensitive {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    border-width: 1px 1px 1px 1px;

    -unico-outer-stroke-width: 1px 1px 1px 0;
}

GtkComboBox.combobox-entry .button,
GtkComboBox.combobox-entry .button:hover,
GtkComboBox.combobox-entry .button:active,
GtkComboBox.combobox-entry .button:insensitive {
    border-top-color: shade (@bg_color, 0.64);
    border-right-color: shade (@bg_color, 0.8);
    border-bottom-color: shade (@bg_color, 0.86);
    border-left-color: shade (@bg_color, 0.76);
}

/****************
 * drawing area *
 ****************/
/*
GtkDrawingArea {
    background-color: @transparent;
}
*/

/*********
 * entry *
 *********/
.entry {
    background-image: -gtk-gradient (linear, left top, left bottom,
                                     from (shade (@base_color, 0.96)),
                                     to (@base_color));
    border-top-color: shade (@bg_color, 0.64);
    border-right-color: shade (@bg_color, 0.76);
    border-bottom-color: shade (@bg_color, 0.82);
    border-left-color: shade (@bg_color, 0.76);
    border-radius: 3px;
    border-style: solid;
    padding: 3px 5px 3px 5px;

    color: @text_color;

    -unico-border-gradient: none;
    -unico-inner-stroke-gradient: -gtk-gradient (linear, left top, left bottom,
                                                 from (alpha (shade (@bg_color, 0.05), 0.04)),
                                                 to (alpha (shade (@bg_color, 0.05), 0.02)));
    -unico-inner-stroke-width: 1px;
}

.entry:selected,
.entry:selected:focused {
    background-color: @selected_bg_color;

    color: @selected_fg_color;
}

.entry:focused {
    -unico-border-gradient: -gtk-gradient (linear, left top, left bottom,
                                           from (shade (@selected_bg_color, 0.75)),
                                           to (shade (@selected_bg_color, 0.8)));
    -unico-inner-stroke-color: alpha (@selected_bg_color, 0.3);
    -unico-inner-stroke-gradient: none;
}

.entry:insensitive {
    background-color: shade (@bg_color, 0.96);
    background-image: none;

    color: mix (@text_color, @base_color, 0.4);

    -unico-inner-stroke-gradient: -gtk-gradient (linear, left top, left bottom,
                                                 from (alpha (shade (@bg_color, 0.05), 0.04)),
                                                 to (alpha (shade (@bg_color, 0.05), 0.02)));
}

.primary-toolbar .entry.progressbar,
.primary-toolbar .entry.progressbar,
.entry.progressbar {
    background-image: -gtk-gradient (linear, left top, left bottom,
                                     from (shade (@selected_bg_color, 0.8)),
                                     color-stop (0.1, shade (@selected_bg_color, 0.9)),
                                     to (shade (@selected_bg_color, 1.1)));
    border-radius: 3px;
    border-width: 0;

    color: @selected_fg_color;

    -unico-outer-stroke-width: 0;
}

/************
 * expander *
 ************/
.expander {
    color: @fg_color;
}

/*********
 * frame *
 *********/
.frame {
    border-radius: 3px;

    -unico-outer-stroke-width: 0;
}

/************
 * iconview *
 ************/
GtkIconView.view.cell:selected,
GtkIconView.view.cell:selected:focused {
    background-image: -gtk-gradient (linear, left top, left bottom,
                                     from (shade (@selected_bg_color, 1.0)),
                                     to (shade (@selected_bg_color, 0.9)));
    border-radius: 4px;
    border-style: solid;
    border-width: 1px;

    color: @selected_fg_color;

    -unico-border-gradient: -gtk-gradient (linear, left top, left bottom,
                                           from (shade (@selected_bg_color, 0.7)),
                                           to (shade (@selected_bg_color, 0.7)));
    -unico-glow-radius: 8;
    -unico-glow-color: shade (@selected_bg_color, 1.3);
    -unico-inner-stroke-gradient: -gtk-gradient (linear, left top, left bottom,
                                                 from (shade (@selected_bg_color, 1.2)),
                                                 to (shade (@selected_bg_color, 1.08)));
    -unico-inner-stroke-width: 1px;
}

.rubberband {
    background-color: alpha (@selected_bg_color, 0.35);
    border-color: @selected_bg_color;
    border-radius: 0;
    border-style: solid;
    border-width: 1px;
}

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

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

/***********
 * infobar *
 ***********/
.info {
    background-image: -gtk-gradient (linear, left top, left bottom,
                                     from (shade (@info_bg_color, 1.04)),
                                     to (shade (@info_bg_color, 0.96)));
    border-style: solid;
    border-width: 1px;

    color: @info_fg_color;

    -unico-border-gradient: -gtk-gradient (linear, left top, left bottom,
                                           from (shade (@info_bg_color, 0.8)),
                                           to (shade (@info_bg_color, 0.75)));
    -unico-inner-stroke-gradient: -gtk-gradient (linear, left top, left bottom,
                                                 from (shade (@info_bg_color, 1.1)),
                                                 to (shade (@info_bg_color, 1.04)));
    -unico-inner-stroke-width: 1px;
}

.warning {
    background-image: -gtk-gradient (linear, left top, left bottom,
                                     from (shade (@warning_bg_color, 1.04)),
                                     to (shade (@warning_bg_color, 0.96)));
    border-style: solid;
    border-width: 1px;

    color: @warning_fg_color;

    -unico-border-gradient: -gtk-gradient (linear, left top, left bottom,
                                           from (shade (@warning_bg_color, 0.8)),
                                           to (shade (@warning_bg_color, 0.75)));
    -unico-inner-stroke-gradient: -gtk-gradient (linear, left top, left bottom,
                                                 from (shade (@warning_bg_color, 1.1)),
                                                 to (shade (@warning_bg_color, 1.04)));
    -unico-inner-stroke-width: 1px;
}

.question {
    background-image: -gtk-gradient (linear, left top, left bottom,
                                     from (shade (@question_bg_color, 1.04)),
                                     to (shade (@question_bg_color, 0.96)));
    border-style: solid;
    border-width: 1px;

    color: @question_fg_color;

    -unico-border-gradient: -gtk-gradient (linear, left top, left bottom,
                                           from (shade (@question_bg_color, 0.8)),
                                           to (shade (@question_bg_color, 0.75)));
    -unico-inner-stroke-gradient: -gtk-gradient (linear, left top, left bottom,
                                                 from (shade (@question_bg_color, 1.1)),
                                                 to (shade (@question_bg_color, 1.04)));
    -unico-inner-stroke-width: 1px;
}

.error {
    background-image: -gtk-gradient (linear, left top, left bottom,
                                     from (shade (@error_bg_color, 1.04)),
                                     to (shade (@error_bg_color, 0.96)));
    border-style: solid;
    border-width: 1px;

    color: @error_fg_color;

    -unico-border-gradient: -gtk-gradient (linear, left top, left bottom,
                                           from (shade (@error_bg_color, 0.8)),
                                           to (shade (@error_bg_color, 0.75)));
    -unico-inner-stroke-gradient: -gtk-gradient (linear, left top, left bottom,
                                                 from (shade (@error_bg_color, 1.1)),
                                                 to (shade (@error_bg_color, 1.04)));
    -unico-inner-stroke-width: 1px;
}

/*********
 * label *
 *********/
GtkLabel,
GtkLabel:insensitive {
    background-color: transparent;
}


/********
 * menu *
 ********/
.menu {
    background-color: shade (@base_color, 1.08);
    border-bottom-color: shade (@bg_color, 0.66);
    border-left-color: shade (@bg_color, 0.7);
    border-right-color: shade (@bg_color, 0.7);
    border-top-color: shade (@bg_color, 0.8);
    border-style: solid;
    padding: 0;
    color: @fg_color;
    -unico-inner-stroke-gradient: none;
    -unico-inner-stroke-width: 1px 1px 0 1px;
}

Genericmenuitem .menu,
DbusmenuGtkMenu .menu,
.menubar .menu,
.primary-toolbar .menu {
    background-color: shade (@base_color, 1.08);
    border-bottom-color: shade (@bg_color, 0.96);
    border-left-color: shade (@bg_color, 0.86);
    border-right-color: shade (@bg_color, 0.86);
    border-top-color: shade (@bg_color, 0.96);
    color: @fg_color;
    -unico-inner-stroke-color: shade (@bg_color, 1.12);
}

.menu:selected {
    background-color: @selected_bg_color;
}

.menubar .menu.button:hover,
.menubar .menu.button:active,
.menubar .menu.button:active:insensitive,
.menubar .menu.button:insensitive,
.menubar .menu.button,
.primary-toolbar .menu.button:hover,
.primary-toolbar .menu.button:active,
.primary-toolbar .menu.button:active:insensitive,
.primary-toolbar .menu.button:insensitive,
.primary-toolbar .menu.button {
    background-color: shade (@base_color, 1.08);
    background-image: none;
    border-radius: 0;
    border-style: none;
    border-width: 1px;

    -unico-border-gradient: none;
    -unico-glow-radius: 0;
    -unico-inner-stroke-width: 0;
    -unico-outer-stroke-width: 0;
}

/***********
 * menubar *
 ***********/
.menubar {
    -GtkWidget-window-dragging: true;

    background-color: @bg_color;
    background-image: none;
    border-width: 0;

    color: @dark_fg_color;
    text-shadow: 0 1px shade (@bg_color, 1.1);

    -unico-border-gradient: none;
}

/***************
 * menubaritem *
 ***************/
.menubar.menuitem {
    border-radius: 4px 4px 0 0;
    border-width: 1px 1px 0 1px;

    color: @fg_color;
}

.menubar.menuitem:hover,
.menubar .menuitem:hover {
    background-image: -gtk-gradient (linear, left top, left bottom,
                                     from (shade (@bg_color, 1.16)),
                                     to (shade (@bg_color, 1.02)));

    color: @fg_color;

    -unico-border-gradient: -gtk-gradient (linear, left top, left bottom,
                                           from (shade (@bg_color, 0.88)),
                                           to (shade (@bg_color, 0.9)));
    -unico-glow-radius: 0;
    -unico-inner-stroke-gradient: -gtk-gradient (linear, left top, left bottom,
                                                 from (shade (@dark_bg_color, 1.3)),
                                                 to (shade (@bg_color, 1.06)));
    -unico-inner-stroke-width: 1px;
}

/************
 * menuitem *
 ************/
.menuitem {
    color: @fg_color;
}

.menuitem {
    border-radius: 0;
    border-style: solid;
    border-width: 1px;
    padding: 3px 2px 3px 2px;

    -unico-inner-stroke-width: 1px;
}

Genericmenuitem .menuitem,
DbusmenuGtkMenu .menuitem,
.menubar .menuitem,
.primary-toolbar .menuitem {
    color: @fg_color;
}

.menuitem:hover,
.menu .menuitem:hover {
    background-image: -gtk-gradient (linear, left top, left bottom,
                                     from (shade (@selected_bg_color, 1.1)),
                                     to (shade (@selected_bg_color, 0.9)));

    color: @selected_fg_color;

    -unico-bullet-color: @dark_fg_color;

    -unico-border-gradient: -gtk-gradient (linear, left top, left bottom,
                                           from (shade (@selected_bg_color, 0.8)),
                                           to (shade (@selected_bg_color, 0.8)));
    -unico-glow-color: shade (@selected_bg_color, 1.1);
    -unico-glow-radius: 6;
    -unico-inner-stroke-gradient: -gtk-gradient (linear, left top, left bottom,
                                                 from (shade (@selected_bg_color, 1.2)),
                                                 to (shade (@selected_bg_color, 1.0)));
}

.menuitem.check:active,
.menuitem.radio:active {
    color: @fg_color;

    -unico-bullet-color: @fg_color;
}

.menuitem:insensitive,
.menuitem *:insensitive {
    color: mix (@fg_color, @bg_color, 0.5);
    text-shadow: 0 1px shade (@bg_color, 1.14);
}

Genericmenuitem .menuitem:insensitive,
Genericmenuitem .menuitem *:insensitive,
DbusmenuGtkMenu .menuitem:insensitive,
DbusmenuGtkMenu .menuitem *:insensitive,
.menubar .menuitem:insensitive,
.menubar .menuitem *:insensitive,
.primary-toolbar .menuitem:insensitive,
.primary-toolbar .menuitem *:insensitive {
    color: mix (@fg_color, @bg_color, 0.5);
    text-shadow: 0 1px shade (@bg_color, 1.1);
}

Genericmenuitem .menuitem.check:active,
Genericmenuitem .menuitem.radio:active,
DbusmenuGtkMenu .menuitem.check:active,
DbusmenuGtkMenu .menuitem.radio:active,
.menubar .menuitem.check:active,
.menubar .menuitem.radio:active,
.primary-toolbar .menuitem.check:active,
.primary-toolbar .menuitem.radio:active {
    color: @fg_color;

    -unico-bullet-color: @fg_color;
}

.menuitem.check:active:hover,
.menuitem.radio:active:hover {
    color: @selected_fg_color;

    -unico-bullet-color: @selected_fg_color;
}

.menubar .menuitem GtkCalendar,
.menubar .menuitem GtkCalendar.button,
.menubar .menuitem GtkCalendar.header,
.menubar .menuitem GtkCalendar.view,
.primary-toolbar .menuitem GtkCalendar,
.primary-toolbar .menuitem GtkCalendar.button,
.primary-toolbar .menuitem GtkCalendar.header,
.primary-toolbar .menuitem GtkCalendar.view {
    background-color: @bg_color;
    background-image: none;
    border-radius: 0;
    border-style: solid;
    border-width: 0;
    padding: 0;

    color: @fg_color;
}

.menubar .menuitem GtkCalendar,
.primary-toolbar .menuitem GtkCalendar {
    background-color: shade (@bg_color, 1.3);
    background-image: none;
}

.menubar .menuitem .entry,
.primary-toolbar .menuitem .entry {
    background-color: shade (@bg_color, 1.3);
    background-image: none;

    color: @fg_color;

    -unico-border-gradient: -gtk-gradient (linear, left top, left bottom,
                                           from (shade (@bg_color, 0.75)),
                                           to (shade (@bg_color, 0.9)));
    -unico-outer-stroke-gradient: -gtk-gradient (linear, left top, left bottom,
                                                 from (shade (@bg_color, 0.98)),
                                                 to (shade (@bg_color, 1.1)));;
}

.menubar .menuitem GtkScale.trough {
    background-color: @bg_color;
    background-image: none;

    -unico-border-gradient: -gtk-gradient (linear, left top, left bottom,
                                           from (shade (@bg_color, 0.75)),
                                           to (shade (@bg_color, 1.15)));
}

Genericmenuitem .menuitem .accelerator,
DbusmenuGtkMenu .menuitem .accelerator,
.menubar .menuitem .accelerator,
.primary-toolbar .menuitem .accelerator {
    color: alpha (@fg_color, 0.6);
}

Genericmenuitem .menuitem .accelerator:hover,
DbusmenuGtkMenu .menuitem .accelerator:hover.
.menubar .menuitem .accelerator:hover,
.primary-toolbar .menuitem .accelerator:hover {
    color: alpha (@selected_fg_color, 0.8);
}

Genericmenuitem .menuitem .accelerator:insensitive,
DbusmenuGtkMenu .menuitem .accelerator:insensitive,
.menubar .menuitem .accelerator:insensitive,
.primary-toolbar .menuitem .accelerator:insensitive {
    color: alpha (mix (@fg_color, @bg_color, 0.5), 0.6);
}

/************
 * notebook *
 ************/
.notebook {
    background-color: shade (@bg_color, 1.02);
    background-image: none;
    border-radius: 3px;
    padding: 3px;

    -unico-inner-stroke-color: alpha (shade (@bg_color, 1.26), 0.3);
    -unico-inner-stroke-gradient: none;
}

.notebook tab {
    background-image: -gtk-gradient (linear, left top, left bottom,
                                     from (shade (@bg_color, 0.97)),
                                     color-stop (0.80, shade (@bg_color, 0.95)),
                                     to (shade (@bg_color, 0.92)));

    -unico-border-gradient: -gtk-gradient (linear, left top, left bottom,
                                           from (shade (@bg_color, 0.86)),
                                           to (shade (@bg_color, 0.84)));
    -unico-inner-stroke-color: alpha (shade (@bg_color, 1.26), 0.34);
    -unico-inner-stroke-gradient: none;
    -unico-inner-stroke-width: 1px;
    -unico-outer-stroke-color: @transparent;
    -unico-outer-stroke-gradient: none;
    -unico-outer-stroke-width: 1px;
}

.notebook tab GtkLabel:active {
    color: @fg_color;
}

.notebook tab GtkLabel {
    color: shade (@bg_color, 0.48);
}

.notebook tab.top:active {
    padding: 3px 7px 1px 7px;
}

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

.notebook tab.right:active {
    padding: 4px 6px 4px 1px;
}

.notebook tab.right {
    padding: 3px 4px 3px 0;
}

.notebook tab.bottom:active {
    padding: 1px 7px 4px 7px;
}

.notebook tab.bottom {
    padding: 0 5px 3px 5px;
}

.notebook tab.left:active {
    padding: 4px 1px 4px 6px;
}

.notebook tab.left {
    padding: 3px 0 3px 4px;
}
.notebook tab:active {
    background-image: -gtk-gradient (linear, left top, left bottom,
                                     from (shade (@bg_color, 1.1)),
                                     to (shade (@bg_color, 1.02)));

    -unico-border-gradient: -gtk-gradient (linear, left top, left bottom,
                                           from (shade (@bg_color, 0.84)),
                                           to (shade (@bg_color, 0.8)));
}

.notebook tab .button {
    padding: 0;
}

/******************
 * pane separator *
 ******************/
.sidebar .pane-separator,
.pane-separator {
    background-color: @transparent;
    border-color: shade (@bg_color, 0.84);

    -unico-border-gradient: none;
    -unico-inner-stroke-color: shade (@bg_color, 1.1);
    -unico-inner-stroke-gradient: none;
    -unico-inner-stroke-width: 1px;
}

/*************************
 * progressbar and scale *
 *************************/
GtkScale,
GtkProgressBar {
    border-radius: 12px;
    border-width: 1px;
    padding: 1px;
}

.menubar .menuitem .scale.highlight.left,
.scale.highlight.left,
.progressbar,
.progressbar row,
.progressbar row:hover,
.progressbar row:selected,
.progressbar row:selected:focused {
    background-image: -gtk-gradient (linear, left top, left bottom,
                                     from (shade (@selected_bg_color, 1.13)),
                                     to (shade (@selected_bg_color, 0.9)));
    border-style: solid;
    border-width: 1px;

    -unico-border-gradient: -gtk-gradient (linear, left top, left bottom,
                                           from (shade (@selected_bg_color, 0.75)),
                                           to (shade (@selected_bg_color, 0.75)));
    -unico-inner-stroke-gradient: -gtk-gradient (linear, left top, left bottom,
                                                 from (shade (@selected_bg_color, 1.22)),
                                                 to (shade (@selected_bg_color, 1.0)));
    -unico-inner-stroke-width: 1px;
    -unico-outer-stroke-color: @transparent;
    -unico-outer-stroke-gradient: none;
    -unico-outer-stroke-width: 0;
}

.scale.highlight.bottom,
.progressbar.vertical {
    background-image: -gtk-gradient (linear, left top, right top,
                                    from (shade (@selected_bg_color, 1.13)),
                                    to (shade (@selected_bg_color, 0.9)));
    border-style: solid;
    border-width: 1px;

    -unico-border-gradient: -gtk-gradient (linear, left top, right top,
                                           from (shade (@selected_bg_color, 0.75)),
                                           to (shade (@selected_bg_color, 0.75)));
    -unico-inner-stroke-gradient: -gtk-gradient (linear, left top, right top,
                                                 from (shade (@selected_bg_color, 1.22)),
                                                 to (shade (@selected_bg_color, 1.0)));
}

.scale.highlight.left:insensitive {
    background-image: -gtk-gradient (linear, left top, left bottom,
                                     from (shade (@bg_color, 0.95)),
                                     to (shade (@bg_color, 0.85)));

    -unico-border-gradient: -gtk-gradient (linear, left top, left bottom,
                                           from (shade (@bg_color, 0.75)),
                                           to (shade (@bg_color, 0.75)));
    -unico-inner-stroke-gradient: -gtk-gradient (linear, left top, left bottom,
                                                 from (shade (@bg_color, 0.97)),
                                                 to (shade (@bg_color, 0.865)));
}

.scale.highlight.bottom:insensitive {
    background-image: -gtk-gradient (linear, left top, right top,
                                     from (shade (@bg_color, 0.95)),
                                     to (shade (@bg_color, 0.85)));

    -unico-border-gradient: -gtk-gradient (linear, left top, right top,
                                           from (shade (@bg_color, 0.75)),
                                           to (shade (@bg_color, 0.75)));
    -unico-inner-stroke-gradient: -gtk-gradient (linear, left top, right top,
                                                 from (shade (@bg_color, 0.97)),
                                                 to (shade (@bg_color, 0.865)));
}

.trough,
.trough row,
.trough row:hover,
.trough row:selected,
.trough row:selected:focused {
    background-image: -gtk-gradient (linear, left top, left bottom,
                                     from (shade (@bg_color, 0.92)),
                                     to (shade (@bg_color, 0.96)));
    border-style: solid;
    border-width: 1px;

    color: @text_color;

    -unico-border-gradient: -gtk-gradient (linear, left top, left bottom,
                                           from (shade (@bg_color, 0.75)),
                                           to (shade (@bg_color, 1.05)));
    -unico-outer-stroke-width: 0;
}

.trough.vertical {
    background-image: -gtk-gradient (linear, left top, right top,
                                     from (shade (@bg_color, 0.92)),
                                     to (shade (@bg_color, 0.96)));

    -unico-border-gradient: -gtk-gradient (linear, left top, right top,
                                          from (shade (@bg_color, 0.75)),
                                          to (shade (@bg_color, 1.05)));
}

GtkScale {
    -GtkRange-slider-width: 22;
    -GtkRange-trough-border: 0;
    -GtkScale-slider-length: 14;

    -unico-glow-radius: 0;
}

GtkScale.vertical {
    -GtkScale-slider-length: 13;
}

GtkScale.slider {
    background-image: url("assets/slider.png");
}

.menubar .menuitem GtkScale.slider:hover,
GtkScale.slider:hover {
    background-image: url("assets/slider_prelight.png");
}

GtkScale.slider:insensitive {
    background-image: url("assets/slider_insensitive.png");
}

GtkScale.slider.vertical {
    background-image: url("assets/slider_vertical.png");
}

GtkScale.slider.vertical:hover {
    background-image: url("assets/slider_prelight_vertical.png");
}

GtkScale.slider.vertical:insensitive {
    background-image: url("assets/slider_vertical_insensitive.png");
}

GtkScale.mark {
    border-color: shade (@bg_color, 0.8);
}

/*************
 * scrollbar *
 *************/
.scrollbar {
    -GtkScrollbar-has-backward-stepper: 0;
    -GtkScrollbar-has-forward-stepper: 0;
    -GtkRange-slider-width: 13;

    border-radius: 20px;

    -unico-border-gradient: -gtk-gradient (linear, left top, left bottom,
                                           from (shade (@bg_color, 0.74)),
                                           to (shade (@bg_color, 0.74)));
}

.scrollbar.trough,
.scrollbar.trough.vertical {
    background-image: -gtk-gradient (linear, left top, right top,
                                     from (shade (@bg_color, 0.9)),
                                     to (shade (@bg_color, 0.95)));

    -unico-border-gradient: -gtk-gradient (linear, left top, left bottom,
                                           from (shade (@bg_color, 0.74)),
                                           to (shade (@bg_color, 0.74)));
}

.scrollbar.trough.horizontal {
    background-image: -gtk-gradient (linear, left top, left bottom,
                                     from (shade (@bg_color, 0.9)),
                                     to (shade (@bg_color, 0.95)));

    -unico-border-gradient: -gtk-gradient (linear, left top, left bottom,
                                           from (shade (@bg_color, 0.74)),
                                           to (shade (@bg_color, 0.74)));
}

.scrollbar.slider,
.scrollbar.slider:hover,
.scrollbar.button,
.scrollbar.slider.vertical,
.scrollbar.slider.vertical:hover,
.scrollbar.button.vertical {
    background-image: -gtk-gradient (linear, left top, right top,
                                     from (shade (@bg_color, 1.08)),
                                     to (shade (@bg_color, 0.92)));

    -unico-border-gradient: -gtk-gradient (linear, left top, right top,
                                           from (shade (@bg_color, 0.74)),
                                           to (shade (@bg_color, 0.74)));
    -unico-centroid-texture:  url("assets/scrollbar_handle_vertical.png");
    -unico-inner-stroke-gradient: -gtk-gradient (linear, left top, right top,
                                                 from (shade (@bg_color, 1.2)),
                                                 to (shade (@bg_color, 1.0)));
    -unico-inner-stroke-width: 1px;
}

.scrollbar.slider.horizontal,
.scrollbar.slider.horizontal:hover,
.scrollbar.button.horizontal {                                   
    background-image: -gtk-gradient (linear, left top, left bottom,
                                     from (shade (@bg_color, 1.08)),
                                     to (shade (@bg_color, 0.92)));

    -unico-border-gradient: -gtk-gradient (linear, left top, left bottom,
                                           from (shade (@bg_color, 0.74)),
                                           to (shade (@bg_color, 0.74)));
    -unico-centroid-texture:  url("assets/scrollbar_handle.png");
    -unico-inner-stroke-gradient: -gtk-gradient (linear, left top, left bottom,
                                                 from (shade (@bg_color, 1.16)),
                                                 to (shade (@bg_color, 1.0)));
}

.scrollbar.button,
.scrollbar.button:insensitive {
    -unico-outer-stroke-width: 0;
}

/* overlay scrollbar */
OsThumb {
    color: shade (@fg_color, 1.6);
}

OsThumb:selected,
OsScrollbar:selected {
    background-color: @selected_bg_color;
}

OsThumb:active,
OsScrollbar:active {
    background-color: shade (@bg_color, 0.6);
}

OsThumb:insensitive,
OsScrollbar:insensitive {
    background-color: shade (@bg_color, 0.85);
}

/*******************
 * scrolled window *
 *******************/
GtkScrolledWindow.frame {
    border-top-color: shade (@bg_color, 0.84);
    border-right-color: shade (@bg_color, 0.76);
    border-bottom-color: shade (@bg_color, 0.86);
    border-left-color: shade (@bg_color, 0.76);
    border-radius: 0;
    border-style: solid;

    -unico-border-gradient: none;
    -unico-inner-stroke-width: 0;
    -unico-outer-stroke-width: 0;
}

/*************
 * separator *
 *************/
.separator {
    border-color: shade (@bg_color, 0.86);
    border-style: solid;

    -unico-border-gradient: none;
    -unico-inner-stroke-color: alpha (shade (@bg_color, 1.26), 0.6);
    -unico-inner-stroke-gradient: none;
}

.button .separator,
.button.separator {
    border-color: shade (@button_bg_color, 0.84);

    -unico-inner-stroke-color: alpha (shade (@button_bg_color, 1.26), 0.5);
    -unico-inner-stroke-gradient: none;
}

.notebook .button .separator,
.notebook .button.separator {
    border-color: shade (@bg_color, 0.9);

    -unico-inner-stroke-color: alpha (shade (@bg_color, 1.26), 0.6);
    -unico-inner-stroke-gradient: none;
}

.button .separator:insensitive,
.button.separator:insensitive {
    border-color: shade (@button_insensitive_bg_color, 0.9);

    -unico-inner-stroke-color: alpha (shade (@button_insensitive_bg_color, 1.26), 0.6);
    -unico-inner-stroke-gradient: none;
}

.notebook .button .separator,
.notebook .button.separator {
    border-color: shade (@bg_color, 0.84);

    -unico-inner-stroke-color: alpha (shade (@bg_color, 1.26), 0.5);
    -unico-inner-stroke-gradient: none;
}

.menuitem.separator {
    -GtkMenuItem-horizontal-padding: 0;
    -GtkWidget-separator-height: 4;
}

Genericmenuitem .menuitem.separator,
DbusmenuGtkMenu .menuitem.separator,
.menubar .menuitem.separator,
.primary-toolbar .menuitem.separator {
    border-color: shade (@dark_bg_color, 0.96);

    -unico-inner-stroke-color: alpha (shade (@dark_bg_color, 1.26), 0.5);
}

/***********
 * sidebar *
 ***********/
.sidebar,
.sidebar .view {
}

.sidebar row:selected {
    text-shadow: 0 1px shade (@selected_bg_color, 0.7);
}

.sidebar .frame {
    border-width: 0;
}

/**************
 * spinbutton *
 **************/
.spinbutton.button:active,
.spinbutton.button:insensitive,
.notebook .spinbutton.button:active,
.notebook .spinbutton.button:insensitive,
.spinbutton.button,
.notebook .spinbutton.button {
    border-radius: 0;
    border-width: 1px 0 1px 1px;

    -unico-outer-stroke-width: 0;
}

.spinbutton.button:active:nth-child(last),
.spinbutton.button:insensitive:nth-child(last),
.notebook .spinbutton.button:active:nth-child(last),
.notebook .spinbutton.button:insensitive:nth-child(last),
.spinbutton.button:nth-child(last),
.notebook .spinbutton.button:nth-child(last) {
    border-radius: 0 3px 3px 0;
    border-width: 1px;
}

.spinbutton.button,
.notebook .spinbutton.button {
    background-image: -gtk-gradient (linear, left top, left bottom,
                                     from (shade (@bg_color, 1.1)),
                                     to (shade (@bg_color, 0.9)));
    border-top-color: shade (@bg_color, 0.64);
    border-right-color: shade (@bg_color, 0.76);
    border-bottom-color: shade (@bg_color, 0.82);
    border-left-color: shade (@bg_color, 0.76);

    -unico-border-gradient: none;
}

.spinbutton,
.spinbutton:hover {
    color: @fg_color;
}

/***********
 * spinner *
 ***********/
.spinner {
}

/*************
 * statusbar *
 *************/
GtkStatusbar {
}

/**********
 * switch *
 **********/
GtkSwitch {
    border-radius: 4px;
    padding: 0;
}

GtkSwitch.trough {
    background-image: -gtk-gradient (linear, left top, left bottom,
                                     from (shade (@bg_color, 0.83)),
                                     to (shade (@bg_color, 0.89)));

    color: @fg_color;
    text-shadow: 0 1px alpha (shade (@bg_color, 1.25), 0.5);

    -unico-border-gradient: -gtk-gradient (linear, left top, left bottom,
                                           from (shade (@bg_color, 0.6)),
                                           to (shade (@bg_color, 0.65)));
    -unico-inner-stroke-gradient: -gtk-gradient (linear, left top, left bottom,
                                                 from (shade (@bg_color, 0.78)),
                                                 to (shade (@bg_color, 0.86)));
    -unico-inner-stroke-width: 1px;
}

GtkSwitch.trough:active {
    background-image: -gtk-gradient (linear, left top, left bottom,
                                     from (shade (@selected_bg_color, 0.93)),
                                     to (shade (@selected_bg_color, 0.99)));

    color: @selected_fg_color;
    text-shadow: 0 -1px shade (@selected_bg_color, 0.7);

    -unico-border-gradient: -gtk-gradient (linear, left top, left bottom,
                                           from (shade (@selected_bg_color, 0.7)),
                                           to (shade (@selected_bg_color, 0.76)));
    -unico-inner-stroke-gradient: -gtk-gradient (linear, left top, left bottom,
                                                 from (shade (@selected_bg_color, 0.86)),
                                                 to (shade (@selected_bg_color, 0.94)));
}

GtkSwitch.trough:insensitive {
    background-image: -gtk-gradient (linear, left top, left bottom,
                                     from (shade (@bg_color, 0.93)),
                                     to (shade (@bg_color, 0.99)));

    color: shade (@bg_color, 0.6);
    text-shadow: 0 1px alpha (shade (@bg_color, 1.25), 0.5);

    -unico-border-gradient: -gtk-gradient (linear, left top, left bottom,
                                           from (shade (@bg_color, 0.7)),
                                           to (shade (@bg_color, 0.75)));
    -unico-inner-stroke-gradient: -gtk-gradient (linear, left top, left bottom,
                                                 from (shade (@bg_color, 0.88)),
                                                 to (shade (@bg_color, 0.965)));
}

GtkSwitch.slider {
    background-image: -gtk-gradient (linear, left top, left bottom,
                                     from (shade (@bg_color, 1.1)),
                                     to (shade (@bg_color, 0.9)));
    border-style: solid;

    -unico-border-gradient: -gtk-gradient (linear, left top, left bottom,
                                           from (shade (@bg_color, 0.65)),
                                           to (shade (@bg_color, 0.6)));
    -unico-inner-stroke-gradient: -gtk-gradient (linear, left top, left bottom,
                                                 from (shade (@bg_color, 1.2)),
                                                 to (shade (@bg_color, 0.96)));
    -unico-inner-stroke-width: 1px;
    -unico-outer-stroke-width: 0;  
}

GtkSwitch.slider:insensitive {
    -unico-border-gradient: -gtk-gradient (linear, left top, left bottom,
                                           from (shade (@bg_color, 0.7)),
                                           to (shade (@bg_color, 0.75)));
}

/************
 * textview *
 ************/
GtkTextView {
    background-color: @base_color;
}

/***********
 * toolbar *
 ***********/
.toolbar {
    border-style: none;
}

/* primary-toolbar */
.primary-toolbar,
.primary-toolbar .toolbar,
.primary-toolbar.toolbar {
    -GtkWidget-window-dragging: true;

    background-image: -gtk-gradient (linear, left top, left bottom,
                                     from (@toolbar_base),
                                     to (@toolbar_final));
    border-bottom-color: @toolbar_border;
    border-top-color: @bg_color;
    border-style: solid;
    border-width: 1px 0 1px 0;
    padding: 2px;

    color: @fg_color;
    text-shadow: 0 1px shade (@bg_color, 1.1);

    -unico-border-gradient: none;
    -unico-inner-stroke-gradient: none;
    -unico-inner-stroke-top-color: @bg_color;
    -unico-inner-stroke-width: 1px 0 0 0;
}

.primary-toolbar :insensitive {
    text-shadow: 0 1px shade (@dark_bg_color, 1.1);
}

.primary-toolbar GtkComboBox,
.primary-toolbar .button *,
.primary-toolbar .button {
    background-color: @transparent;
    background-image: none;
    border-color: @transparent;
    border-radius: 3px;
    border-width: 1px;
    padding: 2px;

    color: @dark_fg_color;
    text-shadow: 0 1px alpha (shade (@dark_bg_color, 1.25), 0.32);

    /* This breaks Gtk+ 3.5.x, lp #1015497. */
    /* transition: 0ms ease-in-out; */

    -unico-focus-border-radius: 4;
    -unico-focus-border-color: alpha (@selected_bg_color, 0.5);
    -unico-focus-fill-color: alpha (@selected_bg_color, 0.2);
    -unico-focus-outer-stroke-color: @transparent;

    -unico-border-gradient: none;
    -unico-glow-radius: 0;
    -unico-inner-stroke-width: 0;
    -unico-outer-stroke-width: 0;
}

.primary-toolbar .raised .button,
.primary-toolbar .raised.button,
.primary-toolbar .button:hover,
.primary-toolbar .button:active,
.primary-toolbar .button:insensitive {
    border-width: 1px;

    /* This breaks Gtk+ 3.5.x, lp #1015497. */
    /* transition: 0ms ease-in-out; */

    -unico-inner-stroke-width: 1px;
    -unico-outer-stroke-gradient: -gtk-gradient (linear, left top, left bottom,
                                                 from (alpha (shade (@dark_bg_color, 1.08), 0.25)),
                                                 to (alpha (shade (@dark_bg_color, 1.08), 0.75)));
    -unico-outer-stroke-width: 1px;
}

.primary-toolbar GtkComboBox.combobox-entry .button {
    -unico-inner-stroke-width: 1px;
    -unico-outer-stroke-gradient: -gtk-gradient (linear, left top, left bottom,
                                                 from (alpha (shade (@dark_bg_color, 1.08), 0.25)),
                                                 to (alpha (shade (@dark_bg_color, 1.08), 0.75)));
}

.primary-toolbar GtkComboBox.combobox-entry .button,
.primary-toolbar .raised .button,
.primary-toolbar .raised.button,
.primary-toolbar .button:hover {
    background-image: -gtk-gradient (linear, left top, left bottom,
                                     from (shade (@dark_bg_color, 1.06)),
                                     to (shade (@dark_bg_color, 0.94)));

    -unico-border-gradient: -gtk-gradient (linear, left top, left bottom,
                                           from (shade (@dark_bg_color, 0.88)),
                                           to (shade (@dark_bg_color, 0.83)));
    -unico-glow-color: shade (@dark_bg_color, 1.08);
    -unico-inner-stroke-gradient: -gtk-gradient (linear, left top, left bottom,
                                                 from (shade (@dark_bg_color, 1.12)),
                                                 to (shade (@dark_bg_color, 1.04)));
}

.primary-toolbar .button:active {
    background-image: -gtk-gradient (linear, left top, left bottom,
                                     from (shade (@dark_bg_color, 0.9)),
                                     to (shade (@dark_bg_color, 0.95)));

    text-shadow: 0 1px shade (@dark_bg_color, 0.99);

    -unico-border-gradient: -gtk-gradient (linear, left top, left bottom,
                                           from (shade (@dark_bg_color, 0.76)),
                                           to (shade (@dark_bg_color, 0.85)));
    -unico-inner-stroke-gradient: -gtk-gradient (linear, left top, left bottom,
                                                 from (shade (@dark_bg_color, 0.86)),
                                                 to (shade (@dark_bg_color, 0.94)))
}

.primary-toolbar .button:active:hover {
    background-image: -gtk-gradient (linear, left top, left bottom,
                                     from (shade (@dark_bg_color, 0.95)),
                                     to (shade (@dark_bg_color, 1.0)));

    -unico-border-gradient: -gtk-gradient (linear, left top, left bottom,
                                           from (shade (@dark_bg_color, 0.76)),
                                           to (shade (@dark_bg_color, 0.85)));
    -unico-inner-stroke-gradient: -gtk-gradient (linear, left top, left bottom,
                                                 from (shade (@dark_bg_color, 0.90)),
                                                 to (shade (@dark_bg_color, 0.98)))
}

.primary-toolbar .button:active:insensitive,
.primary-toolbar .button:insensitive {
    text-shadow: none;

    -unico-border-gradient: -gtk-gradient (linear, left top, left bottom,
                                           from (shade (@dark_bg_color, 0.8)),
                                           to (shade (@dark_bg_color, 0.9)));
    -unico-glow-radius: 0;
    -unico-outer-stroke-gradient: -gtk-gradient (linear, left top, left bottom,
                                                 from (alpha (shade (@dark_bg_color, 1.2), 0.18)),
                                                 to (alpha (shade (@dark_bg_color, 1.4), 0.5)));
}

.primary-toolbar .button:insensitive {
    background-image: -gtk-gradient (linear, left top, left bottom,
                                     from (shade (@dark_bg_color, 1.01)),
                                     to (shade (@dark_bg_color, 0.99)));

    -unico-inner-stroke-gradient: -gtk-gradient (linear, left top, left bottom,
                                                 from (shade (@dark_bg_color, 1.12)),
                                                 to (shade (@dark_bg_color, 1.04)));
}

.primary-toolbar .button:active:insensitive {
    background-image: -gtk-gradient (linear, left top, left bottom,
                                     from (shade (@dark_bg_color, 0.94)),
                                     to (shade (@dark_bg_color, 1.02)));

    -unico-inner-stroke-gradient: -gtk-gradient (linear, left top, left bottom,
                                                 from (shade (@dark_bg_color, 0.92)),
                                                 to (shade (@dark_bg_color, 1.0)));
}

.primary-toolbar .entry,
.primary-toolbar .entry:active,
.primary-toolbar .entry:focused {
    border-radius: 3px;

    -unico-outer-stroke-width: 1px;
    -unico-outer-stroke-gradient: -gtk-gradient (linear, left top, left bottom,
                                                 from (alpha (shade (@dark_bg_color, 1.08), 0.25)),
                                                 to (alpha (shade (@dark_bg_color, 1.08), 0.75)));
}

.primary-toolbar .entry {
    -unico-border-gradient: -gtk-gradient (linear, left top, left bottom,
                                           from (shade (@dark_bg_color, 0.75)),
                                           to (shade (@dark_bg_color, 0.95)));
    -unico-inner-stroke-gradient: -gtk-gradient (linear, left top, left bottom,
                                                 from (alpha (shade (@bg_color, 0.05), 0.08)),
                                                 to (alpha (shade (@bg_color, 0.05), 0.04)));
}

.primary-toolbar .entry:insensitive {
    -unico-outer-stroke-width: 1px;
    -unico-outer-stroke-gradient: -gtk-gradient (linear, left top, left bottom,
                                                 from (alpha (shade (@dark_bg_color, 1.08), 0.18)),
                                                 to (alpha (shade (@dark_bg_color, 1.08), 0.5)));
}

.primary-toolbar .entry:focused {
    -unico-border-gradient: -gtk-gradient (linear, left top, left bottom,
                                           from (shade (@selected_bg_color, 0.85)),
                                           to (shade (@selected_bg_color, 0.9)));
    -unico-inner-stroke-color: alpha (@selected_bg_color, 0.4);
    -unico-inner-stroke-gradient: none;
}

.primary-toolbar GtkSeparatorToolItem,
.primary-toolbar .separator,
.primary-toolbar .separator:insensitive {
    border-color: alpha (shade (@dark_bg_color, 0.9), 0.5);
    border-style: solid;

    -unico-border-gradient: none;
    -unico-inner-stroke-color: alpha (shade (@dark_bg_color, 1.26), 0.4);
    -unico-inner-stroke-gradient: none;
}

/* inline-toolbar */
.inline-toolbar.toolbar {
    -GtkToolbar-button-relief: normal;

    background-image: -gtk-gradient (linear, left top, left bottom,
                                     from (shade (#f2f1ef, 0.93)),
                                     color-stop (0.08, #f2f1ef),
                                     to (#ffffff));
    border-radius: 0;
    border-style: solid;
    border-width: 1px;
    padding: 3px 4px 4px 4px;
}

.inline-toolbar.toolbar:nth-child(last) {
    border-bottom-color: shade (@bg_color, 0.76);
    border-color: shade (@bg_color, 0.8);
    border-radius: 0 0 3px 3px;
    border-width: 0 1px 1px 1px;
}

.inline-toolbar.toolbar .button {
    background-image: -gtk-gradient (linear, left top, left bottom,
                                     from (shade (@bg_color, 1.12)),
                                     to (shade (@bg_color, 0.88)));
    border-radius: 0;
    border-style: solid;
    border-width: 1px 0 1px 1px;
    padding: 1px;

    icon-shadow: 0 1px shade (@bg_color, 1.16);

    -unico-inner-stroke-gradient: -gtk-gradient (linear, left top, left bottom,
                                                 from (shade (@bg_color, 1.16)),
                                                 to (shade (@bg_color, 0.98)));
    -unico-outer-stroke-width: 1px 0 1px 0;
    -unico-outer-stroke-gradient: -gtk-gradient (linear, left top, left bottom,
                                                 from (alpha (shade (@bg_color, 0.05), 0.015)),
                                                 to (alpha (shade (@bg_color, 0.05), 0.04)));
}

.inline-toolbar.toolbar .button *:active,
.inline-toolbar.toolbar .button *:insensitive,
.inline-toolbar.toolbar GtkToolButton .button:active,
.inline-toolbar.toolbar GtkToolButton .button:insensitive {
    -unico-outer-stroke-width: 1px 0 1px 0;
    -unico-outer-stroke-gradient: -gtk-gradient (linear, left top, left bottom,
                                                 from (alpha (shade (@bg_color, 0.05), 0.01)),
                                                 to (alpha (shade (@bg_color, 0.05), 0.03)));
}

.inline-toolbar.toolbar .button *:insensitive,
.inline-toolbar.toolbar GtkToolButton .button:insensitive {
    background-image: -gtk-gradient (linear, left top, left bottom,
                                     from (shade (@bg_color, 1.02)),
                                     to (shade (@bg_color, 0.98)));

    -unico-border-gradient: -gtk-gradient (linear, left top, left bottom,
                                           from (shade (@bg_color, 0.85)),
                                           to (shade (@bg_color, 0.8)));
    -unico-inner-stroke-gradient: -gtk-gradient (linear, left top, left bottom,
                                                 from (shade (@bg_color, 1.16)),
                                                 to (shade (@bg_color, 1.0)));
}

.inline-toolbar.toolbar .button:nth-child(first),
.inline-toolbar.toolbar GtkToolButton:nth-child(first) .button {
    border-radius: 3px 0 0 3px;

    -unico-outer-stroke-width: 1px 0 1px 1px;
}

.inline-toolbar.toolbar .button:nth-child(last),
.inline-toolbar.toolbar GtkToolButton:nth-child(last) .button {
    border-radius: 0 3px 3px 0;
    border-width: 1px;

    -unico-outer-stroke-width: 1px 1px 1px 0;
}

/***********
 * tooltip *
 ***********/
.tooltip {
    background-image: -gtk-gradient (radial, center 0, 0, center 0, 0.8,
                                     from (alpha (mix (@tooltip_bg_color, #ffffff, 0.2), 0.86)),
                                     to (alpha (@tooltip_bg_color, 0.86)));
    border-color: alpha (#ffffff, 0.2);
    border-radius: 5px;

    color: white;
}

/************
 * treeview *
 ************/
GtkTreeView .entry {
    background-image: none;
    border-radius: 0;

    -unico-inner-stroke-gradient: none;
    -unico-inner-stroke-width: 1px;
}

/************
 * viewport *
 ************/
GtkViewport.frame {
    border-width: 0;

    -unico-inner-stroke-width: 0;
}

/*****************
* spinner *
*****************/
.spinner:active {
     transition: 750ms linear loop;
}
