* {
	engine: none;
	padding: 0;

	background-clip: padding-box;

	-GtkToolButton-icon-spacing: 4;

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

	-GtkPaned-handle-size: 5;

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

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

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

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

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

	-WnckTasklist-fade-overlay-rect: 0;

	-GtkWidget-focus-padding: 2;
    /* disable focusline on active notebook tabs if focused*/
    -GtkWidget-focus-line-width: 0;
	outline-color: @focus_border_color;
	outline-style: dashed;
	outline-offset: -2px;
	outline-width: 0px; /* disable ugly focus-line */
	outline-radius: 2px;
	-gtk-icon-style: regular; /* disable symbolic icons */
	-GtkWindow-resize-grip-width: 11;
	-GtkWindow-resize-grip-height: 11;
}

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

GtkWindow {
	color: @theme_fg_color;
}

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

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

*:insensitive {
	background-color: @insensitive_bg_color;
	color: @insensitive_fg_color;
	text-shadow: 1px 1px @insensitive_text_shadow_color;
	border-color: @insensitive_border_color;
}

/* Fix for applications that have issues finding a default monospace font */
.monospace {
  font-family: Monospace;
}

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

/************
 * Tooltips *
 ************/
.tooltip,
.tooltip.background {
	padding: 4px;
	border-style: solid;
	border-width: 1px;
	border-color: @theme_tooltip_border_color;
	border-radius: 0px;
	background-color: @theme_tooltip_bg_color;
	color: @theme_tooltip_fg_color;
}

.tooltip * {
	background-color: transparent;
}

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

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

.floating-bar {
	background-image: linear-gradient(
	                  to bottom,
	                  @theme_base_color 20%,
	                  shade(@theme_base_color, 0.9));
	background-color: @theme_base_color;
	border-color: @border_color;
	border-radius: 3px;
	border-width: 1px;
	border-style: solid;
}

.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 .button {
	background-color: alpha (@theme_base_color, 0.0);
	background-image: none;
	border-style: none;
	border-image: none;
	-GtkButton-image-spacing: 0;
	-GtkButton-inner-border: 0;
}

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

GtkStatusbar .label,
GtkStatusbar .frame.flat {
	color: @theme_fg_color;
	-GtkStatusbar-shadow-type: none;
	font-size: smaller;
}

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

GtkStatusbar .frame.flat .button.flat {
	padding: 2px 0px 0px 0px;
}

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

GtkTreeView.view.separator,
GtkTreeView.separator,
.separator,
.separator:hover {
	color: shade(@border_color, 1.30);
}

.pane-separator,
.pane-separator:hover,
.pane-separator:selected {
	color: @theme_bg_color;
	background-color: @theme_bg_color;
	background-repeat: no-repeat;
	background-position: center;
}

/************************
 * 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% 20%, 100% 100%;
    background-repeat: no-repeat;
    background-position: center top;
    background-color: transparent;
    border-style: 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% 20%;
    background-repeat: no-repeat;
    background-position: center top;
    background-color: transparent;
    border-style: 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% 20%, 100% 100%;
    background-repeat: no-repeat;
    background-position: center bottom;
    background-color: transparent;
    border-style: 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% 20%;
    background-repeat: no-repeat;
    background-position: center bottom;
    background-color: transparent;
    border-style: 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: 20% 100%, 100% 100%;
    background-repeat: no-repeat;
    background-position: left center;
    background-color: transparent;
    border-style: 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: 20% 100%;
    background-repeat: no-repeat;
    background-position: left center;
    background-color: transparent;
    border-style: 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: 20% 100%, 100% 100%;
    background-repeat: no-repeat;
    background-position: right center;
    background-color: transparent;
    border-style: 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-style: 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;
}


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

.entry {
	border-style: solid;
	padding: 4px;
	color: @entry_text_color;
	background-color: @theme_base_color;
}

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

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

.entry:insensitive {
	color: @insensitive_fg_color;
}

/* Entry background */
.entry {
	background-color: @entry_bg_color;
	background-image: linear-gradient(to bottom,
	                  @entry_inner_border_color 1px,
	                  @entry_bg_color 2px);
}

/* Focused entry background */
.entry:focus {
	background-image: none;
}

/* Insensitive entry background */
.entry:insensitive {
	background-image: linear-gradient(to bottom,
	                  @entry_insensitive_inner_border_color 2px,
	                  @entry_insensitive_bg_color 3px);
}

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

.image {
	color: @internal_element_color;
}

.image:hover {
	color: @internal_element_hover_color;
}

.image:selected {
	color: @theme_selected_fg_color;
}

/*****************
 * Color Chooser *
 *****************/

GtkColorSwatch,
GtkColorSwatch:selected {
	border-width: 1px;
	border-style: solid;
	border-radius: 3px;
	border-color: @color_swatch_border_color;
	background-color: transparent;
	background-clip: border-box;
}

GtkColorSwatch:hover,
GtkColorSwatch:selected:hover {
	border-color: @color_swatch_hover_border_color;
}

GtkColorChooserWidget #add-color-button:hover,
GtkColorChooserWidget #add-color-button:selected:hover {
}

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

.color-active-badge.color-light,
.color-active-badge.color-light:hover {
	border-color: @color_active_badge_light_border_color;
	color: @color_active_badge_light_color;
}

.color-active-badge.color-dark,
.color-active-badge.color-dark:hover {
	border-color: @color_active_badge_dark_border_color;
	color: @color_active_badge_dark_color;
}

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

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

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

/* progress component */
.progressbar,
.progressbar row,
.progressbar row:hover,
.progressbar row:selected,
.progressbar row:selected:focus {
	background-color: @progressbar_bg_color;
	background-image: linear-gradient(to bottom,
	                      alpha (@progressbar_gradient_a, 0.7),
	                      alpha (@progressbar_gradient_b, 0.7) 50%,
	                      alpha (@progressbar_gradient_c, 0.7) 50%,
	                      alpha (@progressbar_gradient_d, 0.7)),
	                  repeating-linear-gradient(135deg,
	                      alpha (@progressbar_pattern_color, 0.0),
	                      alpha (@progressbar_pattern_color, 0.0) 12px,
	                      alpha (@progressbar_pattern_color, 0.5) 12px,
	                      alpha (@progressbar_pattern_color, 0.5) 24px);
	border-radius: 3px;
	border-width: 1px;
	border-style: solid;
	border-color: @progressbar_border_color;
}

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

.progressbar.vertical {
	background-image: linear-gradient(to right,
	                      alpha (@progressbar_gradient_a, 0.7),
	                      alpha (@progressbar_gradient_b, 0.7) 50%,
	                      alpha (@progressbar_gradient_c, 0.7) 50%,
	                      alpha (@progressbar_gradient_d, 0.7)),
	                  repeating-linear-gradient(45deg,
	                      alpha (@progressbar_pattern_color, 0.0),
	                      alpha (@progressbar_pattern_color, 0.0) 12px,
	                      alpha (@progressbar_pattern_color, 0.5) 12px,
	                      alpha (@progressbar_pattern_color, 0.5) 24px);
}

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

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

