/* default */
* {
	-GtkArrow-arrow-scaling: 0.5;
	-GtkButton-child-displacement-x: 1;
	-GtkButton-child-displacement-y: 1;
	-GtkButton-default-border: 0;
	-GtkButton-image-spacing: 0;
	-GtkButton-interior-focus: true;
	-GtkButton-inner-border: 3;
	-GtkButtonBox-child-min-height: 26;
	-GtkCheckButton-indicator-size: 15;
	-GtkCheckMenuItem-indicator-size: 14;
	-GtkComboBox-arrow-scaling: 0.75;
	-GtkExpander-expander-size: 10;
	-GtkHTML-link-color: @link_color;
	-GtkIMHtml-hyperlink-color: @link_color;
	-GtkMenu-horizontal-padding: 0;
	-GtkMenu-vertical-padding: 0;  
	-GtkMenuBar-internal-padding: 0;
	-GtkMenuItem-arrow-scaling: 0.5;
	-GtkPaned-handle-size: 6;
	-GtkProgressBar-min-horizontal-bar-height: 10;
	-GtkProgressBar-min-vertical-bar-width: 10;
	-GtkRange-trough-border: 1;
	-GtkRange-slider-width: 11;
	-GtkRange-stepper-size: 13;
	-GtkRange-trough-under-steppers: 1;
	-GtkRange-stepper-spacing: 0;
	-GtkScale-trough-border: 0;
	-GtkScrollbar-activate-slider: 1;
	-GtkScrollbar-trough-border: 0;
	-GtkScrollbar-slider-width: 11;
	-GtkScrollbar-min-slider-length: 31;
	-GtkScrolledWindow-scrollbar-spacing: 0;
	-GtkScrolledWindow-scrollbars-within-bevel: 1;
	-GtkSeparatorMenuItem-horizontal-padding: 0;
	-GtkStatusbar-shadow-type: none;
	-GtkTextView-error-underline-color: @error_color;
	-GtkToolButton-icon-spacing: 4;
	-GtkToolItemGroup-expander-size: 11;
	-GtkToolbar-internal-padding: 0;
	-GtkTreeView-expander-size: 6;
	-GtkTreeView-vertical-separator: 1;
	-GtkWidget-wide-separators: true;
	-GtkWidget-separator-width: 2px;
	-GtkWidget-separator-height: 2;
	-GtkWidget-focus-padding: 0;
	-GtkWidget-focus-line-width: 1;
	-GtkWidget-link-color: @link_color;
	-GtkWidget-visited-link-color: @link_color;
	-GtkWindow-resize-grip-default: false;
	-GtkWindow-resize-grip-width: 0;
	-GtkWindow-resize-grip-height: 0;
	-WnckTasklist-fade-overlay-rect: 0;

	border-width: 1px;
	padding: 0;

	engine: adwaita;

	outline-color: alpha(@text_color, 0.3);
	outline-style: dashed;
	outline-offset: 2px;
}

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:focus {
	background-color: @selected_bg_color;
	color: @selected_fg_color;
}

*:selected:backdrop,
*:selected:focus:backdrop {
	background-color: @backdrop_selected_bg_color;
	color: @backdrop_selected_fg_color;
}

.gtkstyle-fallback {
	background-color: @bg_color;
	color: @fg_color;
}

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

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

.gtkstyle-fallback:insensitive {
	background-color: @bg_color;
	color: @fg_color;
}

.gtkstyle-fallback:selected {
	background-color: @selected_bg_color;
	color: @selected_fg_color;
}

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

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

/**********
 * button *
 **********/
.button {
	padding: 3px;
}

GtkComboBox,
.button {
	background-image: -gtk-gradient (linear, left top, left bottom,
		from (shade (@button_bg_color, 1.1)),
		to (shade (@button_bg_color, 0.95)));
	border-radius: 6px;
	border-style: solid;
	border-color: transparent;
	color: @fg_color;
	text-shadow: 0 1px alpha (shade (@button_bg_color, 1.25), 0.4);
	background-color: transparent;
}

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

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

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

.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.98)));

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

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

/* Comboboxes etc */

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 (@button_bg_color, 1.1)),
		to (shade (@button_bg_color, 0.95)));
	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: 1px;
	text-shadow: 0 1px alpha (shade (@bg_color, 1.26), 0.5);
}

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 (@button_bg_color, 1.2)),
		to (shade (@button_bg_color, 1.04)));
	border-top-color: shade (@bg_color, 0.85);
	border-right-color: shade (@bg_color, 0.82);
	border-bottom-color: shade (@bg_color, 0.67);
	border-left-color: shade (@bg_color, 0.82);
}

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.8)),
		to (shade (@bg_color, 0.9)));
	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);
}

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.85)),
		to (shade (@bg_color, 0.95)));
	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);
}

GtkComboBox.combobox-entry .button:insensitive,
.notebook .button:insensitive,
.inline-toolbar.toolbar .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.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);
}

