/* NOTES to contributors:
 * use 4 spaces indents, and keep code ALIGNED and ORDERED */
 
/* default */
* {
    padding: 0;
    
    -GtkArrow-arrow-scaling: 0.7;

    -GtkButton-child-displacement-x: 0;
    -GtkButton-child-displacement-y: 0;
    -GtkButton-image-spacing: 6;
    
    -GtkCheckButton-indicator-size: 16;
    -GtkCheckMenuItem-indicator-size: 12;

    -GtkDialog-button-spacing: 6;
    -GtkDialog-content-area-border: 6;
    -GtkDialog-action-area-border: 6;
    
    -GtkExpander-expander-size: 14;

    -GtkHTML-link-color: @link_color;
    -GtkIMHtml-hyperlink-color: @link_color;
    
    -GtkMenu-horizontal-padding: 0;
    -GtkMenu-vertical-padding: 0;
    
    -GtkPaned-handle-size: 5;
    
    -GtkScrolledWindow-scrollbar-spacing: 0;
    -GtkScrolledWindow-scrollbars-within-bevel: 1;
    
    -GtkTextView-error-underline-color: @error_color;
    
    -GtkToolButton-icon-spacing: 6;
    -GtkToolItemGroup-expander-size: 11;
    
    -GtkTreeView-expander-size: 11;
    -GtkTreeView-horizontal-separator: 2;
    -GtkTreeView-vertical-separator: 0;

    -GtkWidget-focus-line-width: 0;
    -GtkWidget-separator-height: 1;
    -GtkWidget-separator-width: 1;
    -GtkWindow-resize-grip-width: 0;
    -GtkWindow-resize-grip-height: 0

    -WnckTasklist-fade-overlay-rect: 0;
}

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

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

*:insensitive {
    color: @insensitive_fg_color;
    text-shadow: 0 1px alpha(white, 0.4);
}

/* Apply Effects to insensitive and Prelit Images */

*:insensitive {
    -gtk-image-effect: dim;
}

/**************
 * action bar *
 **************/

.action-bar {
    padding: 4px;
    background-color: @theme_bg_color;
    background-image: none;
}

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

GtkAssistant .sidebar {
    padding: 12px;
    border: 1px solid @border;
    border-radius: 2px;
    background-color: @theme_base_color;
    color: mix(@theme_fg_color, @theme_bg_color, 0.4);
}

/**********
 * button *
 **********/
.button,
.button.menuitem.menubar {
    padding: 4px 7px;
}

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

.dialog-action-area .button.text-button {
    padding: 6px 16px;
}

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

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

.header-bar .button,
.header-bar .button.image-button,
.header-bar.titlebar GtkMenuButton.button.titlebutton {
    padding: 8px;
}

.titlebar .titlebutton {
    padding: 8px 1px 8px 1px;
}

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

.primary-toolbar .button {
    padding: 6px;
}

.primary-toolbar .button.image-button,
.path-bar .button.image-button {
    padding: 6px;
}

.primary-toolbar .button.text-button,
.path-bar .button {
    padding: 6px 16px;
}

.stack-switcher > .button.text-button {
      padding: 6px 10px 6px; 
}

GtkComboBox .button {
    padding: 2px 4px;
}

.inline-toolbar GtkToolButton > .button,
.inline-toolbar .button.image-button {
    padding: 4px;
}

.button,
.header-bar.titlebar GtkMenuButton.button.titlebutton {
    color: @button_fg;
    text-shadow: 0 1px @button_text_shadow;
    icon-shadow: 0 1px @button_text_shadow;
}

.primary-toolbar .button.image-button.flat {
    /*color: @theme_fg_color;*/
    icon-shadow: 0 1px alpha(white, 0.4);
    text-shadow: 0 1px alpha(white, 0.2);
}

.primary-toolbar .button.image-button.flat GtkLabel {
    color: @theme_fg_color;
}

.primary-toolbar .button.image-button,
.primary-toolbar .button GtkImage {
    color: #505050;
    icon-shadow: 0 1px alpha(white, 0.9);
}

.primary-toolbar .button.image-button:active,
.primary-toolbar .button.image-button:active:hover,
.primary-toolbar .button.image-button:checked,
.primary-toolbar .button.image-button:checked:hover {
    icon-shadow: 0 1px alpha(white, 0.4);
}

.primary-toolbar .button.image-button:insensitive,
.primary-toolbar .button.image-button:insensitive GtkLabel {
    color: @insensitive_fg_color;
    icon-shadow: none;
}

.titlebar .titlebutton,
.titlebar .titlebutton:active:hover,
.titlebar .titlebutton:checked {
    color: #999999;
    icon-shadow: 0 1px shade(@theme_bg_color, 1.3);
}

.titlebar .titlebutton:backdrop,
.header-bar.titlebar GtkMenuButton.button.titlebutton:backdrop {
    color: #b2b2b2;
    icon-shadow: none;
}

.titlebar .titlebutton:hover {
    color: #666666;
    icon-shadow: 0 1px shade(@theme_bg_color, 1.3);
}

.button:insensitive {
    color: @insensitive_fg_color;
    text-shadow: none;
    icon-shadow: none;
}

