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

/* default */
* {
	engine: none;  
	background-clip: padding-box;

    -GtkArrow-arrow-scaling: 0.6;
    -GtkButton-child-displacement-x: 0;
    -GtkButton-child-displacement-y: 0;
    -GtkButton-default-border: 0;
    -GtkButton-image-spacing: 0;
    -GtkButton-inner-border: 1;
    -GtkButton-interior-focus: true;

     /* Workaround for https://bugzilla.gnome.org/show_bug.cgi?id=710909 */
    -GtkButtonBox-child-min-height: 24;
    -GtkButtonBox-child-internal-pad-y: 1;

    -GtkCheckButton-indicator-size: 16;
    -GtkCheckMenuItem-indicator-size: 16;
    -GtkExpander-expander-size: 11;
    -GtkHTML-link-color: @link_color;
    -GtkIMHtml-hyperlink-color: @link_color;
    -GtkMenu-horizontal-padding: 0;
    -GtkMenu-vertical-padding: 0;
    -GtkCheckMenuItem-indicator-size: 12;
    -GtkPaned-handle-size: 1;
    -GtkProgressBar-min-horizontal-bar-height: 12;
    -GtkProgressBar-min-vertical-bar-width: 12;
    -GtkRange-slider-width: 13;
    -GtkRange-stepper-spacing: 0;
    -GtkRange-trough-border: 0;
    -GtkRange-trough-under-steppers: 1;
    -GtkScrollbar-has-backward-stepper: false;
    -GtkScrollbar-has-forward-stepper: false;
    -GtkScrollbar-min-slider-length: 80;
    -GtkScrolledWindow-scrollbar-spacing: 0;
    -GtkScrolledWindow-scrollbars-within-bevel: 1;
    -GtkStatusbar-shadow-type: none;
    -GtkTextView-error-underline-color: @error_color;
    -GtkToolButton-icon-spacing: 6;
    -GtkToolItemGroup-expander-size: 11;
    -GtkTreeView-expander-size: 12;
    -GtkWidget-focus-line-width: 1;
    -GtkWidget-focus-padding: 0;
    -GtkWidget-link-color: @link_color;
    -GtkWidget-visited-link-color: @link_color;
    -GtkWindow-resize-grip-height: 2;
    -GtkWindow-resize-grip-width: 2;
    -WnckTasklist-fade-overlay-rect: 0;

    outline-color: alpha(@theme_selected_bg_color, 0.4);
    outline-style: dashed;
    outline-offset: -3px;
    outline-width: 1px;
    outline-radius: 2px; 
}



/***************
 * base states *
 ***************/
.background {
    color: @theme_fg_color;
    background-color: @theme_bg_color;
}

.background:backdrop {
	text-shadow: none;
	icon-shadow: none;
    color: @insensitive_fg_color;
    background-color: @theme_bg_color;
}

.background.client-decorated {
    background-color: transparent;
}

.background.window-content {
    background-color: @theme_bg_color;
}

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

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

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

*:insensitive,
*:insensitive:insensitive {
    color: mix(@theme_fg_color, @theme_bg_color, 0.5);
}

/* apply effects to insensitive and prelight images */
*:insensitive {
    -gtk-image-effect: dim;
}

*:hover {
    -gtk-image-effect: highlight;
}

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

.gtkstyle-fallback:prelight {
    background-color: shade(@theme_bg_color, 1.12);
    color: @theme_fg_color;
}

.gtkstyle-fallback:active {
    background-color: shade(@theme_bg_color, 0.9);
    color: @theme_fg_color;
}

.gtkstyle-fallback:insensitive {
    background-color: shade(shade(@theme_bg_color, 0.95), 1.05);
    color: mix(@theme_fg_color, @theme_bg_color, 0.5);
}

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

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

/******************
 * visual effects *
 ******************/
/* transitions */
.button {
    transition: border 60ms ease-in-out;
}

.entry {
    transition: border 60ms ease-out;
}

.entry:focus {
    transition: border 60ms ease-in;
}

/* inset shadows */
.button:active,
.primary-toolbar .button:active,
.toolbar .button:active,
.header-bar .button:active,
.button:checked,
.primary-toolbar .button:checked,
.toolbar .button:checked,
.header-bar .button:checked {
    box-shadow: inset 0 1px alpha(@dark_shadow, 0.16);
}

.entry {
    box-shadow: inset 1px 0 alpha(@dark_shadow, 0.10),
    		    inset 0 1px alpha(@dark_shadow, 0.10),
                inset -1px 0 alpha(@dark_shadow, 0.10);
}

/* disable inset shadow */
.button:active *:insensitive,
.primary-toolbar .button:active *:insensitive,
.toolbar .button:active *:insensitive,
.header-bar .button:active *:insensitive,
.entry:insensitive,
.button:checked *:insensitive,
.primary-toolbar .button:checked *:insensitive,
.toolbar .button:checked *:insensitive,
.header-bar .button:checked *:insensitive {
    box-shadow: none;
}

GtkFlowBox .grid-child {
  padding: 2px;
  border-radius: 0px; }
  GtkFlowBox .grid-child:selected {
    outline-offset: -2px; }

/*************
 * assistant *
 *************/
GtkAssistant .sidebar .highlight {
    font: bold;
}

GtkAssistant .sidebar {
    padding: 3px;
    border-width: 0 1px 0 0;
    border-style: solid;
    border-color: shade(@theme_bg_color, 0.88);
    border-radius: 0;
    background-color: @sidebar_bg_color;
    color: mix(@theme_fg_color, @theme_bg_color, 0.1);
}

/**********
 * buttons *
 **********/

.button {
    -GtkWidget-focus-padding: 1;
    -GtkWidget-focus-line-width: 0;

    padding: 3px;
    border-width: 1px;
    border-radius: 2px;
    border-style: solid;
    border-top-color: shade(@theme_bg_color, 0.8);
    border-right-color: shade(@theme_bg_color, 0.7);
    border-left-color: shade(@theme_bg_color, 0.7);
    border-bottom-color: shade(@theme_bg_color, 0.6);
    background-image: linear-gradient(to bottom,
                                      shade(shade(@theme_bg_color, 1.02), 1.12),
                                      shade(shade(@theme_bg_color, 1.02), 0.96)
                                      );
    color: @theme_fg_color;
}

.button.image-button {
  padding: 4px 4px; }

.button.text-button {
  padding: 4px 6px; }


.button:hover {
    background-image: linear-gradient(to bottom,
                                      shade(shade(@theme_bg_color, 1.02), 1.12),
                                      shade(shade(@theme_bg_color, 1.02), 1.04)
                                      );
}

.button:active,
.button:checked {
    background-image: linear-gradient(to bottom,
                                      shade(shade(@theme_bg_color, 1.02), 1.12),
                                      shade(shade(@theme_bg_color, 1.02), 1.12)
                                      );
    box-shadow: none;
}

.button:active:hover,
.button:checked:hover {}

.button:focus,
.button:hover:focus 
.button:active:focus,
.button:active:hover:focus,
.button:active:hover:focus,
.button:checked:focus,
.button:checked:hover:focus {}

.button:insensitive {
    background-color: shade (@insensitive_bg_color, 1.22);
    background-image: none;
}

.button:active *:insensitive {
    border-color: shade(@theme_bg_color, 0.8);
    background-color: shade(@theme_bg_color, 0.92);
    background-image: none;
}

/* default button */
.button.default {
    border-top-color: shade(@theme_selected_bg_color, 0.8);
    border-right-color: shade(@theme_selected_bg_color, 0.7);
    border-left-color: shade(@theme_selected_bg_color, 0.7);
    border-bottom-color: shade(@theme_selected_bg_color, 0.6);
    background-image: linear-gradient(to bottom,
                                      shade(shade(@theme_selected_bg_color, 1.02), 1.12),
                                      shade(shade(@theme_selected_bg_color, 1.02), 0.96)
                                      );

    color: @theme_selected_fg_color;
}

.button.default:hover {}

.button.default:active,
.button.default:checked {
    background-image: linear-gradient(to bottom,
                                      shade(shade(@theme_selected_bg_color, 1.02), 0.96),
                                      shade(shade(@theme_selected_bg_color, 1.02), 1.12)
                                      );
}

.button.default:active:hover,
.button.default:checked:hover  {}

.inline-toolbar GtkToolButton > .button {
  border-width: 1px;
  border-style: solid;
  color: @theme_fg_color;
  background-image: none; 
}
  .inline-toolbar GtkToolButton > .button:hover {
    border-width: 1px;
    border-style: solid;
    color: @theme_fg_color;
    background-image: none; }
  .inline-toolbar GtkToolButton > .button:active {
    border-width: 1px;
    border-style: solid;
    background-image: none; 
    color:  @theme_fg_color; }
  .inline-toolbar GtkToolButton > .button:insensitive {
    border-width: 1px;
    border-style: solid;
    color: shade (@theme_bg_color, 0.7);
    border-color: shade (@theme_bg_color, 0.88);
    background-color: @theme_bg_color;
	background-image: none;
    text-shadow: none;
    icon-shadow: none; }
  .inline-toolbar GtkToolButton > .button:insensitive:active {
    border-width: 1px;
    border-style: solid;
    color: shade (@theme_bg_color, 0.7);
    border-color: shade (@theme_bg_color, 0.88);
    background-color: @theme_bg_color;
	background-image: none; }

.inline-toolbar.toolbar GtkToolButton > .button.flat {
  border-radius: 0;
  border-left-style: none; }
.inline-toolbar.toolbar GtkToolButton:first-child > .button.flat {
  border-radius: 2px 0 0 2px;
  border-left-style: solid; }
.inline-toolbar.toolbar GtkToolButton:last-child > .button.flat {
  border-radius: 0 2px 2px 0; }
.inline-toolbar.toolbar GtkToolButton:last-child:dir(rtl) > .button.flat {
  border-right-style: solid; }
.inline-toolbar.toolbar GtkToolButton:only-child > .button.flat {
  border-radius: 2px;
  border-style: solid; }

.osd .button, .osd .button:hover, .osd .button:active, .osd .button:checked, .osd .button:insensitive, .inline-toolbar .button, .linked .button, .linked > GtkComboBox > .button:dir(ltr) {
  border-radius: 0;
  border-left-style: none; }
  .osd .button:dir(rtl), .inline-toolbar .button:dir(rtl), .linked .button:dir(rtl), .linked > GtkComboBox > .button:dir(rtl) {
    border-radius: 0;
    border-right-style: none;
    border-left-style: solid; }

.osd .button:first-child, .inline-toolbar .button:first-child, .linked .button:first-child, .linked > GtkComboBox:first-child > .button {
  border-radius: 2px 0 0 2px;
  border-left-style: solid; }
.osd .button:last-child, .inline-toolbar .button:last-child, .linked .button:last-child, .linked > GtkComboBox:last-child > .button {
  border-radius: 0 2px 2px 0; }
  .osd .button:last-child:dir(rtl), .inline-toolbar .button:last-child:dir(rtl), .linked .button:last-child:dir(rtl), .linked > GtkComboBox:last-child > .button:dir(rtl) {
    border-right-style: solid; }
.osd .button:only-child, .inline-toolbar .button:only-child, .linked .button:only-child, .linked > GtkComboBox:only-child > .button {
  border-radius: 2px;
  border-style: solid; }


.button.flat {
	border-color: transparent;
	background-color: transparent;
	background-image: none;
	box-shadow: inset 0 1px rgba(255,255,255,0), 0 1px rgba(255,255,255,0);
	text-shadow: none;
	icon-shadow: none;
	border-image: none; 
}


/****************
 * cell and row *
 ****************/
.cell {
    border-width: 0;
    border-radius: 0;
}

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