/* Middle button */
.primary-toolbar .linked .entry,
.primary-toolbar .linked .button,
.primary-toolbar .linked .button:active,
.primary-toolbar .linked .button:active:hover,
.primary-toolbar .linked .button:insensitive {
	border-width: 1px;
	border-right-width: 0;
	border-radius: 0;
}

/* Set up shadows and hilights for button visual separation */
.linked .button,
.toolbar .button.raised.linked,
.toolbar .raised.linked .button,
.inline-toolbar.toolbar .button,
.inline-toolbar.toolbar GtkToolButton .button {
	box-shadow: inset -1px 0 shade (@bg_color, 0.84);
}

.linked .button:first-child,
.toolbar .button.raised.linked:first-child,
.toolbar .raised.linked .button:first-child,
.inline-toolbar.toolbar .button:first-child,
.inline-toolbar.toolbar GtkToolButton:first-child .button {
	box-shadow: inset -1px 0 shade (@bg_color, 0.84);
}

.linked .button:last-child,
.toolbar .button.raised.linked:last-child,
.toolbar .raised.linked .button:last-child,
.inline-toolbar.toolbar .button:last-child,
.inline-toolbar.toolbar GtkToolButton:last-child .button {
	box-shadow: none;
}

/* active button shadows */
.linked .button:active,
.toolbar .button:active.raised.linked,
.toolbar .raised.linked .button:active,
.inline-toolbar.toolbar .button:active,
.inline-toolbar.toolbar GtkToolButton .button:active {
	box-shadow: inset 0 0 1px 1px alpha (@dark_bg_color, 0.66);
}

.linked .button:active:first-child,
.toolbar .button:active.raised.linked:first-child,
.toolbar .raised.linked .button:active:first-child,
.inline-toolbar.toolbar .button:active:first-child,
.inline-toolbar.toolbar GtkToolButton:first-child .button:active {
	box-shadow: inset -1px 0 1px 0 alpha (@dark_bg_color, 0.66);
}

.linked .button:active:last-child,
.toolbar .button:active.raised.linked:last-child,
.toolbar .raised.linked .button:active:last-child,
.inline-toolbar.toolbar .button:active:last-child,
.inline-toolbar.toolbar GtkToolButton:last-child .button:active {
	box-shadow: inset 1px 0 1px 0 alpha (@dark_bg_color, 0.66);
}

.linked .button:active:only-child,
.toolbar .button:active.raised.linked:only-child,
.toolbar .raised.linked .button:active:only-child,
.inline-toolbar.toolbar .button:active:only-child,
.inline-toolbar.toolbar GtkToolButton:only-child .button:active {
	box-shadow: none;
}

.linked .button:active,
.toolbar .button.raised.linked:active,
.toolbar .raised.linked .button:active,
.inline-toolbar.toolbar .button:active,
.inline-toolbar.toolbar GtkToolButton .button:active {
	/*box-shadow: inset 1px 0 shade (@bg_color, 0.76);*/
}

.linked .button:insensitive,
.toolbar .button.raised.linked:insensitive,
.toolbar .raised.linked .button:insensitive,
.inline-toolbar.toolbar .button:insensitive,
.inline-toolbar.toolbar GtkToolButton .button:insensitive {
	box-shadow: inset -1px 0 shade (@bg_color, 0.84);
}


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

/* Leftmost button */
.linked .entry:first-child,
.linked .button:first-child,
.linked .button:active:first-child,
.linked .button:active:hover:first-child,
.linked .button:focus:first-child,
.linked .button:focus:active:first-child,
.linked .button:insensitive:first-child {
	border-width: 1px;
	border-right-width: 0;
	border-image-width: 10px 0 10px 12px;
	border-radius: 6px;
	border-bottom-right-radius: 0;
	border-top-right-radius: 0;
}

.linked .button:hover:first-child,
.linked .button:hover:focus:first-child {
	border-image-width: 10px 0 10px 12px;
}

/* Rightmost button */
.linked .entry:last-child,
.linked .button:last-child,
.linked .button:active:last-child,
.linked .button:active:hover:last-child,
.linked .button:focus:last-child,
.linked .button:focus:active:last-child,
.linked .button:insensitive:last-child {
	border-width: 1px;
	border-left-width: 0;
	border-image-width: 10px 12px 10px 0;
	border-radius: 6px;
	border-bottom-left-radius: 0;
	border-top-left-radius: 0;
}

.linked .button:hover:last-child,
.linked .button:hover:focus:last-child {
	border-image-width: 10px 12px 10px 0;
}

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

/* Set up shadows and hilights for button visual separation */
.primary-toolbar .linked .button,
.primary-toolbar .button.raised.linked,
.primary-toolbar .raised.linked .button {
	/* box-shadow: inset 1px 0 shade (@dark_bg_color, 1.4),
		inset -1px 0 shade (@dark_bg_color, 0.9); */
}

.primary-toolbar .linked .button:first-child,
.primary-toolbar .button.raised.linked:first-child,
.primary-toolbar .raised.linked .button:first-child {
	/* box-shadow: inset -1px 0 shade (@dark_bg_color, 0.9); */
}