/***********
* calendar *
************/

GtkCalendar {
    padding: 2px;
}

GtkCalendar.view {
    padding: 2px;
    border: 1px solid @border;
    border-radius: 3px;
    background-color: @theme_base_color;
    background-image: none;
}

GtkCalendar.header {
    border-width: 0;
    border-radius: 0;
    background-image: linear-gradient(to bottom,
                            shade(@theme_base_color, 1.04),
                            shade(@theme_base_color, 0.89));
}

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

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

/****************
 * cell and row *
 ****************/

.cell {
    padding: 2px;
}

.cell:selected,
.cell:selected:focus {
    border-style: solid;
    border-width: 1px 0 1px 0;
    border-radius: 0;
    border-color: shade(@border, 0.9);
    background-color: transparent;
    background-image: linear-gradient(to bottom,
                            @theme_selected_bg_color,
                            shade(@theme_selected_bg_color, 0.85));
    color: @theme_selected_fg_color;
}

/*******************
 * check and radio *
 *******************/

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

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

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

GtkCheckButton.text-button,
GtkRadioButton.text-button {
    padding: 2px 2px;
}

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

GtkColorSwatch {
    border: 1px solid alpha(@theme_fg_color, 0.75);
    border-radius: 0;
    box-shadow: none;
}

GtkColorSwatch.overlay {
    border: none;
    background-color: transparent;
    background-image: none;
}

GtkColorSwatch:hover,
GtkColorSwatch:selected:hover {
    background-color: transparent;
    background-image: none;
}

GtkColorSwatch.color-dark {
    color: @theme_selected_fg_color;
}

GtkColorSwatch.color-light {
    color: @theme_fg_color;
}

GtkColorSwatch.color-dark:hover {
    background-image: linear-gradient(to bottom,
                                      alpha(white, 0) 40%,
                                      alpha(white, 0.3)
                                      );
}

GtkColorSwatch.color-light:hover {
    background-image: linear-gradient(to top,
                                      alpha(black, 0) 40%,
                                      alpha(black, 0.1)
                                      );
}

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

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

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

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

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

GtkColorSwatch#add-color-button {
    background-color: mix(@border, @theme_bg_color, 0.3);
}

GtkColorEditor GtkColorSwatch {
    border-radius: 3px;
}

/*****************
 * column-header *
 *****************/
column-header.button,
column-header .button {
    padding: 4px 6px;
    color: @theme_fg_color;
    text-shadow: none;
    icon-shadow: none;
}

column-header.button:insensitive,
column-header .button:insensitive {
}

column-header .button.dnd {
}

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

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

GtkComboBox:insensitive {
    color: @insensitive_fg_color;
    text-shadow: none;
    icon-shadow: none;
}

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

GtkComboBox.combobox-entry .button {
    padding: 4px 5px;
}

GtkComboBox.combobox-entry .button:first-child {
    box-shadow: inset -1px 0 @border;
}

GtkComboBox.combobox-entry .button:last-child {
    box-shadow: inset 1px 0 @border;
}

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

.content-view.view:insensitive {
}

.content-view.view:selected {
    background-color: @theme_selected_bg_color;
    background-image: none;
}

.content-view.cell {
    background-color: transparent;
    background-image: none;
}

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

EggListBox.content-view:hover,
.content-view.cell:hover {
    background-color: transparent;
}

EggListBox.content-view:selected,
EggListBox.content-view:active,
.content-view.cell:selected,
.content-view.cell:active {
    background-color: @theme_selected_bg_color;
    background-image: none;
}

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

/*******
 * csd *
 *******/
.window-frame {
    border-style: solid;
    border-width: 1px;
    border-radius: 6px 6px 0 0;
    border-color: darker(@theme_bg_color);
    box-shadow: 0 2px 8px 3px alpha(black, 0.5);
    
    /* this is used for the resize cursor area */
    margin: 10px;
}

.window-frame.tiled {
    border-radius: 0;
    background-color: @theme_bg_color;
}

.window-frame:backdrop {
    box-shadow: 0 2px 5px 3px alpha(black, 0.3);
}

.window-frame.csd.popup {
    box-shadow: 0 2px 3px alpha(black, 0.3);
}

.window-frame.csd.tooltip {
    box-shadow: 0 2px 3px alpha(black, 0.3);
}

.window-frame.solid-csd {
    border-radius: 0;
    margin: 1px;
    background-color: @theme_bg_color;
    box-shadow: none;
}

.solid-csd .header-bar.titlebar {
    border-radius: 0;
}

/****************
 * drawing area *
 ****************/

GtkDrawingArea {
    background-color: transparent;
}

/***********
 * Dialogs *
 ***********/

/*********
 * entry *
 *********/

.entry {
    background-clip: padding-box;
    padding: 4px;
    color: @theme_text_color;
}

GtkTreeView.view .entry {
    padding: 0;
}

.entry.image.left {
    padding-right: 6px;
}

.entry:focus {
}

