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

/* default */
* {
    engine: none;

    background-clip: padding-box;

    -GtkArrow-arrow-scaling: 0.55;
    -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;
    -GtkCheckButton-indicator-size: 16;
    -GtkCheckMenuItem-indicator-size: 14;
    -GtkExpander-expander-size: 8;
    -GtkHTML-link-color: @link_color;
    -GtkIMHtml-hyperlink-color: @link_color;
    -GtkMenu-horizontal-padding: 0;
    -GtkMenu-vertical-padding: 0;
    -GtkNotebook-initial-gap: 0;
    -GtkPaned-handle-size: 7;
    -GtkProgressBar-min-horizontal-bar-height: 12;
    -GtkProgressBar-min-vertical-bar-width: 12;
    -GtkRange-slider-width: 10;
    -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: 50;
    -GtkScrolledWindow-scrollbar-spacing: 0;
    -GtkScrolledWindow-scrollbars-within-bevel: 0;
    -GtkStatusbar-shadow-type: none;
    -GtkTextView-error-underline-color: @error_color;
    -GtkToolButton-icon-spacing: 6;
    -GtkToolItemGroup-expander-size: 8;
    -GtkTreeView-expander-size: 8;
    -GtkWidget-focus-line-width: 0;
    -GtkWidget-focus-padding: 2;
    -GtkWidget-link-color: @link_color;
    -GtkWidget-visited-link-color: @link_color;
    -GtkWindow-resize-grip-height: 0;
    -GtkWindow-resize-grip-width: 0;
    -WnckTasklist-fade-overlay-rect: 0;
    -GtkCheckButton-indicator-size: 16;
    -GtkCheckMenuItem-indicator-size: 12;
    -GtkWidget-wide-separators: true;
    -GtkWidget-horizontal-separator: 0;
    -GtkWidget-vertical-separator: 0;
    outline-color: transparent;
    outline-style: none;
    outline-offset: 2px;
}

/***************
 * base states *
 ***************/
.background {
    background-color: @theme_bg_color;
    color: @theme_fg_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.95);
}

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

/* apply effects to insensitive and prelit 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.1);
    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;
}

/******************
 * visual effects *
 ******************/
/* transitions */
.button {


}

.entry {

}

.entry:focus {

}

/* inset shadows */
.button:active,
.primary-toolbar .button:active,
.toolbar .button:active,
.header-bar .button:active {

}


/* disable inset shadow */
.floating-bar .button:active,
.button:active *:insensitive,
.primary-toolbar .button:active *:insensitive,
.toolbar .button:active *:insensitive,
.header-bar .button:active *:insensitive{

}

/*************
 * assistant *
 *************/
GtkAssistant .sidebar .highlight {
	background-color: @theme_selected_bg_color;
    font: bold;
}

GtkAssistant .sidebar {
    padding: 0px;
    border-width: 0;
    border-style: none;
    background-color: @theme_bg_color;
    color: @theme_fg_color;
}

/***********************
! Font and file choosers
************************/
GtkFontButton .separator, GtkFileChooserButton .separator {
  /* always disable separators */
  -GtkWidget-wide-separators: false;
  -GtkWidget-horizontal-separator: 0;
  -GtkWidget-vertical-separator: 0; }