/************
 * GtkScale *
 ************/

GtkScale {
	-GtkScale-slider-length: 21;
	-GtkRange-slider-width: 13;
	-GtkRange-trough-border: 4;
}

GtkScale.slider,
GtkScale.slider:hover,
GtkScale.slider:insensitive {
	border-radius: 0;
	border-style: none;
	background-color: transparent;
}

GtkScale.trough,
GtkScale.trough.highlight,
GtkScale.trough.vertical,
GtkScale.trough:insensitive {
	border-image: none;
	border-style: solid;
	border-width: 1px;
	border-radius: 1px;
	background-image: none;
}

GtkScale.trough {
	margin: 8px 0;
	border-color: @scale_trough_border_color;
	background-color: @scale_trough_bg_color;
}

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

GtkScale.trough.highlight {
	border-color: @scale_trough_highlight_border_color;
	background-color: @scale_trough_highlight_bg_color;
}

GtkScale.trough:insensitive {
	border-color: @scale_trough_insensitive_border_color;
	background-color: @scale_trough_insensitive_highlight_bg_color;
}

GtkScale.trough.highlight:insensitive {
	border-color: @scale_trough_highlight_insensitive_border_color;
	background-color: @scale_trough_highlight_insensitive_bg_color;
}

GtkScale.progressbar {
	background-color: @scale_progressbar_bg_color;
}

GtkScale.mark {
	color: @scale_mark_color;
}

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

.frame {
	border-width: 1px;
	border-color: @border_color;
	border-style: solid;
	border-radius: 3px;
	background-color: @notebook_bg_color;
	padding: 0;
}

.frame.flat {
   border-style:none;
}

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

GtkScrolledWindow GtkViewport {
	background-color: @theme_bg_color;
}

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

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

.button,
.button.menuitem.menubar,
.combobox-entry .button,
.inline-toolbar.toolbar .button,
.primary-toolbar.toolbar.horizontal .button,
.primary-toolbar.toolbar.horizontal .button:active,
.toolbar.horizontal .button,
.toolbar.horizontal .button:active,
.titlebar .linked.raised .button,
.titlebar .linked.raised .button:active {
	padding: 5px 5px 6px; /* larger values makes the button arrow smaller*/
}

.toolbar.horizontal .button,
.toolbar.horizontal .button:active,
.primary-toolbar.toolbar.horizontal .button,
.primary-toolbar.toolbar.horizontal .button:active {
	padding: 2px 2px;
}

.button.default {
	text-shadow: none;
	color: @theme_fg_color;
}

.button.flat {
	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;
}

.button.flat.hover {
	border-radius: 3px;
}

.button.image-button.circular-button {
   border-image: none;
   border-width: 1px;
   border-style: solid;
   border-color: @border_color;
}

GtkComboBox GtkToggleButton.button,
GtkComboBoxText GtkToggleButton.button,
.toolbar.horizontal GtkComboBox GtkToggleButton.button,
.toolbar.horizontal GtkComboBoxText GtkToggleButton.button {
	padding: 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:active {
	border-left-width: 1px;
}

.path-bar .button:first-child,
.path-bar .button:first-child:hover:active {
	border-right-width: 0px;
}

.path-bar .button:only-child,
.path-bar .button:only-child:hover:active {
	border-radius: 3px;
	border-right-width: 1px;
}

.linked.raised .button:first-child,
.linked.raised .button:first-child:hover:active {
	border-right-width: 0px;
}

.button {
	-GtkButton-image-spacing: 4;
	-GtkButton-interior-focus: true;
	-GtkButton-default-border: 0;
	-GtkButton-inner-border: 3;
	-GtkArrow-arrow-scaling: 0.5;
	color: @theme_text_color;
	border-style: solid;
	border-color: transparent;
}

/* We want anything inside the buttons to use their background */
.button * {
	background-color: transparent;
}

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

.primary-toolbar .button {
	border-image: none;
	border-style: solid;
	border-width: 1px 1px 2px 1px;
	border-color: transparent;
}

.primary-toolbar .button *:active,
.inline-toolbar .button *:active,
.button *:active,
.button *:active:focus,
.button *:focus {
	color: @button_active_text_color;
}

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

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

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

.spinbutton .button,
.spinbutton .button:focus {
	color: @internal_element_color;
	padding: 2px 6px;
	border-width: 0 0 0 1px;
	border-radius: 0;
	border-style: solid;
	border-color: @spinbutton_border_color;
	border-image: none;
}

.spinbutton .button {
	background-color: transparent;
}

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

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

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

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

/*vertical */

.vertical.entry.spinbutton.entry {
    border-image: none;
    border-color: @border_color;
    border-radius: 0px;
    border-width: 0px 1px 0px 1px;
    background-image: none;
    padding: 4px;
}

.vertical.entry.spinbutton .button,
.vertical.entry.spinbutton .button:hover,
.vertical.entry.spinbutton .button:focus,
.vertical.entry.spinbutton .button:active,
.vertical.entry.spinbutton .button:checked,
.vertical.entry.spinbutton .button:active:hover,
.vertical.entry.spinbutton .button:checked:hover,
.vertical.entry.spinbutton .button:insensitive {
    border-radius: 3px 3px 0px 0px;
    border-width: 1px;
}

.vertical.entry.spinbutton .button:last-child,
.vertical.entry.spinbutton .button:hover:last-child,
.vertical.entry.spinbutton .button:focus:last-child,
.vertical.entry.spinbutton .button:active:last-child,
.vertical.entry.spinbutton .button:checked:last-child,
.vertical.entry.spinbutton .button:active:hover:last-child,
.vertical.entry.spinbutton .button:checked:hover:last-child,
.vertical.entry.spinbutton .button:insensitive:last-child {
    border-width: 1px;
    border-radius: 0px 0px 3px 3px;
}

/*********************
 * Button background *
 *********************/

/* Button background */
.button,
.spinbutton .button,
.toolbar .button.raised,
.toolbar .raised .button,
.toolbar .button.raised:focus,
.toolbar .raised .button:focus,
.toolbar GtkComboBox .button,
.toolbar GtkComboBox .button:focus,
.combobox-entry .button,
.primary-toolbar .combobox-entry .button,
.titlebar .titlebutton:hover,
.titlebar .titlebutton:hover,
GtkColorChooserWidget #add-color-button {
	background-image: -gtk-gradient (linear,
	                  left top,
	                  left bottom,
	                  from (@button_gradient_a),
	                  to (@button_gradient_d));
	background-color: transparent;
}