.entry.progressbar,
.entry.progressbar:focus {
    margin-left: 2px;
    margin-right: 2px;
    border-image: none;
    border-style: none;
    background-color: transparent;
    background-image: linear-gradient(to top, 
                                      transparent 2px,
                                      white 2px,
                                      white 3px,
                                      shade(@theme_selected_bg_color, 0.9) 3px,
                                      shade(@theme_selected_bg_color, 0.9) 5px,
                                      transparent 5px);
    background-size: auto;
    box-shadow: none;
}

.entry.progressbar.pulse,
.entry.progressbar.pulse:focus {
    background-image: linear-gradient(to top, 
                                      transparent 2px,
                                      white 2px,
                                      white 3px,
                                      @border 3px,
                                      @border 5px,
                                      transparent 5px);
}

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

.entry:insensitive {
    color: @insensitive_fg_color;
}

.entry:active {
}

.cursor-handle.top,
.cursor-handle.bottom {
}

/************
 * expander *
 ************/

.expander {
    color: @theme_fg_color;
}

.expander:active {
    color: @theme_fg_color;
}

.expander:hover {
    color: @theme_fg_color;
}

.expander row:selected,
.expander row:selected:focus {
    border-color: @theme_selected_fg_color;
    color: @theme_selected_fg_color;
}

.expander row:selected:hover,
.expander row:selected:focus:hover {
    border-color: @theme_selected_fg_color;
    color: @theme_selected_fg_color;
}

GsmFailWhaleDialog {
    background-color: @theme_bg_color;
    background-image: none;
    color: @theme_fg_color;
}

GsmFailWhaleDialog .button,
GsmFailWhaleDialog .button:active {
    border-image: none;
    border-color: @border;
    border-width: 1px;
}

/****************
 * floating bar *
 ****************/

.floating-bar {
    border: 1px solid @border;
    border-radius: 3px;
    background-image: linear-gradient(to bottom,
                            @floating_bar_a,
                            @floating_bar_b);
}

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

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

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

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

.floating-bar .button {
    -GtkButton-image-spacing: 0;
    -GtkButton-inner-border: 0;
    border: 1px solid @border;
    background-color: transparent;
    background-image: none;
}

/************
 * flow box *
 ************/

GtkFlowBox .grid-child {
    padding: 3px;
    border-radius: 3px;
}

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

.frame,
GtkScrolledWindow.frame {
    padding: 0;
    border: 1px solid @border;
    border-radius: 0;
}

GtkViewport.frame {
    border-width: 0;
}

.frame.flat,
GtkScrolledWindow GtkViewport.frame {
    border: none;
}

.frame.action-bar {
    padding: 4px;
    border-width: 1px 0 0;
}

/************
 * gtkstyle *
 ************/

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

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

/***************
 * Header Bars *
 ***************/

.titlebar.header-bar 
/*.header-bar,
.titlebar*/ {
    padding: 6px 8px 6px 8px;
    border-style: solid;
    border-width: 0 0 1px 0;
    border-radius: 6px 6px 0 0;
    border-color: @border;
    background-color: transparent;
    background-image: linear-gradient(to bottom,
                            shade(@theme_bg_color, 1.08),
                            @theme_bg_color 50%,
                            shade(@theme_bg_color, 0.95));
    box-shadow: inset 0 2px alpha(white, 0.3),
                inset 0 1px alpha(white, 0.8);                            
}

.titlebar.header-bar:backdrop
/*.header-bar:backdrop,
.titlebar:backdrop*/ {
    background-image: linear-gradient(to bottom,
                            @theme_bg_color,
                            @theme_bg_color 50%,
                            shade(@theme_bg_color, 0.95));
    box-shadow: none;
}

.titlebar.header-bar .title
/*.header-bar .title,
.titlebar .title*/ {
    color: shade(@theme_bg_color, 0.5);
    font-weight: bold;
    padding: 0 12px;
    text-shadow: 0 1px shade(@theme_bg_color, 1.3);
}

.titlebar.header-bar .subtitle
/*.header-bar .subtitle,
.titlebar .subtitle*/ {
    color: shade(@theme_bg_color, 0.5);
    font-size: smaller;
    padding: 0 12px;
}

.titlebar.header-bar .title:backdrop,
.titlebar.header-bar .subtitle:backdrop
/*.header-bar .title:backdrop,
.titlebar .title:backdrop,
.header-bar .subtitle:backdrop,
.titlebar .subtitle:backdrop*/ {
    color: shade(@theme_bg_color, 0.8);
    text-shadow: none;
}

.tiled .titlebar,
.maximized .titlebar,
.tiled .header-bar,
.maximized .header-bar {
    border-radius: 0;
}

/************
 * iconview *
 ************/

GtkIconView.cell {
    padding: 0;
}

GtkIconView.cell:selected,
GtkIconView.cell:selected:focus {
    border: 1px solid @border;
    border-radius: 3px;
    background-image: linear-gradient(to bottom,
                            @iconview_selected_a,
                            @iconview_selected_b);
}

/*******************
 * image and label *
 *******************/
GtkImage,
GtkImage:active,
GtkImage:insensitive,
GtkLabel,
GtkLabel:active,
GtkLabel:insensitive,
GtkBox,
GtkBox:insensitive,
GtkGrid,
GtkGrid:insensitive {
    background-color: transparent;
}