.primary-toolbar .linked .button:last-child,
.primary-toolbar .button.raised.linked:last-child,
.primary-toolbar .raised.linked .button:last-child {
	/* box-shadow: inset 1px 0 shade (@dark_bg_color, 1.4); */
}

.primary-toolbar .linked .button:active,
.primary-toolbar .button.raised.linked:active,
.primary-toolbar .raised.linked .button:active {
	/* box-shadow: inset 1px 0 shade (@dark_bg_color, 0.9); */
}

.primary-toolbar .linked .button:insensitive,
.primary-toolbar .button.raised.linked:insensitive,
.primary-toolbar .raised.linked .button:insensitive {
	box-shadow: inset -1px 0 shade (@dark_bg_color, 0.9);
}

/* Linked single button */
.primary-toolbar .linked .entry:only-child,
.primary-toolbar .linked .button:only-child,
.primary-toolbar .linked .button:active:only-child,
.primary-toolbar .linked .button:active:hover:only-child,
.primary-toolbar .linked .button:insensitive:only-child {
	border-radius: 6px;
	box-shadow: none;
}

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

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

row:selected:backdrop,
row:selected:focused:backdrop {
	border-width: 1px 0 0 0;
	border-style: solid;
	border-color: @backdrop_selected_bg_color;
	background-image: -gtk-gradient (linear,left top, left bottom,
		from (shade (@backdrop_selected_bg_color, 1.08)),
		to (shade (@backdrop_selected_bg_color, 0.98)));
}

/*******************
 * check and radio *
 *******************/
.check,
.radio,
.check:insensitive,
.radio:insensitive {
	background-color: transparent;
	border-style: none;
	margin: 1px 0;
}

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

.menu .radio * {
	box-shadow: none;
}

/*****************
 * column-header *
 *****************/
column-header .button,
column-header .button:hover,
column-header .button:active,
column-header .button:active:hover,
column-header .button:focused,
column-header .button:hover:focused,
column-header .button:active:focused,
column-header .button:active:hover:focused {
	-GtkButton-inner-border: 0;
	background-image: -gtk-gradient (linear, left top, left bottom,
		from (shade (@base_color,0.9)),
		to (shade (@base_color,1.0)));
	text-shadow: 0 1px alpha (shade (@bg_color, 1.25), 0.4);
	box-shadow: inset 0 1px 0 0 shade (@base_color, 0.96);
	border-radius: 0;
	border-width: 0;
	border-right-width: 1px;
	border-image: -gtk-gradient (linear, left top, left bottom,
		from (alpha (shade (@bg_color, 0.94), 1.0)),
		to (alpha (shade (@base_color, 1.02), 1.0))) 1;
}

column-header .button:hover {
	background-image: -gtk-gradient (linear, left top, left bottom,
		from (shade (@base_color,0.98)),
		to (shade (@base_color,1.0)));
}

column-header .button:focused,
column-header .button:hover:focused,
column-header .button:active:focused,
column-header .button:active:hover:focused {
	box-shadow: inset 0 1px 0 0 shade (@selected_bg_color, 1.0);
	outline-color: transparent;
}

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

/******************
 * combobox entry *
 ******************/
.primary-toolbar GtkComboBox.combobox-entry .entry,
.primary-toolbar GtkComboBox.combobox-entry .entry:active,
.primary-toolbar GtkComboBox.combobox-entry .entry:focused,
GtkComboBox.combobox-entry .entry,
GtkComboBox.combobox-entry .entry:active,
GtkComboBox.combobox-entry .entry:focused {
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
	border-width: 1px 0 1px 1px;
	box-shadow: inset 0 0 1px 1px alpha (@dark_bg_color, 0.26);
	background-image: -gtk-gradient (linear, left top, left bottom,
		from (shade (@base_color, 0.96)),
		to (@base_color));
}

.primary-toolbar GtkComboBox.combobox-entry .entry:insensitive,
GtkComboBox.combobox-entry .entry:insensitive {
	background-color: shade (@bg_color, 0.96);
	background-image: none;
	color: mix (@text_color, @base_color, 0.4);
	box-shadow: inset 0 0 1px 1px alpha (@dark_bg_color, 0.16);
}

GtkComboBox.combobox-entry .entry:focused {
	box-shadow: inset 0 0 1px 1px alpha (@selected_bg_color, 0.66);
}

.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:focus,
GtkComboBox.combobox-entry .button:insensitive {
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
	border-width: 1px 1px 1px 1px;
	border-image: none;
	border-top-right-radius: 2px;
	border-bottom-right-radius: 2px;
	outline-color: transparent;
	background-image: -gtk-gradient (linear, left top, left bottom,
		from (shade (@button_bg_color, 1.1)),
		to (shade (@button_bg_color, 0.95)));
}

GtkComboBox.combobox-entry .button,
GtkComboBox.combobox-entry .button:insensitive {
	border-color: shade (@bg_color, 0.66);
	background-image: -gtk-gradient (linear, left top, left bottom,
		from (shade (@button_bg_color, 1.1)),
		to (shade (@button_bg_color, 0.95)));
}