row:selected,
row:selected:hover,
row:selected:focus {
    border-width: 1px 0;
    border-style: solid;
    border-color: shade(@theme_selected_bg_color, 1.0);
    background-image: linear-gradient(to bottom,
                                      shade(@theme_selected_bg_color, 1.0),
                                      shade(@theme_selected_bg_color, 1.0)
                                      );

    color: @theme_selected_fg_color;

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

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

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

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


/*****************
 * column-header *
 *****************/
column-header .button,
column-header .button:active,
column-header .button:checked  {
	padding: 2px 4px 2px 4px;
    border-width: 0 1px 1px 0;
    border-radius: 0;
    font: bold;
}

column-header .button,
column-header .button:active,
column-header .button:checked,
column-header .button:focus,
column-header .button:active:focus,
column-header .button:checked:focus  {
    border-color: shade(@theme_base_color, 0.8);
    background-image: linear-gradient(to bottom,
                                      shade(@theme_base_color, 1.00),
                                      shade(@theme_base_color, 0.96)
                                      );
}

column-header .button:hover,
column-header .button:active:hover,
column-header .button:checked:hover,
column-header .button:hover:focus,
column-header .button:active:hover:focus,
column-header .button:checked:hover:focus {
    border-color: shade(@theme_base_color, 0.8);
}

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


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

.list {
	background-color: @list_box_bg;

}

.list-row,
.grid-child {
	padding: 0;
	border: none;
	border-radius: 0;
	background-image: none;
}

.list-row:hover {
	background-color: shade (@content_view_bg, 0.95);
	background-image: none
}

.list-row:selected,
.list-row:selected:hover {
	border-width: 0;
	border-style: solid;
	border-color: shade (@theme_selected_bg_color, 0.88);
	background-color: @theme_selected_bg_color;
	background-image: none;
	box-shadow: none;
	color: @theme_selected_fg_color;
}

.list-row:selected:backdrop,
.list-row:selected:backdrop:hover {
	border-width: 0;
	border-style: solid;
	border-color: shade (@theme_selected_bg_color, 0.88);
	background-color: shade (@theme_bg_color, 0.88);
	background-image: none;
	box-shadow: none;
	color: @theme_selected_fg_color;
}

.list-row.button {
	border-color: transparent;
	background-image: none;
	box-shadow: inset 0 1px rgba(255, 255, 255, 0), 0 1px rgba(255, 255, 255, 0);
	text-shadow: none;
	icon-shadow: none;
	border-image: none;
	border-radius: 0;
	border: none;
}

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

.content-view.view:prelight {
    background-color: alpha(@theme_selected_bg_color, 0.6);
}

.content-view.view:selected,
.content-view.view:active {
    background-color: @theme_selected_bg_color;
}

.content-view.view:insensitive {
    background-color: shade(@theme_base_color, 0.9);
}

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:selected {
    background-color: transparent;
}

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

GtkDrawingArea:insensitive {
    background-color: shade(@theme_bg_color, 0.9);
}

/***********
 * gtkhtml *
 ***********/
GtkHTML {
    background-color: @theme_base_color;
    color: @theme_text_color;
}

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

GtkCalendar {
	padding: 1px;
}


GtkCalendar.view,
GtkCalendar.header,
GtkCalendar.button,
GtkCalendar.button:hover,
GtkCalendar.button:insensitive {
	border-radius: 0;
	background-image: none;
	background-color: @theme_base_color;
	border-width: 1px;
	border-color: @borders;
}

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

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

/******************
 * combobox entry *
 ******************/

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

.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:checked,
.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:checked,
GtkComboBox.combobox-entry .button:insensitive {
    border-width: 1px 1px 1px 1px;
    border-bottom-left-radius: 0;
    border-top-left-radius: 0;
}

/*********
 * entry *
 *********/
.entry {
    padding: 4px 3px;
    border-width: 1px;
    border-style: solid;
    border-top-color: shade(@theme_bg_color, 0.7);
    border-right-color: shade(@theme_bg_color, 0.7);
    border-left-color: shade(@theme_bg_color, 0.7);
    border-bottom-color: shade(@theme_bg_color, 0.7);
    border-radius: 2px;
	background-color: @theme_base_color;
    background-image: none;
    color: @theme_text_color;
}

.entry:active,
.entry:focus {
	background-color: @theme_base_color;
    border-top-color: shade(@theme_bg_color, 0.7);
    border-right-color: shade(@theme_bg_color, 0.7);
    border-left-color: shade(@theme_bg_color, 0.7);
    border-bottom-color: shade(@theme_bg_color, 0.7);
	background-color: @theme_base_color;
    background-image: none;
    color: @theme_text_color;
}

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

.entry:insensitive {
    border-top-color: shade(@theme_bg_color, 0.8);
    border-right-color: shade(@theme_bg_color, 0.8);
    border-left-color: shade(@theme_bg_color, 0.8);
    border-bottom-color: shade(@theme_bg_color, 0.7);
    background-color: shade (@theme_bg_color,1.06);
    background-image: none;
    color: mix(@theme_text_color, @theme_base_color, 0.5);;
}

.entry.progressbar {
    border-width: 0;
    border-radius: 2px;
    background-image: linear-gradient(to bottom,
                                      shade(@theme_selected_bg_color, 1.12),
                                      shade(@theme_selected_bg_color, 0.96)
                                      );

    color: @theme_selected_fg_color;
}

.entry.error {
    color: @theme_selected_fg_color; }
    .entry.error:focus {
      background-color: #d94141;
      background-image: none;}
    .entry.error:selected, .entry.error:selected:focus {
	  color: #d94141;
      background-color: #ffffff; 
}

.entry.warning {
    color: @theme_selected_fg_color; }
    .entry.warning:focus {
      background-color: #f57900;
      background-image: none;}
    .entry.warning:selected, .entry.warning:selected:focus {
	  color: #f57900;
      background-color: #ffffff;
}

  .linked .entry:first-child {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0; 
    border-right-style: solid;}
    .linked .entry:first-child:dir(rtl) {
      border-right-style: solid; }

  .linked .entry:last-child {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    border-left-style: solid; }
    .linked .entry:last-child:dir(rtl) {
      border-left-style: solid; }

/************
 * expander *
 ************/
.expander {
	color: alpha(currentColor, 0.7);
	border: alpha(currentColor, 0.7);
}

.expander:hover {
	color: alpha(currentColor, 0.8);
	border-color: alpha(currentColor, 0.8);
}

.expander:active {
	color: alpha(currentColor, 0.9);
	border-color: alpha(currentColor, 0.9);
}


/*********
 * frames *
 *********/

.frame {
	border: 1px solid @borders;
	border-radius: 0;
	padding: 0;	
	box-shadow: none;
}

.frame.flat { 
	border: none;
	box-shadow: none;
}

.frame.action-bar {
	border-color: @borders;
	padding: 6px;
	border-width: 1px 0 0 0; 
}

/*******************
 * scrolled window *
 *******************/
GtkScrolledWindow.frame {
	border-style: solid;
	border-color: @borders;
	border-width: 1px;
	border-radius: 0;
	padding: 0;
}


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

/************
 * iconview *
 ************/
GtkIconView.view.cell:hover {
    border-width: 0;
    border: none;
    border-radius: 0;
    background-color: shade(@theme_base_color, 0.92);
    background-image: none;
    color: @fg_color;
}


GtkIconView.view.cell:selected,
GtkIconView.view.cell:selected:focus {
    border-width: 0;
    border-style: none;
    border-color: shade(@theme_selected_bg_color, 0.88);
    border-radius: 0;
	background-color: @theme_selected_bg_color;
    background-image: none;
    color: @theme_selected_fg_color;
}

.content-view.view.rubberband,
.view.rubberband,
.rubberband {
    border-width: 1px;
    border-style: solid;
    border-color: shade(@theme_selected_bg_color, 0.9);
    border-radius: 0;
    background-color: alpha(@theme_selected_bg_color, 0.3);
}

/*********
 * image *
 *********/
GtkImage,
GtkImage:active,
GtkImage:insensitive {
    background-color: transparent;
}

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

/***********
 * infobar *
 ***********/
GtkInfoBar {
	border-style: none none solid none;
	border-width: 1px;
	border-color: shade(@theme_bg_color, 0.88);
}

.info,
.question,
.warning,
.error {
	color: @infobar_fg_color;
/*	border-color: darker(@infobar_bg_color);*/
/*	text-shadow: 1px 1px @infobar_text_shadow;*/
}

.info {
	background-color: @info_bg_color;
}

.question {
	background-color: @question_bg_color;
}

.warning {
	background-color: @warning_bg_color;
}

.error {
	background-color: @error_bg_color;
}

.info .button.close,
.warning .button.close,
.question .button.close,
.error .button.close {
	color: @infobar_fg_color;
	icon-shadow: 1px 1px @infobar_text_shadow;
}

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

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

.info .entry,
.info .entry:focus,
.info .button,
.info .button:insensitive,
.info .button: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,
.question .entry,
.question .entry:focus,
.question .button,
.question .button:insensitive,
.question .button:active {
	border-image: none;
	border-style: solid;
	border-width: 1px;
	text-shadow: none;
}

/*******************
 * symbolic images *
 *******************/
.image {
    color: alpha(@theme_fg_color, 0.5);
}

.image:hover {
    color: alpha(@theme_fg_color, 0.9);
}

.image:selected,
.image:selected:hover {
    color: @theme_selected_fg_color;
}

.view.image,
.view.image:hover {
    color: alpha(@theme_fg_color, 0.9);
}

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


/*****************
 * miscellaneous *
 *****************/
.floating-bar {
    border-width: 1px;
    border-style: solid;
    border-color: shade(@theme_bg_color, 0.8);
    border-radius: 0px;
    background-color: @theme_bg_color;
    background-image: none;
    color: @theme_fg_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-bottom-left-radius: 0;
    border-top-left-radius: 0;
}

.floating-bar .button {
    -GtkButton-image-spacing: 0;
    -GtkButton-inner-border: 0;

    border-style: none;
    background-color: transparent;
    background-image: none;
}

.view.dim-label,
.dim-label {
    color: alpha(currentColor, 0.5);
}

.dnd {
    border-width: 1px;
    border-style: solid;
    border-color: shade(@theme_selected_bg_color, 0.9);
}

.grip {
    background-color: transparent;
}

.arrow {
    color: alpha(@theme_fg_color, 0.7);
}



/*********
 * Menus *
 *********/
.menubar {
  -GtkWidget-window-dragging: true;
    background-color: transparent;
    background-image: linear-gradient(to top, @toolbar_bg_color, @toolbar_bg_color);
  padding: 0px; }
  .menubar:backdrop {
    background-color: @theme_bg_color }
  .menubar > .menuitem {
    padding: 3px 6px; }
    .menubar > .menuitem:hover {
      background-color: @theme_selected_bg_color;
      color: @theme_selected_fg_color; }
    .menubar > .menuitem:insensitive {
      color: @insensitive_fg_color;
      box-shadow: none; }

.menu {
  margin: 4px;
  padding: 0px;
  background-color: @menu_bg_color; }
  .menu .menuitem {
    text-shadow: none;
    padding: 4px; }
    .menu .menuitem:hover {
      color: @theme_selected_fg_color_fg_color;
      background-color: @theme_selected_bg_color; }
    .menu .menuitem:insensitive {
      color: #8d9091; }
      .menu .menuitem:insensitive:backdrop {
        color: #c7c7c7; }
    .menu .menuitem:backdrop, .menu .menuitem:backdrop:hover {
      color: #8d9091;
      background-color: #fcfcfc; }
    .menu .menuitem.arrow {
      -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); }
    .menu .menuitem.arrow:dir(rtl) {
      -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); }
  .menu.button, .header-bar .menu.button.titlebutton,
  .titlebar .menu.button.titlebutton,
  GtkCalendar.header .menu.button.titlebutton {
    border-style: none;
    border-radius: 0; }
    .menu.button.top {
      border-bottom: 1px solid #eaeaea; }
    .menu.button.bottom {
      border-top: 1px solid #eaeaea; }
    .menu.button:hover {
      background-color: #eaeaea; }
    .menu.button:insensitive {
      color: transparent;
      background-color: transparent;
      border-color: transparent; }

.menuitem .accelerator {
  color: alpha(currentColor,0.55); }

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

.notebook {

    -GtkNotebook-tab-overlap: 0;
    -GtkNotebook-initial-gap: 0;    
    -GtkNotebook-has-tab-gap: true;
    -GtkWidget-focus-padding: 0;
    -GtkWidget-focus-line-width: 0;

    padding: 2px 2px 2px 2px;
    border-width: 1px;
    border-style: solid;
    border-color: shade(@theme_base_color, 0.8);
    background-color: @theme_base_color;
    background-clip: border-box;
}

.notebook.frame {
    border-width: 1px;
}

.notebook.header {
    border-width: 0;
    background-color: @theme_bg_color;
}

.notebook.header.frame {
    border-width: 1px;
    border-color: transparent;
}

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

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

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

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

.notebook GtkViewport {
    border-width: 0;
    background-color: @theme_base_color;
    color: @theme_text_color;
}

.notebook tab {
    padding: 4px 6px;
    border-radius: 0;
    border-width: 1px;
    border-color: transparent; /* shade(@theme_base_color, 0.7); */
    background-color: transparent;
    background-image: none;
}

.notebook tab GtkLabel {
    padding: 0 2px;
    color: mix(@theme_fg_color, @theme_bg_color, 0.40);
    font-weight: bold;
    transition: all 100ms ease-out;
}

.notebook .prelight-page,
.notebook .prelight-page GtkLabel {
    color: @theme_fg_color;
    transition: all 100ms ease-in;
}

.notebook .active-page,
.notebook tab .active-page GtkLabel {
    color: @theme_fg_color;
    font-weight: bold;
    transition: all 100ms ease-in;
}

.notebook tab:active {
	border-radius: 0;
    border-color: shade(@theme_base_color, 0.7);
    background-color: @theme_base_color;
}

/* horizontal tabs */

.notebook tab.top {
    padding: 4px 4px; /* sopra  sinistra sotto destra */
    border-width: 0 0 0 0;
}

.notebook tab.top:active {
	box-shadow: inset 1px 0 0 0 shade(@theme_base_color, 0.8),
				inset -1px 0 0 0 shade(@theme_base_color, 0.8),
				inset 0 3px 0 0 @theme_selected_bg_color;
}

.notebook tab.bottom {
    padding: 4px 4px; /* sopra  sinistra sotto destra */
    border-width: 0 0 0 0;
}

.notebook tab.bottom:active {
	box-shadow: inset 1px 0 0 0 shade(@theme_base_color, 0.8),
				inset -1px 0 0 0 shade(@theme_base_color, 0.8),
				inset 0 -3px 0 0 @theme_selected_bg_color;
}

.notebook tab.top:hover,
.notebook tab.bottom:hover {
}

/* vertical tabs */

.notebook tab.right {
    padding: 4px 4px; /* sopra  sinistra sotto destra */
    border-width: 0 0 0 0;
}
.notebook tab.right:active {
	box-shadow: inset 0 1px 0 0 shade(@theme_base_color, 0.8),
				inset 0 -1px 0 0 shade(@theme_base_color, 0.8),
				inset -3px 0 0 0 @theme_selected_bg_color;
}

.notebook tab.left {
    padding: 4px 4px; /* sopra  sinistra sotto destra */
    border-width: 0 0 0 0;
}

.notebook tab.left:active {
	box-shadow: inset 0 1px 0 0 shade(@theme_base_color, 0.8),
				inset 0 -1px 0 0 shade(@theme_base_color, 0.8),
				inset 3px 0 0 0 @theme_selected_bg_color;
}

.notebook tab.right:hover,
.notebook tab.left:hover {
}


/* close button styling */
.notebook tab .button,
.notebook tab .button:active {
    padding: 0;
    border-width: 1px;
    border-radius: 16px;
    border-style: solid;
    border-color: transparent;
    background-image: none;
    background-color: transparent;
       color: mix(@theme_text_color, @theme_base_color, 0.5);
}

.notebook tab .button:hover {
    color: @theme_text_color;
    border-color: shade(@theme_base_color, 0.5);
}

.notebook tab .button > GtkImage {
        padding: 2px; }

/******************
 *notebook pane separator *
 ******************/

.notebook .pane-separator,
.notebook .pane-separator:hover {
    background-color: @theme_base_color;
}


/**************
 * progressbar 
 **************/
GtkProgressBar {
    padding: 0;
    border-width: 1px;
    border-radius: 0px;
    font-size: smaller;
}

GtkProgressBar:backdrop {
    color: @text_color; 
}

.progressbar,
.progressbar row,
.progressbar row:hover,
.progressbar row:selected,
.progressbar row:selected:hover,
.progressbar row:selected:focus {
    border-width: 1px;
    border-style: solid;
    border-color: shade(@theme_selected_bg_color, 0.88);
    background-image: linear-gradient(to bottom,
                                      shade(@theme_selected_bg_color, 1.12),
                                      shade(@theme_selected_bg_color, 0.96)
                                      );
}

.progressbar.vertical {
    background-image: linear-gradient(to right,
                                      shade(@theme_selected_bg_color, 1.12),
                                      shade(@theme_selected_bg_color, 0.96)
                                      );
}

.progressbar:backdrop,
.progressbar:backdrop:hover {
    border-width: 0px;
    background-image: none;
    background-color: @selected_bg_color;
    box-shadow: none;
	color: @text_color;
}

.trough,
.trough row,
.trough row:hover,
.trough row:selected,
.trough row:selected:hover,
.trough row:selected:focus {
    border-width: 1px;
    border-style: solid;
    border-color: shade(@theme_bg_color, 0.8);
    background-color: @theme_base_color;
    background-image: none;
    color: @text_color;
}

.trough.vertical {
	background-color: @theme_base_color;
    background-image: none;
}

/* level bars as used for password quality or remaining power */
GtkLevelBar {
    -GtkLevelBar-min-block-width: 34;
    -GtkLevelBar-min-block-height: 9;
}

GtkLevelBar.vertical {
    -GtkLevelBar-min-block-width: 9;
    -GtkLevelBar-min-block-height: 34;
}

.level-bar.trough {
    padding: 1px;
    border-radius: 0px;
}

.level-bar.fill-block {
    border-width: 0;
    border-style: solid;
    border-color: shade(@theme_selected_bg_color, 0.8);
    background-image: linear-gradient(to bottom,
                                      shade(@theme_selected_bg_color, 1.12),
                                      shade(@theme_selected_bg_color, 0.96)
                                      );
}

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

.level-bar.indicator-discrete.fill-block.horizontal {
    margin: 0px 0px;
}

.level-bar.indicator-discrete.fill-block.vertical {
    margin: 0px 0px;
}

/* discrete indicator border rounding,
   uncomment when :nth-child will be working
   on the widget

.level-bar.indicator-discrete.fill-block.horizontal:first-child {
    border-radius: 3px 0 0 3px;
}

.level-bar.indicator-discrete.fill-block.horizontal:last-child {
    border-radius: 0 3px 3px 0;
}

.level-bar.indicator-discrete.fill-block.vertical:first-child {
    border-radius: 3px 3px 0 0;
}

.level-bar.indicator-discrete.fill-block.vertical:last-child {
    border-radius: 0 0 3px 3px;
}
*/

.level-bar.fill-block.level-high {
    border-color: shade(@success_color, 0.85);
    background-image: linear-gradient(to bottom,
                                      shade(@success_color, 1.2),
                                      @success_color 75%,
                                      shade(@success_color, 0.95)
                                      );
}

.level-bar.fill-block.level-low {
    border-color: shade(@warning_bg_color, 0.80);
    background-image: linear-gradient(to bottom,
                                      shade(@warning_bg_color, 1.3),
                                      @warning_bg_color 75%,
                                      shade(@warning_bg_color, 0.9)
                                      );
}

.level-bar.fill-block.empty-fill-block {
    border-color: alpha(@theme_fg_color, 0.1);
    background-color: transparent;
    background-image: none;
}

/*********
 * scale *
 *********/
.scale {
    padding: 0;
    border-width: 1px;
    border-radius: 2px;

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

.scale.slider {
    border-radius: 12px;
    background-image: linear-gradient(to bottom,
                                      shade(shade(@theme_bg_color, 1.02), 1.12),
                                      shade(shade(@theme_bg_color, 1.02), 0.96)
                                      );

    /* we will draw the border using box shadow for now */
    box-shadow: inset 1px 0 shade(@theme_bg_color, 0.7),
                inset 0 1px shade(@theme_bg_color, 0.8),
                inset -1px 0 shade(@theme_bg_color, 0.7),
                inset 0 -1px shade(@theme_bg_color, 0.8);
}

.scale.slider:hover {
    box-shadow: inset 1px 0 shade(@theme_bg_color, 0.6),
                inset 0 1px shade(@theme_bg_color, 0.7),
                inset -1px 0 shade(@theme_bg_color, 0.6),
                inset 0 -1px shade(@theme_bg_color, 0.7);
}

.scale.slider:insensitive {
    background-image: linear-gradient(to bottom,
                                      shade(@theme_bg_color, 1.04),
                                      shade(@theme_bg_color, 0.96)
                                      );

    box-shadow: inset 1px 0 shade(@theme_bg_color, 0.9),
                inset 0 1px shade(@theme_bg_color, 0.9),
                inset -1px 0 shade(@theme_bg_color, 0.9),
                inset 0 -1px shade(@theme_bg_color, 0.9);
}

.scale.slider.vertical {
    background-image: linear-gradient(to right,
                                      shade(shade(@theme_bg_color, 1.02), 1.12),
                                      shade(shade(@theme_bg_color, 1.02), 0.96)
                                      );
}

.scale.slider.vertical:hover {
    background-image: linear-gradient(to right,
                                      shade(@theme_bg_color, 1.04),
                                      shade(@theme_bg_color, 0.96)
                                      );
}

.scale.slider.vertical:insensitive {
    background-image: linear-gradient(to right,
                                      shade(@theme_bg_color, 1.04),
                                      shade(@theme_bg_color, 0.96)
                                      );
}

.scale.slider.fine-tune:active,
.scale.slider.fine-tune:active:hover,
.scale.slider.fine-tune.horizontal:active,
.scale.slider.fine-tune.horizontal:active:hover {
    background-image: linear-gradient(to bottom,
                                      shade(shade(@theme_bg_color, 1.02), 1.12),
                                      shade(shade(@theme_bg_color, 1.02), 0.96)
                                      );
}

.scale.mark {
    border-color: shade(@theme_bg_color, 0.8);
}

.scale.trough {
    margin: 6px 0;
    border-color: shade(@theme_bg_color, 0.8);
    border-radius: 12px;
    background-image: linear-gradient(to bottom,
                                      shade(@theme_bg_color, 1.10),
                                      shade(@theme_bg_color, 1.12)
                                      );
}

.scale.trough.vertical {
    margin: 0 6px;
    border-color: shade(@theme_bg_color, 0.8);
    border-radius: 2px;
    background-image: linear-gradient(to right,
                                      shade(@theme_bg_color, 1.10),
                                      shade(@theme_bg_color, 1.12)
                                      );
}

.menubar .menuitem .scale.highlight.left,
.scale.highlight.left {
    border-color: shade(@theme_selected_bg_color, 0.8);
    background-image: linear-gradient(to bottom,
                                      shade(@theme_selected_bg_color, 1.10),
                                      shade(@theme_selected_bg_color, 0.95)
                                      );
}

.menubar .menuitem .scale.highlight.left:hover {
    border-color: shade(@theme_selected_bg_color, 0.6);
    background-image: linear-gradient(to bottom,
                                      shade(@theme_selected_bg_color, 0.9),
                                      shade(@theme_selected_bg_color, 0.7)
                                      );
}

.scale.highlight.bottom {
    border-color: shade(@theme_selected_bg_color, 0.8);
    background-image: linear-gradient(to right,
                                      shade(@theme_selected_bg_color, 1.12),
                                      shade(@theme_selected_bg_color, 0.96)
                                      );
}

.scale.trough:insensitive,
.scale.highlight.left:insensitive {
    border-color: shade(@theme_bg_color, 0.9);
    background-image: linear-gradient(to bottom,
                                      shade(@theme_bg_color, 0.99),
                                      shade(@theme_bg_color, 0.95)
                                      );
}

.scale.trough.vertical:insensitive,
.scale.highlight.bottom:insensitive {
    border-color: shade(@theme_bg_color, 0.9);
    background-image: linear-gradient(to right,
                                      shade(@theme_bg_color, 0.99),
                                      shade(@theme_bg_color, 0.95)
                                      );
}

/***********
 * sidebar *
 ***********/
.sidebar {
    border: none;
    -GtkTreeView-horizontal-separator: 0;
    -GtkTreeView-vertical-separator: 0;
}

.sidebar,
.sidebar.view,
.sidebar .view,
.sidebar GtkScrolledWindow {
    border: none;
    background-color: @sidebar_bg_color;
    color: @sidebar_fg_color;
   -gtk-icon-style: symbolic /* symbolic  - regular */

}

.sidebar row:hover {
	border:none;
	background-color: shade (@theme_bg_color, 0.95);
}

.sidebar .scrollbar.trough {
    background-color: @sidebar_bg_color;
    background-image: none;
}

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

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

.sidebar-item {
  padding: 8px 4px; }
  .sidebar-item > .label {
    padding-left: 6px;
    padding-right: 6px; }
  .sidebar-item.needs-attention > .label {
    background-size: 6px 6px, 0 0; }

/*************
 * scrollbar *
 *************/
.scrollbar {
    border-width: 0;
    border-style: solid;
    padding: 0;
}

.scrollbars-junction, .scrollbar.trough,
.scrollbars-junction.frame,
.frame.scrollbar.trough {
  border-color: transparent;
  background-color: white; }
  .scrollbars-junction:backdrop, .scrollbar.trough:backdrop,
  .scrollbars-junction.frame:backdrop,
  .frame.scrollbar.trough:backdrop {
    border-color: transparent;
    background-color: white; }

.scrollbar.button,
.scrollbar.button:active,
.scrollbar.button:active:hover {
    border-width: 0;
    border-radius: 0;
    background-color: transparent;
    background-image: none;
    color: shade(@theme_bg_color, 0.6);
}

.scrollbar.slider {
    border-width: 3px;
    border-color: transparent;
    border-radius: 7px;
    background-color: shade(@theme_bg_color, 0.8);
}

.scrollbar.slider:hover,
.scrollbar.slider.vertical:hover {
    border-color: transparent;
    background-color: shade(@theme_bg_color, 0.5);
}

.scrollbar.slider:active,
.scrollbar.slider.vertical:active {
    border-color: transparent;
    background-color: shade(@theme_bg_color, 0.5);
}

.scrollbar.slider.fine-tune:prelight:active {
    border-width: 3px;
    border-color: transparent;
   
}

/* overlay scrollbar */
OsThumb {
    color: shade(@theme_bg_color, 0.7);
}

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

OsThumb:active,
OsScrollbar:active {
    background-color: @theme_selected_bg_color;
}

OsThumb:insensitive,
OsScrollbar:insensitive {
    background-color: shade(@theme_bg_color, 0.9);
}

/*************
 * separator *
 *************/
.sidebar.separator,
.sidebar.view.separator,
.sidebar .view.separator,
.view.separator,
.separator {
    border-width: 1px;
    border-style: solid;
    border-color: shade(@theme_bg_color, 0.8);
    color: shade(@theme_bg_color, 0.8);
}

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

.button .separator:insensitive,
.button.separator:insensitive {
    border-color: transparent;
}

.primary-toolbar GtkSeparatorToolItem,
.primary-toolbar .separator,
.primary-toolbar .separator:insensitive,
.toolbar GtkSeparatorToolItem,
.toolbar .separator,
.toolbar .separator:insensitive,
.header-bar GtkSeparatorToolItem,
.header-bar .separator,
.header-bar .separator:insensitive {
    border-color: shade(@toolbar_bg_color, 0.9);
    color: shade(@toolbar_bg_color, 0.9);
}

.primary-toolbar .button .separator,
.primary-toolbar .button.separator,
.toolbar .button .separator,
.toolbar .button.separator,
.header-bar .button .separator,
.header-bar .button.separator {
    border-color: shade(@toolbar_bg_color, 0.9);
}

.primary-toolbar .button .separator:insensitive,
.primary-toolbar .button.separator:insensitive,
.toolbar .button .separator:insensitive,
.toolbar .button.separator:insensitive,
.header-bar .button .separator:insensitive,
.header-bar .button.separator:insensitive {
    border-color: shade(@toolbar_bg_color, 0.9);
}

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

    border-style: none;
    color: shade(@menu_bg_color, 0.9);
}

GtkComboBox .separator {
    border-style: none;

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

.pane-separator {
	-GtkPaned-handle-size: 1;
	border-width: 0 1px 1px 1px;
	border-style: solid;
	border-color: transparent;
	background-color: transparent;
	background-image: url("assets/null.png");
	color: transparent;
}

.pane-separator:hover,
.pane-separator:selected {
	color: transparent;
}

/*********
 * Paned *
 *********/
GtkPaned {
  -GtkPaned-handle-size: 1;
  -gtk-icon-source: none;
  margin: 0 8px 8px 0; }
  GtkPaned:dir(rtl) {
    margin-right: 0;
    margin-left: 8px; }
  GtkPaned .pane-separator {
    background-color: #a1a1a1; }
    GtkPaned .pane-separator:backdrop {
      background-color: #a8a8a8; }

GtkPaned.wide {
  -GtkPaned-handle-size: 5;
  margin: 0; }
  GtkPaned.wide .pane-separator {
    background-color: transparent;
    border-style: none solid;
    border-color: #a1a1a1;
    border-width: 1px; }
  GtkPaned.wide.vertical .pane-separator {
    border-style: solid none; }
  GtkPaned.wide .pane-separator:backdrop {
    border-color: #a8a8a8; }


/**************
 * spinbutton *
 **************/
.spinbutton .button {
    color: mix(@theme_text_color, @theme_base_color, 0.4);
    padding: 2px 4px;
    border-width: 0;
    border-radius: 0;
    border-style: none;
    background-color: transparent;
    background-image: linear-gradient(to bottom,
                                      shade(shade(@theme_bg_color, 1.02), 1.12),
                                      shade(shade(@theme_bg_color, 1.02), 0.96)
                                      );
    box-shadow: inset 1px 0 shade(@theme_base_color, 0.7);
}



.spinbutton.entry {
	border-radius: 0;
   box-shadow: none;
}

.spinbutton .button:insensitive {
    color: mix(@theme_text_color, @theme_base_color, 0.7);
    border-style: none;
    background-color: transparent;
    background-image: linear-gradient(to bottom,
                                      shade(shade(@theme_bg_color, 1.02), 1.24),
                                      shade(shade(@theme_bg_color, 1.02), 1.04)
                                      );
    box-shadow: inset 1px 0 shade(@theme_base_color, 0.7);
}

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

.spinbutton .button:first-child {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    box-shadow: none;
}

.spinbutton .button:last-child {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.spinbutton .button:dir(rtl) {
    box-shadow: inset -1px 0 shade(@theme_base_color, 0.9);
}

.spinbutton.vertical .button {
    border-width: 1px;
    border-style: solid;
    border-top-color: shade(@theme_bg_color, 0.8);
    border-right-color: shade(@theme_bg_color, 0.8);
    border-left-color: shade(@theme_bg_color, 0.8);
    border-bottom-color: shade(@theme_bg_color, 0.7);
    border-radius: 2px;
    background-image: linear-gradient(to bottom,
                                      shade(shade(@theme_bg_color, 1.02), 1.12),
                                      shade(shade(@theme_bg_color, 1.02), 0.96)
                                      );

    color: mix(@theme_text_color, @theme_base_color, 0.2);
    box-shadow: none;
}

.spinbutton.vertical .button:hover {
    border-top-color: shade(@theme_bg_color, 0.7);
    border-right-color: shade(@theme_bg_color, 0.66);
    border-left-color: shade(@theme_bg_color, 0.66);
    border-bottom-color: shade(@theme_bg_color, 0.6);
}

.spinbutton.vertical .button:focus,
.spinbutton.vertical .button:hover:focus {
    border-top-color: shade(@theme_bg_color, 0.7);
    border-right-color: shade(@theme_bg_color, 0.66);
    border-left-color: shade(@theme_bg_color, 0.66);
    border-bottom-color: shade(@theme_bg_color, 0.6);
}

.spinbutton.vertical .button:active {
    border-top-color: shade(@theme_bg_color, 0.7);
    border-right-color: shade(@theme_bg_color, 0.76);
    border-left-color: shade(@theme_bg_color, 0.76);
    border-bottom-color: shade(@theme_bg_color, 0.8);
    background-image: linear-gradient(to bottom,
                                      shade(shade(@theme_bg_color, 1.02), 0.88),
                                      shade(shade(@theme_bg_color, 1.02), 0.96)
                                      );
}

.spinbutton.vertical .button:active:hover {
    border-top-color: shade(@theme_bg_color, 0.6);
    border-right-color: shade(@theme_bg_color, 0.66);
    border-left-color: shade(@theme_bg_color, 0.66);
    border-bottom-color: shade(@theme_bg_color, 0.7);
}

.spinbutton.vertical .button:active:focus,
.spinbutton.vertical .button:active:hover:focus {
    border-top-color: shade(@theme_bg_color, 0.6);
    border-right-color: shade(@theme_bg_color, 0.66);
    border-left-color: shade(@theme_bg_color, 0.66);
    border-bottom-color: shade(@theme_bg_color, 0.7);
}

.spinbutton.vertical .button:insensitive {
    border-color: shade(@theme_bg_color, 0.8);
    background-image: linear-gradient(to bottom,
                                      shade(@theme_bg_color, 1.04),
                                      shade(@theme_bg_color, 0.96)
                                      );

    color: mix(@theme_fg_color, @theme_bg_color, 0.7);
}

.spinbutton.vertical .button:first-child {
    border-width: 1px;
    border-bottom-width: 0;
    border-radius: 2px;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
}

.spinbutton.vertical .button:last-child {
    border-width: 1px;
    border-top-width: 0;
    border-radius: 2px;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}
.spinbutton.entry:insensitive,
.spinbutton.vertical.entry:insensitive {
	background-color: transparent;
}

/*********************
 * Spinner Animation *
 *********************/
@keyframes spin {
	to { -gtk-icon-transform: rotate(1turn); } }
.spinner {
	background-image: none;
	background-color: blue;
	opacity: 0;
	-gtk-icon-source: -gtk-icontheme("process-working-symbolic"); }
.spinner:active {
	opacity: 1;
	animation: spin 1s linear infinite; }
.spinner:active:insensitive {
	opacity: 0.5; }
.button .spinner:active {
	color: @theme_fg_color;
}

/*************
 * statusbar *
 *************/
GtkStatusbar {
    padding: 3px;
    color: @theme_fg_color;
    border-width: 0;
}

GtkStatusbar .button {
    color: @theme_fg_color;
}

GtkStatusbar .button:hover,
GtkStatusbar .button:active,
GtkStatusbar .button:active:hover {
    transition: none;
    color: @theme_selected_bg_color;
    background-color: @theme_bg_color;
}

/************
 * switches *
 ************/

GtkSwitch {
    -GtkWidget-focus-line-width: 0;
    border-radius: 8px;
    padding: 0;
}

.menu GtkSwitch.trough,
.toolbar.menubar GtkSwitch.trough,
.primary-toolbar .toolbar GtkSwitch.trough,
.primary-toolbar.toolbar GtkSwitch.trough,
GtkSwitch.trough,
GtkSwitch.trough:insensitive,
GtkSwitch.trough:backdrop {
    border: none;
    border-image: none;
    background: none;
    color: transparent;
    box-shadow: none;
    background-image: url("assets/switch-off.svg");
    background-size: 56px 20px;
    background-position: center center;
    background-repeat: no-repeat;
    text-shadow: none;
}

GtkSwitch.trough {
    background-image: url("assets/switch-off.svg");
}

GtkSwitch.trough:active {
    background-image: url("assets/switch-on.svg");
}

GtkSwitch.trough:insensitive {
    background-image: url("assets/switch-off-disabled.svg");
}

GtkSwitch.trough:active:insensitive {
    background-image: url("assets/switch-on-disabled.svg");
}

.toolbar.menubar GtkSwitch.trough,
.primary-toolbar .toolbar GtkSwitch.trough,
.primary-toolbar.toolbar GtkSwitch.trough {
    background-image: url("assets/switch-dark-off.svg");
}

.toolbar.menubar GtkSwitch.trough:active,
.primary-toolbar .toolbar GtkSwitch.trough:active,
.primary-toolbar.toolbar GtkSwitch.trough:active {
    background-image: url("assets/switch-dark-on.svg");
}

.toolbar.menubar GtkSwitch.trough:insensitive,
.primary-toolbar .toolbar GtkSwitch.trough:insensitive,
.primary-toolbar.toolbar GtkSwitch.trough:insensitive {
    background-image: url("assets/switch-dark-off-disabled.svg");
}

.toolbar.menubar GtkSwitch.trough:active:insensitive,
.primary-toolbar .toolbar GtkSwitch.trough:active:insensitive,
.primary-toolbar.toolbar GtkSwitch.trough:active:insensitive {
    background-image: url("assets/switch-dark-on-disabled.svg");
}

GtkSwitch.slider {
    border: none;
    border-image: none;
    background: none;
    color: transparent;
    box-shadow: none;
}


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

/*****************
 * color chooser *
 *****************/
GtkColorSwatch,
GtkColorSwatch:selected {
    border-width: 1px;
    border-style: solid;
    border-color: alpha(black, 0.2);
    border-radius: 2px;
    background-color: transparent;
    background-clip: border-box;
}

GtkColorSwatch:hover,
GtkColorSwatch:selected:hover {
    border-color: alpha(black, 0.4);
}

GtkColorSwatch.color-dark:hover {
}

GtkColorSwatch.color-light:hover {
}

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

GtkColorSwatch.left,
GtkColorSwatch:first-child {
    border-top-left-radius: 2px;
    border-bottom-left-radius: 2px;
}

GtkColorSwatch.right,
GtkColorSwatch:last-child {
    border-top-right-radius: 2px;
    border-bottom-right-radius: 2px;
}

GtkColorSwatch:only-child {
    border-radius: 2px;
}

GtkColorSwatch.top {
    border-top-left-radius: 2px;
    border-top-right-radius: 2px;
}

GtkColorSwatch.bottom {
    border-bottom-left-radius: 2px;
    border-bottom-right-radius: 2px;
}

GtkColorChooserWidget #add-color-button {
    background-clip: padding-box;
    border-color: alpha(black, 0.1);
    background-color: shade(@theme_bg_color, 0.95);
    color: @theme_fg_color;
}

GtkColorChooserWidget #add-color-button:hover {
    border-color: alpha(black, 0.3);
    background-color: shade(@theme_bg_color, 0.90);
    color: @theme_fg_color;
}

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

.color-active-badge.color-light,
.color-active-badge.color-light:hover {
    border-color: alpha(black, 0.3);
    color: alpha(black, 0.3);
}

.color-active-badge.color-dark,
.color-active-badge.color-dark:hover {
    border-color: alpha(white, 0.3);
    color: alpha(white, 0.3);
}

GtkColorEditor GtkColorSwatch {
    border-radius: 2px;
}

GtkColorEditor GtkColorSwatch.color-dark:hover,
GtkColorEditor GtkColorSwatch.color-light:hover {
    background-image: none;
    border-color: alpha(black, 0.3);
}

GtkColorButton.button {
    padding: 2px;
}

/**************
 * header-bar * finestra
 **************/
.header-bar,
.header-bar.toolbar {
    padding: 4px 8px 3px 8px; /* sopra destra sotto sinistra*/
    border-width: 0 0 1px 0;
    border-style: solid;
    border-color: shade(@toolbar_bg_color, 0.7);
    background-color: @toolbar_bg_color;
    background-image: linear-gradient(to bottom,
                                      shade(@toolbar_bg_color, 1.04),
                                      shade(@toolbar_bg_color, 0.88)
                                      );
}

.header-bar.default-decoration {
    padding-top: 3px;
    padding-bottom: 3px;
}

.header-bar.default-decoration .button.titlebutton {
    padding-top: 3px;
    padding-bottom: 3px;
}

.header-bar .button.text-button {
    padding: 4px 12px;
}

.header-bar .button.image-button {
    padding: 6px;
}

.header-bar .title {
	font: bold;
    padding: 1px 12px 1px 12px;
	color: @theme_fg_color;
    
}

.header-bar .subtitle {
	font-size: 90%;
	padding: 0px 12px 0px 12px;
	color: shade (@theme_fg_color, 1.12);
}


.header-bar GtkComboBox,
.header-bar .button {
    border-top-color: shade(@theme_bg_color, 0.8);
    border-right-color: shade(@theme_bg_color, 0.7);
    border-left-color: shade(@theme_bg_color, 0.7);
    border-bottom-color: shade(@theme_bg_color, 0.6);
    background-color: transparent;
    background-image: linear-gradient(to bottom,
                                      shade(shade(@theme_bg_color, 1.02), 1.12),
                                      shade(shade(@theme_bg_color, 1.02), 0.96)
                                      );
    color: @titlebar_fg_color;
}

.header-bar .button:hover {
    border-top-color: shade(@theme_bg_color, 0.8);
    border-right-color: shade(@theme_bg_color, 0.7);
    border-left-color: shade(@theme_bg_color, 0.7);
    border-bottom-color: shade(@theme_bg_color, 0.6);
    background-color: transparent;
    background-image: linear-gradient(to bottom,
                                      shade(shade(@theme_bg_color, 1.02), 1.12),
                                      shade(shade(@theme_bg_color, 1.02), 1.04)
                                      );
}

.header-bar .button:active,
.header-bar .button:checked {
    border-top-color: shade(@theme_bg_color, 0.8);
    border-right-color: shade(@theme_bg_color, 0.7);
    border-left-color: shade(@theme_bg_color, 0.7);
    border-bottom-color: shade(@theme_bg_color, 0.6);
    background-color: shade(@titlebar_bg_color, 1.12);
    background-image: none;
}

.header-bar .button:active:hover,
.header-bar .button:checked:hover {
    border-top-color: shade(@theme_bg_color, 0.8);
    border-right-color: shade(@theme_bg_color, 0.7);
    border-left-color: shade(@theme_bg_color, 0.7);
    border-bottom-color: shade(@theme_bg_color, 0.6);
}

.header-bar .button:focus,
.header-bar .button:hover:focus,
.header-bar .button:active:focus,
.header-bar .button:checked:focus,
.header-bar .button:active:hover:focus
.header-bar .button:checked:hover:focus {
    border-top-color: shade(@theme_bg_color, 0.8);
    border-right-color: shade(@theme_bg_color, 0.7);
    border-left-color: shade(@theme_bg_color, 0.7);
    border-bottom-color: shade(@theme_bg_color, 0.6);
}


.header-bar .button:active:insensitive,
.header-bar .button:checked:insensitive {
    border-top-color: shade(@theme_bg_color, 0.8);
    border-right-color: shade(@theme_bg_color, 0.7);
    border-left-color: shade(@theme_bg_color, 0.7);
    border-bottom-color: shade(@theme_bg_color, 0.6);
    background-color: shade(@titlebar_bg_color, 0.80);
    background-image: none;
}

.header-bar .entry {
    border-top-color: shade(@theme_bg_color, 0.8);
    border-right-color: shade(@theme_bg_color, 0.7);
    border-left-color: shade(@theme_bg_color, 0.7);
    border-bottom-color: shade(@theme_bg_color, 0.6);
}

.header-bar .entry:active,
.header-bar .entry:focus {
    border-top-color: shade(@theme_bg_color, 0.8);
    border-right-color: shade(@theme_bg_color, 0.7);
    border-left-color: shade(@theme_bg_color, 0.7);
    border-bottom-color: shade(@theme_bg_color, 0.6);
}

/**************
 * over/under *
 **************/

.overshoot.top {
  background-image: -gtk-gradient(radial, center top, 0, center top, 0.6, from(rgba(64, 128, 251, 0.2)), to(rgba(64, 128, 251, 0)));
  background-size: 100% 60%;
  background-repeat: no-repeat;
  background-position: center top;
  background-color: transparent;
  border: none;
  box-shadow: none; }
.overshoot.bottom {
  background-image: -gtk-gradient(radial, center bottom, 0, center bottom, 0.6, from(rgba(64, 128, 251, 0.2)), to(rgba(64, 128, 251, 0)));
  background-size: 100% 60%;
  background-repeat: no-repeat;
  background-position: center bottom;
  background-color: transparent;
  border: none;
  box-shadow: none; }
.overshoot.left {
  background-image: -gtk-gradient(radial, left center, 0, left center, 0.6, from(rgba(64, 128, 251, 0.2)), to(rgba(64, 128, 251, 0)));
  background-size: 60% 100%;
  background-repeat: no-repeat;
  background-position: left center;
  background-color: transparent;
  border: none;
  box-shadow: none; }
.overshoot.right {
  background-image: -gtk-gradient(radial, right center, 0, right center, 0.6, from(rgba(64, 128, 251, 0.2)), to(rgba(64, 128, 251, 0)));
  background-size: 60% 100%;
  background-repeat: no-repeat;
  background-position: right center;
  background-color: transparent;
  border: none;
  box-shadow: none; }

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

.overlay-bar {
  background-color: rgba(0, 0, 0, 0.8);
  border-radius: 2px;
  padding: 3px 6px;
  margin: 3px; }
  .overlay-bar GtkLabel {
    color: white; }


/**************
 * action-bar * finestra
 **************/
.action-bar {
    padding: 4px 12px 3px 12px; /* sopra destra sotto sinistra*/
    border-width: 0 0 1px 0;
    border-style: solid;
    border-color: shade(@theme_bg_color, 0.7);
    background-image: linear-gradient(to bottom,
                                      shade(@theme_bg_color, 1.04),
                                      shade(@theme_bg_color, 0.88)
                                      );
}

.action-bar .button.text-button {
    padding: 4px 12px;
}

.action-bar .button.image-button {
    padding: 6px;
}

.action-bar .title {
    font: bold 11;
    padding: 1px 12px 1px 12px;
}

.action-bar .subtitle {
    font: 9;
    padding: 0px 12px 0px 12px;
}

/************
 * Pathbars *
 ************/
.path-bar .button, .path-bar .header-bar .button.titlebutton, .header-bar .path-bar .button.titlebutton,
.path-bar .titlebar .button.titlebutton,
.titlebar .path-bar .button.titlebutton,
.path-bar GtkCalendar.header .button.titlebutton,
GtkCalendar.header .path-bar .button.titlebutton {
	padding: 5px 6px 6px;
}
.path-bar .button:first-child {
	padding-left: 8px;
}
.path-bar .button:last-child {
	padding-right: 8px;
}
.path-bar .button:only-child {
	padding-left: 12px;
	padding-right: 12px;
}
.path-bar .button .label:last-child {
	padding-left: 2px;
}
.path-bar .button .label:first-child {
	padding-right: 2px;
}
.path-bar .button .label:only-child {
	padding-right: 0;
	padding-left: 0;
}
.path-bar .button GtkImage, .path-bar .header-bar .button.titlebutton GtkImage, .header-bar .path-bar .button.titlebutton GtkImage,
.path-bar .titlebar .button.titlebutton GtkImage,
.titlebar .path-bar .button.titlebutton GtkImage,
.path-bar GtkCalendar.header .button.titlebutton GtkImage,
GtkCalendar.header .path-bar .button.titlebutton GtkImage {
	padding-top: 1px;
}



/***********
 * toolbar barra strumeti*
 ***********/
.toolbar {
    padding: 3px;
    border-width: 0 0 0 0;
    border-style: none;
    border-right-color: shade(@toolbar_bg_color, 0.8);
    border-left-color: shade(@toolbar_bg_color, 0.8);
    border-bottom-color: shade(@toolbar_bg_color, 0.7);
    background-color: transparent;
    background-image: linear-gradient(to bottom,
                                      shade(@toolbar_bg_color, 1.00),
                                      shade(@toolbar_bg_color, 1.00)
                                      );

    color: @toolbar_fg_color;
}

.toolbar .button {
    padding: 3px;
}

.toolbar .button.text-button {
    padding: 2px 4px;
}

.toolbar .button.image-button {
    padding: 4px 3px 3px 4px;
}

.toolbar:insensitive {
    color: mix(@toolbar_fg_color, @toolbar_bg_color, 0.5);
    background-color: shade(@toolbar_bg_color, 0.9);
}

/* menubar toolbars */
.toolbar.menubar {
    -GtkToolbar-button-relief: normal;
}

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

    padding: 3px;
    border-width: 0;
    border-style: none;
    border-color: shade(@toolbar_bg_color, 0.7);
    background-color: transparent;
    background-image: linear-gradient(to bottom,
                                      shade(@toolbar_bg_color, 1.00),
                                      shade(@toolbar_bg_color, 1.00)
                                      );

    color: @toolbar_fg_color;
}

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

.primary-toolbar .raised .button,
.primary-toolbar .raised.button,
.toolbar GtkComboBox {
    border-top-color: shade(@toolbar_bg_color, 0.8);
    border-right-color: shade(@toolbar_bg_color, 0.76);
    border-left-color: shade(@toolbar_bg_color, 0.76);
    border-bottom-color: shade(@toolbar_bg_color, 0.7);
    background-image: linear-gradient(to bottom,
                                      shade(shade(@toolbar_bg_color, 1.02), 1.12),
                                      shade(shade(@toolbar_bg_color, 1.02), 0.96)
                                      );

    color: @toolbar_fg_color;
}

.primary-toolbar .button:hover,
.toolbar .button:hover {
    border-top-color: shade(@toolbar_bg_color, 0.7);
    border-right-color: shade(@toolbar_bg_color, 0.66);
    border-left-color: shade(@toolbar_bg_color, 0.66);
    border-bottom-color: shade(@toolbar_bg_color, 0.6);
    background-image: linear-gradient(to bottom,
                                      shade(shade(@toolbar_bg_color, 1.02), 1.12),
                                      shade(shade(@toolbar_bg_color, 1.02), 1.04)
                                      );
    color: @toolbar_fg_color;
}

.primary-toolbar .button:focus,
.primary-toolbar .button:hover:focus,
.toolbar .button:focus,
.toolbar .button:hover:focus {

}

.primary-toolbar .button:active,
.primary-toolbar .button:checked,
.toolbar .button:active,
.toolbar .button:checked {
    border-top-color: shade(@toolbar_bg_color, 0.8);
    border-right-color: shade(@toolbar_bg_color, 0.76);
    border-left-color: shade(@toolbar_bg_color, 0.76);
    border-bottom-color: shade(@toolbar_bg_color, 0.7);
    background-color: shade(@titlebar_bg_color, 1.12);
    background-image: none;
}

.primary-toolbar .button:active:hover,
.toolbar .button:active:hover,
.primary-toolbar .button:checked:hover,
.toolbar .button:checked:hover {
    border-top-color: shade(@toolbar_bg_color, 0.6);
    border-right-color: shade(@toolbar_bg_color, 0.66);
    border-left-color: shade(@toolbar_bg_color, 0.66);
    border-bottom-color: shade(@toolbar_bg_color, 0.7);
}

.primary-toolbar .button:active:focus,
.primary-toolbar .button:active:hover:focus,
.primary-toolbar .button:checked:focus,
.primary-toolbar .button:checked:hover:focus,
.toolbar .button:active:focus,
.toolbar .button:active:hover:focus,
.toolbar .button:checked:focus,
.toolbar .button:checked:hover:focus {

}

.primary-toolbar .button:insensitive,
.toolbar .button:insensitive {
    background-image: none;
}

.primary-toolbar .button:active *:insensitive,
.toolbar .button:active *:insensitive,
.primary-toolbar .button:checked *:insensitive,
.toolbar .button:checked *:insensitive {
    background-image: none;
}

.primary-toolbar .entry,
.toolbar .entry {
    border-top-color: shade(@toolbar_bg_color, 0.7);
    border-right-color: shade(@toolbar_bg_color, 0.76);
    border-left-color: shade(@toolbar_bg_color, 0.76);
    border-bottom-color: shade(@toolbar_bg_color, 0.8);
}

.primary-toolbar .entry:active,
.primary-toolbar .entry:focus,
.toolbar .entry:active,
.toolbar .entry:focus {
    border-top-color: shade(@toolbar_bg_color, 0.6);
    border-right-color: shade(@toolbar_bg_color, 0.66);
    border-left-color: shade(@toolbar_bg_color, 0.66);
    border-bottom-color: shade(@toolbar_bg_color, 0.7);
}

/*******************
 * inline-toolbar *
 *******************/
/*e' quella usata nelle varie impostazione del control center*/
/*la barra sotto con le frecce o con +/-*/

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

    padding: 3px;
    border-width: 1px;
    border-style: solid;
    border-color: shade(@theme_bg_color, 0.8);
    border-radius: 0px;
    background-color: shade(@theme_bg_color, 0.92);
	background-image: none;

    color: @theme_fg_color;
}

.inline-toolbar.toolbar:last-child {
    border-width: 0 1px 1px 1px;
    border-color: shade(@theme_bg_color, 0.8);
    border-radius: 0;
}

.inline-toolbar.toolbar .button {
    padding: 2px;
    border-width: 1px 0 1px 1px;
    border-style: solid;
    border-color: shade(@theme_bg_color, 0.8);
    border-radius: 2px;
    background-image: linear-gradient(to bottom,
                                      shade(shade(@theme_bg_color, 1.02), 1.12),
                                      shade(shade(@theme_bg_color, 1.02), 0.96)
                                      );

    color: @theme_fg_color;
}

.inline-toolbar.toolbar .button:hover {
    border-color: shade(@theme_bg_color, 0.7);
}

.inline-toolbar.toolbar .button:active,
.inline-toolbar.toolbar .button:checked  {
    border-color: shade(@theme_bg_color, 0.8);
    background-image: linear-gradient(to bottom,
                                      shade(shade(@theme_bg_color, 1.02), 0.88),
                                      shade(shade(@theme_bg_color, 1.02), 0.96)
                                      );
}

.inline-toolbar.toolbar .button:active:hover,
.inline-toolbar.toolbar .button:checked:hover {
    border-color: shade(@theme_bg_color, 0.7);
}

.inline-toolbar.toolbar .button:focus,
.inline-toolbar.toolbar .button:hover:focus,
.inline-toolbar.toolbar .button:active:focus,
.inline-toolbar.toolbar .button:active:hover:focus,
.inline-toolbar.toolbar .button:checked:focus,
.inline-toolbar.toolbar .button:checked:hover:focus {
    border-color: shade(@theme_bg_color, 0.7);
}

/* sfondo pulsantini +/- disattivati */

.inline-toolbar.toolbar .button *:insensitive,
.inline-toolbar.toolbar GtkToolButton .button:insensitive {
    border-color: shade(@theme_bg_color, 0.78);
    background-image: none;
}

/******************
 * linked buttons *
 *****************/
/* set up shadows for visual separation */

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


.inline-toolbar.toolbar .button:active,
.inline-toolbar.toolbar GtkToolButton .button:active,
.inline-toolbar.toolbar GtkToolButton > .button:active {
    box-shadow: inset -1px 0 shade(@theme_bg_color, 0.85),
                inset 1px 0 alpha(@dark_shadow, 0.08),
                inset 0 1px alpha(@dark_shadow, 0.08);
}


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

/* remove box shadow from last-child and only-child */
.inline-toolbar.toolbar .button:last-child,
.inline-toolbar.toolbar .button:only-child,
.inline-toolbar.toolbar .button:insensitive:last-child,
.inline-toolbar.toolbar .button:insensitive:only-child,
.inline-toolbar.toolbar .button:active *:insensitive:last-child,
.inline-toolbar.toolbar .button:active *:insensitive:only-child,
.inline-toolbar.toolbar GtkToolButton:last-child > .button,
.inline-toolbar.toolbar GtkToolButton:only-child > .button,
.inline-toolbar.toolbar GtkToolButton:last-child > .button:insensitive,
.inline-toolbar.toolbar GtkToolButton:only-child > .button:insensitive,
.inline-toolbar.toolbar GtkToolButton:last-child > .button:active *:insensitive,
.inline-toolbar.toolbar GtkToolButton:only-child > .button:active *:insensitive {
    box-shadow: none;
}

/* add back the inset shadow effect */
.inline-toolbar.toolbar .button:active:last-child,
.inline-toolbar.toolbar .button:active:only-child,
.inline-toolbar.toolbar GtkToolButton:last-child > .button:active,
.inline-toolbar.toolbar GtkToolButton:only-child > .button:active {
    box-shadow: inset 1px 0 alpha(@dark_shadow, 0.07),
                inset 0 1px alpha(@dark_shadow, 0.08),
                inset -1px 0 alpha(@dark_shadow, 0.07);
}

/* middle button */
.linked .entry,
.inline-toolbar.toolbar .button,
.inline-toolbar.toolbar .button:active,
.inline-toolbar.toolbar .button:insensitive,
.inline-toolbar.toolbar GtkToolButton .button,
.inline-toolbar.toolbar GtkToolButton .button:active,
.inline-toolbar.toolbar GtkToolButton .button:insensitive {
    border-width: 1px;
    border-radius: 0;
    border-right-width: 0;
    border-left-width: 0;
}

/*leftmost button */
.linked .entry:first-child,
.inline-toolbar.toolbar .button:first-child,
.inline-toolbar.toolbar .button:active:first-child,
.inline-toolbar.toolbar .button:insensitive:first-child,
.inline-toolbar.toolbar GtkToolButton:first-child .button,
.inline-toolbar.toolbar GtkToolButton:first-child .button:active,
.inline-toolbar.toolbar GtkToolButton:first-child .button:insensitive {  
	border-width: 1px;
    border-radius: 2px;
    border-right-width: 0;
    border-bottom-right-radius: 0;
    border-top-right-radius: 0;
}

/* rightmost button */
.linked .entry:last-child,
.inline-toolbar.toolbar .button:last-child,
.inline-toolbar.toolbar .button:active:last-child,
.inline-toolbar.toolbar .button:insensitive:last-child,
.inline-toolbar.toolbar GtkToolButton:last-child .button,
.inline-toolbar.toolbar GtkToolButton:last-child .button:active,
.inline-toolbar.toolbar GtkToolButton:last-child .button:insensitive {
    border-width: 1px;
    border-radius: 2px;
    border-left-width: 0;
    border-bottom-left-radius: 0;
    border-top-left-radius: 0;
}

/* linked single button */
.linked .entry:only-child,
.inline-toolbar.toolbar .button:only-child,
.inline-toolbar.toolbar .button:active:only-child,
.inline-toolbar.toolbar .button:insensitive:only-child,
.inline-toolbar.toolbar GtkToolButton:only-child .button,
.inline-toolbar.toolbar GtkToolButton:only-child .button:active,
.inline-toolbar.toolbar GtkToolButton:only-child .button:insensitive {
    border-width: 1px;
    border-radius: 2px;
}

/* linked button shadows (vertical) */
.linked.vertical .button,
.inline-toolbar.toolbar.vertical .button,
.inline-toolbar.toolbar.vertical GtkToolButton > .button {
    box-shadow: inset 0 -1px shade(@theme_bg_color, 0.78);
}

.linked.vertical .button:active,
.inline-toolbar.toolbar.vertical .button:active,
.inline-toolbar.toolbar.vertical GtkToolButton > .button:active {
    box-shadow: inset 0 -1px shade(@theme_bg_color, 0.85),
                inset 1px 0 alpha(@dark_shadow, 0.07),
                inset 0 1px alpha(@dark_shadow, 0.08),
                inset -1px 0 alpha(@dark_shadow, 0.07);
}

.linked.vertical .button:insensitive,
.inline-toolbar.toolbar.vertical .button:insensitive,
.inline-toolbar.toolbar.vertical GtkToolButton > .button:insensitive {
    box-shadow: inset 0 -1px shade(@theme_bg_color, 0.78);
}

/* remove box shadow from last-child and only-child */
.linked.vertical .button:last-child,
.linked.vertical .button:only-child,
.linked.vertical .button:insensitive:last-child,
.linked.vertical .button:insensitive:only-child,
.linked.vertical .button:active *:insensitive:last-child,
.linked.vertical .button:active *:insensitive:only-child,
.inline-toolbar.toolbar.vertical .button:last-child,
.inline-toolbar.toolbar.vertical .button:only-child,
.inline-toolbar.toolbar.vertical .button:insensitive:last-child,
.inline-toolbar.toolbar.vertical .button:insensitive:only-child,
.inline-toolbar.toolbar.vertical .button:active *:insensitive:last-child,
.inline-toolbar.toolbar.vertical .button:active *:insensitive:only-child,
.inline-toolbar.toolbar.vertical GtkToolButton:last-child > .button,
.inline-toolbar.toolbar.vertical GtkToolButton:only-child > .button,
.inline-toolbar.toolbar.vertical GtkToolButton:last-child > .button:insensitive,
.inline-toolbar.toolbar.vertical GtkToolButton:only-child > .button:insensitive,
.inline-toolbar.toolbar.vertical GtkToolButton:last-child > .button:active *:insensitive,
.inline-toolbar.toolbar.vertical GtkToolButton:only-child > .button:active *:insensitive {
    box-shadow: none;
}

/* add back the inset shadow effect */
.linked.vertical .button:active:last-child,
.linked.vertical .button:active:only-child,
.inline-toolbar.toolbar.vertical .button:active:last-child,
.inline-toolbar.toolbar.vertical .button:active:only-child,
.inline-toolbar.toolbar.vertical GtkToolButton:last-child > .button:active,
.inline-toolbar.toolbar.vertical GtkToolButton:only-child > .button:active {
    box-shadow: inset 1px 0 alpha(@dark_shadow, 0.07),
                inset 0 1px alpha(@dark_shadow, 0.08),
                inset -1px 0 alpha(@dark_shadow, 0.07);
}

/* middle button (vertical) */
.linked.vertical .entry,
.linked.vertical .button,
.linked.vertical .button:active,
.linked.vertical .button:active:hover,
.linked.vertical .button:insensitive {
    border-width: 1px;
    border-radius: 0;
    border-top-width: 0;
    border-bottom-width: 0;
}

/* top button (vertical) */
.linked.vertical .entry:first-child,
.linked.vertical .button:first-child,
.linked.vertical .button:active:first-child,
.linked.vertical .button:active:hover:first-child,
.linked.vertical .button:insensitive:first-child {
    border-width: 1px;
    border-radius: 0;
    border-bottom-width: 1px;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
}

/* bottom button (vertical) */
.linked.vertical .entry:last-child,
.linked.vertical .button:last-child,
.linked.vertical .button:active:last-child,
.linked.vertical .button:active:hover:last-child,
.linked.vertical .button:insensitive:last-child {
    border-width: 1px;
    border-radius: 0;
    border-top-width: 1px;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

/* linked single button (vertical) */
.linked.vertical .entry:only-child,
.linked.vertical .button:only-child,
.linked.vertical .button:active:only-child,
.linked.vertical .button:active:hover:only-child,
.linked.vertical .button:insensitive:only-child {
    border-width: 1px;
    border-radius: 0;
}

/* linked toolbar buttons */
.primary-toolbar .button.raised.linked,
.primary-toolbar .raised.linked .button,
.toolbar .button.raised.linked,
.toolbar .raised.linked .button,
.toolbar .linked .button,
.header-bar .button.raised.linked,
.header-bar .raised.linked .button,
.header-bar .linked .button {
    box-shadow: inset -1px 0 shade(@toolbar_bg_color, 0.85);
}

.primary-toolbar .button.raised.linked:active,
.primary-toolbar .raised.linked .button:active,
.toolbar .button.raised.linked:active,
.toolbar .raised.linked .button:active,
.toolbar .linked .button:active,
.header-bar .button.raised.linked:active,
.header-bar .raised.linked .button:active,
.header-bar .linked .button:active {
    box-shadow: inset -1px 0 shade(@toolbar_bg_color, 0.85),
                inset 1px 0 alpha(@dark_shadow, 0.07),
                inset 0 1px alpha(@dark_shadow, 0.08);
}

.primary-toolbar .button.raised.linked:insensitive,
.primary-toolbar .raised.linked .button:insensitive,
.toolbar .button.raised.linked:insensitive,
.toolbar .raised.linked .button:insensitive,
.toolbar .linked .button:insensitive,
.header-bar .button.raised.linked:insensitive,
.header-bar .raised.linked .button:insensitive,
.header-bar .linked .button:insensitive {
    box-shadow: inset -1px 0 shade(@toolbar_bg_color, 0.95);
}

/* remove box shadow from last-child and only-child */
.primary-toolbar .button.raised.linked:last-child,
.primary-toolbar .button.raised.linked:only-child,
.primary-toolbar .button:insensitive.raised.linked:last-child,
.primary-toolbar .button:insensitive.raised.linked:only-child,
.primary-toolbar .button:active *:insensitive.raised.linked:last-child,
.primary-toolbar .button:active *:insensitive.raised.linked:only-child,
.primary-toolbar .raised.linked .button:last-child,
.primary-toolbar .raised.linked .button:only-child,
.primary-toolbar .raised.linked .button:insensitive:last-child,
.primary-toolbar .raised.linked .button:insensitive:only-child,
.primary-toolbar .raised.linked .button:active *:insensitive:last-child,
.primary-toolbar .raised.linked .button:active *:insensitive:only-child,
.toolbar .button.raised.linked:last-child,
.toolbar .button.raised.linked:only-child,
.toolbar .button:insensitive.raised.linked:last-child,
.toolbar .button:insensitive.raised.linked:only-child,
.toolbar .button:active *:insensitive.raised.linked:last-child,
.toolbar .button:active *:insensitive.raised.linked:only-child,
.toolbar .raised.linked .button:last-child,
.toolbar .raised.linked .button:only-child,
.toolbar .raised.linked .button:insensitive:last-child,
.toolbar .raised.linked .button:insensitive:only-child,
.toolbar .raised.linked .button:active *:insensitive:last-child,
.toolbar .raised.linked .button:active *:insensitive:only-child,
.toolbar .linked .button:last-child,
.toolbar .linked .button:only-child,
.toolbar .linked .button:insensitive:last-child,
.toolbar .linked .button:insensitive:only-child,
.toolbar .linked .button:active *:insensitive:last-child,
.toolbar .linked .button:active *:insensitive:only-child,
.header-bar .button.raised.linked:last-child,
.header-bar .button.raised.linked:only-child,
.header-bar .button:insensitive.raised.linked:last-child,
.header-bar .button:insensitive.raised.linked:only-child,
.header-bar .button:active *:insensitive.raised.linked:last-child,
.header-bar .button:active *:insensitive.raised.linked:only-child,
.header-bar .raised.linked .button:last-child,
.header-bar .raised.linked .button:only-child,
.header-bar .raised.linked .button:insensitive:last-child,
.header-bar .raised.linked .button:insensitive:only-child,
.header-bar .raised.linked .button:active *:insensitive:last-child,
.header-bar .raised.linked .button:active *:insensitive:only-child,
.header-bar .linked .button:last-child,
.header-bar .linked .button:only-child,
.header-bar .linked .button:insensitive:last-child,
.header-bar .linked .button:insensitive:only-child,
.header-bar .linked .button:active *:insensitive:last-child,
.header-bar .linked .button:active *:insensitive:only-child {
    box-shadow: none;
}

/* add back the inset shadow effect */
.primary-toolbar .button:active.raised.linked:last-child,
.primary-toolbar .button:active.raised.linked:only-child,
.primary-toolbar .raised.linked .button:active:last-child,
.primary-toolbar .raised.linked .button:active:only-child,
.toolbar .button:active.raised.linked:last-child,
.toolbar .button:active.raised.linked:only-child,
.toolbar .raised.linked .button:active:last-child,
.toolbar .raised.linked .button:active:only-child,
.toolbar .linked .button:active:last-child,
.toolbar .linked .button:active:only-child,
.header-bar .button:active.raised.linked:last-child,
.header-bar .button:active.raised.linked:only-child,
.header-bar .raised.linked .button:active:last-child,
.header-bar .raised.linked .button:active:only-child,
.header-bar .linked .button:active:last-child,
.header-bar .linked .button:active:only-child {
    box-shadow: inset 1px 0 alpha(@dark_shadow, 0.07),
                inset 0 1px alpha(@dark_shadow, 0.08),
                inset -1px 0 alpha(@dark_shadow, 0.07);
}

/* middle button */
.primary-toolbar .button.raised.linked,
.primary-toolbar .button.raised.linked:active,
.primary-toolbar .button.raised.linked:insensitive,
.primary-toolbar .raised.linked .button,
.primary-toolbar .raised.linked .button:active,
.primary-toolbar .raised.linked .button:insensitive,
.toolbar .button.raised.linked,
.toolbar .button.raised.linked:active,
.toolbar .button.raised.linked:insensitive,
.toolbar .raised.linked .button,
.toolbar .raised.linked .button:active,
.toolbar .raised.linked .button:insensitive,
.toolbar .linked .button,
.toolbar .linked .button:active,
.toolbar .linked .button:insensitive,
.header-bar .button.raised.linked,
.header-bar .button.raised.linked:active,
.header-bar .button.raised.linked:insensitive,
.header-bar .raised.linked .button,
.header-bar .raised.linked .button:active,
.header-bar .raised.linked .button:insensitive,
.header-bar .linked .button,
.header-bar .linked .button:active,
.header-bar .linked .button:insensitive {
    border-width: 1px;
    border-radius: 0;
    border-right-width: 0;
    border-left-width: 0;
}

/* leftmost button */
.primary-toolbar .button.raised.linked:first-child,
.primary-toolbar .button.raised.linked:active:first-child,
.primary-toolbar .button.raised.linked:insensitive:first-child,
.primary-toolbar .raised.linked .button:first-child,
.primary-toolbar .raised.linked .button:active:first-child,
.primary-toolbar .raised.linked .button:insensitive:first-child,
.toolbar .button.raised.linked:first-child,
.toolbar .button.raised.linked:active:first-child,
.toolbar .button.raised.linked:insensitive:first-child,
.toolbar .raised.linked .button:first-child,
.toolbar .raised.linked .button:active:first-child,
.toolbar .raised.linked .button:insensitive:first-child,
.toolbar .linked .button:first-child,
.toolbar .linked .button:active:first-child,
.toolbar .linked .button:insensitive:first-child,
.header-bar .button.raised.linked:first-child,
.header-bar .button.raised.linked:active:first-child,
.header-bar .button.raised.linked:insensitive:first-child,
.header-bar .raised.linked .button:first-child,
.header-bar .raised.linked .button:active:first-child,
.header-bar .raised.linked .button:insensitive:first-child,
.header-bar .linked .button:first-child,
.header-bar .linked .button:active:first-child,
.header-bar .linked .button:insensitive:first-child {
    border-width: 1px;
    border-radius: 2px;
    border-right-width: 0;
    border-bottom-right-radius: 0;
    border-top-right-radius: 0;
}

/* rightmost button */
.primary-toolbar .button.raised.linked:last-child,
.primary-toolbar .button.raised.linked:active:last-child,
.primary-toolbar .button.raised.linked:insensitive:last-child,
.primary-toolbar .raised.linked .button:last-child,
.primary-toolbar .raised.linked .button:active:last-child,
.primary-toolbar .raised.linked .button:insensitive:last-child,
.toolbar .button.raised.linked:last-child,
.toolbar .button.raised.linked:active:last-child,
.toolbar .button.raised.linked:insensitive:last-child,
.toolbar .raised.linked .button:last-child,
.toolbar .raised.linked .button:active:last-child,
.toolbar .raised.linked .button:insensitive:last-child,
.toolbar .linked .button:last-child,
.toolbar .linked .button:active:last-child,
.toolbar .linked .button:insensitive:last-child,
.header-bar .button.raised.linked:last-child,
.header-bar .button.raised.linked:active:last-child,
.header-bar .button.raised.linked:insensitive:last-child,
.header-bar .raised.linked .button:last-child,
.header-bar .raised.linked .button:active:last-child,
.header-bar .raised.linked .button:insensitive:last-child,
.header-bar .linked .button:last-child,
.header-bar .linked .button:active:last-child,
.header-bar .linked .button:insensitive:last-child {
    border-width: 1px;
    border-radius: 2px;
    border-left-width: 0;
    border-bottom-left-radius: 0;
    border-top-left-radius: 0;
}

/* linked single button */
.primary-toolbar .button.raised.linked:only-child,
.primary-toolbar .button.raised.linked:active:only-child,
.primary-toolbar .button.raised.linked:insensitive:only-child,
.primary-toolbar .raised.linked .button:only-child,
.primary-toolbar .raised.linked .button:active:only-child,
.primary-toolbar .raised.linked .button:insensitive:only-child,
.toolbar .button.raised.linked:only-child,
.toolbar .button.raised.linked:active:only-child,
.toolbar .button.raised.linked:insensitive:only-child,
.toolbar .raised.linked .button:only-child,
.toolbar .raised.linked .button:active:only-child,
.toolbar .raised.linked .button:insensitive:only-child,
.toolbar .linked .button:only-child,
.toolbar .linked .button:active:only-child,
.toolbar .linked .button:insensitive:only-child,
.header-bar .button.raised.linked:only-child,
.header-bar .button.raised.linked:active:only-child,
.header-bar .button.raised.linked:insensitive:only-child,
.header-bar .raised.linked .button:only-child,
.header-bar .raised.linked .button:active:only-child,
.header-bar .raised.linked .button:insensitive:only-child,
.header-bar .linked .button:only-child,
.header-bar .linked .button:active:only-child,
.header-bar .linked .button:insensitive:only-child {
    border-width: 1px;
    border-radius: 2px;
}

/***********
 * tooltip *
 ***********/
.tooltip {
    border-width: 0;
    border-style: none;
    border-color: shade(@theme_tooltip_bg_color, 0.88);
    border-radius: 0;
    background-color: @theme_tooltip_bg_color;
    color: @theme_tooltip_fg_color;
}

.tooltip * {
    background-color: transparent;
}

/************
 * treeview *
 ************/
GtkTreeView.view {
  -GtkTreeView-grid-line-width: 1;
  -GtkTreeView-grid-line-pattern: '';
  -GtkTreeView-tree-line-width: 1;
  -GtkTreeView-tree-line-pattern: '';
  -GtkTreeView-horizontal-separator: 2;
  -GtkTreeView-vertical-separator: 2;
  -GtkWidget-focus-line-width: 1px;
  -GtkWidget-focus-padding: 1px;
  border-left-color: #96999a;
  border-top-color: #ededed;
}

GtkTreeView.view:selected, GtkTreeView.view:backdrop:selected {
    border-left-color: #a4c7ec;
    border-top-color: rgba(46, 52, 54, 0.1); }

GtkTreeView.dnd {
    padding: 6px 6px;
    border-width: 1px;
    border-style: solid;
    border-color: shade(@theme_selected_bg_color, 0.96);
    border-radius: 0;
}

GtkTreeView .entry {
    padding: 6px 6px;
    border-radius: 0;
    background-color: @theme_base_color;
    background-image: none;
}

  
GtkTreeView.view.separator,
GtkTreeView.separator,
.separator,
.separator:hover {
    color: shade(@theme_bg_color, 0.88);
    background-color: transparent;
}

GtkTreeView.view.progressbar {
    color: white;
    border: 1px solid shade(@theme_selected_bg_color, 0.88);
    border-radius: 0;
    background-image: linear-gradient(to bottom,
                                      shade(@theme_selected_bg_color, 1.12),
                                      shade(@theme_selected_bg_color, 0.96)
                                      );
    box-shadow: none; }
    GtkTreeView.view.progressbar:selected {
      color: white;
      box-shadow: none;
          background-image: linear-gradient(to bottom,
                                      shade(@theme_selected_bg_color, 1.12),
                                      shade(@theme_selected_bg_color, 0.96)
                                      ); }
    GtkTreeView.view.progressbar:selected:backdrop {
        color: white;
        border-color: shade(@theme_selected_bg_color, 0.88);
           background-image: linear-gradient(to bottom,
                                      shade(@theme_selected_bg_color, 1.22),
                                      shade(@theme_selected_bg_color, 1.06)
                                      );
     }
    GtkTreeView.view.progressbar:backdrop {
      color: white;
      background-image: linear-gradient(to bottom,
                                      shade(@theme_selected_bg_color, 1.22),
                                      shade(@theme_selected_bg_color, 1.06)
                                      );
      box-shadow: none; }
    GtkTreeView.view.trough {
	  border-color: shade(@theme_bg_color, 1.04);
      background-color: rgba(232, 232, 232, 0.4);
      border-radius: 0; }
    GtkTreeView.view.trough:selected {
      background-color: rgba(255, 255, 255, 0.4);
      border-width: 1px;
      border-style: solid;
      border-color: shade(@theme_selected_bg_color, 0.88); }

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

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

.view:insensitive,
.view:insensitive:insensitive {
    background-color: shade(@theme_base_color, 0.9);
    color: mix(@theme_fg_color, @theme_bg_color, 0.5);
}

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



/***************
 * search bars *
 ***************/
.search-bar {
    border-width: 0 0 1px 0;
    border-style: solid;
    border-color: @borders;
    background-color: @toolbar_bg_color;
    background-image: none;
}

.search-bar .button.close-button {
    padding: 4px;
}

/**************
 *  popovers  *
 **************/
GtkPopover {
	background-clip: border-box;
	margin: 10px;
	padding: 2px;
	border-color: @borders;
	border-width: 1px;
	border-style: solid;
	border-radius: 3px;
	background-image: none;
	background-color: @sidebar_bg_color;
	box-shadow: none;
	text-shadow: none;
	icon-shadow: none; 
}

GtkPopover.background {
 background-image: none;
 background-color: @sidebar_bg_color;
}

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

GtkPopover .label.separator {
	font-size: 100%;
	font-weight: bold;
	color: @theme_fg_color;
	text-shadow: none;
	background-color: transparent;
	icon-shadow: none;
	border: 0;
}

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

GtkPopover.osd {
	background-image: none;
	background-color: alpha(shade(#3D3E40, 0.85), 0.75);
	border: 1px solid black;
	box-shadow: none;
	color: @theme_selected_fg_color;
}
GtkPopover.osd .toolbar {
	background-image: none;
	background-color: transparent;
	border: none;
	box-shadow: none;
}
GtkPopover.osd .button {
	text-shadow: 0 -1px @osd_text_shadow;
	icon-shadow: 0 -1px @osd_text_shadow;
}
GtkPopover.osd .button:active,
GtkPopover.osd .button:checked {
        box-shadow: none;
}
GtkPopover.osd .button:insensitive {
	color: alpha(@theme_selected_fg_color, 0.4);
}

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


GtkPopover .linked .button:first-child {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

GtkPopover .linked .button:last-child {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

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

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

GtkModelButton.button:checked:hover,
GtkModelButton.button:active:hover,
GtkModelButton.button:hover,
GtkModelButton.button:selected {
	background-image: none;
	background-color: @theme_selected_bg_color;
	color: @theme_selected_fg_color;
	text-shadow: none;
	border-width: 0;
	border-color: transparent;
	border-radius: 0;
}

.entry.cursor-handle,
.cursor-handle {
	background-color: transparent;
	background-image: none;
	box-shadow: none;
	border-style: none;
}
.entry.cursor-handle.top,
.cursor-handle.top {
	-gtk-icon-source: -gtk-icontheme("selection-start-symbolic");
}
.entry.cursor-handle.bottom,
.cursor-handle.bottom {
	-gtk-icon-source: -gtk-icontheme("selection-end-symbolic");
}


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

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

GtkMessageDialog .button {
    padding: 3px;
}

GtkDialog .titlebar,
GtkMessageDialog .titlebar {
    border-width: 0;
    background-image: none;
    background-color: @bg_color;
    box-shadow: inset 1px 0 0 0 alpha (@base_color, 0.20),
                inset -1px 0 0 0 alpha (@base_color, 0.20),
                inset 0 1px 0 0 @base_color;
}

GtkDialog .titlebar:backdrop,
GtkMessageDialog .titlebar:backdrop {
    border-width: 0;
    background-image: none;
    background-color: @bg_color;
    box-shadow: inset 1px 0 0 0 alpha (@base_color, 0.20),
                inset -1px 0 0 0 alpha (@base_color, 0.20),
                inset 0 1px 0 0 @base_color;
    color: shade (@titlebar_color, 0.7);
}

GtkDialog,
GtkMessageDialog {
    box-shadow: inset 1px 0 0 0 alpha (@base_color, 0.20),
                inset -1px 0 0 0 alpha (@base_color, 0.20),
                inset 0 -1px 0 0 alpha (@base_color, 0.30);
}

.dialog-action-area.linked .button, 
.dialog-action-area.linked .button:active,
.dialog-action-area.linked .button:active:hover,
.dialog-action-area.linked .button:insensitive,
.dialog-action-area.linked .button:only-child,
.dialog-action-area.linked .button:active:only-child,
.dialog-action-area.linked .button:active:hover:only-child,
.dialog-action-area.linked .button:insensitive:only-child,
.dialog-action-area.linked .button:first-child,
.dialog-action-area.linked .button:active:first-child,
.dialog-action-area.linked .button:active:hover:first-child,
.dialog-action-area.linked .button:insensitive:first-child,
.dialog-action-area.linked .button:last-child,
.dialog-action-area.linked .button:active:last-child,
.dialog-action-area.linked .button:active:hover:last-child,
.dialog-action-area.linked .button:insensitive:last-child {
    border-style: solid;
    border-radius: 2px;
    border-width: 1px;
    border-top-color: shade(@theme_bg_color, 0.8);
    border-right-color: shade(@theme_bg_color, 0.76);
    border-left-color: shade(@theme_bg_color, 0.76);
    border-bottom-color: shade(@theme_bg_color, 0.7);
    border-image: none;
}

.dialog-action-area.linked .button:only-child,
.dialog-action-area.linked .button:active:only-child,
.dialog-action-area.linked .button:active:hover:only-child,
.dialog-action-area.linked .button:insensitive:only-child,
.dialog-action-area.linked .button:last-child,
.dialog-action-area.linked .button:active:last-child,
.dialog-action-area.linked .button:active:hover:last-child,
.dialog-action-area.linked .button:insensitive:last-child {
    /*border-right-width: 1px;*/
}

.dialog-action-area.linked .button:only-child,
.dialog-action-area.linked .button:active:only-child,
.dialog-action-area.linked .button:active:hover:only-child,
.dialog-action-area.linked .button:insensitive:only-child,
.dialog-action-area.linked .button:first-child,
.dialog-action-area.linked .button:active:first-child,
.dialog-action-area.linked .button:active:hover:first-child,
.dialog-action-area.linked .button:insensitive:first-child {
    /*border-left-width: 1px;*/
}

.dialog-action-area.linked .button.default,
.dialog-action-area.linked .button.default:active,
.dialog-action-area.linked .button.default:active:hover,
.dialog-action-area.linked .button.default:insensitive,
.dialog-action-area.linked .button:focus,
.dialog-action-area.linked .suggested-action.button {

    border-top-color: shade(@theme_bg_color, 0.8);
    border-right-color: shade(@theme_bg_color, 0.7);
    border-left-color: shade(@theme_bg_color, 0.7);
    border-bottom-color: shade(@theme_bg_color, 0.6);
    border-width: 1px;
	box-shadow: none;
}

/********************
 * various choosers *
 ********************/
GtkFontButton .separator,
GtkFileChooserButton .separator {
    /* always disable separators */
    -GtkWidget-wide-separators: true;
    -GtkWidget-horizontal-separator: 0;
    -GtkWidget-vertical-separator: 0;
}

GtkFontButton GtkLabel:last-child {
    color: alpha(currentColor, 0.7);
}

GtkFileChooserButton GtkImage:last-child {
    color: alpha(currentColor, 0.7);
}

/*********************
 * app notifications *
 *********************/
.app-notification,
.app-notification.frame {
    font: bold;
    border-style: solid;
    border-color: shade(@theme_bg_color, 0.72);
    border-width: 0 1px 1px 1px;
    border-bottom-right-radius: 0px;
    border-bottom-left-radius: 0px;
    padding: 7px;
    background-color: @toolbar_bg_color;
    background-image: none;
    color: @fg_color;
    background-clip: padding-box; 
}

.app-notification .button,
.app-notification .button:hover {
    background-color: shade(@theme_bg_color, 0.88);
    color: @fg_color;
}

.app-notification .button:active,
.app-notification .button:hover:active {
    background-color: shade(@theme_bg_color, 0.88);
    color: @fg_color;
}

.app-notification .button.flat {
    background-color: transparent;
    color: @fg_color;
}

.app-notification .button.flat:hover,
.app-notification .button.flat:hover:active {
    background-color: transparent;
    color: @fg_color;
}

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

GtkOverlay.osd {
    background-color: transparent;
}

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

.osd.button,
.osd .button {
    padding: 4px;
    border-width: 1px;
    border-style: solid;
    border-color: shade(@osd_bg, 0.8);
    border-radius: 2px;
    background-color: shade(@osd_bg, 1.08);
    background-image: none;
    color: @osd_fg;
}

.osd.button:prelight,
.osd.button:hover,
.osd .button:hover {
    border-color: shade(@osd_bg, 0.7);
    background-color: shade(@osd_bg, 1.10);
    background-image: none;
}

.osd.button:active,
.osd.button:checked,
.osd .button:active,
.osd .button:checked,
.osd GtkMenuButton.button:active,
.osd GtkMenuButton.button:checked {
    border-color: shade(@osd_bg, 0.8);
    background-color: shade(@osd_bg, 0.95);
    background-image: none;
}

.osd.button:active:hover,
.osd.button:checked:hover,
.osd .button:active:hover,
.osd .button:checked:hover,
.osd GtkMenuButton.button:active:hover {
    border-color: shade(@osd_bg, 0.7);
}

.osd.button:insensitive,
.osd .button:insensitive {
    border-color: shade(@osd_bg, 0.85);
    background-color: shade(@osd_bg, 0.9);
    background-image: none;
}

.osd.button:active *:insensitive,
.osd .button:active *:insensitive {
    background-color: shade(@osd_bg, 0.80);
    background-image: none;
}

.osd.toolbar {
    -GtkToolbar-button-relief: normal;

    padding: 4px;
    border-width: 1px;
    border-style: solid;
    border-radius: 2px;
    border-color: shade(@osd_bg, 0.8);
    background-color: @osd_bg;
    background-image: none;
    color: @osd_fg;
}

.osd.toolbar .button {
    padding: 4px;
    border-width: 1px;
    border-style: solid;
    border-color: shade(@osd_bg, 0.8);
    border-radius: 3px;
    background-color: shade(@osd_bg, 1.08);
    background-image: none;
    color: @osd_fg;
}

.osd.toolbar .button:hover {
    border-color: shade(@osd_bg, 0.7);
    background-color: shade(@osd_bg, 1.10);
    background-image: none;
}

.osd.toolbar .button:active {
    border-color: shade(@osd_bg, 0.8);
    background-color: shade(@osd_bg, 0.95);
    background-image: none;
}

.osd.toolbar .button:active:hover {
    border-color: shade(@osd_bg, 0.7);
}

.osd.toolbar .button:focus,
.osd.toolbar .button:hover:focus,
.osd.toolbar .button:active:focus,
.osd.toolbar .button:active:hover:focus {
    border-color: shade(@osd_bg, 0.7);
}

.osd.toolbar .button:insensitive {
    border-color: shade(@osd_bg, 0.85);
    background-color: shade(@osd_bg, 0.9);
    background-image: none;
}

.osd.toolbar .button:active *:insensitive {
    border-color: shade(@osd_bg, 0.75);
    background-color: shade(@osd_bg, 0.80);
    background-image: none;
}

.osd.toolbar .button:first-child {
    border-radius: 3px 0 0 3px;
    border-width: 1px 0 1px 1px;
    box-shadow: inset -1px 0 shade(@osd_bg, 0.9);
}

.osd.toolbar .button:last-child {
    box-shadow: none;
    border-radius: 0 3px 3px 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: 3px;
    border-style: solid;
}

.osd.toolbar .separator {
    color: shade(@osd_bg, 0.9);
}

/* used by gnome-settings-daemon's media-keys OSD */
.osd.trough {
    background-color: shade(@osd_bg, 0.8);
}

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

.osd .scale.slider {
    background-color: shade(@osd_bg, 1.04);
    background-image: none;
    /* we will draw the border using box shadow for now */
    box-shadow: inset 1px 0 shade(@osd_bg, 0.8),
                inset 0 1px shade(@osd_bg, 0.8),
                inset -1px 0 shade(@osd_bg, 0.8),
                inset 0 -1px shade(@osd_bg, 0.8);
}

.osd .scale.slider:hover {
    box-shadow: inset 1px 0 shade(@osd_bg, 0.7),
                inset 0 1px shade(@osd_bg, 0.7),
                inset -1px 0 shade(@osd_bg, 0.7),
                inset 0 -1px shade(@osd_bg, 0.7);
}

.osd .scale.slider:insensitive {
    background-color: shade(@osd_bg, 0.96);
    background-image: none;
    box-shadow: inset 1px 0 shade(@osd_bg, 0.85),
                inset 0 1px shade(@osd_bg, 0.85),
                inset -1px 0 shade(@osd_bg, 0.85),
                inset 0 -1px shade(@osd_bg, 0.85);
}

.osd .scale.trough {
    border-color: shade(@osd_bg, 0.8);
    background-color: shade(@osd_bg, 1.08);
    background-image: none;
}

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

.osd .scale.trough:insensitive,
.osd .scale.trough.highlight:insensitive {
    border-color: shade(@osd_bg, 0.85);
    background-color: shade(@osd_bg, 0.9);
    background-image: none;
}

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

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

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

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

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

.osd .scrollbar.slider {
    border-width: 1px;
    border-color: transparent;
    border-radius: 7px;
    background-color: shade(@osd_bg, 0.7);
}

.osd .scrollbar.slider:hover {
    border-color: transparent;
    background-color: shade(@osd_bg, 0.6);
}

.osd .scrollbar.slider:active {
    border-color: transparent;
    background-color: @theme_selected_bg_color;
}

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

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

/******************************
 * destructive action buttons *
 ******************************/
.destructive-action.button {
    border-width: 1px;
    border-style: solid;
    border-color: shade(@error_color, 0.9);
    border-radius: 2px;
    background-image: linear-gradient(to bottom,
                                      shade(shade(@error_color, 1.02), 1.12),
                                      shade(shade(@error_color, 1.02), 0.96)
                                      );
    background-color: transparent;
    color: @theme_selected_fg_color;
    box-shadow: none;
}

.destructive-action.button:hover {
    border-color: shade(@error_color, 0.8);
    background-color: transparent;
    background-image: linear-gradient(to bottom,
                                      shade(shade(@error_color, 1.02), 1.16),
                                      shade(shade(@error_color, 1.02), 1.00)
                                      );
}

.destructive-action.button:active,
.destructive-action.button:checked {
    border-color: shade(@error_color, 0.9);
    background-color: transparent;
    background-image: linear-gradient(to bottom,
                                      shade(shade(@error_color, 1.02), 0.96),
                                      shade(shade(@error_color, 1.02), 1.12)
                                      );
}

.destructive-action.button:hover:active,
.destructive-action.button:hover:checked {
    
}

/******************************
 * suggested action buttons *
 ******************************/

.toolbar .suggested-action.button,
.header-bar .suggested-action.button {
	border-color: shade(@theme_selected_bg_color, 0.8);
    background-image: linear-gradient(to bottom,
                                      shade(shade(@theme_selected_bg_color, 1.02), 1.04),
                                      shade(shade(@theme_selected_bg_color, 1.02), 0.88)
                                      );
    color: @theme_selected_fg_color;
}

.toolbar .suggested-action.button:hover,
.header-bar .suggested-action.button:hover {
   	border-color: shade(@theme_selected_bg_color, 0.8);
    background-image: linear-gradient(to bottom,
                                      shade(shade(@theme_selected_bg_color, 1.02), 1.12),
                                      shade(shade(@theme_selected_bg_color, 1.02), 0.96)
                                      );
}

.toolbar .suggested-action.button:active,
.toolbar .suggested-action.button:hover:active,
.header-bar .suggested-action.button:active,
.header-bar .suggested-action.button:hover:active  {
   	border-color: shade(@theme_selected_bg_color, 0.8);
    background-image: linear-gradient(to bottom,
                                      shade(shade(@theme_selected_bg_color, 1.02), 1.04),
                                      shade(shade(@theme_selected_bg_color, 1.02), 0.88)
                                      );
   color: @theme_selected_fg_color; }

.button.suggested-action {
	border-color: shade(@theme_selected_bg_color, 0.8);
    background-image: linear-gradient(to bottom,
                                      shade(shade(@theme_selected_bg_color, 1.02), 1.04),
                                      shade(shade(@theme_selected_bg_color, 1.02), 0.88)
                                      );
    color: @theme_selected_fg_color; }

.button.suggested-action:hover {
   	border-color: shade(@theme_selected_bg_color, 0.8);
    background-image: linear-gradient(to bottom,
                                      shade(shade(@theme_selected_bg_color, 1.02), 1.12),
                                      shade(shade(@theme_selected_bg_color, 1.02), 0.96)
                                      );
    color: @theme_selected_fg_color; }

.button.suggested-action:active, .button.suggested-action:checked {
   	border-color: shade(@theme_selected_bg_color, 0.8);
    background-image: linear-gradient(to bottom,
                                      shade(shade(@theme_selected_bg_color, 1.02), 1.12),
                                      shade(shade(@theme_selected_bg_color, 1.02), 1.12)
                                      );
     color: @theme_selected_fg_color; }

.button.suggested-action:insensitive {
	background-image: linear-gradient(to bottom,
                                      shade(shade(@insensitive_bg_color, 1.02), 1.04),
                                      shade(shade(@insensitive_bg_color, 1.02), 0.88)
                                      );
    text-shadow: none;
    icon-shadow: none; }

.button.suggested-action:insensitive > GtkLabel, .button.suggested-action:insensitive GtkLabel {
   	color: @insensitive_fg_color;
	text-shadow: none; }

.button.suggested-action:insensitive:active, .button.suggested-action:insensitive:checked {
	background-image: linear-gradient(to bottom,
                                      shade(shade(@insensitive_bg_color, 1.02), 1.04),
                                      shade(shade(@insensitive_bg_color, 1.02), 0.88)
                                      );
    text-shadow: none;
    icon-shadow: none;}

.button.suggested-action:insensitive:active > GtkLabel, .button.suggested-action:insensitive:active GtkLabel, .button.suggested-action:insensitive:checked > GtkLabel, .button.suggested-action:insensitive:checked GtkLabel {
   	color: @insensitive_fg_color;
	text-shadow: none;}


/******************
 * selection mode *
 ******************/
.selection-mode.header-bar,
.selection-mode.toolbar {
    border-style: solid;
    border-color: shade(@theme_selected_bg_color, 0.9);
    background-image: linear-gradient(to bottom,
                                      shade(shade(@theme_selected_bg_color, 1.3), 1.04),
                                      shade(shade(@theme_selected_bg_color, 1.1), 0.96)
                                      );

    color: shade(@theme_selected_bg_color, 0.8);
}

.selection-mode.header-bar {
    border-top-color: shade(@theme_selected_bg_color, 1.2);
    border-bottom-color: @theme_selected_bg_color;
}

.selection-mode.toolbar {
    padding: 4px;
}

/* regular button */
.selection-mode.header-bar .button,
.selection-mode.toolbar .button,
.selection-mode.toolbar GtkToolButton .button {
    border-width: 1px;
    border-style: solid;
    border-color: shade(@theme_selected_bg_color, 0.8);
    border-radius: 2px;
    background-image: linear-gradient(to bottom,
                                      shade(shade(@theme_selected_bg_color, 1.02), 1.3),
                                      shade(shade(@theme_selected_bg_color, 1.02), 1.1)
                                      );

    color: @theme_selected_fg_color;
    box-shadow: none;
}

.selection-mode.header-bar .button:hover,
.selection-mode.toolbar .button:hover,
.selection-mode.toolbar GtkToolButton .button:hover {
    border-color: shade(@theme_selected_bg_color, 0.8);
}

.selection-mode.header-bar .button:active,
.selection-mode.toolbar .button:active,
.selection-mode.toolbar GtkToolButton .button:active {
    border-color: shade(@theme_selected_bg_color, 0.8);
    background-image: linear-gradient(to bottom,
                                      shade(shade(@theme_selected_bg_color, 1.02), 1.15),
                                      shade(shade(@theme_selected_bg_color, 1.02), 1.10)
                                      );
}

.selection-mode.header-bar .button:hover:active,
.selection-mode.toolbar .button:hover:active,
.selection-mode.toolbar GtkToolButton .button:hover:active {
    border-color: shade(@theme_selected_bg_color, 0.8);
}

/* suggested button */
.selection-mode.header-bar .suggested-action.button,
.selection-mode.toolbar .suggested-action.button,
.selection-mode.toolbar GtkToolButton.suggested-action .button {
    border-width: 1px;
    border-style: solid;
    border-color: shade(@theme_selected_bg_color, 0.8);
    border-radius: 2px;
    background-image: linear-gradient(to bottom,
                                      shade(shade(@theme_bg_color, 1.02), 1.10),
                                      shade(shade(@theme_bg_color, 1.02), 0.95)
                                      );

    color: @theme_fg_color;
}

.selection-mode.header-bar .suggested-action.button:hover,
.selection-mode.toolbar .suggested-action.button:hover,
.selection-mode.toolbar GtkToolButton.suggested-action .button:hover {
    border-color: shade(@theme_selected_bg_color, 0.8);
}

.selection-mode.header-bar .suggested-action.button:active,
.selection-mode.toolbar .suggested-action.button:active,
.selection-mode.toolbar GtkToolButton.suggested-action:active {
    border-color: shade(@theme_selected_bg_color, 0.8);
    background-image: linear-gradient(to bottom,
                                      shade(shade(@theme_bg_color, 1.02), 0.95),
                                      shade(shade(@theme_bg_color, 1.02), 0.90)
                                      );
}

.selection-mode.header-bar .suggested-action.button:hover:active,
.selection-mode.toolbar .suggested-action.button:hover:active,
.selection-mode.toolbar GtkToolButton.suggested-action .button:hover:active {
    border-color: shade(@theme_selected_bg_color, 0.8);
}

/* menu button */
.selection-mode.header-bar .selection-menu.button,
.selection-mode.toolbar .selection-menu.button {
    border-style: none;
    background-color: transparent;
    background-image: none;
    color: shade(@theme_selected_bg_color, 0.8);
}

.selection-mode.toolbar .dim-label,
.selection-mode.toolbar .selection-menu.button .dim-label {
    color: shade(@theme_selected_bg_color, 0.7);
}

.selection-mode.header-bar .selection-menu.button:hover,
.selection-mode.toolbar .dim-label:hover,
.selection-mode.toolbar .selection-menu.button:hover,
.selection-mode.toolbar .selection-menu.button .dim-label:hover {
    color: shade(@theme_selected_bg_color, 0.8);
}

.selection-mode.header-bar .selection-menu.button:active,
.selection-mode.toolbar .selection-menu.button:active {
    color: shade(@theme_selected_bg_color, 0.8);
    box-shadow: none;
}

/*************************
 * touch text selections *
 *************************/
GtkBubbleWindow {
    border-radius: 2px;
    background-clip: border-box;
}

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

GtkBubbleWindow .toolbar {
    background-color: transparent;
}

/*******
 * CSD *  
bordo finestra
 *******/
.titlebar {
    border-radius: 3px 3px 0 0;
    border-width: 0 0 1px 0;
    border-style: solid;
    border-color: shade(@toolbar_bg_color, 0.8);
    background-color: @toolbar_bg_color;
    background-image: linear-gradient(to bottom,
                                      shade(@toolbar_bg_color, 1.04),
                                      shade(@toolbar_bg_color, 0.88)
                                      );
    text-shadow: none;
}

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

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

/* this is the default titlebar that is added by GTK
 * when client-side decorations are in use and the application
 * did not set a custom titlebar.
 */


.titlebar.default-decoration {
    padding: 2px 4px 2px 4px;
    border-style: none;
    border-color: shade(@toolbar_bg_color, 0.8);
    background-image: none;
    box-shadow: none;
}

.titlebar.default-decoration:backdrop {
    background-image: none;
    box-shadow: none;
}

.titlebar .title {
    font: bold 10;
	color: @fg_color;
}

.titlebar .title:backdrop {
    font: bold 10;
    color: shade (@theme_fg_color, 1.12);
}


.titlebar:backdrop {
    background-image: linear-gradient(to bottom,
                                      shade(@toolbar_bg_color, 1.04),
                                      shade(@toolbar_bg_color, 0.92)
				   );
    text-shadow: none;
}

.titlebar .titlebutton {
    padding: 5px 0px 6px 0px;
    border-style: none;
    background: none;
    color: @fg_color;
}

.titlebar .titlebutton:hover,
.titlebar .titlebutton:hover:focus {
    background: none;
    color: shade(@fg_color, 0.8);
}

.titlebar .titlebutton:active,
.titlebar .titlebutton:active:hover {
    background: none;
    color: shade(@fg_color, 0.7);
    box-shadow: none;
    padding: 5px 0px 6px 0px;
}

/*
.titlebar .right .titlebutton:first-child {
    border-left: 1px solid shade(@wm_bg_a, 0.9);
}

.titlebar .right .titlebutton:last-child {
}

.titlebar .left .titlebutton:last-child {
    border-right: 1px solid shade(@wm_bg_a, 0.9);
}

.titlebar .left .titlebutton:first-child {
}
*/

.titlebar .titlebutton:backdrop {
    background-image: none;
    color: @insensitive_fg_color;
	padding: 5px 0px 6px 0px;
}

/**********************
 * Window Decorations *
 *********************/
.window-frame {
  border-radius: 3px 3px 0 0;
  border-width: 0;
  box-shadow: 0 1px 6px 1px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(0, 0, 0, 0.23);
  /* this is used for the resize cursor area */
  margin: 10px; }
  .window-frame:backdrop {
    box-shadow: 0 1px 6px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(0, 0, 0, 0.18); }
  .window-frame.tiled {
    border-radius: 0; }
  .window-frame.csd.popup {
    border-radius: 0;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(0, 0, 0, 0.13); }
  .window-frame.ssd {
    border-radius: 3px 3px 0 0;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.18);
 }
  .window-frame.csd.tooltip {
    border-radius: 3px;
    box-shadow: none; }
  .window-frame.csd.message-dialog {
    border-radius: 3px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(0, 0, 0, 0.13); }

 .window-frame.solid-csd {
     border: solid 1px shade(@theme_bg_color, 0.8);
     border-radius: 0;
     margin: 2px;
     background-color: @theme_bg_color;
     box-shadow: none;
 }

.header-bar .titlebutton.button,
.titlebar .titlebutton.button,
GtkCalendar.header .titlebutton.button {
  text-shadow: 0 1px rgba(255, 255, 255, 0.76923);
  icon-shadow: 0 1px rgba(255, 255, 255, 0.76923); }
  .header-bar .titlebutton.button:backdrop,
  .titlebar .titlebutton.button:backdrop,
  GtkCalendar.header .titlebutton.button:backdrop {
    icon-shadow: none; }

.header-bar.selection-mode .titlebutton.button,
.titlebar.selection-mode .titlebutton.button,
GtkCalendar.selection-mode.header .titlebutton.button {
  text-shadow: 0 -1px rgba(0, 0, 0, 0.54353);
  icon-shadow: 0 -1px rgba(0, 0, 0, 0.54353); }
  .header-bar.selection-mode .titlebutton.button:backdrop,
  .titlebar.selection-mode .titlebutton.button:backdrop,
  GtkCalendar.selection-mode.header .titlebutton.button:backdrop {
    icon-shadow: none; }

.view:selected, .view:selected:focus, .view:selected:hover, GtkLabel:selected, GtkLabel:selected:focus, GtkLabel:selected:hover, GtkFlowBox .grid-child:selected, .entry:selected, .entry:selected:focus, .menuitem.button.flat:selected, .header-bar .menuitem.titlebutton.button:selected,
.titlebar .menuitem.titlebutton.button:selected,
GtkCalendar.header .menuitem.titlebutton.button:selected, .list-row:selected {
  background-color: @theme_selected_bg_color;
  color: @base_color;
  outline-color: rgba(255, 255, 255, 0.3); }
  .view:backdrop:selected, GtkLabel:backdrop:selected, GtkFlowBox .grid-child:backdrop:selected, .entry:backdrop:selected, .menuitem.button.flat:backdrop:selected, .header-bar .menuitem.titlebutton.button:backdrop:selected,
  .titlebar .menuitem.titlebutton.button:backdrop:selected,
  GtkCalendar.header .menuitem.titlebutton.button:backdrop:selected, .list-row:backdrop:selected {
    color: #fcfcfc; }

/* Decouple the font of context menus from their entry/textview */
.touch-selection,
.context-menu {
  font: initial; }