/* Pushed button background */
.button:checked,
.button:checked:hover,
.button:active,
.button:active:hover,
.menuitem.button:hover,
.spinbutton .button:active,
.spinbutton .button:active:hover,
.toolbar .button:active,
.toolbar .button:active:hover,
.toolbar .button.raised:active,
.toolbar .button.raised:checked,
.toolbar .raised .button:active,
.toolbar .raised .button:checked,
.toolbar .button.raised:active:hover,
.toolbar .button.raised:checked:hover,
.toolbar .raised .button:active:hover,
.toolbar .raised .button:checked:hover,
.primary-toolbar .combobox-entry .button:active,
.combobox-entry .button:active,
.primary-toolbar .button:active,
.primary-toolbar .button:active:hover,
.primary-toolbar .button:focus:active,
.primary-toolbar .button:focus:active:hover,
.inline-toolbar .button:active,
.inline-toolbar .button:active:hover {
	background-image: linear-gradient(to bottom,
	                  @button_active_gradient_a,
	                  @button_active_gradient_b 3px,
	                  @button_active_gradient_c 4px,
	                  @button_active_gradient_d 50%,
	                  @button_active_gradient_e 50%,
	                  @button_active_gradient_f);
	background-color: transparent;
}

GtkListBoxRow.list-row,
GtkListBoxRow.button.list-row {
	color: @theme_text_color;
	background-color: @theme_base_color;
	border-radius: 0px;
	border-style: none;
    padding: 2px;
}

GtkListBoxRow.list-row:hover,
GtkListBoxRow.button.list-row:hover {
	background-image: linear-gradient(to bottom,
	                  @button_hover_gradient_a 5%,
	                  @button_hover_gradient_b 95%,
	                  @button_hover_gradient_c);
	background-color: transparent;
}

GtkListBoxRow.list-row:selected,
GtkListBoxRow.button.list-row:selected {
	color: @theme_selected_fg_color;
	border-style: solid;
	border-width: 1px;
	border-color: @menubar_menuitem_hover_border_color;
	background-image: -gtk-gradient (linear,
	                  left top,
	                  left bottom,
	                  from (@menubar_menuitem_hover_gradient_a),
	                  color-stop (0.50, @menubar_menuitem_hover_gradient_b),
	                  color-stop (0.50, @menubar_menuitem_hover_gradient_c),
	                  to (@menubar_menuitem_hover_gradient_d));
}

.trough,
.trough.highlight,
.trough row,
.trough row:hover {
	background-image: linear-gradient(to bottom,
	                  @trough_gradient_a,
	                  @trough_gradient_b 4px);
}

/* Flipped pushed button background for vertical progressbar through and the like */
.trough.vertical {
	background-image: linear-gradient(to right,
	                  @trough_gradient_a,
	                  @trough_gradient_b 4px);
}

/* Prelight button background */
.button:hover,
.spinbutton .button:hover,
.toolbar .button:hover,
.toolbar .button.raised:hover,
.toolbar .raised .button:hover,
.toolbar GtkComboBox .button:hover,
.primary-toolbar .button:hover,
.combobox-entry .button:hover,
.primary-toolbar .combobox-entry .button:hover,
GtkColorChooserWidget #add-color-button:hover {
	background-color: transparent;
	background-image: linear-gradient(to bottom,
	                  @button_hover_gradient_a 5%,
	                  @button_hover_gradient_b 95%,
	                  @button_hover_gradient_c);
}

/* Insensitive button background */
.button:insensitive,
.toolbar GtkComboBox .button:insensitive,
.combobox-entry .button:insensitive {
	background-image: none;
	background-color: transparent;
    color: @insensitive_fg_color;
}

/* Pushed + Insensitive button background */
.button:active:insensitive,
.toolbar .button:active:insensitive,
.toolbar GtkComboBox .button:active:insensitive {
	background-image: linear-gradient(to bottom,
	                  @button_active_insensitive_gradient_a,
	                  @button_active_insensitive_gradient_b 3px,
	                  @button_active_insensitive_gradient_c 4px,
	                  @button_active_insensitive_gradient_d 50%,
	                  @button_active_insensitive_gradient_e 50%,
	                  @button_active_insensitive_gradient_f);
	background-color: transparent;
}

/* Focused primary toolbar button background */
.primary-toolbar .button:focus {
	background-image: linear-gradient(to bottom,
	                  @pt_button_focus_gradient_a,
	                  @pt_button_focus_gradient_b 50%,
	                  @pt_button_focus_gradient_c 50%,
	                  @pt_button_focus_gradient_d);
}

/* Focused + prelit primary toolbar button background */
.primary-toolbar .button:focus:hover {
	background-image: linear-gradient(to bottom,
	                  @pt_button_focus_hover_gradient_a,
	                  @pt_button_focus_hover_gradient_b 50%,
	                  @pt_button_focus_hover_gradient_c 50%,
	                  @pt_button_focus_hover_gradient_d);
}

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

.notebook {
	padding: 0;
	background-clip: border-box;
	background-color: @notebook_bg_color;
	-GtkNotebook-tab-overlap: 2;
	-GtkNotebook-tab-curvature: 3;
	-GtkNotebook-initial-gap: 0;
}

.notebook.header.frame {
	border-width: 0;
}

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

.notebook tab {
	padding: 3px;
	border-radius: 3px;
	border-color: @border_color;
	border-style: solid;
	border-width: 1px;
	background-color: transparent;
}

.notebook tab.top {
	padding: 4px 2px 0 2px;
	border-width: 1px 1px 0px;
	background-image: linear-gradient(to bottom,
	                  @notebook_tab_inner_border_color 1px,
	                  @notebook_tab_gradient_a 2px,
	                  @notebook_tab_gradient_b 50%,
	                  @notebook_tab_gradient_c 50%,
	                  @notebook_tab_gradient_d);
}

.notebook tab.right {
	padding: 2px 4px 2px 0;
	border-width: 1px 1px 1px 0;
	background-image: linear-gradient(to left,
	                  @notebook_tab_inner_border_color 1px,
	                  @notebook_tab_gradient_a 2px,
	                  @notebook_tab_gradient_b 50%,
	                  @notebook_tab_gradient_c 50%,
	                  @notebook_tab_gradient_d);
}

.notebook tab.bottom {
	padding: 0 2px 4px;
	border-width: 0px 1px 1px;
	background-image: linear-gradient(to top,
	                  @notebook_tab_inner_border_color 1px,
	                  @notebook_tab_gradient_a 2px,
	                  @notebook_tab_gradient_b 50%,
	                  @notebook_tab_gradient_c 50%,
	                  @notebook_tab_gradient_d);
}

.notebook tab.left {
	padding: 2px 0 2px 4px;
	border-width: 1px 0 1px 1px;
	background-image: linear-gradient(to right,
	                  @notebook_tab_inner_border_color 1px,
	                  @notebook_tab_gradient_a 2px,
	                  @notebook_tab_gradient_b 50%,
	                  @notebook_tab_gradient_c 50%,
	                  @notebook_tab_gradient_d);
}

.notebook tab.top:active {
	padding-top: 7px;
	border-top-color: @notebook_active_tab_border;
	background-image: linear-gradient(to bottom,
	                  @notebook_active_tab_strip_gradient_a,
	                  @notebook_active_tab_strip_gradient_b 3px,
	                  @notebook_active_tab_strip_border_bottom_color 4px,
	                  @notebook_active_tab_gradient_a 4px,
	                  @notebook_active_tab_gradient_b);
}