GtkComboBox.combobox-entry .button:hover {
	background-image: -gtk-gradient (linear, left top, left bottom,
		from (shade (@button_bg_color, 1.2)),
		to (shade (@button_bg_color, 1.04)));
}

GtkComboBox.combobox-entry .button:active {
	background-image: -gtk-gradient (linear, left top, left bottom,
		from (shade (@bg_color, 0.8)),
		to (shade (@bg_color, 0.9)));
	box-shadow: inset 0 0 1px 1px alpha (@dark_bg_color, 0.26);
}

GtkComboBox {
	padding: 1px 1px 0;
}

GtkComboBox .button {
	padding: 2px;
}

GtkComboBox .separator {
	border-width: 0;
}

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

.content-view.view:prelight {
	background-color: shade (@bg_color, 1.03);
}

.content-view.view:selected,
.content-view.view:active {
	/*background-color: @selected_bg_color;*/
}

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

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

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

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

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

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

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

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

/****************
 * 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));
	background-color: @base_color; /* Fix for Opera */
	border-color: shade (@bg_color, 0.66);
	border-radius: 2px;
	border-style: solid;
	padding: 4px 5px 4px 5px;
	box-shadow: inset 0 0 1px 1px alpha (@dark_bg_color, 0.26);
	color: @text_color;
}

.entry:selected,
.entry:selected:focused {
	background-color: @selected_bg_color;
	color: @selected_fg_color;
	box-shadow: inset 0 0 1px 1px alpha (@selected_bg_color, 0.66);
}

.entry:focused {
	box-shadow: inset 0 0 1px 1px alpha (@selected_bg_color, 0.66);
	border-color: shade (@selected_bg_color, 0.66);
}

.entry:insensitive {
	background-color: shade (@bg_color, 0.96);
	background-image: none;
	color: mix (@text_color, @base_color, 0.4);
	box-shadow: inset 0 0 1px 1px alpha (@dark_bg_color, 0.16);
}

.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: 2px;
	border-width: 0;
	color: @selected_fg_color;
}

/* needed for webkit/GtkStyle compatibility */
.entry:active {
	color: @backdrop_selected_fg_color;
	background-color: @backdrop_selected_bg_color;
}

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

	/* background-image in assets */
}

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

/*********
 * frame *
 *********/
.frame {
	border-width: 1px;
	border-style: solid;
	border-color: shade (@bg_color, 0.9);
	border-image: none;
	padding: 0;
}

GtkScrolledWindow.frame {
	border-style: solid;
	border-color: shade (@bg_color, 0.9);
	border-width: 1px;
	border-radius: 2px;
	padding: 0;
}

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

/************
 * 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: 2px;
	border-style: solid;
	border-width: 1px;
	color: @selected_fg_color;
}

.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,
GtkLabel,
GtkLabel:insensitive {
	background-color: transparent;
}

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

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

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

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

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

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

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

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

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

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

	border-color: darker(@info_bg_color);
}

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

	border-color: darker(@warning_bg_color);
}

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

	border-color: darker(@question_bg_color);
}

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

	border-color: darker(@error_bg_color);
}

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

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

/********
 * menu *
 ********/
GtkTreeMenu.menu,
.toolbar .primary-toolbar .menu,
GtkMenuToolButton.menu,
.primary-toolbar .button .menu,
.menu {
	background-image: none;
	background-color: @base_color;
	padding: 0;
	border-width: 1px;
	border-style: solid;
	border-color: shade (@bg_color, 0.8);
	border-radius: 0;
	color: @fg_color;
	box-shadow: none;
}

.toolbar .menu,
GtkComboBox .menu {
	background-image: none;
	background-color: @base_color;
	border-style: solid;
	padding: 0;

	color: @fg_color;

	box-shadow: none;
}

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

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

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

	background-image: -gtk-gradient (linear,left top,left bottom,
		from (@toolbar_gradient_base),
		to (@toolbar_gradient_final));
	border-width: 0 0 1px 0;
	border-style: solid;
	border-color: alpha (@base_color, 0.2);

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

/***************
 * menubaritem *
 ***************/
.menubar.menuitem,
.menubar .menuitem {
	text-shadow: 0 1px alpha (shade (@button_bg_color, 1.25), 0.4);
}

.menubar.menuitem:hover,
.menubar .menuitem:hover {
	color: @fg_color;
	text-shadow: none;
	border-width: 0px;
	border-style: none;
	background-image: -gtk-gradient (linear, left top, left bottom,
		from (shade (@bg_color, 1.0)),
		to (shade (@bg_color, 0.85)));
	/*box-shadow: inset 0 -1px shade (@dark_bg_color, 0.95);*/
	box-shadow: none;
}

/************
 * menuitem *
 ************/
.menuitem {
	border-radius: 0;
	border-style: none;
	border-width: 0px;
	padding: 3px 2px 3px 2px;
	box-shadow: none;
}