.view.dim-label,
.dim-label {
    color: alpha(@theme_fg_color, 0.6);
}

.dim-label:selected,
.dim-label:selected:focus {
    color: alpha(@theme_selected_fg_color, 0.6);
}

/***********
 * infobar *
 ***********/

.info,
.question,
.warning,
.error {
    border: none;
}

.info {
    background-color: @info_color;

}

.info GtkLabel {
    color: #ffffff;
}

.question {
    background-color: @question_color;
}

.question GtkLabel {
    color: #004166;
}

.warning {
    background-color: @warning_color;
}

.warning GtkLabel {
    color: #664e00;
}

.error {
    background-color: @error_color;
}

.error GtkLabel {
    color: @theme_selected_fg_color;
}

GtkInfoBar .entry,
GtkInfoBar .menu {
    color: @text_color;
}

.info GtkButton GtkLabel,
.error GtkButton GtkLabel {
    color: @theme_fg_color;
}

/*************
 * level bar *
 *************/

GtkLevelBar {
    -GtkLevelBar-min-block-width: 34;
    -GtkLevelBar-min-block-height: 3;
}

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

.level-bar.trough {
    padding: 2px;
}

.level-bar.fill-block {
    background-color: #eaab28;
    border: 1px solid alpha(@theme_fg_color, 0.1);
    background-image: none;
}

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

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

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

.level-bar.fill-block.level-high {
    background-color: #4e9a06;
    border-color: alpha(@theme_fg_color, 0.1);
    background-image: none;
}

.level-bar.fill-block.level-low {
    background-color: #db3805;
    border: 1px solid alpha(@theme_fg_color, 0.1);
    background-image: none;
}

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

/*********
 * Links *
 *********/

*:link,
.button:link {
    color: #2a76c6;
}

*:link:visited,
.button:visited {
    color: #215d9c;
}

/**************
 * list boxes *
 **************/
.list,
.list-row {
    background-color: @theme_base_color;
}

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

.list-row:selected,
.list-row.activatable:selected:hover {
    background-color: @theme_selected_bg_color;
    background-image: none;
    color: @theme_selected_fg_color;
}

/*****************
 * miscellaneous *
 *****************/

.dnd {
    border: 1px solid shade(@theme_selected_bg_color, 1.12);
}

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

/********
 * menu *
 ********/

GtkTreeMenu.menu {
    border: 1px solid @border;
    border-radius: 0;
    background-color: @menu_bg;
}

GtkMenuButton .menu {
    text-shadow: none;
}

.context-menu {
    font: initial;
}

.menu {
    margin: 4px;
    padding: 0;
    border: 1px solid @border;
    border-radius: 0;
    background-color: @menu_bg;
}

.menu.button {
    border: 1px solid @border;
    border-radius: 0;
    border-image: none;
    background-color: shade(@menu_bg, 0.9);
    background-image: none;
    color: @menu_fg;
}

.menu.button:hover {
    border: 1px solid @border;
    border-radius: 0;
    border-image: none;
    background-color: mix(shade(@menu_bg, 0.9), @theme_selected_bg_color, 0.4);
    background-image: none;
    color: @menu_fg;
}

.menu.button:insensitive {
    border: 1px solid @border;
    border-radius: 0;
    border-image: none;
    background-color: @menu_bg;
    background-image: none;
    color: @insensitive_fg_color;
}

/***********
 * menubar *
 ***********/

.menubar {
    -GtkWidget-window-dragging: true;
    border: none;
}

/***************
 * menubaritem *
 ***************/

.menubar .menuitem {
    padding: 4px 6px;
    border: none;
    text-shadow: 0 1px alpha(white, 0.4);
}

.menubar .menuitem:hover {
    border: 1px solid @border;
    border-radius: 3px 3px 0 0;
    background-color: transparent;
    background-image: linear-gradient(to bottom,
                            @theme_selected_bg_color,
                            shade(@theme_selected_bg_color, 0.85));
    color: @theme_selected_fg_color;
    text-shadow: none;
}

/************
 * menuitem *
 ************/

GtkTreeMenu .menuitem,
.menu .menuitem,
.menu .menuitem > .label {
    -GtkMenuItem-arrow-scaling: 0.5;
    color: @menu_fg;
}

GtkTreeMenu .menuitem {
    padding: 2px;
}

.menu .menuitem {
    padding: 4px;
}

GtkTreeMenu .menuitem,
.button .menuitem,
.toolbar .button .menuitem,
.menu .menuitem {
    text-shadow: none;
}

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

.menu .menuitem:active,
.menu .menuitem:hover {
    border: 1px solid shade(@border, 0.9);
    background-image: linear-gradient(to bottom,
                            @theme_selected_bg_color,
                            shade(@theme_selected_bg_color, 0.85));
}

.menu .menuitem:insensitive {
    background-color: transparent;
    background-image: none;
}

.menu .menuitem:active,
.menu .menuitem:active > .label,
.menu .menuitem:hover,
.menu .menuitem:hover > .label {
    color: @theme_selected_fg_color;
}