.notebook tab.right:active {
	padding-right: 7px;
	border-right-color: @notebook_active_tab_border;
	background-image: linear-gradient(to left,
	                  @notebook_active_tab_strip_gradient_a,
	                  @notebook_active_tab_strip_gradient_b 3px,
	                  @notebook_active_tab_strip_border_bottom_color 4px,
	                  @notebook_active_tab_gradient_a 4px,
	                  @notebook_active_tab_gradient_b);
}

.notebook tab.bottom:active {
	padding-bottom: 7px;
	border-bottom-color: @notebook_active_tab_border;
	background-image: linear-gradient(to top,
	                  @notebook_active_tab_strip_gradient_a,
	                  @notebook_active_tab_strip_gradient_b 3px,
	                  @notebook_active_tab_strip_border_bottom_color 4px,
	                  @notebook_active_tab_gradient_a 4px,
	                  @notebook_active_tab_gradient_b);
}

.notebook tab.left:active {
	padding-left: 7px;
	border-left-color: @notebook_active_tab_border;
	background-image: linear-gradient(to right,
	                  @notebook_active_tab_strip_gradient_a,
	                  @notebook_active_tab_strip_gradient_b 3px,
	                  @notebook_active_tab_strip_border_bottom_color 4px,
	                  @notebook_active_tab_gradient_a 4px,
	                  @notebook_active_tab_gradient_b);
}

.notebook tab * {
	background-color: transparent;
}

.notebook tab * {
	background-color: transparent;
}

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

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

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

.notebook tab .button GtkImage:active,
.notebook tab .button GtkImage:active:hover {
	background-color: alpha(black, 0.08);
	color:  @theme_base_color;
	border-color: alpha(black, 0.27)
	              alpha(black, 0.13)
	              alpha(black, 0.13)
	              alpha(black, 0.13);
}

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

GtkComboBox {
	padding: 0;
	-GtkComboBox-arrow-scaling: 0.5;
	-GtkComboBox-shadow-type: none;
}

GtkComboBox *:insensitive {
	color: @insensitive_fg_color;
}

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

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

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

-GtkComboBox.combobox-entry .button:last-child {
	border-image-width: 3px 3px 4px 2px;
}

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

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

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

GtkComboBox .button {
	color: @internal_element_color;
}

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

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

.scrollbar {
	background-image: none;
	border-style: solid;
	-GtkRange-trough-border: 0;
	-GtkScrollbar-has-backward-stepper: true;
	-GtkScrollbar-has-forward-stepper: true;
	-GtkRange-arrow-scaling: 0.4;
	-GtkRange-slider-width: 15;
	-GtkRange-stepper-size: 15px;
	-GtkScrollbar-min-slider-length: 30;
	-GtkRange-stepper-spacing: 0;
	-GtkRange-trough-under-steppers: 0;
}

.scrollbars-junction {
	background-image: none;
	background-color: @scrollbars_junction_bg_color;
}

.scrollbars-junction,
.scrollbar.trough {
	border-color: @scrollbar_trough_border_color;
	border-radius: 0;
	border-image: none;
}

.scrollbar.trough.horizontal {
	border-width: 1px 0px;
	background-image: -gtk-gradient (linear,
	                  left top,
	                  left bottom,
	                  color-stop (0, @scrollbar_trough_gradient_a),
	                  color-stop (0.5, @scrollbar_trough_gradient_b));
}

.scrollbar.trough.vertical {
	border-width: 0px 1px;
	background-image: -gtk-gradient (linear,
	                  left top,
	                  right top,
	                  color-stop (0, @scrollbar_trough_gradient_a),
	                  color-stop (0.5, @scrollbar_trough_gradient_b));
}

.scrollbar.button {
	border-width: 1px;
	border-image: none;
	border-color: @scrollbar_button_border_color;
	background-image: none;
	background-color: transparent;
	color: @scrollbar_button_color;
}

.scrollbar.button.top {
	border-radius: 3px 3px 0px 0px;
}

.scrollbar.button.bottom {
	border-radius: 0px 0px 3px 3px;
}

.scrollbar.button.left {
	border-radius: 3px 0px 0px 3px;
}

.scrollbar.button.right {
	border-radius: 0px 3px 3px 0px;
}

.scrollbar.button.horizontal {
	background-image: -gtk-gradient (linear,
	                  left top,
	                  left bottom,
	                  from (@scrollbar_button_gradient_a),
	                  color-stop (0.50, @scrollbar_button_gradient_b),
	                  color-stop (0.50, @scrollbar_button_gradient_c),
	                  to (@scrollbar_button_gradient_d));
}

.scrollbar.button.vertical {
	background-image: -gtk-gradient (linear,
	                  left top,
	                  right top,
	                  from (@scrollbar_button_gradient_a),
	                  color-stop (0.50, @scrollbar_button_gradient_b),
	                  color-stop (0.50, @scrollbar_button_gradient_c),
	                  to (@scrollbar_button_gradient_d));
}

.scrollbar.button.horizontal:hover {
	background-image: -gtk-gradient (linear,
	                  left top,
	                  left bottom,
	                  from (@scrollbar_button_hover_gradient_a),
	                  color-stop (0.50, @scrollbar_button_hover_gradient_b),
	                  color-stop (0.50, @scrollbar_button_hover_gradient_c),
	                  to (@scrollbar_button_hover_gradient_d));
}

.scrollbar.button.vertical:hover {
	background-image: -gtk-gradient (linear,
	                  left top,
	                  right top,
	                  from (@scrollbar_button_hover_gradient_a),
	                  color-stop (0.50, @scrollbar_button_hover_gradient_b),
	                  color-stop (0.50, @scrollbar_button_hover_gradient_c),
	                  to (@scrollbar_button_hover_gradient_d));
}

.scrollbar.button.horizontal:active {
	background-image: -gtk-gradient (linear,
	                  left top,
	                  left bottom,
	                  from (@scrollbar_button_active_gradient_a),
	                  color-stop (0.50, @scrollbar_button_active_gradient_b),
	                  color-stop (0.50, @scrollbar_button_active_gradient_c),
	                  to (@scrollbar_button_active_gradient_d));
}

.scrollbar.button.vertical:active {
	background-image: -gtk-gradient (linear,
	                  left top,
	                  right top,
	                  from (@scrollbar_button_active_gradient_a),
	                  color-stop (0.50, @scrollbar_button_active_gradient_b),
	                  color-stop (0.50, @scrollbar_button_active_gradient_c),
	                  to (@scrollbar_button_active_gradient_d));
}

.scrollbar.slider {
	background-color: @scrollbar_slider_bg_color;
	background-image: none;
	border-radius: 0;
	border-style: solid;
	border-image: none;
	border-color: @scrollbar_slider_border_color;
	border-width: 1px;
}

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

/*********
 * Menus *
 *********/