/* Workaround for lp:949368 */
GtkComboBox .menuitem * {
	color: @fg_color;
}

GtkComboBox .menuitem *:hover {
	color: @selected_fg_color;
}

.menuitem:hover,
.menu .menuitem:hover,
.toolbar .primary-toolbar .menu .menuitem:hover,
.primary-toolbar .button .menu .menuitem:hover,
.toolbar .primary-toolbar .menu .menuitem *:hover,
.primary-toolbar .button .menu .menuitem *:hover {
	border-radius: 0;
	border-width: 0;
	border-style: none;
	background-image: -gtk-gradient (linear, left top, left bottom,
		from (shade (@selected_bg_color, 1.0)),
		to (shade (@selected_bg_color, 0.85)));
	box-shadow: none;
	color: @selected_fg_color;
	text-shadow: none;
}

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

.menu .menuitem.check:hover,
.menu .menuitem.radio:hover {
	box-shadow: none;
}

GtkTreeMenu.menu .menuitem:insensitive,
GtkTreeMenu.menu .menuitem *:insensitive,
.toolbar .primary-toolbar .menu .menuitem:insensitive,
.toolbar .primary-toolbar .menu .menuitem *:insensitive,
GtkMenuToolButton.menu .menuitem:insensitive,
GtkMenuToolButton.menu .menuitem *:insensitive,
.primary-toolbar .button .menu .menuitem:insensitive,
.primary-toolbar .button .menu .menuitem *:insensitive,
.menuitem:insensitive,
.menuitem *:insensitive {
	color: mix (@fg_color, @bg_color, 0.5);
}

.toolbar .menu .menuitem:insensitive,
.toolbar .menu .menuitem *:insensitive,
GtkComboBox .menu .menuitem:insensitive,
GtkComboBox .menu .menuitem *:insensitive {
	color: mix (@fg_color, @bg_color, 0.5);
}

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

	color: @fg_color;
}

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

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

	color: @dark_fg_color;

	border-image: -gtk-gradient (linear, left top, left bottom,
		from (shade (@bg_color, 0.75)),
		to (shade (@bg_color, 0.9))) 1;
	border-image-width: 1px;
}

.primary-toolbar GtkScale.trough,
.primary-toolbar GtkScale.trough:backdrop,
.menuitem GtkScale.trough {
	background-color: @bg_color;
	background-image: none;
	border-image: -gtk-gradient (linear, left top, left bottom,
		from (shade (@bg_color, 0.75)),
		to (shade (@bg_color, 1.15))) 1;
	border-image-width: 1px;
}

.menuitem .accelerator {
	color: alpha (@fg_color, 0.5);
}

.menuitem .accelerator:hover {
	color: alpha (@selected_fg_color, 0.8);
}

.menuitem .accelerator:insensitive {
	color: alpha (mix (@fg_color, @bg_color, 0.5), 0.5);
}

/************
 * notebook *
 ************/
.notebook {
	/* To get rid of the horrible adwaita tabs we need the notebook to use no engine */
	engine: none;
	background-color: shade (@bg_color, 1.1);
	background-image: none;
	border-radius: 2px;
	padding: 0;
	box-shadow: none;
	border-color: shade (@bg_color, 0.82);
	border-width: 1px;
	border-style: solid;

	-GtkNotebook-tab-overlap: -1;
	-GtkNotebook-initial-gap: 0;
}

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

.notebook tab {
	background-image: -gtk-gradient (linear, left top, left bottom,
		from (shade (@bg_color, 1.04)),
		to (shade (@bg_color, 0.96)));
	background-color: @bg_color;
	border-style: solid;
	border-color: shade (@bg_color, 0.82);
	border-bottom-width: 0;
	border-width: 1px;
	box-shadow: inset 0 1px alpha (shade (@bg_color, 1.26), 0.3);
	border-radius: 3px 3px 0 0;
}

.notebook tab:active {
	border-color: shade (@bg_color, 0.82);
	border-style: solid;
	border-width: 1px;
	border-bottom-width: 0;
	background-color: shade (@bg_color, 1.02);
	background-image: -gtk-gradient (linear, left top, left bottom,
		from (shade (@bg_color, 1.18)),
		to (shade (@bg_color, 1.1)));
	color: @fg_color;
}

.notebook tab GtkLabel:active {
	color: @fg_color;
	padding: 1px 1px 2px 1px;
}

.notebook tab GtkLabel {
	color: @fg_color;
}

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

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

.notebook tab.right:active {
	padding: 4px 6px 4px 1px;
	background-image: -gtk-gradient (linear, left top, right top,
		from (shade (@bg_color, 1.1)),
		to (shade (@bg_color, 1.18)));
}

.notebook tab.right {
	padding: 3px 4px 3px 0;
	border-left-width: 0;
	border-bottom-width: 1px;
	border-radius: 3px;
	background-image: -gtk-gradient (linear, left top, right top,
		from (shade (@bg_color, 0.96)),
		to (shade (@bg_color, 1.04)));
}