.menu .menuitem:insensitive,
.menu .menuitem:insensitive .label {
    color: mix(@menu_fg, @menu_bg, 0.6);
}

.menuitem > .label .accelerator,
.menu .menuitem > .label .accelerator {
    color: alpha(@theme_text_color, 0.6);
}

.menu .menuitem:hover > .label .accelerator,
.menu .menuitem:active > .label .accelerator {
    color: alpha(@theme_selected_fg_color, 0.8);
}

.menu .menuitem GtkImage {
    color: alpha(@theme_fg_color, 0.78);
    icon-shadow: 0 1px white;
}

.menu .menuitem:active GtkImage,
.menu .menuitem:hover GtkImage {
    color: @theme_selected_fg_color;
    icon-shadow: none;
}

.menu .menuitem:insensitive GtkImage {
    color: alpha(@theme_fg_color, 0.3);
    icon-shadow: none;
}

GtkModelMenuItem GtkBox GtkImage {
}

.menuitem.arrow {
}

/************
 * notebook *
 ************/

.notebook {
    background-clip: border-box;
    -GtkNotebook-initial-gap: 0;
    -GtkNotebook-tab-overlap: 0;
    -GtkNotebook-tab-curvature: 0;
    -GtkWidget-focus-line-width: 0;
    -GtkWidget-focus-padding: 0;
    padding: 0;
    background-color: @notebook_bg;
    background-image: none;
}

.notebook.frame {
}

.notebook.header {
    border: none;
    background-image: none;
    background-color: transparent;
}

.notebook.header.frame.top {
}

.notebook.header.frame.bottom {
}

.notebook.header.frame.left {
}

.notebook.header.frame.right {
}

.notebook GtkViewport {
    border: 0;
    background-color: @notebook_bg;
}

.notebook GtkTextView {
    background-color: @notebook_bg;
}

.notebook tab {
    background-clip: padding-box;
    background-color: transparent;
}

.notebook tab GtkLabel {
}

.notebook .prelight-page,
.notebook .prelight-page GtkLabel {
}

.notebook .active-page,
.notebook tab .active-page GtkLabel {
}

.notebook tab.top,
.notebook tab.bottom {
    padding: 5px;
}

.notebook tab.left,
.notebook tab.right {
    padding: 5px;
}

.notebook tab.top:active,
.notebook tab.bottom:active {
    padding: 6px 5px;
}

.notebook tab.left:active,
.notebook tab.right:active {
    padding: 5px 6px;
}

.notebook tab.top {
    background-color: transparent;
    background-image: linear-gradient(to bottom,
                            @notebook_tab_bg_a,
                            @notebook_tab_bg_b);
}

.notebook tab.bottom {
    background-color: transparent;
    background-image: linear-gradient(to top,
                            @notebook_tab_bg_a,
                            @notebook_tab_bg_b);
}

.notebook tab.left {
    background-color: transparent;
    background-image: linear-gradient(to bottom,
                            @notebook_tab_bg_a,
                            @notebook_tab_bg_b);
}

.notebook tab.right {
    background-color: transparent;
    background-image: linear-gradient(to bottom,
                            @notebook_tab_bg_a,
                            @notebook_tab_bg_b);
}

.notebook tab.top:active,
.notebook tab.bottom:active,
.notebook tab.left:active,
.notebook tab.right:active {
    background-color: @notebook_bg;
    background-image: none;
}

.notebook tab.reorderable-page:hover {
}

.notebook tab.reorderable-page:active {
}

.notebook tab .button {
    padding: 1px;
    border: 1px solid transparent;
    border-radius: 3px;
    border-image: none;
    background-color: transparent;
    background-image: none;
    color: shade(@theme_fg_color, 0.85);
    icon-shadow: none;
    box-shadow: none;
}

.notebook .prelight-page .button,
.notebook tab.prelight-page .button,
.notebook .active-page .button,
.notebook tab.active-page .button {
}

.notebook tab .button:hover {
    padding: 1px;
    border: 1px solid @border;
    border-image: none;
    background-color: transparent;
    background-image: none;
    box-shadow: none;
}

.notebook tab .button:active:hover,
.notebook tab .button:checked:hover {
    padding: 1px;
    border: 1px solid @border;
    border-image: none;
    background-color: shade(@theme_bg_color, 0.85);
    background-image: none;
    box-shadow: none;
}

.notebook tab .button:active,
.notebook tab .button:active:hover {
}

/******
* osd *
*******/

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

GtkOverlay.osd {
    background-color: transparent;
}

.osd.trough {
    background-color: alpha(@osd_bg, 0.6);
}

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

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

.pane-separator {
    background-color: transparent;
    color: @theme_fg_color;
}

.grip {
    background-color: transparent;
}

/************
 * popovers *
 ************/

.popover {
    margin: 10px;
    padding: 2px;
    border: 1px solid @border;
    border-radius: 5px;
    background-color: @menu_bg;
    box-shadow: 0 1px 3px 2px alpha(black, 0.2);
}

.popover.osd {
    background-image: none;
    background-color: red;
}

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