/* combobox menus */
GtkTreeMenu.menu,
GtkTreeMenu.menu * {
	background-color: @menu_bg_color;
}

GtkTreeMenu .menuitem {
	padding: 2px;
}

.menu {
	font: normal;
	background-color: @menu_bg_color;
	color: @menu_fg_color;
	padding: 1px;
	border-style: solid;
	border-width: 1px;
	border-color: @menu_border_color;
}

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

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

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

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

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

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

/* this controls the general appearance of the menubar */
.menubar {
	border-style: none;
	padding: 1px;
	-GtkWidget-window-dragging: true;
	-GtkMenuBar-internal-padding: 1;
	background-image: -gtk-gradient (linear,
	                  left top,
	                  left bottom,
	                  from (@menubar_gradient_a),
	                  color-stop (0.50, @menubar_gradient_b),
	                  to (@menubar_gradient_c));
}

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

.menubar .menuitem:hover,
.menuitem.button.flat:hover,
.menuitem.button.flat:active {
	background-color: @menu_bg_color;
	border-style: solid;
	border-width: 1px 1px 0px;
	border-color: @menubar_menuitem_hover_border_color;
	border-radius: 3px 3px 0 0;
	color: @menubar_menuitem_hover_color;
	background-image: -gtk-gradient (linear,
	                  left top,
	                  left bottom,
	                  from (@menubar_menuitem_hover_gradient_a),
	                  color-stop (0.50, @menubar_menuitem_hover_gradient_b),
	                  color-stop (0.50, @menubar_menuitem_hover_gradient_c),
	                  to (@menubar_menuitem_hover_gradient_d));
}

.menuitem.button.flat:hover {
	border-width: 1px;
	border-radius: 3px;
}

.menuitem.button.flat:focus {
	color: @theme_text_color;
}

.menubar .menuitem *:hover {
	border-width: 1px;
	color: @menubar_menuitem_hover_color;
}

.menu .menuitem {
	-GtkMenuItem-arrow-scaling: 0.5;
	padding: 4px;
	background-color: @menu_bg_color;
}

.menu .menuitem > * {
	background-color: transparent;
}

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

GtkTreeMenu .menuitem:hover,
.menu .menuitem:active,
.menu .menuitem:hover {
	border-style: solid;
	border-width: 1px;
	border-color: @menubar_menuitem_hover_border_color;
}

GtkTreeMenu .menuitem *:hover,
GtkComboBox .menuitem:hover *
.menu .menuitem:active,
.menu .menuitem *:active,
.menu .menuitem:hover,
.menu .menuitem *:hover {
	color: @theme_selected_fg_color;
	background-image: -gtk-gradient (linear,
	                  left top,
	                  left bottom,
	                  from (@menubar_menuitem_hover_gradient_a),
	                  color-stop (0.50, @menubar_menuitem_hover_gradient_b),
	                  color-stop (0.50, @menubar_menuitem_hover_gradient_c),
	                  to (@menubar_menuitem_hover_gradient_d));
}

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

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

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

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

.menuitem.arrow {
	color: @menu_controls_color;
}

.menuitem.separator {
	color: @menu_separator_color;
	padding: 3px 1px 3px 1px;

	-GtkMenuItem-horizontal-padding: 0;
}

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

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

/***************
 * Menu Button *
 ***************/

.button.menuitem.menubar:active,
.button.menuitem.menubar *:active {
	color: @theme_text_color;
	background-image: none;
	background-color: @menu_bg_color;
	border-radius: 5px 5px 0 0;
	border-image: none;
	border-width: 1px 1px 0 1px;
	border-color: shade(@border_color, 1.30);
	border-style: solid;
}

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

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

.check row:selected:insensitive,
.check row:selected:focus:insensitive {
	background-color: transparent;
}

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

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

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

.toolbar .button {
	padding: 1px;
}

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

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

.toolbar.menubar {
	border-style: none;
	-GtkToolbar-button-relief: normal;
	padding-left: 4px;
	padding-right: 4px;
}

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

/* applications using EggEditableToolbar usually set the primary-toolbar
 * hint on the containing vbox, so we need to handle both these cases here.
 */
.primary-toolbar .toolbar,
.primary-toolbar.toolbar {
	border-width: 1px 0 1px 0;
	border-radius: 0;
	border-style: solid;
	border-top-color: @toolbar_border_top_color;
	border-bottom-color: @toolbar_border_bottom_color;
	-GtkWidget-window-dragging: true;
	-GtkToolbar-button-relief: normal;
}

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

/* progressbars on primary toolbar entries are special */
.primary-toolbar .toolbar .entry.progressbar,
.primary-toolbar.toolbar .entry.progressbar {
	background-image: -gtk-gradient (linear,
	                  left top, left bottom,
	                  from (@trough_gradient_a),
	                  to (@trough_gradient_b));
	border-width: 1px;
	border-radius: 2px;
	border-style: solid;
	border-color: shade(@internal_element_color, 1.10);
	border-image: none;
	color: @theme_text_color;
}

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

.inline-toolbar.toolbar {
	border-width: 1px;
	border-radius: 0;
	border-style: solid;
	-GtkToolbar-button-relief: normal;
	padding: 4px;
}

.inline-toolbar.toolbar:last-child {
	border-width: 0 1px 1px 1px;
	border-radius: 0 0 3px 3px;
}

/* Primary and inline toolbars background */
.primary-toolbar .toolbar,
.primary-toolbar.toolbar,
.inline-toolbar.toolbar  {
	background-color: transparent;
	background-image: linear-gradient(to bottom,
	                  @toolbar_gradient_a 2px,
	                  @toolbar_gradient_b 50%,
	                  @toolbar_gradient_c 50%,
	                  @toolbar_gradient_d);
}

/***********
 * Sidebar *
 ***********/

.sidebar,
.sidebar .view {
	background-color: @sidebar_bg_color;
}

.sidebar .frame {
    border-style: none;
}

/* dialog open */
GtkFileChooserWidget GtkPlacesSidebar.sidebar.frame .frame GtkListBox.sidebar.list,
GtkFileChooserDialog GtkPlacesSidebar.sidebar.frame .frame GtkListBox.sidebar.list,
GtkFileChooserWidget GtkPlacesSidebar.sidebar.frame .frame .sidebar.list .list-row.activatable.sidebar-row,
GtkFileChooserDialog GtkPlacesSidebar.sidebar.frame .frame .sidebar.list .list-row.activatable.sidebar-row {
    background-color: @theme_base_color;
}