GtkFileChooser {
  /* for fallback when header bar not used */ }
  GtkFileChooser .pane-separator, GtkFileChooser .pane-separator:hover {
    border-width: 0 0px 0 0;
    border-style: solid;
    border-color: @theme_bg_color;
    background-color: #f0f0f0;
    color: #d8d8d8; }
  GtkFileChooser .dialog-action-box {
    border-width: 1px 0 0;
    border-style: solid;
    border-color: #202020; }
  GtkFileChooser .sidebar.list,
  .sidebar.list .button{
    background-color: @theme_bg_color;
  }
  .sidebar.list :active,
  .sidebar.list :focus *{
	  background-color: @theme_selected_bg_color;
  }
GtkFileChooserWidget.vertical GtkPaned.horizontal {
    -GtkPaned-handle-size: 1px;
} 


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

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

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

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

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

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

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

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

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

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

GtkDrawingArea:insensitive {
    background-color: @entry_border_color;
}

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





/************
 * expander *
 ************/
.expander {
    color: alpha(@theme_fg_color, 0.7);
}

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

/*********
 * frame *
 *********/

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

/*******************
 * scrolled window *
 *******************/
GtkScrolledWindow.frame {
    border-radius: 0;
    border-width:  0;
    border-style: none;
}

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


/************
 * iconview *
 ************/
GtkIconView.view.cell:selected,
GtkIconView.view.cell:selected:focus {
    border-width: 3px;
    border-style: solid;
    border-color: @theme_selected_bg_color;
    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;
}

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

.image:hover,
.view.image:hover {
    color: @theme_fg_color;
}

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

/*****************
 * miscellaneous *
 *****************/
.floating-bar {
    border-width: 3px;
    border-style: none;
    border-radius: 0px;
    background-color: @theme_bg_color;
    background-image: none;
    color: @theme_fg_color;
}

.floating-bar.top {

}

.floating-bar.right {

}

.floating-bar.bottom {

}

.floating-bar.left {
 
}


.floating-bar .button,
.floating-bar .button:focus {
    -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.6);
}

.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);
}
.arrow:insensitive {
    color: alpha(@theme_fg_color, 0.4);
}



/******************
 * pane separator *
 ******************/
.pane-separator {
    background-color: transparent;
    color: transparent;
}


/*************
 * statusbar *
 *************/
GtkStatusbar {
    padding: 4px;
    color: @theme_fg_color;
}


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

/***********
 * tooltip *
 ***********/
.tooltip {
    border-width: 0;
    border-style: none;
    border-radius: 0px;
    background-color: @theme_tooltip_bg_color;
    background-image: none;
    color: @theme_tooltip_fg_color;
}

.tooltip * {
    background-color: transparent;
}

/************
 * treeview *
 ************/
GtkTreeView {
    -GtkTreeView-vertical-separator: 0;
    -GtkWidget-focus-line-width: 1;
    -GtkWidget-focus-padding: 1;
}

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

GtkTreeView .entry {
    background-color: @theme_bg_color;
    background-image: none;
}

/************
 * 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_bg_color, 1.04);
    background-image: none;
    color: mix(@theme_text_color, @theme_base_color, 0.4);
}

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

/*********************
 * app notifications *
 *********************/
.app-notification {
    border-style: none;
    border-width: 0 1px 1px 1px;
    border-radius: 0;
    padding: 8px;
    background-color: @theme_base_color;
    background-image: none;
    color: @theme_text_color;
}


/******************************
 * destructive action buttons *
 ******************************/
.destructive-action.button {
    border-width: 1px;
    border-style: solid;
    border-color: transparent;
    border-radius: 0;
    background-color: @error_color;
    background-image: none;
    color: mix(@theme_selected_fg_color, @error_color, 0.1);
}

.destructive-action.button:hover {
    border-color: transparent;
    background-color: shade(@error_color, 1.12);
    background-image: none;
}

.destructive-action.button:active {
    border-color: transparent;
    background-color: shade(@error_color, 0.87);
    background-image: none;
}

.destructive-action.button:hover:active {
    border-color: transparent;
}

/**************
 * List boxes *
 **************/
EggListBox {
    background-color: @theme_base_color;
}

EggListBox:hover {
    background-color: mix(white, @theme_selected_bg_color, 0.05) ;
}

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

.list {
    background-color: @theme_base_color;
}

.list-row:hover {
    background-color: mix(white, @theme_selected_bg_color, 0.05) ;
}

.list-row:selected {
    background-color: @theme_selected_bg_color;
}

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

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

GtkBubbleWindow .toolbar {
    background-color: transparent;
}