.popover .button.flat,
.popover .button.flat:checked {
    border: 1px solid transparent;
    border-image: none;
    background-color: transparent;
    background-image:none;
    color: @menu_fg;
    text-shadow: none;
    icon-shadow: none;
    box-shadow: none;
}

.popover .button.flat:hover,
.popover .button.flat:active,
.popover .button.flat:active:hover,
.popover .button.flat:checked:hover {
    border: 1px solid @border;
    background-color: @theme_selected_bg_color;
    background-image: none;
    color: @theme_selected_fg_color;
    box-shadow: none;
}

/***************
 * progressbar *
 ***************/

GtkProgressBar {
    -GtkProgressBar-min-horizontal-bar-height: 16;
	-GtkProgressBar-min-vertical-bar-width: 16;
	padding: 0;
}

.progressbar {
    border: 1px solid @progressbar_border;
    border-radius: 3px;
    background-image: linear-gradient(to bottom,
                            @progressbar_a,
                            @progressbar_b);
    box-shadow: 0 1px alpha(white, 0.15);
}

.progressbar.vertical {
    background-image: linear-gradient(to right,
                            @progressbar_a,
                            @progressbar_b);
    box-shadow: 1px 0 alpha(white, 0.15);
}

.trough {
    color: @theme_fg_color;
    padding: 0;
    border: 1px solid @border;
    border-radius: 3px;
    background-image: linear-gradient(to bottom,
                            @progressbar_trough_a,
                            @progressbar_trough_b);
}

.trough.vertical {
    background-image: linear-gradient(to right,
                            @progressbar_trough_a,
                            @progressbar_trough_b); 
}

GtkTreeview.view.progressbar,
GtkTreeView.view.progressbar:selected {
    color: @theme_selected_fg_color;
    border: 1px solid @progressbar_border;
    border-radius: 3px;
    background-image: linear-gradient(to bottom,
                            @progressbar_a,
                            @progressbar_b);
    box-shadow: 0 1px alpha(white, 0.15);
}

GtkTreeView.view.trough,
GtkTreeView.view.trough:selected {
    color: @theme_fg_color;
    padding: 0;
    border: 1px solid @border;
    border-radius: 3px;
    background-image: linear-gradient(to bottom,
                            @progressbar_trough_a,
                            @progressbar_trough_b);
}

/*********
 * Scale *
 *********/

.scale {
    -GtkRange-slider-width: 16;
    -GtkScale-slider-length: 16;
    -GtkRange-trough-border: 2;
}

.scale.slider {
    border: 1px solid @border;
    border-radius: 50%;
    background-image: linear-gradient(to bottom,
                                      shade(@button_bg_a, 1.1),
                                      shade(@button_bg_b, 1.1));
}

.scale.slider:insensitive {
    border-color: shade(@border, 1.1);
    background-image: linear-gradient(to bottom,
                                      shade(@theme_bg_color, 1.05),
                                      @theme_bg_color);
}

.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: none;
    background-color: @theme_selected_bg_color;
}

.scale.trough {
    margin: 7px;
}

.scale.trough.vertical {
    margin: 7px;
}

.scale.trough {
    border: 1px solid @border;
    background-color: shade(@theme_bg_color, 0.95);
    background-image: none;
    box-shadow: inset 1px 1px alpha(black, 0.1),
                0 1px alpha(white, 0.5);
}

.primary-toolbar .scale.trough,
.header-bar .scale.trough {
    background-color: shade(@theme_bg_color, 0.85);
}

.scale.trough.vertical {
    background-color: shade(@theme_bg_color, 0.95);
    background-image: none;
    box-shadow: inset 1px 1px alpha(black, 0.1),
                1px 0 alpha(white, 0.5);
}

.primary-toolbar .scale.trough.vertical {
    background-color: shade(@theme_bg_color, 0.95);
    background-image: none;
}

.scale.trough.highlight {
    background-image: linear-gradient(to bottom,
                            @scale_fill_a,
                            @scale_fill_b);
    box-shadow: 0 1px alpha(white, 0.05);                            
}

.scale.trough.highlight.vertical {
    background-image: linear-gradient(to right,
                            @scale_fill_a,
                            @scale_fill_b);
    box-shadow: 1px 0 alpha(white, 0.05);                            
}

.scale.trough:insensitive,
.scale.trough.highlight:insensitive,
.scale.trough.vertical:insensitive,
.scale.trough.highlight.vertical:insensitive {
    border-color: shade(@border, 1.1);
    background-color: shade(@theme_bg_color, 0.98);
    background-image: none;
    box-shadow: none;                            
}

.primary-toolbar .scale.trough:insensitive,
.primary-toolbar .scale.trough.highlight:insensitive,
.primary-toolbar .scale.trough.vertical:insensitive,
.primary-toolbar .scale.trough.highlight.vertical:insensitive {
    border-color: @border;
    background-color: shade(@theme_bg_color, 0.9);
    background-image: none;
    box-shadow: none;                            
}

.scale.progressbar {
    background-image: none;
    background-color: @theme_selected_bg_color;
}

.scale.mark.separator {
    color: @border;
}

/*************
 * scrollbar *
 *************/