GtkFileChooserWidget GtkPlacesSidebar.sidebar.frame .frame .sidebar.list .list-row.activatable.sidebar-row:selected,
GtkFileChooserDialog GtkPlacesSidebar.sidebar.frame .frame .sidebar.list .list-row.activatable.sidebar-row:selected,
GtkFileChooserWidget GtkPlacesSidebar.sidebar.frame .frame .sidebar.list .list-row.activatable.sidebar-row:selected:hover,
GtkFileChooserDialog GtkPlacesSidebar.sidebar.frame .frame .sidebar.list .list-row.activatable.sidebar-row:selected:hover {
    border-style: none;
    color: @theme_selected_fg_color;
    background-image: -gtk-gradient (linear,
                      left top,
                      left bottom,
                      from (@menubar_menuitem_hover_gradient_a),
                      color-stop (0.50, @menubar_menuitem_hover_gradient_b),
                      color-stop (0.50, @menubar_menuitem_hover_gradient_c),
                      to (@menubar_menuitem_hover_gradient_d));
}

GtkFileChooserWidget GtkPlacesSidebar.sidebar.frame .frame .sidebar.list .list-row.activatable.sidebar-row:hover,
GtkFileChooserDialog GtkPlacesSidebar.sidebar.frame .frame .sidebar.list .list-row.activatable.sidebar-row:hover {
	background-image: linear-gradient(to bottom,
	                  shade(@button_active_gradient_a, 1.20),
	                  shade(@button_active_gradient_b, 1.20) 3px,
	                  shade(@button_active_gradient_c, 1.20) 4px,
	                  shade(@button_active_gradient_d, 1.20) 50%,
	                  shade(@button_active_gradient_e, 1.20) 50%,
	                  shade(@button_active_gradient_f, 1.20));
	background-color: transparent;
}

GtkFileChooserWidget GtkPlacesSidebar.sidebar.frame .frame .sidebar.list .list-row.activatable.sidebar-row .sidebar-revealer .sidebar-icon,
GtkFileChooserDialog GtkPlacesSidebar.sidebar.frame .frame .sidebar.list .list-row.activatable.sidebar-row .sidebar-revealer .sidebar-icon {
    padding: 4px 8px 4px 6px;
}

GtkFileChooserWidget GtkPlacesSidebar.sidebar.frame .frame .sidebar.list .list-row.activatable.sidebar-row .sidebar-revealer .sidebar-label,
GtkFileChooserDialog GtkPlacesSidebar.sidebar.frame .frame .sidebar.list .list-row.activatable.sidebar-row .sidebar-revealer .sidebar-label {
    padding: 4px 0px 4px 1px;
}

GtkFileChooserWidget GtkPlacesSidebar.sidebar.frame .frame .sidebar.list .list-row.activatable.sidebar-row .sidebar-revealer .sidebar-button.image-button.button,
GtkFileChooserDialog GtkPlacesSidebar.sidebar.frame .frame .sidebar.list .list-row.activatable.sidebar-row .sidebar-revealer .sidebar-button.image-button.button {
    background-color: transparent;
    background-image: none;
    border-image:none;
    box-shadow: none;
    border-width: 0px;
    padding: 4px 12px 4px 0px;
}

/* workaround for broken first/last-child logic with linked buttons
   in pathbar with gtk+-3.18 */
.path-bar.linked .button.text-button {
	border-right-width: 1px;
	border-left-width: 1px;
	border-radius: 2px;
    padding: 4px;
}

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

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

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

GtkOverlay.osd {
    background-color: transparent;
}

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

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

.osd .button {
    border-color: shade (@theme_bg_color, 0.4);
}
.osd .button:insensitive {
    border-color: alpha(@osd_button_border,0.5);
}

.osd .button:hover,
.osd .button:active,
.osd .button:checked {
    border-color: shade (@theme_selected_bg_color, 0.5);
}

.osd.button,
.osd .button {
    padding: 6px;
    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 {
    padding: 8px;
}

.osd.button,
.osd.button:active,
.osd.button:checked {
    border-color: transparent;
}

.osd.button,
.osd.button:prelight,
.osd.button:active,
.osd.button:checked {
    background-color: shade(@osd_bg, 1.10);
}

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

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

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

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

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

.osd.button:insensitive,
.osd.button:active *:insensitive,
.osd.button:checked *:insensitive,
.osd .button:insensitive,
.osd .button:active *:insensitive,
.osd .button:checked *:insensitive {
    color: @osd_button_fg_insensitive;
    text-shadow: none;
    icon-shadow: none;
}

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

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

.osd .linked .button:active:first-child {
    border-left-width: 1px;
}

.osd .linked .button:active:last-child {
    border-right-width: 1px;
}

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

.osd GtkMenuButton.menu-button:active {
    color: @osd_button_fg_active;
    text-shadow: 0 -1px @osd_button_shadow;
}


.osd.toolbar {
    color: @osd_fg;
    text-shadow: 0 1px @osd_text_shadow;
    padding: 5px;
    border-style: solid;
    border-width: 1px;
    border-color: shade (@theme_bg_color, 0.4);
    border-radius: 2px;
    background-image: linear-gradient(to bottom,
                                      @osd_toolbar_bg_a,
                                      @osd_toolbar_bg_b 63%,
                                      @osd_toolbar_bg_c);
    background-color: transparent;
    -GtkToolbar-button-relief: normal;
}

.osd.toolbar .flat.button.image-button {
    box-shadow: none;
}

.osd.toolbar .button,
.osd.toolbar .button:hover,
.osd.toolbar .button:active,
.osd.toolbar .button:checked,
.osd.toolbar .button:active:hover,
.osd.toolbar .button:insensitive,
.osd.toolbar .linked .button,
.osd.toolbar .linked .button:hover,
.osd.toolbar .linked .button:active,
.osd.toolbar .linked .button:checked,
.osd.toolbar .linked .button:active:hover,
.osd.toolbar .linked .button:insensitive {
    border-color: shade (@theme_bg_color, 0.4);
    border-style: solid;
    border-image: none;
    padding: 8px;
    border-radius: 0px;
}

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

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

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

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

.osd.toolbar .button:only-child,
.osd.toolbar .button:hover:only-child,
.osd.toolbar .button:active:only-child,
.osd.toolbar .button:active:hover: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: 3px;
    border-style: solid;
    box-shadow: none;
}

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

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

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

.osd .scale.trough {
    border-color: shade (@theme_bg_color, 0.4);
    border-image: none;
    /* this defines the bg color of the played segment */
    background-color: @osd_scale_trough_bg_color;
}

.osd .scale.trough.highlight {
    background-image: none;
    background-color: @theme_selected_bg_color;
    background-color: @osd_scale_trough_highlight_bg_color;
}

.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_bg_color, 0.4);
    border-radius: 2px;
    background-image: linear-gradient(to bottom,
                                      @osd_toolbar_bg_a,
                                      @osd_toolbar_bg_b 63%,
                                      @osd_toolbar_bg_c);
    background-color: transparent;
    padding: 2px;
}

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

.osd .scale-popup.popover.background .button.flat.image-button:hover {
    background-image: linear-gradient(to bottom,
                                      @osd_button_bg_hover_a,
                                      @osd_button_bg_hover_b 78%,
                                      @osd_button_bg_hover_c);
    box-shadow: none;
}

.osd .scale-popup.popover.background .button.flat.image-button:insensitive {
    border-color: alpha (shade(@theme_bg_color, 0.4), 0.0);
    background-image: none;
    background-color: transparent;
}

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

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

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

