* {
	engine: adwaita;
	padding: 1;

	/* Style properties */
	-GtkButton-child-displacement-x: 1;
	-GtkButton-child-displacement-y: 1;
	-GtkButton-default-border: 0;
	-GtkButton-image-spacing: 4;
	-GtkButton-interior-focus: true;
	-GtkToolButton-icon-spacing: 4;

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

	-GtkPaned-handle-size: 5;

	-GtkCheckButton-indicator-size: 20;
	-GtkCheckButton-indicator-spacing: 0;
	-GtkCheckMenuItem-indicator-size: 12;

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

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

	-GtkToolItemGroup-expander-size: 12;
	-GtkExpander-expander-size: 12;
	-GtkMenuBar-shadow-type: GTK_SHADOW_NONE;

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

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

	-GtkWidget-wide-separators: 1;

	-WnckTasklist-fade-overlay-rect: 0;

	-GtkEntry-inner-border: 2;
	-GtkButton-inner-border: 2;
	-GtkEntry-progress-border: 0;

	/* Style */
	background-color: @theme_bg_color;
	color: @theme_fg_color;
	border-radius: 3;

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

/***************
 * Base States *
 ***************/
*:hover {
	background-color: shade (@theme_bg_color, 1.02);
	color: @theme_fg_color;
}

*:selected {
	background-color: shade (@theme_selected_bg_color, 1.23); /*@theme_insensitive_selected_bg_color;*/
	color: @theme_selected_fg_color; /*color: @theme_text_color;*/
}

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

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

*:active {
	background-color: shade (@theme_bg_color, 0.915);
}

.background {
	border-style: none;
	border-width: 0;
	border-radius: 0;
}

.tooltip {
	padding: 4 4;
	border-style: none;
	background-color: @theme_tooltip_bg_color;
	color: @theme_tooltip_fg_color;
}

.grip {
	background-color: shade (@inactive_frame_color, 0.93);
}

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

.pane-separator:prelight,
.pane-separator:selected {
	background-color: @theme_bg_color;
	border-color: shade (@highlighted_border, 0.964);
}

/****************
 * Text Entries *
 ****************/
.entry,
.toolbar.entry {
	background-color: @theme_main_color;
	background-image: -gtk-gradient (linear,
					left top, left bottom,
					from (shade (@internal_element_color, 1.45)),
					color-stop (0.1, shade (@internal_element_color, 1.68)),
					color-stop (0.5, shade (@internal_element_color, 1.8)),
					to (@theme_main_color));

	border-radius: 3;
	border-width: 1;
	border-style: solid;
	-adwaita-border-gradient: -gtk-gradient (linear,
					left top, left bottom,
					from (shade (@internal_element_color, 1.2)),
					color-stop (0.3, shade (@internal_element_color, 1.2)),
					to (shade (@internal_element_color, 1.55)));
	padding: 2;
}

.entry:focused {
	-adwaita-border-gradient: none;
	border-color: @theme_selected_bg_color; /*@focused_entry_border;*/
}

.entry:insensitive {
	background-color: @insensitive_bg_color;
	border-color: shade (@inactive_frame_color, 0.945);
	-adwaita-border-gradient: none;
}

.entry.progressbar {
	/* FIXME: need correct colors/gradient */
	background-color: @theme_selected_bg_color;
	color: @theme_selected_fg_color;

	border-width: 1;
	border-radius: 1;
	border-color: @progressbar_border;
}

/****************
 * Progress bar *
 ****************/
GtkProgressBar {
	padding: 0;
}

GtkProgressBar.progressbar {
	background-image: url ("assets/prgrss.svg");
	/*background-image: -gtk-gradient (linear,
					left top, left bottom,
					from (@progressbar_background_a),
					to (@progressbar_background_b));*/

	border-radius: 12;
	border-style: solid;
	border-color: @progressbar_border;
}

GtkProgressBar.progressbar.vertical {
	background-image: url ("assets/prgrssv.svg");
	/*background-image: -gtk-gradient (linear,
					left top, right top,
					from (@progressbar_background_a),
					to (@progressbar_background_b));*/
}


GtkProgressBar.trough {
	background-image: -gtk-gradient (linear,
					left top,
					left bottom,
					from (shade (@theme_bg_color, 0.8)),
					color-stop (0.7, @theme_bg_color),
					to (shade (@theme_bg_color, 1.8)));

	border-width: 0;
	border-style: solid;
	border-radius: 12;
	/*border-color: shade (@inactive_frame_color, 1.2)*/
	/*-adwaita-border-gradient: -gtk-gradient (linear,
					left top,
					left bottom,
					from (shade (@theme_bg_color, 0.7)),
					to (shade (@theme_bg_color, 1.8)));*/
}

GtkProgressBar.trough.vertical {
	background-image: -gtk-gradient (linear,
					left top,
					right top,
					from (shade (@theme_bg_color, 0.8)),
					color-stop (0.7, @theme_bg_color),
					to (shade (@theme_bg_color, 1.8)));
}

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

GtkScale.slider {
	border-width: 1;
	border-radius: 3;

	background-image: -gtk-gradient (linear,
					left top, left bottom,
					from (@theme_main_color),
					to (shade (@theme_bg_color, 0.8)));
	-adwaita-border-gradient: -gtk-gradient (linear,
					left top, left bottom,
					from (shade (@internal_element_color, 1.45)),
					to (shade (@internal_element_color, 1.1)));
	border-color: shade (@internal_element_color, 1.45);
}

GtkScale.slider:insensitive {
	background-image: -gtk-gradient (linear,
					left top, left bottom,
					from (@theme_main_color),
					to (shade (@theme_bg_color, 0.9)));
	-adwaita-border-gradient: none;
}

GtkScale.scale-has-marks-below.slider {
	-adwaita-border-gradient: -gtk-gradient (linear,
					left top, left bottom,
					from (shade (@internal_element_color, 0.90)),
					to (shade (@internal_element_color, 1.35)));
}

GtkScale.scale-has-marks-below.slider.vertical {
	-adwaita-border-gradient: -gtk-gradient (linear,
					left top, right top,
					from (shade (@internal_element_color, 0.90)),
					to (shade (@internal_element_color, 1.35)));
}

GtkScale.scale-has-marks-above.slider {
	-adwaita-border-gradient: -gtk-gradient (linear,
					left bottom, left top,
					from (shade (@internal_element_color, 0.90)),
					to (shade (@internal_element_color, 1.35)));
}

GtkScale.scale-has-marks-above.slider.vertical {
	-adwaita-border-gradient: -gtk-gradient (linear,
					right top, left top,
					from (shade (@internal_element_color, 0.90)),
					to (shade (@internal_element_color, 1.35)));
}

GtkScale.trough {
	background-image: -gtk-gradient (linear,
					left top,
					left bottom,
					from (shade (@theme_bg_color, 0.7)),
					to (shade (@theme_bg_color, 1.7)));
	border-width: 0;
	/*border-radius: 2;
	border-style: solid;
	border-color: @internal_element_color;*/
}

GtkScale.trough.vertical {
	background-image: -gtk-gradient (linear,
					left top,
					right top,
					from (shade (@theme_bg_color, 0.7)),
					to (shade (@theme_bg_color, 1.7)));
}

GtkScale.trough:insensitive {
	background-image: -gtk-gradient (linear,
					left top,
					left bottom,
					from (shade (@theme_bg_color, 0.85)),
					to (shade (@theme_bg_color, 1.4)));
	/*border-color: shade (@inactive_frame_color, 0.845);*/
}

GtkScale.trough.vertical:insensitive {
	background-image: -gtk-gradient (linear,
					left top,
					right top,
					from (shade (@theme_bg_color, 0.85)),
					to (shade (@theme_bg_color, 1.4)));
}

GtkScale.progressbar {
	background-image: -gtk-gradient (linear,
					left top, left bottom,
					from (@scale_fill_a),
					to (@scale_fill_b));

	border-color: #9b8f84;
	border-width: 1;
	border-radius: 3;
	border-style: solid;
}

GtkScale.progressbar.vertical {
	background-image: -gtk-gradient (linear,
					left top, right top,
					from (@scale_fill_a),
					to (@scale_fill_b));
}

GtkScale.mark {
	background-color: shade (@theme_bg_color, 0.56);
}

GtkFrame,
GtkCalendar {
	padding: 2;
}

.frame {
	color: lighter (@theme_fg_color);
	border-style: solid;
	border-width: 1;
	border-color: alpha (@frame_color, 0.6);
}

/*****************
 * Notebooks and *
 * tabs          *
 *****************/
GtkNotebook {
	padding: 2;

	border-color: @notebook_border;
	border-style: solid;
	border-width: 1;
	border-radius: 3;

	/* With .notebook instead of GtkNotebook,
	   if commented out, this will make line
	   highlights invisible in text views */
	/*background-color: @theme_main_color;*/

	-GtkNotebook-tab-overlap: 8;
	-GtkNotebook-tab-curvature: 6;
}

GtkNotebook tab {
	padding: 5 3 0;
	background-image: -gtk-gradient (linear,
					left top, left bottom,
					from (shade (@theme_bg_color, 1.1)),
					to (shade (@theme_bg_color, 0.77)));

	/*-adwaita-focus-border-radius: 2;*/
	-adwaita-focus-border-color: alpha (@theme_text_color, 0.3);
}

GtkNotebook tab:active {
	border-width: 1;

	-adwaita-border-gradient: -gtk-gradient (linear,
					left top, left bottom,
					from (@notebook_active_tab_border),
					to (@notebook_border));

	-adwaita-selected-tab-color: @theme_main_color; /*@notebook_selected_tab_color;*/
	/*background-color: @theme_main_color;*/
	background-image: -gtk-gradient (linear,
					left top, left bottom,
					from (@theme_main_color),
					to (shade (@theme_bg_color, 0.9)));
}

GtkNotebook tab .button,
GtkNotebook tab .button:hover,
GtkNotebook tab .button:hover:active {
	padding: 0 0 0;
	border-style: solid;
	border-color: shade (@theme_bg_color, 0.9);
	background-color: alpha (@theme_bg_color, 0.9);
	background-image: none;
	-GtkButton-child-displacement-x: 0;
	-GtkButton-child-displacement-y: 0;

	-GtkWidget-focus-line-width: 0;
	-GtkWidget-focus-padding: 0;
	-GtkButton-inner-border: 0;
}

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

GtkComboBox {
	-GtkComboBox-arrow-scaling: 0.5;
	-GtkComboBox-shadow-type: 2;
}

GtkComboBox.button {
	color: @internal_element_color;
}

/***********
 * Buttons *
 ***********/
.button {
	padding: 0;

	-adwaita-focus-fill-color: none; /*alpha (@theme_main_color, 0.35);*/
	-adwaita-focus-border-gradient: -gtk-gradient (linear,
						left top, left bottom,
						from (alpha (@keyboard_focus_border_a, 0.62)),
						to (alpha (@keyboard_focus_border_b, 0.62)));
	-adwaita-focus-border-radius: 1;
	/*-adwaita-focus-border-dashes: 0;*/
	-GtkWidget-focus-line-width: 1;

	border-radius: 3;
	border-width: 1;
	border-color: @button_border;
	border-style: solid;

	background-image: -gtk-gradient (linear,
					left top, left bottom,
					from (@button_gradient_color_a),
					to (shade (@button_gradient_color_b, 0.92)));
}

.button:hover/*,
.toolbar.button:hover*/ {
	border-color: shade (@button_border, 1.1);
	background-image: -gtk-gradient (linear,
					left top, left bottom,
					from (@button_hover_gradient_color_a),
					to (@button_hover_gradient_color_b));
}

.button:active,
/*.toolbar .button:active,*/
/*.toolbar.button:hover:active, */
.button:hover:active {
	background-image: -gtk-gradient (linear,
					left top, left bottom,
					from (shade (@button_gradient_color_b, 0.92)),
					color-stop (0.6, @theme_bg_color),
					to (@button_gradient_color_a));
	border-color: @button_border; /*@internal_element_color;*/
}

.button:insensitive {
	background-image: -gtk-gradient (linear,
					left top, left bottom,
					from (alpha (@button_gradient_color_a, 0.5)),
					to (alpha (@button_gradient_color_b, 0.6)));
	/*background-color: @insensitive_bg_color;*/
	-adwaita-border-gradient: none;
	border-color: shade (@button_border, 1.2);
	color: @insensitive_fg_color;
}

.button.default {
	border-width: 1;
	/*border-color: shade (@button_border, 0.6);*/
	-adwaita-border-gradient: -gtk-gradient (linear,
					left top, left bottom,
					from (shade (@button_border, 0.88)),
					to (shade (@button_border, 0.56)));
	background-image: -gtk-gradient (linear,
					left top, left bottom,
					from (@button_gradient_color_a),
					color-stop (0.4, @theme_bg_color),
					to (shade (@button_gradient_color_b, 0.88));
}

.button.default:active {
	-adwaita-border-gradient: -gtk-gradient (linear,
					left top, left bottom,
					from (shade (@button_border, 0.56)),
					to (shade (@button_border, 0.88)));
}

.button.default:hover {
	-adwaita-border-gradient: none;
}

/*****************
 * GtkSpinButton *
 *****************/
GtkSpinButton.button,
GtkSpinButton.button:insensitive,
GtkSpinButton.button:prelight,
GtkSpinButton.button:active,
GtkSpinButton.button:focused {
	background-image: none;
	background-color: alpha (@theme_bg_color, 0.0);
	border-width: 1;
	border-style: none;
	padding: 0;
}

/*****************
 * GtkCheckButton *
 *****************/
GtkCheckButton:selected {
	background-color: shade (@theme_bg_color, 0.95);
}

/*****************
 * GtkRadioButton *
 *****************/
GtkRadioButton:selected {
	background-color: shade (@theme_bg_color, 0.95);
}

/**************
 * Scrollbars *
 **************/
.scrollbar {
	background-image: none;
	border-style: solid;
	-GtkRange-trough-border: 0;
	-GtkRange-arrow-scaling: 0.444;
	-GtkRange-slider-width: 12;
	-GtkRange-stepper-size: 16;
	-GtkScrollbar-min-slider-length: 30; /* minimum size for the slider. sadly can't be in '.slider' where it belongs */

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

.scrollbar.trough {
	background-image: -gtk-gradient (linear,
					left top,
					left bottom,
					from (shade (@theme_bg_color, 0.8)),
					color-stop (1.0, @theme_bg_color),
					to (shade (@theme_bg_color, 1.5)));
	/*background-color: shade (@theme_bg_color, 0.882);*/
	border-width: 0;
	border-radius: 4;
}

.scrollbar.trough.vertical {
	background-image: -gtk-gradient (linear,
					left top,
					right top,
					from (shade (@theme_bg_color, 0.8)),
					color-stop (1.0, @theme_bg_color),
					to (shade (@theme_bg_color, 1.5)));
}

.scrollbar.slider,
.scrollbar.button {
	background-image: -gtk-gradient (linear,
					left bottom,
					left top,
					from (shade (@theme_bg_color, 0.86)),
					to (shade (@theme_bg_color, 1.5)));
	border-color: @button_border;
	border-radius: 4;
	border-width: 1;
}

.scrollbar.slider.vertical,
.scrollbar.button.vertical {
	background-image: -gtk-gradient (linear,
					right top,
					left top,
					from (shade (@theme_bg_color, 0.86)),
					to (shade (@theme_bg_color, 1.5)));
}

.scrollbar.slider:prelight {
	background-image: -gtk-gradient (linear,
					left bottom,
					left top,
					from (shade (@theme_bg_color, 0.95)),
					to (shade (@theme_bg_color, 1.5)));
	/*background-color: @theme_main_color;*/
	/*border-color: shade (@highlighted_border, 0.964);*/
	border-color: shade (@button_border, 0.9);
}

.scrollbar.slider.vertical:prelight {
	background-image: -gtk-gradient (linear,
					right top,
					left top,
					from (shade (@theme_bg_color, 0.95)),
					to (shade (@theme_bg_color, 1.5)));
}

.scrollbar.slider:prelight:active {
	background-image: -gtk-gradient (linear,
					left bottom,
					left top,
					from (shade (@theme_bg_color, 1.5)),
					to (shade (@theme_bg_color, 0.95)));
	/*background-color: @theme_main_color;*/
	/*border-color: @theme_selected_bg_color;*/
	border-color: shade (@button_border, 0.9);
}

.scrollbar.slider.vertical:prelight:active {
	background-image: -gtk-gradient (linear,
					right top,
					left top,
					from (shade (@theme_bg_color, 1.5)),
					to (shade (@theme_bg_color, 0.95)));
}

.scrollbar.button {
	color: @internal_element_color;
}

.scrollbar.button:prelight {
	background-image: none;
	background-color: @theme_main_color;
	border-color: shade (@highlighted_border, 1.1);
	color: shade (@highlighted_border, 0.8);
}

.scrollbar.button:prelight:active {
	background-image: -gtk-gradient (linear,
					left bottom,
					left top,
					from (shade (@theme_bg_color, 1.5)),
					to (shade (@theme_bg_color, 0.86)));
	border-color: shade (@highlighted_border, 1.1);
	color: @theme_fg_color;
}

.scrollbar.button.vertical:prelight:active {
	background-image: -gtk-gradient (linear,
					right top,
					left top,
					from (shade (@theme_bg_color, 1.5)),
					to (shade (@theme_bg_color, 0.86)));
}

.scrollbar.button:insensitive {
	background-image: none;
	background-color: @theme_bg_color;
	/*color: lighter (@internal_element_color);*/
	color: alpha (@internal_element_color, 0.3);
	border-color: alpha (@internal_element_color, 0.3);
	/* why does Nautilus need these? */
	border-radius: 4;
	border-width: 1;
}

.scrollbar.slider:insensitive {
	background-image: none;
	background-color: shade (@theme_bg_color, 1.5);
}

.scrollbar.trough:insensitive {
	background-image: none;
	background-color: shade (@theme_bg_color, 0.882);
}

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

/* this controls the general appearance of the menubar */
.menubar {
	background-image: none;
	background-color: @theme_bg_color;
	border-width: 0;
	border-style: none;
	padding: 2;
	color: @theme_text_color;

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

/* remove the image from the prelight areas */
.menubar.menuitem:prelight {
	background-image: none;
	background-color: @theme_selected_bg_color; /*shade (@theme_selected_bg_color, 0.85);*/
	color: @theme_main_color;

	border-style: solid;
	border-radius: 3;
	border-width: 1;
	border-color: @theme_selected_bg_color; /*shade (@theme_selected_bg_color, 0.8);*/
}

.menubar.menuitem {
	border-width: 1;
	border-style: none;
}

.menu {
	padding: 2;

	background-color: shade (@theme_selected_bg_color, 0.8); /*@menu_color;*/
	background-image: -gtk-gradient (linear,
					right top,
					right bottom,
					from (@theme_selected_bg_color),
					to (shade (@theme_selected_bg_color, 0.65)));
	color: @theme_selected_fg_color;

	border-style: solid;
	border-radius: 0;
	border-width: 1;
	border-color: shade (@theme_selected_bg_color, 0.8); /*@menu_color;*/
	/* this affects the menu separator */
	-adwaita-border-gradient: -gtk-gradient (linear,
					right top, right bottom,
					from (@theme_selected_bg_color),
					to (shade (@theme_selected_bg_color, 0.65)));
	-GtkMenuItem-arrow-scaling: 0.5;
}

.menuitem {
	-adwaita-menuitem-arrow-color: @menu_controls_color;
}

/* scroll arrows */
.menu.button {
	border-color: shade (@theme_selected_bg_color, 0.8);
	background-image: -gtk-gradient (linear,
					left top, left bottom,
					from (shade (@theme_selected_bg_color, 1.3)),
					to (shade (@theme_selected_bg_color, 0.5)));
}

.menu.button:hover {
	border-color: shade (@theme_selected_bg_color, 0.8);
	background-image:  -gtk-gradient (linear,
					left top, left bottom,
					from (@theme_bg_color),
					to (shade (@theme_bg_color, 0.55))); /*0.6?*/
}

.menu.button:insensitive {
	background-image: none;
	background-color: alpha (@theme_selected_bg_color, 0.0);
	border-style: none;
}

.menuitem.accelerator {
	color: alpha (@theme_main_color, 0.66);
}

.menuitem.accelerator:prelight,
.menuitem.accelerator:active {
	color: alpha (@theme_text_color, 0.45);
}

.menuitem:active,
.menuitem:prelight {
	/*background-color: @theme_bg_color;*/
	background-image:  -gtk-gradient (linear,
					left top, left bottom,
					from (shade (@theme_bg_color, 1.2)),
					to (shade (@theme_bg_color, 0.55))); /*0.6?*/
	color: @theme_text_color;
	border-style: solid;
	border-width: 1;
	border-radius: 3;
	border-color: alpha (@theme_selected_bg_color, 0.1); /*darker (@theme_selected_bg_color);*/
}

.menu.separator {
	padding: 4;
	border-style: none;
	border-color: @theme_selected_bg_color;
	-GtkSeparatorMenuItem-horizontal-padding: 0;
	/*-GtkWidget-wide-separators: 0;*/
	-GtkWidget-separator-height: 1;
}

/* menu radio and check items are drawn differently */
.menu.check:active {
	color: @theme_main_color;
}

.menu.radio:active {
	color: @theme_main_color;
}

.menu.check:prelight {
	color: @theme_fg_color;
}

.menu.radio:prelight {
	color: @theme_fg_color;
}

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

/* draw regular check and radio items using our SVG assets */
.check,
.check row:selected,
.check row:selected:focused {
	background-image: url ("assets/checkbox-unchecked.svg");
}

.check:insensitive,
.check row:selected:insensitive,
.check row:selected:focused:insensitive {
	background-image: url ("assets/checkbox-unchecked-insensitive.svg");
}

.check:active,
.check row:selected:active,
.check row:selected:focused:active {
	background-image: url ("assets/checkbox-checked.svg");
}

.check:active:insensitive,
.check row:selected:active:insensitive,
.check row:selected:focused:active:insensitive
{
	background-image: url ("assets/checkbox-checked-insensitive.svg");
}

.check:inconsistent,
.check row:selected:inconsistent,
.check row:selected:focused:inconsistent {
	background-image: url ("assets/checkbox-mixed.svg");
}

.radio,
.radio row:selected,
.radio row:selected:focused {
	background-image: url ("assets/radio-unselected.svg");
}

.radio:insensitive,
.radio row:selected:insensitive,
.radio row:selected:focused:insensitive {
	background-image: url ("assets/radio-unselected-insensitive.svg");
}

.radio:active,
.radio row:selected:active,
.radio row:selected:focused:active {
	background-image: url ("assets/radio-selected.svg");
}

.radio:active:insensitive,
.radio row:selected:active:insensitive,
.radio row:selected:focused:active:insensitive {
	background-image: url ("assets/radio-selected-insensitive.svg");
}

.radio:inconsistent,
.radio row:selected:inconsistent,
.radio row:selected:focused:inconsistent {
	background-image: url ("assets/radio-mixed.svg");
}

/************
 * Toolbars *
 ************/
.toolbar {
	background-image: -gtk-gradient (linear,
					left top,
					left bottom,
					from (@toolbar_gradient_base),
					color-stop (0.02, @toolbar_gradient_base),
					color-stop (0.16, @toolbar_gradient_step1),
					color-stop (0.90, @toolbar_gradient_step2),
					color-stop (0.98, @toolbar_gradient_final),
					color-stop (0.99, shade (@theme_bg_color, 0.83)),
					to (shade (@theme_bg_color, 1.5)));
	border-width: 0;
	border-radius: 0;
	border-style: none;
	/*border-color: darker (@theme_bg_color);*/
	padding: 1;

	-GtkWidget-window-dragging: true;
	-GtkToolbar-button-relief: 0;
}

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

/********************
 * Primary Toolbars *
 ********************/
/*.primary-toolbar.toolbar {
	background-image: -gtk-gradient (linear,
					left top,
					left bottom,
					from (@toolbar_gradient_base),
					color-stop (0.02, @toolbar_gradient_base),
					color-stop (0.16, @toolbar_gradient_step1),
					color-stop (0.90, @toolbar_gradient_step2),
					color-stop (0.98, @toolbar_gradient_final),
					color-stop (0.99, shade (@theme_bg_color, 0.83)),
					to (shade (@theme_bg_color, 1.5)));
	border-width: 0;
	border-radius: 0;
	border-style: none;
	padding: 1;

	-GtkWidget-window-dragging: true;
	-GtkToolbar-button-relief: 0;
}*/

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

	/*border-style: solid;
	border-width: 0;
	border-color: shade (@theme_bg_color, 0.91);*/
}

/* (primary) toolbar buttons */
.toolbar.button {
	border-style: none;
	border-width: 1;
	background-image: none;
	background-color: alpha (@theme_main_color, 0.0);

	-adwaita-focus-border-radius: 2;
	-adwaita-focus-fill-color: alpha (@theme_main_color, 0.20);
	-adwaita-focus-border-gradient: -gtk-gradient (linear,
						left top, left bottom,
						from (alpha (shade (@toolbar_active_button_color, 1.25), 0.90)),
						to (alpha (@toolbar_active_button_color, 0.62)));
}

.toolbar.button:insensitive {
	border-style: none;
	background-image: none;
	background-color: alpha (@theme_main_color, 0.0);
	-GtkWidget-focus-line-width: 0;
}

.toolbar.button:hover {
	border-style: solid;
	border-color: shade (@theme_main_color, 0.8);
	border-radius: 3;
	background-image: none;
	background-color: @theme_bg_color;
	/*background-image: -gtk-gradient (linear,
					left top, left bottom,
					from (shade (@theme_main_color, 1.1)),
					color-stop (0.54, alpha (shade (@theme_main_color, 0.92), 0.49)),
					to (shade (@theme_main_color, 0.8)));*/
}

.toolbar.button:active {
	border-style: solid;
	border-radius: 3;
	/*-adwaita-border-gradient: -gtk-gradient (linear,
					left top, left bottom,
					from (alpha (shade (@toolbar_gradient_base, 0.65), 0.7)),
					color-stop (0.2, shade (@toolbar_gradient_base, 0.75)),
					to (shade (@toolbar_active_button_color, 1.45)));
	background-image: -gtk-gradient (linear,
					left top, left bottom,
					from (alpha (shade (@toolbar_gradient_base, 0.76), 0.7)),
					color-stop (0.6, @theme_bg_color),
					to (alpha (shade (@toolbar_gradient_base, 1.14), 0.7)));*/

	background-image: -gtk-gradient (linear,
					left top, left bottom,
					from (@button_gradient_color_a),
					to (shade (@button_gradient_color_b, 0.9)));
	/*color: @theme_fg_color;*/
	border-color: shade (@button_border, 1.12);
}

.toolbar.button:active:hover {
	border-color: shade (@theme_main_color, 0.8);
	background-image: -gtk-gradient (linear,
					left top, left bottom,
					from (@button_gradient_color_a),
					to (@button_gradient_color_b));
}

.toolbar.button:active:insensitive {
	border-style: solid;
	/*border-radius: 3;*/
	border-color: @inactive_frame_color;
	-adwaita-border-gradient: none;
}

.toolbar GtkSeparatorToolItem {
	-GtkWidget-wide-separators: 1;
	-GtkWidget-separator-width: 1;

	border-style: solid;
	border-width: 1;
	border-color: shade (@theme_bg_color, 0.85);
}

/* primary toolbar raised buttons */
/*.toolbar.raised.button,
.toolbar.raised.button:insensitive {
	border-radius: 2;
	border-width: 1;
	border-color: @button_border;
	border-style: solid;

	background-image: -gtk-gradient (linear,
					left top, left bottom,
					from (@button_gradient_color_a),
					to (@button_gradient_color_b));

	-GtkWidget-focus-line-width: 2;
}

.toolbar.raised.button:hover {
	border-color: @button_border;
	background-image: -gtk-gradient (linear,
					left top, left bottom,
					from (@button_hover_gradient_color_a),
					to (@button_hover_gradient_color_b));
	border-width: 1;
	border-style: solid;
}

.toolbar.raised.button:hover:active,
.toolbar.raised.button:active {
	background-image: -gtk-gradient (linear,
					left top, left bottom,
					from (@button_active_gradient_color_a),
					to (alpha (@button_active_gradient_color_b, 0.13)));
	background-color: @theme_main_color;

	border-color: @highlighted_border;
	border-width: 1;
	border-style: solid;
}*/

/* progressbars on primary toolbar entries are special */
.toolbar.entry.progressbar {
	/* FIXME: need correct colors/gradient */
	background-image: -gtk-gradient (linear,
					left top, left bottom,
					from (@trough_bg_color_a),
					to (@trough_bg_color_b));

	border-width: 0;
	border-radius: 2;
	border-color: shade (@inactive_frame_color, 0.925);
}

/*******************
 * Inline toolbars *
 *******************/
.inline-toolbar.toolbar {
	border-width: 1;
	border-radius: 3;
	border-style: solid;

	background-image: -gtk-gradient (linear,
					left top,
					left bottom,
					from (@toolbar_gradient_base),
					color-stop (0.16, @toolbar_gradient_step1),
					color-stop (0.90, @toolbar_gradient_step2),
					color-stop (0.98, @toolbar_gradient_final),
					color-stop (0.99, shade (@theme_bg_color, 0.83)),
					to (shade (@theme_bg_color, 0.83)));
}

/*************
 * GtkSwitch *
 *************/
GtkSwitch {
	font: bold condensed 10;
}

GtkSwitch.trough {
	color: @internal_element_color;
	border-radius: 1;
	border-width: 1;
	border-style: solid;
	border-color: shade (@frame_color, 1.22);
	background-image: -gtk-gradient (linear,
					left top, left bottom,
					from (@trough_bg_color_a),
					to (@trough_bg_color_b));
}

GtkSwitch.trough:active {
	color: @theme_main_color;
	-adwaita-border-gradient: -gtk-gradient (linear,
					left top, left bottom,
					from (shade (@theme_selected_bg_color, 0.70)),
					to (shade (@theme_selected_bg_color, 0.94)));
	background-image: -gtk-gradient (linear,
					left top, left bottom,
					from (@active_switch_bg_color_a),
					to (@active_switch_bg_color_b));
}

GtkSwitch.trough:insensitive {
	background-image: none;
	background-color: shade (@theme_bg_color, 0.9);
	border-color: shade (@inactive_frame_color, 0.845);
	-adwaita-border-gradient: none;
}

GtkSwitch.slider {
	border-width: 1;
	border-radius: 1;
	border-color: shade (@frame_color, 1.31);
	border-style: solid;
	padding: 2;
	background-image: -gtk-gradient (linear,
					left top, left bottom,
					from (@switch_slider_color),
					color-stop (0.02, @switch_slider_color),
					color-stop (0.03, @theme_main_color),
					color-stop (0.85, @switch_slider_color),
					color-stop (0.86, shade (@switch_slider_color, 1.03)),
					to (shade (@switch_slider_color, 1.03)));

	-adwaita-switch-grip-color: shade (@switch_slider_color, 0.97);
}

GtkSwitch.slider:active {
	border-color: @switch_slider_border;
}

GtkSwitch.slider:insensitive {
	border-style: none;
	background-image: none;
	background-color: @insensitive_bg_color;
}

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

GtkScrolledWindow.frame {
	border-style: solid;
	border-color: darker (@theme_bg_color);
	border-width: 1;
	border-radius: 3;
}

GtkViewport,
GtkIconView {
	border-radius: 3;
	padding: 0;
}

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

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

.view,
.view:insensitive {
	background-color: @theme_main_color;
	color: @theme_text_color;
	border-radius: 0;
	border-width: 3;
}

GtkTreeView {
	-GtkTreeView-vertical-separator: 0;
	-GtkTreeView-expander-size: 8;

	-GtkWidget-focus-line-width: 1;
	-adwaita-focus-border-radius: 0;
	-adwaita-focus-border-dashes: 0;
	-adwaita-focus-border-color: @keyboard_focus_border_a;
}

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

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

GtkTreeView column:sorted row:nth-child(odd),
GtkTreeView column:sorted row:nth-child(odd):hover {
	background-color: shade (@treeview_odd_row, 0.93);
}


GtkTreeView column:sorted row:nth-child(even),
GtkTreeView column:sorted row:nth-child(even):hover {
	background-color: shade (@treeview_even_row, 0.93);
}


GtkTreeView.separator {
	background-color: darker (@theme_bg_color);
}

column-header {
	padding: 1 2;
}

column-header .button {
	border-width: 0;
	border-radius: 0;
}

column-header .button:hover {
	background-image: -gtk-gradient (linear,
					left top, left bottom,
					from (@button_gradient_color_a),
					to (shade (@button_gradient_color_b, 0.92)));
	border-color: @button_border;
}

row {
	border-width: 0;
}

/*row:hover {
	border-width: 0;
}

row:insensitive {
	border-width: 0;
}

row:selected:focused {
	border-width: 0;
	background-image: -gtk-gradient (linear,
					left top, left bottom,
					from (@progressbar_border),
					color-stop (0.02, @progressbar_border),
					color-stop (0.03, @theme_selected_bg_color),
					color-stop (0.97, @theme_selected_bg_color),
					color-stop (0.98, @progressbar_border),
					to (@progressbar_border));
	background-color: @theme_selected_bg_color;
}

row:selected {
	border-width: 0;
	background-image: -gtk-gradient (linear,
					left top, left bottom,
					from (@theme_selected_bg_color),
					to (@theme_selected_bg_color));
}*/

.cell {
	/*color: @theme_text_color;*/
	/*background-color: @theme_bg_color;*/
	padding: 2;
	/*border-radius: 3;*/
	border-width: 0;
	/*border-color: alpha (@frame_color, 0.6);*/
}

/*.cell:selected {
	background-color: shade (@theme_selected_bg_color, 1.23);
	color: @theme_selected_fg_color;
}

.cell:selected:focused {
	background-color: @theme_selected_bg_color;
}*/

.cell.progressbar {
	background-image: url ("assets/prgrs.svg");
	/*background-image: -gtk-gradient (linear,
					left top, left bottom,
					from (shade (@progressbar_background_a, 0.93)),
					to (shade (@progressbar_background_b, 0.86));*/
	border-width: 0;
	border-radius: 2;
}

/******************
 * GtkDrawingArea *
 ******************/
GtkDrawingArea:active {
	background-color: shade (@theme_selected_bg_color, 1.23);
	color: @theme_selected_fg_color;
}

GtkDrawingArea:selected {
	background-color: @theme_selected_bg_color;
}

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

	background-color: @theme_main_color;
}

.expander:active {
	color: @internal_element_color;
	border-color: @internal_element_color;

	background-color: @theme_main_color;
}

.expander:prelight {
	color: @internal_element_color;
	border-color: @internal_element_color;

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

.expander row:selected,
.expander row:selected:focused {
	border-color: @expander_row_selected_color;
	color: @expander_row_selected_color;
	background-color: @theme_selected_bg_color;
}

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

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

GtkCalendar.button {
	background-image: -gtk-gradient (linear,
					left top,
					left bottom,
					from (rgba (0, 0, 0, 0)),
					to (rgba (0, 0, 0, 0)));
}

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

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

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

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

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

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

.sidebar,
.sidebar.view {
	background-color: shade (@theme_main_color, 0.95);
}

ApDocView, /* Abiword */
EogScrollView, /* Eog */
CheeseThumbView /* Cheese */
{
	background-color: @chrome_bg_color;
	-EogScrollView-shadow-type: none;
}

/* gnome-terminal */
TerminalScreen {
	background-color: @theme_bg_color;
	color: @theme_text_color;
	-TerminalScreen-background-darkness: 1.0;
}

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

ClockBox,
.gnome-panel-menu-bar {
	font: bold;
}

PanelApplet > GtkMenuBar.menubar.menuitem:prelight,
.gnome-panel-menu-bar.menuitem:prelight {
	background-color: @os_chrome_selected_bg_color;
	color: @os_chrome_selected_fg_color;
	border-color: lighter (@os_chrome_selected_bg_color);
}

/* panel buttons (clock, tasklist etc) */
PanelApplet GtkToggleButton {
	background-color: @os_chrome_bg_color;
	background-image: none;
	border-color: @os_chrome_bg_color;
	border-width: 1;
	color: @os_chrome_fg_color;
}

PanelApplet GtkToggleButton:prelight:active,
PanelApplet GtkToggleButton:active {
	background-color: @os_chrome_selected_bg_color;
	background-image: none;
	border-color: lighter (@os_chrome_selected_bg_color);
	border-width: 1;
	color: @os_chrome_selected_fg_color;
}

PanelApplet GtkToggleButton:prelight {
	background-color: @os_chrome_bg_color;
	background-image: none;
	border-color: @os_chrome_bg_color;
	border-width: 1;
	color: @os_chrome_selected_fg_color;
}

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

WnckPager, WnckTasklist {
	background-color: @os_chrome_selected_bg_color;
	background-image: none;
	color: @os_chrome_fg_color;
}

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

/************
 * Nautilus *
 ************/
/*NautilusWindow > GtkTable,*/
NautilusWindow .sidebar.view {
	background-color: @theme_bg_color;
}

NautilusPlacesSidebar .cell:selected {
	background-image:  -gtk-gradient (linear,
					left top, left bottom,
					from (shade (@theme_bg_color, 1.3)),
					to (shade (@theme_bg_color, 0.73)));
	color: @theme_text_color;
	border-radius: 2;
}

NautilusPlacesSidebar .cell:selected:focused {
	/*background-image:  -gtk-gradient (linear,
					left top, left bottom,
					from (shade (@theme_selected_bg_color, 1.3)),
					to (shade (@theme_selected_bg_color, 0.8)));*/
	color: @theme_text_color;
	background-image:  -gtk-gradient (linear,
					left bottom, left top,
					from (shade (@theme_bg_color, 1.3)),
					to (shade (@theme_bg_color, 0.73)));
}

NautilusWindow .sidebar {
	padding: 3;
	/*-GtkTreeView-horizontal-separator: 3;*/
}

/* This overrides Nautilus' internal theme. :) */
NautilusTrashBar.info,
NautilusXContentBar.info,
NautilusQueryEditor.info,
NautilusSearchBar.info {
	background-image: -gtk-gradient (linear,
					left top, left bottom,
					from (@theme_bg_color),
					to (@theme_bg_color);
	-adwaita-border-gradient: -gtk-gradient (linear,
					left top, left bottom,
					from (@theme_bg_color),
					to (@theme_bg_color);
}