.scrollbar {
    background-clip: padding-box;
    -GtkRange-trough-border: 2;
    -GtkScrollbar-has-backward-stepper: 0;
    -GtkScrollbar-has-forward-stepper: 0;
    -GtkRange-slider-width: 10;
    -GtkScrollbar-min-slider-length: 30;
    -GtkRange-stepper-spacing: 0;
    -GtkRange-trough-under-steppers: 1;
}

.scrollbar.overlay-indicator:not(.dragging):not(.hovering) {
    opacity: 0.4;
    -GtkRange-slider-width: 5px;
    background-image: none;
    border: none;
}

.scrollbar.overlay-indicator:not(.dragging):not(.hovering) .slider {
    margin: 0;
    background-color: shade(@theme_bg_color, 0.6);
    background-image: none;
}

.scrollbar.trough,
.scrollbar.trough.vertical {
    border-width: 0 0 0 1px;
    border-radius: 0;
    border-color: alpha(@border, 0.5);
}

.scrollbar.trough,
.scrollbar.trough.vertical {
    background-image: linear-gradient(to right,
                            @theme_bg_color,
                            @theme_base_color);
}

.scrollbar.trough.horizontal {
    border-width: 1px 0 0 0;
    background-image: linear-gradient(to bottom,
                            @theme_bg_color,
                            @theme_base_color);
}

.scrollbars-junction,
.scrollbars-junction.frame {
    border-color: transparent;
}

.scrollbar.slider,
.scrollbar.slider.vertical {
    border: 1px solid @border;
    border-radius: 20px;
    background-color: transparent;
    background-image: linear-gradient(to right,
                            shade(@theme_bg_color, 1.12),
                            shade(@theme_bg_color, 0.95));
    box-shadow: 1px 0 alpha(white, 0.5);
}

.scrollbar.slider.horizontal {
    background-image: linear-gradient(to bottom,
                            shade(@theme_bg_color, 1.12),
                            shade(@theme_bg_color, 0.95));
}

.scrollbar.fine-tune .slider {
    border: 3px solid transparent;
    background-color: @theme_selected_bg_color;
    background-image: none;
    box-shadow: none;
}

/*******************
* scrolled windows *
********************/