GtkAssistant .sidebar {
	padding: 12px;
	border-width: 1px;
	border-radius: 2px;
	border-style: solid;
	border-color: @gtkassistant_sidebar_border_color;
	color: mix (@theme_fg_color, @theme_bg_color, 0.40);
	background-color: shade (@theme_bg_color, 0.97);
	/* shall we make it like sidebars in general? */
}

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

GtkSwitch {
	color: @switch_color;
}

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

GtkSwitch.trough:active {
	background-image: -gtk-gradient (linear,
	                  left top, left bottom,
	                  from (@switch_trough_active_gradient_a),
	                  to (@switch_trough_active_gradient_b));
}

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

GtkSwitch.slider {
	background-color: @switch_slider_bg_color;
	border-width: 1px;
	border-radius: 2px;
	border-style: solid;
	border-color: @switch_slider_border_color;
	padding: 0px 0px 1px 0px;
}

GtkSwitch.slider:insensitive {
	background-color: @switch_slider_insensitive_bg_color;
	border-color: @insensitive_border_color;
}

GtkTreeView {
	-GtkTreeView-vertical-separator: 0;
	-GtkTreeView-expander-size: 13;
	-GtkWidget-focus-line-width: 1;
	-GtkWidget-focus-padding: 1;
}

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

GtkViewport,
GtkIconView {
	border-radius: 3px;
	padding: 0;
	background-color: @theme_base_color;
}

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

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

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

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

GtkTreeView:hover {
	background-image: linear-gradient(to bottom,
	                  shade(@button_active_gradient_a, 1.20),
	                  shade(@button_active_gradient_b, 1.20) 3px,
	                  shade(@button_active_gradient_c, 1.20) 4px,
	                  shade(@button_active_gradient_d, 1.20) 50%,
	                  shade(@button_active_gradient_e, 1.20) 50%,
	                  shade(@button_active_gradient_f, 1.20));
	background-color: transparent;
}

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

column-header.button,
column-header .button,
column-header.button:insensitive,
column-header .button:insensitive,
column-header.button:hover,
column-header .button:hover,
column-header.button:focus:hover,
column-header .button:focus:hover {
	background-color: @theme_base_color;
	background-image: -gtk-gradient (linear,
	                  left top,
	                  left bottom,
	                  from (@column_header_button_gradient_a),
	                  color-stop (0.50, @column_header_button_gradient_b),
	                  color-stop (0.50, @column_header_button_gradient_c),
	                  to (@column_header_button_gradient_d));
	padding: 0 4px;
	font-weight: normal;
}

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

column-header.button:hover,
column-header .button:hover,
column-header.button:focus:hover,
column-header .button:focus:hover,
column-header.button:active:focus:hover,
column-header .button:active:focus:hover,
column-header.button:active:focus,
column-header .button:active:focus,
column-header.button:active:hover,
column-header .button:active:hover,
column-header.button *:active,
column-header .button *:active,
column-header.button *:active:hover,
column-header .button *:active:hover {
	color: @internal_element_hover_color;
}

column-header.button:active,
column-header .button:active,
column-header.button:active:hover,
column-header .button:active:hover,
column-header.button:active:hover:focus,
column-header .button:active:hover:focus,
column-header.button:active:focus,
column-header .button:active:focus {
	background-color: @entry_bg_color;
	background-image: none;
}

row:hover {
	border-width: 0;
}

row:insensitive {
	border-width: 0;
}

row:selected,
row:selected:focus {
	border-width: 0;
}

row:selected:focus,
.cell:selected {
	background-image: -gtk-gradient (linear,
	                  left top,
	                  left bottom,
	                  from (@menubar_menuitem_hover_gradient_a),
	                  color-stop (0.50, @menubar_menuitem_hover_gradient_b),
	                  color-stop (0.50, @menubar_menuitem_hover_gradient_c),
	                  to (@menubar_menuitem_hover_gradient_d));
}

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

.cell:selected {
	color: @theme_selected_fg_color;
}

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

.expander:active {
	border-style: solid;
	border-width: 1px;
	border-color: shade (@internal_element_color, 1.40);
	background-color: @theme_base_color;
}

.expander:hover {
	border-style: solid;
	border-width: 1px;
	color: @internal_element_color;
	border-color: shade (@internal_element_color, 1.40);
	background-color: shade (@theme_bg_color, 1.02);
}

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

.expander row:selected,
.expander row:selected:focus {
	border-style: solid;
	border-width: 1px;
	border-color: @expander_row_selected_border_color;
	color: @expander_row_selected_color;
	background-color: @theme_selected_bg_color;
}

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

GtkCalendar.view {
	border-radius: 3px;
	border-style: solid;
	border-width: 1px;
	border-color: @border_color;
	padding: 0px;
}

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

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

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

/* Use different button and entry borders on infobars */
GtkInfoBar .entry,
GtkInfoBar .entry:focus,
GtkInfoBar .button,
GtkInfoBar .button:insensitive,
GtkInfoBar .button:active,
GtkInfoBar .button:focus,
GtkInfoBar .button:active:focus,
.info .entry,
.info .entry:focus,
.info .button,
.info .button:insensitive,
.info .button:active,
.info .button:focus,
.info .button:active:focus,
.warning .entry,
.warning .entry:focus,
.warning .button,
.warning .button:insensitive,
.warning .button:active,
.warning .button:focus,
.warning .button:active:focus,
.question .entry,
.question .entry:focus,
.question .button,
.question .button:insensitive,
.question .button:active,
.question .button:focus,
.question .button:active:focus,
.error .entry,
.error .entry:focus,
.error .button,
.error .button:insensitive,
.error .button:active,
.error .button:focus,
.error .button:active:focus {
	border-image: none;
	border-color: shade(@border_color, 0.9);
	border-style: solid;
	border-width: 1px;
}

GtkInfoBar:last-child,
.info:last-child,
.warning:last-child,
.question:last-child,
.error:last-child {
	/* only apply a border on the last infobar if
	 * there's more than one packed in */
	border-bottom-width: 1px;
	border-style: solid;
}

.info > * {
	background-color: @info_bg_color;
	color: @info_fg_color;
	border-color: darker(@info_bg_color);
}

.warning > * {
	background-color: @warning_bg_color;
	color: @warning_fg_color;
	border-color: darker(@warning_bg_color);
}

.question > * {
	background-color: @question_bg_color;
	color: @question_fg_color;
	border-color: darker(@question_bg_color);
}

.error > * {
	background-color: @error_bg_color;
	color: @error_fg_color;
	border-color: darker(@error_bg_color);
}

.view.dim-label,
.dim-label,
.dim-label:hover,
.dim-label:focus {
	color: mix (@theme_fg_color, @theme_bg_color, 0.50);
}

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

/***************
 * Resize grip *
 ***************/

.grip {
	background-color: transparent;
}

/************
 * Titlebar *
 ************/