.notebook tab.bottom:active {
	padding: 1px 7px 6px 7px;
	background-image: -gtk-gradient (linear, left top, left bottom,
		from (shade (@bg_color, 1.1)),
		to (shade (@bg_color, 1.18)));
}

.notebook tab.bottom {
	background-image: -gtk-gradient (linear, left top, left bottom,
		from (shade (@bg_color, 0.96)),
		to (shade (@bg_color, 1.04)));
	padding: 0 5px 5px 5px;
	border-top-width: 0;
	border-bottom-width: 1px;
	border-radius: 3px;
	box-shadow: inset 0 -1px alpha (shade (@bg_color, 1.26), 0.3);
}

.notebook tab.left:active {
	padding: 4px 1px 4px 6px;
	background-image: -gtk-gradient (linear, left top, right top,
		from (shade (@bg_color, 1.18)),
		to (shade (@bg_color, 1.1)));
}

.notebook tab.left {
	padding: 3px 0 3px 4px;
	border-right-width: 0;
	border-bottom-width: 1px;
	border-radius: 3px;
	background-image: -gtk-gradient (linear, left top, right top,
		from (shade (@bg_color, 1.04)),
		to (shade (@bg_color, 0.96)));
}

.notebook tab .button {
	padding: 0;
}

.notebook GtkDrawingArea {
	background-color: shade (@bg_color, 1.02);
}

.notebook .button {
	padding: 3px;
}

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

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

.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, 0.96)),
		to (shade (@selected_bg_color, 1.1)));
	border-width: 1px;
	border-style: solid;
	border-color: shade (@selected_bg_color, 0.8);
	box-shadow: inset 0 1px alpha (shade (@bg_color, 1.26), 0.3);
}

.scale.highlight.bottom,
.progressbar.vertical {
	background-image: -gtk-gradient (linear, left top, right top,
		from (shade (@selected_bg_color, 0.96)),
		to (shade (@selected_bg_color, 1.1)));
	border-width: 1px;
	border-style: solid;
	border-color: shade (@selected_bg_color, 0.8);
	box-shadow: inset 1px 1px alpha (shade (@bg_color, 1.26), 0.3);
}

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

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

.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.9)),
		to (shade (@bg_color, 0.98)));
	border-width: 1px;
	border-style: solid;
	border-radius: 0;
	border-color: shade (@bg_color, 0.8);
}

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

	border-width: 1px;
	border-style: solid;
	border-radius: 0;
	border-color: shade (@bg_color, 0.8);
}

.scale.trough.horizontal {
	margin: 6px 0 5px 0;
	border-radius: 8px;
	background-image: none;
	background-color: shade (@bg_color, 0.9);
	border-width: 1px;
}

.scale.trough.vertical {
	margin: 0 6px 0 5px;
	border-radius: 8px;
	background-image: none;
	background-color: shade (@bg_color, 0.9);
	border-width: 1px;
}

.scale.trough.vertical.highlight.bottom,
.scale.trough.horizontal.highlight.left {
	background-color: alpha (@selected_bg_color, 0.6);
}

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

	border-style: solid;
	border-width: 1px;
	border-radius: 8px;
}

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

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

/*************
 * scrollbar *
 *************/
.scrollbar {
	background-image: none;
	border-style: solid;
	-GtkRange-trough-border: 0;
	-GtkRange-arrow-scaling: 0.444;
	-GtkRange-slider-width: 13;
	-GtkRange-stepper-size: 0;
	-GtkScrollbar-min-slider-length: 30;
	-GtkRange-stepper-spacing: 0;
	-GtkRange-trough-under-steppers: 1;
}

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

.scrollbar.trough,
.scrollbar.trough.vertical {
	background-image: -gtk-gradient (linear, left top, right top,
		from (shade (@bg_color, 0.98)),
		to (shade (@bg_color, 1.06)));
	border-radius: 0;
	border-width: 0 0 0 1px;
	border-style: solid;
	border-color: shade (@bg_color, 0.94);
}

.scrollbar.trough.horizontal {
	background-image: -gtk-gradient (linear, left top, left bottom,
		from (shade (@bg_color, 0.98)),
		to (shade (@bg_color, 1.06)));
	border-radius: 0;
	border-width: 1px 0 0 0;
	border-style: solid;
	border-color: shade (@bg_color, 0.94);
}

/* Sliders and buttons */
.scrollbar.slider.vertical {
	background-image: -gtk-gradient (linear, left top, right top,
		from (shade (@bg_color, 0.95)),
		to (shade (@bg_color, 0.8)));
	border-color: shade (@bg_color, 0.65);
	border-radius: 10px;
	border-width: 1px;
}

.scrollbar.slider.vertical:hover,
.scrollbar.slider.vertical:hover:active {
	background-image: -gtk-gradient (linear, left top, right top,
		from (shade (@bg_color, 0.85)),
		to (shade (@bg_color, 0.7)));
	border-color: shade (@bg_color, 0.6);
}