.overshoot.top {
  background-image: -gtk-gradient(radial, center top, 0, center top, 0.6, from(alpha(@theme_selected_bg_color, 0.2)), to(alpha(@theme_selected_bg_color, 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(alpha(@theme_selected_bg_color, 0.2)), to(alpha(@theme_selected_bg_color, 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(alpha(@theme_selected_bg_color, 0.2)), to(alpha(@theme_selected_bg_color, 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(alpha(@theme_selected_bg_color, 0.2)), to(alpha(@theme_selected_bg_color, 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; }

/*************
* separators *
**************/

.separator {
    -GtkWidget-wide-separators: 1;
    -GtkWidget-separator-width: 2;
    -GtkWidget-separator-height: 2;
    border: 1px solid transparent;
    border-top-color: alpha(black, 0.08);
    border-bottom-color: alpha(white, 0.35);
}

.separator.vertical {
    border: 1px solid transparent;
    border-left-color: alpha(black, 0.08);
    border-right-color: alpha(white, 0.35);
}

GtkTreeView.separator {
    color: @border;
}

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


.menuitem.separator,
GtkMenuButton .menuitem.separator {
    -GtkWidget-wide-separators: 0;
    color: alpha(black, 0.08);
}

.primary-toolbar GtkSeparatorToolItem,
.primary-toolbar .separator {
    -GtkWidget-window-dragging: true;
    border-color: transparent;
    border-left-color: alpha(black, 0.2);
    border-right-color: alpha(white, 0.3);
}

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

/**************
 * search bar *
 **************/

.search-bar {
    background-color: transparent;
    background-image: linear-gradient(to bottom,
                                      shade(@theme_bg_color, 0.85),
                                      shade(@theme_bg_color, 0.95));
    box-shadow: inset 0 1px alpha(black, 0.3),
                inset 0 -1px alpha(black, 0.2);
}

/***********
 * sidebar *
 ***********/

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

.sidebar .view {
    -gtk-icon-style: regular;
}

.sidebar .cell {
    padding: 1px;
}

.sidebar .scrollbar {
    -GtkRange-slider-width: 10;
}

.sidebar .scrollbar.slider {
}

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

GtkPlacesSidebar.sidebar {
    -gtk-icon-style: regular;
}

.sidebar-item {
    padding: 6px 4px;
}

.sidebar-item > GtkLabel {
    padding-left: 4px;
    padding-right: 4px;
}

GtkSidebarRow .sidebar-icon:dir(ltr) {
    padding-left: 4px;
}

GtkSidebarRow .sidebar-icon:dir(rtl) {
    padding-right: 4px;
}

GtkSidebarRow .sidebar-label:dir(ltr) {
    padding-left: 2px;
}

GtkSidebarRow .sidebar-label:dir(rtl) {
    padding-right: 2px;
}

/**************
 * spinbutton *
 **************/

.spinbutton .button {
    padding: 2px 5px;
    border-width: 0;
    border-radius: 0;
    border-image: none;
    box-shadow: inset 0 1px alpha(white, 1.0),
                inset 2px 0 alpha(white, 0.5),
                inset 1px 0 alpha(black, 0.4),
                inset -1px 0 alpha(white, 0.5),
                inset 0 -1px alpha(black, 0.04);
}

.spinbutton .button:active {
    border-width: 0;
    border-radius: 0;
    border-image: none;
    box-shadow: inset 0 2px alpha(black, 0.05),
                inset 1px 0 alpha(black, 0.3),
                inset 0 -1px alpha(black, 0.04);
}

.spinbutton .button:insensitive {
    border-width: 0;
    border-radius: 0;
    border-image: none;
    box-shadow: inset 1px 0 alpha(black, 0.2),
                inset -1px 0 alpha(white, 0.2),
                inset 0 1px alpha(white, 0.3);
}

.spinbutton .button:first-child {
    border-style: solid;
    border-width: 0 0 0 1px;
    border-radius: 0;
    border-image: none;
    border-color: @button_border;
}

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

.spinbutton.vertical .button {
    border: 1px solid @border;
    border-image: none;
    box-shadow: none;
}

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

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

.spinbutton.vertical.entry {
    border-style: solid;
    border-width: 0 1px 0 1px;
    border-radius: 0;
    border-color: @border;
    border-image: none;
    box-shadow: 0 1px alpha(black, 0.1);
}

.spinbutton.vertical .button:insensitive,
.spinbutton.vertical.entry:insensitive {
    border-color: shade(@border, 1.1);
}

/***********
 * spinner *
 ***********/

@keyframes spin {
    to {
        -gtk-icon-transform: rotate(1turn);
    }
}

.spinner {
    background-image: none;
    opacity: 1;
    -gtk-icon-source: -gtk-icontheme("process-working-symbolic");
}

.spinner:insensitive {
    opacity: 0.5;
}

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

.spinner:active:insensitive {
    opacity: 0.5;
}

/*************
 * statusbar *
 *************/

GtkStatusbar {
    -GtkStatusbar-shadow-type: none;

    padding: 1px;
    color: @theme_fg_color;
}

/**********
 * switch *
 **********/

GtkSwitch {
    -GtkSwitch-slider-width: 40px;
    font-weight: bold;
    font-size: smaller;
}

GtkSwitch.trough {
    color: @button_fg;
    text-shadow: 0 1px @button_text_shadow;
}

GtkSwitch.trough:active {
    color: @theme_selected_fg_color;
    text-shadow: 1px 1px alpha(black, 0.2);
}

GtkSwitch.trough:insensitive,
GtkSwitch.trough:insensitive:active {
    color: @insensitive_fg_color;
    text-shadow: none;
}

GtkSwitch.slider {
}

/*******************
 * symbolic images *
 *******************/

.image {
    color: @internal_element_color;
}

.image:hover {
    color: @internal_element_prelight;
}

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

.view.image,
.view.image:hover {
}

/************
 * textview *
 ************/

GtkTextView {
    background-color: @theme_base_color;
    color: @theme_text_color;
}

/***********
 * toolbar *
 ***********/

.toolbar {
    padding: 6px;
    border-style: none;
    background-color: @theme_bg_color;
}

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

.primary-toolbar .toolbar,
.primary-toolbar.toolbar,
.header-bar {
    -GtkWidget-window-dragging: true;
    padding: 6px;
    padding-top: 4px;
    padding-bottom: 5px;
    border-style: solid;
    border-width: 0 0 1px 0;
    border-color: @border;
    color: @theme_fg_color;
    text-shadow: 0 1px @button_text_shadow;
}

.primary-toolbar .toolbar:insensitive,
.primary-toolbar.toolbar:insensitive,
.header-bar:insensitive {
    text-shadow: none;
}

.primary-toolbar .toolbar .separator,
.primary-toolbar.toolbar .separator {
    -GtkWidget-window-dragging: true;
}

.primary-toolbar .toolbar .entry.progressbar,
.primary-toolbar.toolbar .entry.progressbar {
}

.inline-toolbar.toolbar {
    padding: 2px;
    border: 1px solid @border;
}

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

.inline-toolbar.toolbar.vertical:last-child {
    border-left-width: 0;
    border-radius: 0;
}

/***********
 * tooltip *
 ***********/

.tooltip {
    padding: 3px;
    border: 1px solid @border;
    border-radius: 4px;
    background-color: @theme_tooltip_bg_color;
    color: @theme_tooltip_fg_color;
    box-shadow: none;    
}

.tooltip * {
    background-color: transparent;
}

/************
 * treeview *
 ************/

GtkTreeView {
    -GtkWidget-focus-padding: 0;
    -GtkWidget-focus-line-width: 0;
}

GtkTreeView.dnd {
    border: 1px solid shade(@theme_selected_bg_color, 1.2);
    border-radius: 3px;
}

GtkTreeView:selected:focus {
}

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

/************
 * viewport *
 ************/

GtkViewport {
    background-color: transparent;
}

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

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

.view:insensitive {
    background-color: shade(@theme_base_color, 0.95);
    color: shade(@insensitive_fg_color, 1.3);
}