.titlebar {
	background-image: linear-gradient(to bottom,
	                  @theme_base_color,
	                  @theme_bg_color);
	background-color: transparent;
	border-radius: 7px 7px 0 0;
	border-bottom: 1px solid;
	border-color: shade(@border_color, 1.30);
	padding: 5px 4px 4px 4px;
}

.titlebar > * {
	background: none;
}

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

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

.titlebar .title {
	font: Bold;
}

/*.titlebar :first-child {*/
/*	padding: 5px 5px 6px 5px;*/
/*}*/

.titlebar .titlebutton {
	background: none;
	border-image: none;
}

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

.background.csd .window-frame {
	border-width: 0px;
	border-radius: 7px 7px 0 0;
	border-style: solid;
	box-shadow: 0 0 0 1px @wm_border, 0 2px 8px 3px @wm_shadow;
	margin: 10px;
}

/* workaround to avoid unwanted black frames if switching compositor on/off */
.window-frame:backdrop {
/*	box-shadow: 0 0 0 1px shade(@wm_border,1.1), 0 2px 5px 1px*/
    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: 4px;
    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: 5px;
    box-shadow: 0 1px 5px @wm_shadow;
}

.window-frame.csd.message-dialog {
    border-radius: 7px;
    box-shadow: 0 1px 5px @wm_shadow;
}

/**************
 * Action bar *
 **************/

.action-bar {
	border-style: none;
	padding: 7px 7px 3px 7px;
}

/**************
 * Header bar *
 **************/

GtkHeaderBar .header-bar {
	padding: 5px 4px 4px 4px;
}

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

.popover {
	background-clip: initial;
	margin: 10px;
	padding: 2px;
	border-color: @border_color;
	border: 1px solid;
	border-radius: 2px;
	background-color: @theme_bg_color;
	background-image: linear-gradient(to bottom,
	                                  shade(@theme_bg_color, 1.0),
	                                  shade(@theme_bg_color, 0.85));
	box-shadow: 0 1px 5px @wm_shadow;
	text-shadow: none;
	icon-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_color,0.1);
	text-shadow: none;
	background-color: transparent;
	icon-shadow: none;
	border: 0;
}

.popover.osd {
	background-image: none;
	background-color: alpha(shade(#3E403D, 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-style: none;
	box-shadow: none;
}
.popover.osd .button {
	text-shadow: 0 -1px @osd_text_shadow;
	icon-shadow: 0 -1px @osd_text_shadow;
}
.popover.osd .button:active,
.popover.osd .button:checked {
        box-shadow: none;
}
.popover.osd .button:insensitive {
	color: alpha(@theme_selected_fg_color, 0.4);
}

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

GtkModelButton.button {
	color: @theme_fg_color;
	border-radius: 3px;
}

GtkModelButton.button:checked,
GtkModelButton.button:active,
GtkModelButton.button:insensitive,
GtkModelButton.button:active:insensitive,
GtkModelButton.button:checked:insensitive,
GtkModelButton.button,
GtkModelButton.button:focus,
GtkModelButton.button:active:focus,
GtkModelButton.button:checked:focus {
	color: @theme_fg_color;
	background-color: transparent;
	background-image: none;
	border-color: transparent;
	border-image: none;
	border-style: none;
	box-shadow: none;
	border-radius: 3px;
}

GtkModelButton.button:checked:hover,
GtkModelButton.button:active:hover,
GtkModelButton.button:hover,
GtkModelButton.button:selected {
	color: @theme_selected_fg_color;
	background-image:  linear-gradient(to bottom,
	                                  shade(@theme_selected_bg_color, 1.1),
	                                  shade(@theme_selected_bg_color, 0.8));
	text-shadow: none;
	border-width: 2px;
	border-color: @border_color;
	border-radius: 3px;
}

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

.popover .button.default.suggested-action.text-button {
    background-color: transparent;
    background-image: none;
    text-shadow:none;
    border-style: none;
    border-image: none;
    box-shadow: none;
}

.popover .button.default.suggested-action.text-button:hover {
	color: @theme_selected_fg_color;
	background-image:  linear-gradient(to bottom,
	                                  shade(@theme_selected_bg_color, 1.1),
	                                  shade(@theme_selected_bg_color, 0.8));
	text-shadow: none;
	border-color: @border_color;
	border-width: 2px;
	border-radius: 3px;
}

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

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

GtkStackSidebar.sidebar GtkViewport.frame {
    border-color: @border_color;
    border-style: solid;
    border-width: 0 1px 0 0;
    /* FIXME radius > 0 doesn't work */
    border-radius: 0px 0px 0px 3px;
    background-color: @theme_base_color;
}

GtkStackSidebar.sidebar GtkListBoxRow.button.list-row:active,
GtkStackSidebar.sidebar GtkListBoxRow.button.list-row:selected {
    border-style: none;
    border-width: 0px;
    box-shadow: inset  0px  1px shade (@theme_selected_bg_color, 0.8),
                inset  1px  0px shade (@theme_selected_bg_color, 0.8),
                inset -1px  0px shade (@theme_selected_bg_color, 0.8),
                inset  0px -1px shade (@theme_selected_bg_color, 0.8);
}

/* address entry */
GtkStack .linked.vertical .entry {
    padding: 4px;
}

.horizontal.titlebar.header-bar .horizontal.linked.stack-switcher .button.text-button {
    padding: 4px;
}

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

.app-notification,
.app-notification.frame {
    color: @theme_fg_color;
    padding: 10px;
    border-style: none;
    border-radius: 0 0 4px 4px;
    background-color: rgba(180, 187, 163, 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_fg_color;
    border-color: rgba(89, 112, 75, 0.7);
    background-image: linear-gradient(to bottom,
                                      rgba(180, 187, 163, 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: white;
    border-color: rgba(0, 0, 0, 0.7);
    background-image: linear-gradient(to bottom,
                                      rgba(119, 158, 79, 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;
}

.app-notification .button:active,
.app-notification .button:checked,
.app-notification .button:backdrop:active,
.app-notification .button:backdrop:checked,
.app-notification.frame .button:active,
.app-notification.frame .button:checked,
.app-notification.frame .button:backdrop:active,
.app-notification.frame .button:backdrop:checked {
    color: white;
    border-color: rgba(0, 0, 0, 0.7);
    background-image: linear-gradient(to bottom,
                                      rgba(105, 175, 65, 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(180, 187, 163, 0.7));
    background-clip: padding-box;
    box-shadow: none;
    text-shadow: none;
    icon-shadow: none;
    border-radius: 3px;
    padding: 0px;
}

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

GtkLinkButton.button,
GtkLinkButton.button:hover,
GtkLinkButton.button:active,
GtkLinkButton.button:active:hover {
    transition: all 400ms ease-in;
    text-shadow: none;
}

/******************
 * Dialog Windows *
 ******************/

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

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

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

/******************
 * GtkAboutDialog *
 ******************/

GtkAboutDialog.background .vertical.dialog-vbox  GtkGrid.vertical {
    background: transparent;
}