.scrollbar.slider.horizontal {
	background-image: -gtk-gradient (linear, left top, left bottom,
		from (shade (@bg_color, 0.95)),
		to (shade (@bg_color, 0.8)));
	border-color: shade (@bg_color, 0.65);
	border-radius: 10px;
	border-width: 1px;
}

.scrollbar.slider.horizontal:hover,
.scrollbar.slider.horizontal:hover:active {
	background-image: -gtk-gradient (linear, left top, left bottom,
		from (shade (@bg_color, 0.85)),
		to (shade (@bg_color, 0.7)));
	border-color: shade (@bg_color, 0.6);
}

.scrollbar.slider:insensitive {
	background-color: shade (@bg_color, 0.9);
}

.scrollbar.trough:insensitive {
	background-color: shade (@bg_color, 1.06);
}

/* Fixes a bug in Opera */
.scrollbar.button {
	background-image: -gtk-gradient (linear, left top, left bottom,
		from (transparent),
		to (transparent));
	background-color: transparent;
}

/* 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 *
 *******************/
.ubuntu-online-accounts.frame,
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;
}

.ubuntu-online-accounts.frame {
	border-top-width: 0;
}

/*************
 * separator *
 *************/
.separator {
	border-left-color: shade (@bg_color, 0.96);
	border-right-color: alpha (@base_color, 0.4);
	border-top-color: shade (@bg_color, 0.96);
	border-bottom-color: alpha (@base_color, 0.4);
	border-style: solid;
	border-image: none;
	border-width: 1px;
}

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

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

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

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

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

	border-color: shade (@bg_color, 0.96);
}

Genericmenuitem .menuitem.separator,
DbusmenuGtkMenu .menuitem.separator,
.menubar .menuitem.separator,
.primary-toolbar .menuitem.separator {
	border-color: shade (@base_color, 0.94);
}

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

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

.sidebar row:hover {
	background-color: alpha (@bg_color, 0.0);
}

.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;
	background-color: transparent;
	border-image: none;
	border-color: transparent;
	border-left-color: alpha (@dark_bg_color, 0.3);
}

.spinbutton.button:insensitive:nth-child(last),
.notebook .spinbutton.button:insensitive:nth-child(last),
.spinbutton.button:nth-child(last),
.notebook .spinbutton.button:nth-child(last) {
	border-radius: 0 2px 2px 0;
	border-width: 1px;
	background-color: transparent;
	border-image: none;
	border-color: transparent;
	border-left-color: alpha (@dark_bg_color, 0.3);
}

.spinbutton.button,
.notebook .spinbutton.button {
	background-image: none;
	background-color: transparent;
	border-image: none;
	border-color: transparent;
	border-left-color: alpha (@dark_bg_color, 0.3);
}

.spinbutton.button:hover,
.notebook .spinbutton.button:hover {
	background-color: alpha (shade (@base_color, 1.1), 0.5);
}

.spinbutton.button:active,
.notebook .spinbutton.button:active,
.spinbutton.button:active:hover,
.notebook .spinbutton.button:active:hover {
	background-color: alpha (shade (@selected_bg_color, 1.0), 0.3);
}

.spinbutton.button:insensitive,
.notebook .spinbutton.button:insensitive {
	border-left-color: alpha (@dark_bg_color, 0.3);
	color: shade (@bg_color, 0.66);
}

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

.spinbutton.button:focus,
.spinbutton:focus {
	outline-color: transparent;
}

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

/**********
 * switch *
 **********/
GtkSwitch {
	border-radius: 8px;
	padding: 0;
	background-color: transparent;
}

GtkSwitch.trough {
	border: none;
	border-image: none;
	background: none;
	color: transparent;
	box-shadow: none;
	background-color: transparent;
	background-size: 48px 24px;
	background-position: center center;
	background-repeat: no-repeat;
	text-shadow: none;
}

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

/********************
 * Menubar Toolbars *
 ********************/
.toolbar.menubar {
	-GtkToolbar-button-relief: normal;
	
	padding: 4px 4px 2px 4px; /* weird padding to compensate border-images 
				 and eventual top border presence, 
				 see selection mode toolbars */

}

/***********
 * 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_gradient_base),
		to (@toolbar_gradient_final));
	border-color: shade (@toolbar_border, 1.0);
	border-style: solid;
	border-width: 0 0 1px 0;
	padding: 2px;

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

.primary-toolbar :insensitive {
	text-shadow: 0 1px alpha (shade (@button_bg_color, 1.25), 0.4);
}

.primary-toolbar GtkComboBox,
.primary-toolbar .button *,
.primary-toolbar .button {
	background-color: transparent;
	background-image: none;
	border-radius: 6px;
	border-width: 1px;
	border-color: transparent;
	/* border-image: none; */
	color: @fg_color;
	text-shadow: 0 1px alpha (shade (@button_bg_color, 1.25), 0.4);
}

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

.primary-toolbar .raised .button:hover,
.primary-toolbar .raised.button:hover {
	background-image: -gtk-gradient (linear, left top, left bottom,
		from (shade (@button_bg_color, 1.2)),
		to (shade (@button_bg_color, 1.04)));
}

.primary-toolbar .raised .button:focus,
.primary-toolbar .raised.button:focus,
.primary-toolbar .button:hover:focus,
.primary-toolbar .button:active:focus,
.primary-toolbar .button:insensitive:focus {
	color: @fg_color;
}

.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 (@button_bg_color, 1.1)),
		to (shade (@button_bg_color, 0.95)));
	border-style: solid;
	text-shadow: 0 1px alpha (shade (@button_bg_color, 1.25), 0.4);
	color: @fg_color;
}

.primary-toolbar .button:active {
	background-image: -gtk-gradient (linear, left top, left bottom,
		from (shade (@bg_color, 0.8)),
		to (shade (@bg_color, 0.9)));
	color: @fg_color;
}

.primary-toolbar .button:active:hover {
	background-image: -gtk-gradient (linear, left top, left bottom,
		from (shade (@bg_color, 0.85)),
		to (shade (@bg_color, 0.95)));
	color: @fg_color;
}

.primary-toolbar .button:active:insensitive,
.primary-toolbar .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);
}

.primary-toolbar .button:insensitive {
	background-image: -gtk-gradient (linear, left top, left bottom,
		from (alpha (@button_insensitive_bg_color, 0.0)),
		to (alpha (@button_insensitive_bg_color, 0.0)));

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

	border-width: 1px;
}

.primary-toolbar .button *:insensitive {
	color: mix (@fg_color, @bg_color, 0.5);
}

.primary-toolbar .button:active:insensitive {
	background-image: -gtk-gradient (linear, left top, left bottom,
		from (shade (@button_insensitive_bg_color, 1.0)),
		to (shade (@button_insensitive_bg_color, 0.97)));
	border-width: 1px;
}

.primary-toolbar .entry,
.primary-toolbar .entry:active,
.primary-toolbar .entry:focused {
	border-radius: 2px;
	color: @text_color;
}

.primary-toolbar GtkSeparatorToolItem,
.primary-toolbar .separator,
.primary-toolbar .separator:insensitive {
	border-color: alpha (shade (@bg_color, 0.94), 0.0);
	border-style: solid;
}

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

	background-image: -gtk-gradient (linear, left top, left bottom,
		from (shade (@base_color, 0.93)),
		to (shade (@base_color, 0.93)));
	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;
	border-width: 0 1px 1px 1px;
}

.inline-toolbar.toolbar .button {
	background-image: -gtk-gradient (linear, left top, left bottom,
		from (shade (@button_bg_color, 1.1)),
		to (shade (@button_bg_color, 0.95)));
	icon-shadow: 0 1px shade (@bg_color, 1.16);
}

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

/***********
 * tooltip *
 ***********/
.tooltip {
	background-color: @tooltip_bg_color;
	border-color: shade (@tooltip_bg_color, 0.7);
	border-radius: 0px;
	border-style: solid;
	border-width: 1px;

	color: @tooltip_fg_color;
}

.tooltip * {
	background-color: transparent;
}

/************
 * treeview *
 ************/
GtkTreeView {
	-GtkTreeView-vertical-separator: 0;
	-GtkTreeView-expander-size: 10;
}

GtkTreeView.dnd {
	border-color: shade (@selected_bg_color, 1.12);
	border-radius: 0;
	border-width: 0;
	border-style: solid;
}

GtkTreeView .entry {
	background-image: none;
	border-radius: 0;
}

GtkTreeView row:nth-child(even),
GtkTreeView row:nth-child(even):hover {
	background-color: shade (@base_color, 0.97);
}

GtkTreeView row:nth-child(odd),
GtkTreeView row:nth-child(odd):hover {
	background-color: shade (@base_color, 1.0);
}

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

GtkViewport,
GtkIconView {
	background-color: @base_color;	
}

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

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

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

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

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

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

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

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

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

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

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

/*****************
 * Miscellaneous *
 *****************/
.floating-bar {
	background-color: @base_color;
}

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

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

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

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

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

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

.floating-bar .button {
	background-color: transparent;
	background-image: none;
	border-style: none;
	border-image: none;
	-GtkButton-image-spacing: 0;
	-GtkButton-inner-border: 0;
}

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

GtkOverlay.osd {
	background-color: transparent;
}

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

.osd .button {
	padding: 4px;

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

	color: @osd_button_fg;

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

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

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

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

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

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

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

.osd .button: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 GtkMenuButton.button:active {
	background-image: linear-gradient(to bottom,
		@osd_button_bg_active_a,
		@osd_button_bg_active_b 68%,
		@osd_button_bg_active_c
		);
}

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

.osd GtkMenuButton.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: 10px;
	border-style: none;
	border-radius: 7px;
	background-image: linear-gradient(to bottom,
		@osd_toolbar_bg_a,
		@osd_toolbar_bg_b 63%,
		@osd_toolbar_bg_c
		);
	background-color: transparent;

	-GtkToolbar-button-relief: normal;
}

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

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

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

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

	box-shadow: none;
}

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

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

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

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

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

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

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