[Xfce4-commits] [xfce/gtk-xfce-engine] 01/04: Added new flat theme

noreply at xfce.org noreply at xfce.org
Sat Feb 28 14:04:40 CET 2015


This is an automated email from the git hooks/post-receive script.

peter pushed a commit to branch master
in repository xfce/gtk-xfce-engine.

commit b5dc8d54a359b612158cf55e12d80966c3ba3a33
Author: Simon Steinbeiss <simon.steinbeiss at elfenbeinturm.at>
Date:   Sat Feb 28 11:52:57 2015 +0100

    Added new flat theme
---
 themes/flat/gtk-2.0/gtkrc                          |  571 +++
 themes/flat/gtk-3.0/apps/gnome-applications.css    |  316 ++
 themes/flat/gtk-3.0/apps/granite-widgets.css       |  687 ++++
 themes/flat/gtk-3.0/apps/lightdm-gtk-greeter.css   |   92 +
 themes/flat/gtk-3.0/apps/lightdm-unity-greeter.css |   58 +
 themes/flat/gtk-3.0/apps/unity.css                 |   31 +
 themes/flat/gtk-3.0/apps/xfce.css                  |   59 +
 themes/flat/gtk-3.0/gtk-widgets.css                | 3678 ++++++++++++++++++++
 themes/flat/gtk-3.0/gtk.css                        |   74 +
 themes/flat/gtk-3.0/settings.ini                   |    4 +
 10 files changed, 5570 insertions(+)

diff --git a/themes/flat/gtk-2.0/gtkrc b/themes/flat/gtk-2.0/gtkrc
new file mode 100644
index 0000000..55e6f98
--- /dev/null
+++ b/themes/flat/gtk-2.0/gtkrc
@@ -0,0 +1,571 @@
+# Created July 2006
+# Modified Dec. 2006
+# Modified Jan. 2007
+# Modified Jul. 2008 for xfce 4.6
+# Modified Feb. 2009 for xfce 4.6
+# Olivier Fourdan <fourdan at xfce.org>
+# Modified Nov. 2013 for xfce 4.12
+# Simon Steinbeiß <simon at xfce.org>
+# Released under the GPL license
+
+gtk-color-scheme	= "bg_color:#d9dadb\nselected_bg_color:#1e9cc8\nbase_color:#fcfcfc" # Background, base.
+gtk-color-scheme	= "fg_color:#2D2D2D\nselected_fg_color:#EEEEEE\ntext_color:#2D2D2D" # Foreground, text. 
+gtk-color-scheme	= "tooltip_bg_color:#ffffdf\ntooltip_fg_color:#2D2D2D" # Tooltips.
+gtk-color-scheme	= "link_color:#5177ac" # Hyperlinks
+gtk-color-scheme	= "panel_bg:#252525" # Panel bg color
+gtk-color-scheme	= "fm_color:#F7F7F7" # Color used in Nautilus and Thunar.
+gtk-color-scheme	= "bg_color_dark:#686868\ntext_color_dark:#FFF"
+
+style "default"
+{
+    GtkWidget::focus-line-width                  = 1
+    GtkWidget::focus_padding                     = 0
+    GtkWidget::interior_focus                    = 0
+    GtkWidget::internal_padding                  = 0
+    GtkWidget::link-color                        = @link_color
+
+    GtkArrow::arrow-scaling                      = 0.5
+
+    GtkButton::child_displacement_x              = 1
+    GtkButton::child_displacement_y              = 1
+    GtkButton::default_border                    = {0, 0, 0, 0}
+    GtkButton::default_outside_border            = {0, 0, 0, 0}
+    GtkButton::focus-line-pattern                = "\0"
+
+    GtkButtonBox::child_internal_pad_x           = 6
+    GtkButtonBox::child_internal_pad_y           = 2
+    GtkButtonBox::child_min_heigth               = 0
+    GtkButtonBox::child_min_width                = 0
+
+    GtkCheckButton::indicator_size               = 12
+    GtkCheckButton::focus-line-pattern           = "\1\1"
+
+    GtkEntry::focus-line-pattern                 = "\0"
+
+    GtkRadioButton::indicator_size               = 12
+    GtkRadioButton::focus-line-pattern           = "\1\1"
+
+    GtkExpander::expander-size                   = 11
+    GtkExpander::expander_spacing                = 0
+
+    GtkMenuBar::internal-padding                 = 0
+    GtkMenuBar::shadow-type                      = GTK_SHADOW_NONE
+    GtkMenu::horizontal-padding                  = 0
+    GtkMenu::vertical-padding                    = 0
+
+    GtkMenuItem::internal_padding                = 2
+    GtkMenuItem::selected_shadow_type            = etched-in
+
+    GtkNotebook::tab-overlap                     = -1
+
+    GtkOptionMenu::indicator_size                = {5, 5}
+    GtkOptionMenu::indicator_spacing             = {3, 3, 3, 3}
+
+    GtkPaned::handle_full_size                   = 1
+    GtkPaned::handle_size                        = 3
+
+    GtkRange::slider_width                       = 13
+    GtkRange::stepper_size                       = 13
+    GtkRange::stepper_spacing                    = 0
+    GtkRange::stepper_spacing                    = 0
+    GtkRange::trough_border                      = 0
+
+    GtkScale::trough-side-details                = 1
+    GtkScale::value_spacing                      = 0
+    GtkScale::slider-length			 = 13
+    GtkScale::slider-width			 = 13
+
+    GtkScrollbar::has_forward_stepper            = 0
+    GtkScrollbar::has_backward_stepper           = 0
+    GtkScrollbar::min_slider_length              = 25
+    GtkScrollbar::slider_width                   = 11
+
+    GtkScrolledWindow::scrollbars-within-bevel	 = 1
+    GtkScrolledWindow::scrollbar_spacing         = 0
+    GtkScrolledWindow::shadow-type               = GTK_SHADOW_NONE
+    GtkScrolledWindow::draw_border               = { 0, 0, 0, 0 }
+    GtkScrolledWindow::focus-line-width          = 0
+    
+    GtkStatusbar::shadow-type                    = GTK_SHADOW_NONE
+
+    GtkTextView::focus-line-pattern              = "\0"
+
+    GtkToolbar::internal-padding                 = 2
+    GtkToolbar::space-size                       = 10
+    GtkToolbar::shadow-type                      = GTK_SHADOW_NONE
+
+    GtkTreeView::expander-size                   = 11
+    GtkTreeView::horizontal-separator            = 0
+    GtkTreeView::vertical-separator              = 0
+
+    ExoIconBar::focus_padding                    = 1
+
+    xthickness = 2
+    ythickness = 2
+
+    base[ACTIVE]      = shade (0.9, @bg_color)
+    base[INSENSITIVE] = @bg_color
+    base[NORMAL]      = @base_color
+    base[PRELIGHT]    = shade (0.9, @base_color)
+    base[SELECTED]    = @selected_bg_color
+
+    bg[ACTIVE]        = shade (0.9, @bg_color)
+    bg[INSENSITIVE]   = @bg_color
+    bg[NORMAL]        = @bg_color
+    bg[PRELIGHT]      = @bg_color
+    bg[SELECTED]      = shade (0.9, @bg_color)
+
+    fg[ACTIVE]        = shade (0.7, @fg_color)
+    fg[INSENSITIVE]   = shade (0.7, @bg_color)
+    fg[NORMAL]        = @fg_color
+    fg[PRELIGHT]      = @fg_color
+    fg[SELECTED]      = @selected_fg_color
+
+    text[ACTIVE]      = @text_color
+    text[INSENSITIVE] = shade (0.7, @bg_color)
+    text[NORMAL]      = @text_color
+    text[PRELIGHT]    = @text_color
+    text[SELECTED]    = @selected_fg_color
+
+    engine "xfce"
+    {
+        smooth_edge = true
+        grip_style = none
+        flat_border = true
+        focus_color = shade (0.8, @selected_bg_color)
+        boxfill
+        {
+            fill_style = plain
+        }
+    }
+}
+
+style "gradient" = "default"
+{
+    engine "xfce"
+    {
+        smooth_edge = true
+        flat_border = true
+        grip_style = none
+        focus_color = shade (0.8, @selected_bg_color)
+        boxfill
+        {
+            fill_style = gradient
+            orientation = vertical
+            shade_start = 1.10
+            shade_end = 0.90
+        }
+    }
+}
+
+style "text" = "default"
+{
+    xthickness = 0
+    ythickness = 0
+    engine "xfce"
+    {
+        smooth_edge = false
+        flat_border = true
+        grip_style = none
+        focus_color = @bg_color
+    }
+}
+
+style "menu" = "default"
+{
+    xthickness = 1
+    ythickness = 2
+
+    bg[PRELIGHT]      = @selected_bg_color
+    bg[INSENSITIVE]   = @base_color
+    bg[NORMAL]        = @base_color
+    fg[ACTIVE]        = @fg_color
+    fg[PRELIGHT]      = @selected_fg_color
+    fg[SELECTED]      = @fg_color
+    text[PRELIGHT]    = @text_color
+}
+
+style "menuitem" = "menu"
+{
+    xthickness = 1
+    ythickness = 2
+
+    engine "xfce"
+    {
+        smooth_edge = true
+        boxfill
+        {
+            fill_style = plain
+            orientation = vertical
+            shade_start = 0.90
+            shade_end = 1.10
+        }
+    }
+}
+
+style "menubar" = "menu"
+{
+    xthickness = 5
+    ythickness = 4
+    GtkMenuItem::selected_shadow_type            = none
+    
+    bg[INSENSITIVE]   = @bg_color
+    bg[NORMAL]        = @bg_color
+
+    engine "xfce"
+    {
+        smooth_edge = true
+        boxfill
+        {
+            fill_style = plain
+        }
+    }
+}
+
+style "toolbar" = "menubar"
+{
+    bg[NORMAL]        = shade(0.9, @bg_color)
+
+    engine "xfce"
+    {
+        smooth_edge = true
+        boxfill
+        {
+            fill_style = plain
+        }
+    }
+}
+
+style "sidebar" = "toolbar"
+{
+    base[NORMAL]      = shade(1.15, mix(0.2, @selected_bg_color, @bg_color))
+}
+
+style "pager" = "gradient"
+{
+    xthickness = 0
+    ythickness = 0
+
+    bg[SELECTED]      = shade(0.8, @selected_bg_color)
+    fg[SELECTED]      = @base_color
+
+    engine "xfce"
+    {
+        smooth_edge = true
+    }
+}
+
+style "button" = "default"
+{
+    xthickness = 2
+    ythickness = 2
+
+    bg[ACTIVE]        = shade (0.9, @bg_color)
+    bg[NORMAL]        = shade (1.1, @bg_color)
+    bg[PRELIGHT]      = shade (0.9, @bg_color)
+    bg[SELECTED]      = shade (0.9, @selected_bg_color)
+
+    fg[ACTIVE]        = shade (0.1, @fg_color)
+    fg[SELECTED]      = @base_color
+
+    engine "xfce"
+    {
+        flat_border = true
+        smooth_edge = true
+        grip_style = none
+        focus_color = shade (0.8, @selected_bg_color)
+        boxfill
+        {
+            fill_style = plain
+        }
+    }
+}
+
+style "radiocheck" = "default"
+{
+    base[PRELIGHT]      = @base_color
+    bg[PRELIGHT]	= shade (1.02, @bg_color)
+}
+
+style "treeview-header" = "default"
+{
+    xthickness = 1
+    ythickness = 1
+
+    bg[NORMAL]        = shade (1.15, @bg_color)
+    bg[PRELIGHT]      = shade (1.10, @bg_color)
+
+    engine "xfce"
+    {
+        flat_border = true
+        smooth_edge = false
+    }
+}
+
+style "notebook" = "default"
+{
+    xthickness = 2
+    ythickness = 2
+
+    bg[ACTIVE]        = shade (0.97, @bg_color)
+    bg[NORMAL]        = shade (1.0, @bg_color)
+    fg[ACTIVE]        = shade (0.6, @bg_color)
+    fg[NORMAL]        = @fg_color
+
+    engine "xfce"
+    {
+        flat_border = true
+        smooth_edge = false
+    }
+}
+
+style "scrolledwindow" = "default"
+{
+    xthickness = 1
+    ythickness = 1
+
+    engine "xfce"
+    {
+        flat_border = true
+        smooth_edge = false
+        grip_style = none
+        boxfill
+        {
+            fill_style = plain
+        }
+    }
+}
+
+style "scrollbar" = "default"
+{
+    xthickness = 1
+    ythickness = 1
+
+    bg[ACTIVE]        = shade (1.15, @bg_color)
+    bg[NORMAL]        = shade (0.9, @bg_color)
+    bg[PRELIGHT]      = shade (0.67, @bg_color)
+
+    engine "xfce"
+    {
+        flat_border = true
+        smooth_edge = false
+        grip_style = none
+    }
+}
+
+style "scale" = "scrollbar"
+{
+    bg[NORMAL]        = shade (0.8, @bg_color)
+
+    engine "xfce"
+    {
+        flat_border = true
+        smooth_edge = true
+        grip_style = none
+    }
+}
+
+style "progress" = "default"
+{
+    xthickness = 0
+    ythickness = 0
+
+    bg[ACTIVE]        = shade (0.9, @bg_color)
+    bg[NORMAL]        = shade (0.98, @base_color)
+    bg[PRELIGHT]      = @selected_bg_color
+
+    fg[PRELIGHT]      = @selected_fg_color
+
+    engine "xfce"
+    {
+        flat_border = true
+        smooth_edge = false
+        grip_style = none
+        boxfill
+        {
+            fill_style = gradient
+            orientation = automatic
+            shade_start = 1.00
+            shade_end = 0.95
+        }
+    }
+}
+
+style "handlebox" = "default"
+{
+    engine "xfce"
+    {
+        smooth_edge = true
+        grip_style = none
+        boxfill
+        {
+            fill_style = plain
+        }
+    }
+}
+
+style "tooltips" = "default"
+{
+    xthickness = 8
+    ythickness = 5
+    bg[NORMAL] = @tooltip_bg_color
+    fg[NORMAL] = @tooltip_fg_color
+}
+
+style "rox" = "default"
+{
+    bg[ACTIVE] = @base_color
+    bg[NORMAL] = @base_color
+}
+
+style "panel" = "default"
+{
+    xthickness = 1
+    ythickness = 1
+    
+    bg[ACTIVE]        = shade (1.6, @panel_bg)
+    bg[NORMAL]        = @panel_bg
+    bg[PRELIGHT]      = shade (0.88, @selected_bg_color)
+    bg[SELECTED]      = shade (1.6, @panel_bg)
+
+    fg[ACTIVE]        = @base_color
+    fg[NORMAL]        = @base_color
+    fg[PRELIGHT]      = @base_color
+    fg[SELECTED]      = @base_color
+
+    text[ACTIVE]      = @base_color
+    text[NORMAL]      = @base_color
+    text[PRELIGHT]    = @base_color
+    text[SELECTED]    = @base_color
+    
+    engine "xfce"
+    {
+        flat_border = true
+        smooth_edge = false
+    }
+}
+
+style "tabwin" = "panel"
+{
+    GtkWidget::focus-line-width                  = 0
+    Xfwm4TabwinWidget::border-width = 1
+    Xfwm4TabwinWidget::border-alpha = 1.0
+    Xfwm4TabwinWidget::icon-size = 64
+    Xfwm4TabwinWidget::listview-icon-size = 16
+    Xfwm4TabwinWidget::alpha = 1.0
+    Xfwm4TabwinWidget::border-radius = 5
+    
+    bg[NORMAL]        = shade (1.6, @panel_bg)
+    bg[SELECTED]      = shade (0.5, @bg_color)
+
+    engine "xfce"
+    {
+        flat_border = true
+        smooth_edge = false
+    }
+}
+
+style "logout" = "default"
+{
+    bg[SELECTED] = @bg_color	# Borderline around the dialog
+}
+
+style "titlebar" = "default"
+{
+    bg[SELECTED]      = shade (0.3, @selected_bg_color)
+    fg[SELECTED]      = @base_color
+    bg[INSENSITIVE]   = @bg_color
+    fg[INSENSITIVE]   = shade (0.7, @bg_color)
+}
+
+widget_class "*"                   style "default"
+
+#widget_class "*GtkTree*"           style "gradient"
+#class "*GtkTree*"                  style "gradient"
+#widget_class "*GtkCTree*"          style "gradient"
+#class "*GtkCTree*"                 style "gradient"
+#widget_class "*GtkList*"           style "gradient"
+#class "*GtkList*"                  style "gradient"
+#widget_class "*GtkCList*"          style "gradient"
+#class "*GtkCList*"                 style "gradient"
+#widget_class "*Entry*"             style "gradient"
+#class "*Entry*"                    style "gradient"
+#widget_class "*Text*"              style "text"
+#class "*Text*"                     style "text"
+#widget_class "*Pager*"             style "pager"
+#class "*Pager*"                    style "pager"
+
+widget_class "*Menu*"              style "menu"
+#class "*Menu*"                     style "menu"
+
+widget_class "*MenuItem*"          style "menuitem"
+class "*MenuItem*"                 style "menuitem"
+
+widget_class "*BonoboDockItem"     style "menubar"
+class "*BonoboDockItem"            style "menubar"
+widget_class "*ToolBar"            style "toolbar"
+class "*ToolBar"                   style "toolbar"
+class "*GtkToolbar"                style "toolbar"
+widget_class "*MenuBar*"           style "menubar"
+class "*MenuBar*"                  style "menubar"
+
+widget_class "*HandleBox*"         style "handlebox"
+
+widget_class "*Button*"            style "button"
+class "*Button*"                   style "button"
+widget_class "*button*"            style "button"
+class "*button*"                   style "button"
+widget_class "*OptionMenu*"        style "button"
+class "*OptionMenu*"               style "button"
+widget_class "*GtkButtonBox*"      style:highest "default"
+class "*GtkButtonBox*"             style:highest "default"
+
+widget_class "*.GtkNotebook"       style "notebook"
+class "*.GtkNotebook"              style "notebook"
+widget_class "*.GtkNotebook*GtkLabel" style "notebook"
+
+widget_class "*GtkScrolledWindow*"  style "scrolledwindow"
+
+widget_class "*GtkVScrollbar*"     style "scrollbar"
+class "*GtkVScrollbar*"            style "scrollbar"
+widget_class "*GtkHScrollbar*"     style "scrollbar"
+class "*GtkHScrollbar*"            style "scrollbar"
+
+widget_class "*GtkHScale*"         style "scale"
+class "*GtkHScale*"                style "scale"
+widget_class "*GtkVScale*"         style "scale"
+class "*GtkVScale*"                style "scale"
+
+widget_class "*GtkProgress*"       style "progress"
+class "*GtkProgress*"              style "progress"
+
+widget "gtk-tooltip*"              style "tooltips"
+
+widget_class "*.Collection"        style "rox"
+
+widget_class "*<GtkRadioButton>*"    style "radiocheck"
+widget_class "*<GtkCheckButton>*"    style "radiocheck"
+
+widget_class "*.<GtkTreeView>.<GtkButton>"      style "treeview-header"
+widget_class "*.<GtkCTree>.<GtkButton>"         style "treeview-header"
+widget_class "*.<GtkList>.<GtkButton>"          style "treeview-header"
+widget_class "*.<GtkCList>.<GtkButton>"         style "treeview-header"
+widget_class "*GnmSimpleCanvas*"                style "treeview-header" # Gnumeric treeview-headers
+widget_class "*.<GtkCMCTree>.<GtkButton>"	style "button" # Claws-Mail treeview-headers
+widget_class "*.<GtkCMCList>.<GtkButton>"	style "button" # Claws-Mail treeview-headers
+widget_class "*<GtkNotebook>.<GtkScrolledWindow>.<GtkViewport>*"	style "notebook" # Claws-Mail compose-window workaround
+
+widget_class "*ThunarShortcutsView*"		style "sidebar"
+widget_class "*ThunarTreeView*"			style "sidebar"
+widget_class "*GtkFileChooserWidget.GtkFileChooserDefault.GtkVBox.GtkHPaned.GtkVBox.GtkScrolledWindow.GtkTreeView*"   style "sidebar"
+widget_class "*GtkFileChooserWidget.GtkFileChooserDefault.GtkVBox.GtkHPaned.GtkVBox.GtkScrolledWindow.<GtkTreeView>.<GtkButton>"	style "treeview-header"
+
+widget "xfwm"                      style "titlebar"
+class "MetaFrames"                 style "titlebar"
+widget_class "MetaFrames"          style "titlebar"
+widget_class "*XfsmLogoutDialog*"  style "logout"
+widget_class "*XfsmLogoutDialog*GtkButton"  style "button"
+widget "xfwm4-tabwin*"             style "tabwin"
+
+widget "*Xfce*Panel*"              style "panel"
+widget "*Xfce*Panel*GtkEntry"      style:highest "default"
diff --git a/themes/flat/gtk-3.0/apps/gnome-applications.css b/themes/flat/gtk-3.0/apps/gnome-applications.css
new file mode 100644
index 0000000..6b511bb
--- /dev/null
+++ b/themes/flat/gtk-3.0/apps/gnome-applications.css
@@ -0,0 +1,316 @@
+/***********************
+ * fallback mode panel *
+ ***********************/
+PanelWidget,
+PanelApplet,
+PanelToplevel {
+    padding: 0;
+    background-image: linear-gradient(to bottom,
+                                      shade(@panel_bg_color, 1.5),
+                                      shade(@panel_bg_color, 1.05)
+                                      );
+
+    color: @panel_fg_color;
+}
+
+PanelApplet {
+    border-width: 0;
+}
+
+PanelSeparator {
+    border-width: 0;
+    background-image: linear-gradient(to bottom,
+                                      shade(@panel_bg_color, 1.5),
+                                      shade(@panel_bg_color, 1.05)
+                                      );
+
+    color: @panel_fg_color;
+}
+
+.gnome-panel-menu-bar,
+PanelApplet > GtkMenuBar.menubar,
+PanelApplet > GtkMenuBar.menubar.menuitem,
+PanelMenuBar.menubar,
+PanelMenuBar.menubar.menuitem {
+    -PanelMenuBar-icon-visible: true;
+
+    border-width: 0;
+    background-image: linear-gradient(to bottom,
+                                      shade(@panel_bg_color, 1.5),
+                                      shade(@panel_bg_color, 1.05)
+                                      );
+}
+
+PanelAppletFrame {
+    border-width: 0;
+    background-color: @panel_bg_color;
+    background-image: linear-gradient(to bottom,
+                                      shade(@panel_bg_color, 1.5),
+                                      shade(@panel_bg_color, 1.05)
+                                      );
+}
+
+PanelApplet .button {
+    -GtkButton-inner-border: 2;
+
+    border-width: 0 1px;
+    border-radius: 0;
+    border-color: transparent;
+    background-image: linear-gradient(to bottom,
+                                      shade(@panel_bg_color, 1.5),
+                                      shade(@panel_bg_color, 1.05)
+                                      );
+
+    color: @panel_fg_color;
+
+    text-shadow: none;
+    box-shadow: none;
+}
+
+PanelApplet .button:active {
+    border-width: 0 1px;
+    border-radius: 0;
+    border-color: shade(@panel_bg_color, 0.7);
+    background-image: linear-gradient(to bottom,
+                                      shade(@panel_bg_color, 0.85),
+                                      shade(@panel_bg_color, 1.0)
+                                      );
+}
+
+PanelApplet .button:prelight {
+    border-width: 0 1px;
+    border-radius: 0;
+    border-color: shade(@panel_bg_color, 0.7);
+    background-image: linear-gradient(to bottom,
+                                      shade(@panel_bg_color, 1.7),
+                                      shade(@panel_bg_color, 1.25)
+                                      );
+}
+
+PanelApplet .button:active:prelight {
+    border-width: 0 1px;
+    border-radius: 0;
+    border-color: shade(@panel_bg_color, 0.7);
+    background-image: linear-gradient(to bottom,
+                                      shade(@panel_bg_color, 0.85),
+                                      shade(@panel_bg_color, 1.0)
+                                      );
+}
+
+WnckPager, WnckTasklist {
+    background-color: @panel_bg_color;
+}
+
+/************
+ * nautilus *
+ ************/
+.nautilus-canvas-item {
+    border-radius: 3px;
+}
+
+.nautilus-desktop.nautilus-canvas-item {
+    color: white;
+    text-shadow: 1px 1px black;
+}
+
+.nautilus-desktop.nautilus-canvas-item:active {
+    color: @theme_fg_color;
+}
+
+.nautilus-desktop.nautilus-canvas-item:selected {
+    color: @theme_selected_fg_color;
+}
+
+.nautilus-desktop.nautilus-canvas-item:active,
+.nautilus-desktop.nautilus-canvas-item:prelight,
+.nautilus-desktop.nautilus-canvas-item:selected {
+    text-shadow: none;
+}
+
+NautilusWindow .toolbar {
+    border-width: 0 0 1px;
+    border-style: solid;
+    border-color: shade(@toolbar_bg_color, 0.8);
+}
+
+NautilusWindow .sidebar .frame {
+    border-style: none;
+}
+
+NautilusWindow > GtkGrid > .pane-separator,
+NautilusWindow > GtkGrid > .pane-separator:hover {
+    border-width: 0 1px 0 1px;
+    border-style: solid;
+    border-color: shade(@theme_bg_color, 0.8);
+    background-color: mix(shade(@theme_base_color, 0.9), shade(@theme_selected_bg_color, 1.35), 0.1);
+}
+
+NautilusNotebook.notebook {
+    border-right-width: 0;
+    border-left-width: 0;
+    border-bottom-width: 0;
+}
+
+NautilusNotebook .frame {
+    border-width: 0;
+}
+
+NautilusQueryEditor .primary-toolbar.toolbar {
+    border-top-width: 0;
+    border-bottom-width: 0;
+}
+
+NautilusQueryEditor .toolbar {
+    padding-top: 3px;
+    padding-bottom: 2px;
+    border-width: 1px 0 0 0;
+    border-style: solid;
+    border-color: @toolbar_bg_color;
+    background-color: shade(@toolbar_bg_color, 0.9);
+}
+
+NautilusQueryEditor .toolbar:nth-child(2) {
+    border-color: shade(@toolbar_bg_color, 0.8);
+}
+
+NautilusQueryEditor .toolbar:last-child,
+NautilusQueryEditor .primary-toolbar.toolbar:only-child {
+    border-bottom-width: 1px;
+    border-bottom-color: shade(@toolbar_bg_color, 0.8);
+}
+
+/******************
+ * gnome terminal *
+ ******************/
+VteTerminal {
+    background-color: @theme_base_color;
+    color: @theme_text_color;
+}
+
+TerminalWindow GtkNotebook.notebook {
+    border-right-width: 0;
+    border-bottom-width: 0;
+    border-left-width: 0;
+}
+
+/*********
+ * gedit *
+ *********/
+GeditWindow .pane-separator, 
+GeditWindow .pane-separator:hover {
+    border-width: 0 1px 1px 1px;
+    border-style: solid;
+    border-color: shade(@theme_bg_color, 0.8);
+    background-color: @theme_bg_color;
+    color: shade(@theme_bg_color, 0.8);
+}
+
+GeditPanel.title GtkLabel {
+    padding: 5px 0;
+}
+
+GeditPanel.vertical .title {
+    padding: 5px 0 4px 3px;
+    border-style: none;
+}
+
+GeditPanel .toolbar {
+    border-style: none;
+    background-color: transparent;
+}
+
+GeditDocumentsPanel .view {
+    background-color: mix(shade(@theme_base_color, 0.9), shade(@theme_selected_bg_color, 1.35), 0.1);
+}
+
+GeditPanel.vertical .notebook {
+    padding: 0;
+    border-width: 1px 0;
+}
+
+GeditPanel.horizontal .notebook {
+    padding: 0;
+    border-width: 0 1px 1px 0;
+}
+
+GeditWindow .notebook {
+    border-width: 1px 0;
+}
+
+GeditPanel .notebook tab,
+GeditWindow .notebook tab {
+    border-width: 0;
+}
+
+GeditStatusComboBox .button,
+GeditStatusComboBox .button:hover,
+GeditStatusComboBox .button:active,
+GeditStatusComboBox .button:active:hover {
+    padding: 1px 6px 2px 4px;
+    border-style: solid;
+    border-width: 0 1px;
+    border-radius: 0;
+}
+
+GeditStatusComboBox .button:hover,
+GeditStatusComboBox .button:active,
+GeditStatusComboBox .button:active:hover {
+    border-color: shade(@theme_bg_color, 0.8);
+}
+
+GeditViewFrame .gedit-search-slider {
+    padding: 4px;
+    border-radius: 0 0 3px 3px;
+    border-width: 0 1px 1px 1px;
+    border-style: solid;
+    border-color: shade(@theme_base_color, 0.8);
+    background-color: @theme_base_color;
+}
+
+GeditViewFrame .gedit-search-slider .not-found {
+    background-color: @error_bg_color;
+    background-image: none;
+    color: @error_fg_color;
+}
+
+GeditViewFrame .gedit-search-slider .not-found:selected {
+    background-color: @theme_selected_bg_color;
+    color: @theme_selected_fg_color;
+}
+
+GeditFileBrowserWidget .primary-toolbar.toolbar  {
+    padding: 2px;
+    border-top: none;
+    background-color: @theme_bg_color;
+    background-image: none;
+}
+
+/***************
+ * font-viewer *
+ ***************/
+SushiFontWidget {
+    padding: 6px 12px;
+}
+
+/*************
+ * gucharmap *
+ *************/
+GucharmapChartable {
+    background-color: @theme_base_color;
+    color: @theme_text_color;
+}
+
+GucharmapChartable:active,
+GucharmapChartable:focus,
+GucharmapChartable:selected {
+    background-color: @theme_selected_bg_color;
+    color: @theme_selected_fg_color;
+}
+
+/*************
+ * evolution *
+ *************/
+EPreviewPane .entry {
+    background-color: @theme_base_color;
+    color: @theme_text_color;
+}
diff --git a/themes/flat/gtk-3.0/apps/granite-widgets.css b/themes/flat/gtk-3.0/apps/granite-widgets.css
new file mode 100644
index 0000000..df8a777
--- /dev/null
+++ b/themes/flat/gtk-3.0/apps/granite-widgets.css
@@ -0,0 +1,687 @@
+/********************
+ * dynamic notebook *
+ ********************/
+.dynamic-notebook {
+    background-color: shade(@theme_bg_color, 1.05);
+    background-image: none;
+}
+
+.dynamic-notebook GtkLabel,
+.dynamic-notebook GtkImage {
+    color: alpha(@theme_fg_color, 0.5);
+}
+
+.dynamic-notebook .notebook {
+    -GtkNotebook-tab-overlap: 3px;
+    -GtkNotebook-initial-gap: 12px;
+
+    border-width: 1px 0 0 0;
+    border-color: shade(@theme_bg_color, 0.8);
+    border-radius: 0;
+    padding: 0;
+}
+
+.dynamic-notebook .notebook tab {
+    padding: 3px;
+    border-width: 1px;
+    border-color: shade(@theme_bg_color, 0.9);
+    border-radius: 3px;
+    background-color: @theme_bg_color;
+    background-image: none;
+    color: @theme_fg_color;
+}
+
+.dynamic-notebook .notebook tab:active {
+    border-color: shade(@theme_bg_color, 0.8);
+    background-color: shade(@theme_bg_color, 1.05);
+    color: @theme_fg_color;
+}
+
+.dynamic-notebook .notebook tab .entry {
+    border-radius: 3px;
+    padding: 3px;
+}
+
+.dynamic-notebook .button:hover,
+.dynamic-notebook .button:hover:active,
+.dynamic-notebook .notebook .button,
+.dynamic-notebook .notebook .button:hover,
+.dynamic-notebook .notebook .button:hover:active {
+    border-color: shade(@theme_bg_color, 0.7);
+    background-color: shade(@theme_bg_color, 1.10);
+    background-image: none;
+}
+
+.dynamic-notebook .button:hover:active,
+.dynamic-notebook .notebook .button:hover:active {
+    border-color: shade(@theme_bg_color, 0.6);
+    background-color: shade(@theme_bg_color, 0.85);
+    color: shade(@theme_fg_color, 0.7);
+}
+
+.dynamic-notebook .menu GtkLabel {
+    color: @menu_fg;
+}
+
+/****************
+ * content view *
+ ****************/
+.content-view-window {
+    border-width: 1px;
+    border-style: solid;
+    border-color: shade(@theme_base_color, 0.8);
+    border-radius: 2px;
+    background-color:@theme_base_color;
+    background-image: none;
+    color: @theme_text_color;
+}
+
+.content-view,
+.content-view GtkViewport {
+    background-color: @theme_base_color;
+    background-image: none;
+}
+
+.content-view * {
+    background-color: transparent;
+    background-image: none;
+}
+
+.content-view .entry {
+    background-color: @theme_base_color;
+    background-image: none;
+    color: @theme_text_color;
+}
+
+.content-view .button {
+    border-width: 1px;
+    border-style: solid;
+    border-color: shade(@theme_base_color, 0.8);
+    border-radius: 2px;
+    background-color: shade(@theme_base_color, 1.02);
+    background-image: none;
+    color: @theme_text_color;
+}
+
+.content-view .button:hover {
+    border-color: shade(@theme_base_color, 0.7);
+    background-color: shade(@theme_base_color, 1.10);
+    background-image: none;
+}
+
+.content-view .button:active {
+    border-color: shade(@theme_base_color, 0.6);
+    background-color: shade(@theme_base_color, 0.85);
+    background-image: none;
+}
+
+.content-view .button:active:hover {
+    border-color: shade(@theme_base_color, 0.7);
+    color: shade(@theme_text_color, 1.10);
+}
+
+.content-view .button:insensitive {
+    border-color: shade(@theme_base_color, 0.8);
+    background-color: shade(@theme_base_color, 0.95);
+    background-image: none;
+}
+
+.content-view .help_button * {
+    color: @theme_text_color;
+}   
+
+.content-view .toolbar {
+    -GtkWidget-window-dragging: true;
+
+    padding: 1px;
+    border-width: 0 0 1px 0;
+    border-style: solid;
+    border-color: shade(@theme_base_color, 0.8);
+    background-color: @theme_base_color;
+    background-image: none;
+}
+
+.content-view .menu {
+    padding: 0;
+    border-radius: 0;
+    border-style: none;
+    background-color: @menu_bg_color;
+    background-image: none;
+    color: @menu_fg_color;
+}
+
+/**************
+ * sourcelist *
+ **************/
+.source-list,
+.source-list.view {
+    border-radius: 0;
+    background-color: @theme_bg_color;
+    background-image: none;
+    color: mix(@theme_fg_color, @theme_bg_color, 0.1);
+}
+
+.source-list {
+    -GtkTreeView-horizontal-separator: 1;
+    -GtkTreeView-vertical-separator: 1;
+}
+
+.source-list.view:selected,
+.source-list.view:prelight:selected {
+    border-width: 1px 0;
+    border-style: solid;
+    border-top-color: shade(@theme_bg_color, 0.85);
+    border-bottom-color: shade(@theme_bg_color, 1.12);
+    background-image: linear-gradient(to bottom,
+                                      shade(mix(shade(@theme_base_color, 0.9), shade(@theme_selected_bg_color, 1.35), 0.1), 0.87),
+                                      shade(mix(shade(@theme_base_color, 0.9), shade(@theme_selected_bg_color, 1.35), 0.1), 0.95) 10%,
+                                      shade(mix(shade(@theme_base_color, 0.9), shade(@theme_selected_bg_color, 1.35), 0.1), 0.99) 92%,
+                                      shade(mix(shade(@theme_base_color, 0.9), shade(@theme_selected_bg_color, 1.35), 0.1), 0.92)
+                                      );
+
+    color: mix(@theme_text_color, @theme_base_color, 0.3);
+}
+
+.source-list.view:prelight {
+    border-color: mix(shade(@theme_base_color, 0.9), shade(@theme_selected_bg_color, 1.35), 0.3);
+    background-color: mix(shade(@theme_base_color, 0.9), shade(@theme_selected_bg_color, 1.35), 0.3);
+    background-image: none;
+}
+
+.source-list.badge,
+.source-list.badge:prelight,
+.source-list.badge:selected,
+.source-list.badge:prelight:selected {
+    margin: 0 3px;
+    padding: 0 6px;
+    border-width: 0;
+    border-radius: 10px;
+    background-image: linear-gradient(to bottom,
+                                      shade(@theme_selected_bg_color, 1.1),
+                                      shade(@theme_selected_bg_color, 0.9)
+                                      );
+    color: @theme_selected_fg_color;
+}
+
+/******************
+ * no undo button *
+ ******************/
+.button.noundo,
+.content-view .button.noundo {
+    border-color: shade(@error_bg_color, 0.8);
+    background-color: shade(@error_bg_color, 1.05);
+    background-image: none;
+    color: @error_fg_color;
+}
+
+.button.noundo:hover,
+.content-view .button.noundo:hover {
+    border-color: shade(@error_bg_color, 0.7);
+    background-color: @error_bg_color;
+    background-image: none;
+}
+
+.button.noundo:active,
+.content-view .button.noundo:active {
+    border-color: shade(@error_bg_color, 0.8);
+    background-color: shade(@error_bg_color, 0.95);
+    background-image: none;
+}
+
+.button.noundo:active:hover,
+.content-view .button.noundo:active:hover {
+    border-color: shade(@error_bg_color, 0.7);
+    background-color: shade(@error_bg_color, 0.97);
+    background-image: none;
+}
+
+.button.noundo GtkLabel,
+.button.noundo Gtklabel:prelight {
+    color: @error_fg_color;
+}
+
+/**********************
+ * affirmative button *
+ **********************/
+.button.affirmative,
+.content-view .button.affirmative {
+    border-color: shade(@theme_selected_bg_color, 0.8);
+    background-color: shade(@theme_selected_bg_color, 1.05);
+    background-image: none;
+    color: @theme_selected_fg_color;
+}
+
+.button.affirmative:hover,
+.content-view .button.affirmative:hover {
+    border-color: shade(@theme_selected_bg_color, 0.7);
+    background-color: @theme_selected_bg_color;
+    background-image: none;
+}
+
+.button.affirmative:active,
+.content-view .button.affirmative:active {
+    border-color: shade(@theme_selected_bg_color, 0.8);
+    background-color: shade(@theme_selected_bg_color, 0.95);
+    background-image: none;
+}
+
+.button.affirmative:active:hover,
+.content-view .button.affirmative:active:hover {
+    border-color: shade(@theme_selected_bg_color, 0.7);
+    background-color: shade(@theme_selected_bg_color, 0.97);
+    background-image: none;
+}
+
+.button.affirmative GtkLabel,
+.button.affirmative Gtklabel:prelight {
+    color: @theme_selected_fg_color;
+}
+
+/**********************
+ * secondary toolbars *
+ **********************/
+.secondary-toolbar.toolbar {
+    padding: 2px;
+    border-color: shade(@toolbar_bg_color, 0.8);
+    background-color: @toolbar_bg_color;
+    background-image: none;
+}
+
+.secondary-toolbar.toolbar .button {
+    border-color: shade(@toolbar_bg_color, 0.8);
+    background-color: shade(@toolbar_bg_color, 1.05);
+    background-image: none;
+    color: @toolbar_fg_color;
+}
+
+.secondary-toolbar.toolbar .button:hover {
+    border-color: shade(@toolbar_bg_color, 0.7);
+    background-color: shade(@toolbar_bg_color, 1.10);
+    background-image: none;
+}
+
+.secondary-toolbar.toolbar .button:active {
+    border-color: shade(@toolbar_bg_color, 0.8);
+    background-color: shade(@toolbar_bg_color, 0.95);
+    background-image: none;
+}
+
+.secondary-toolbar.toolbar .button:active:hover {
+    border-color: shade(@toolbar_bg_color, 0.7);
+}
+
+.secondary-toolbar.toolbar .button:focus,
+.secondary-toolbar.toolbar .button:hover:focus,
+.secondary-toolbar.toolbar .button:active:focus,
+.secondary-toolbar.toolbar .button:active:hover:focus {
+    border-color: shade(@toolbar_bg_color, 0.7);
+}
+
+.secondary-toolbar.toolbar .button:insensitive {
+    border-color: shade(@toolbar_bg_color, 0.85);
+    background-color: shade(@toolbar_bg_color, 0.9);
+    background-image: none;
+}
+
+.secondary-toolbar.toolbar .button:active *:insensitive {
+    border-color: shade(@toolbar_bg_color, 0.75);
+    background-color: shade(@toolbar_bg_color, 0.80);
+    background-image: none;
+}
+
+/*******************
+ * bottom toolbars *
+ *******************/
+.bottom-toolbar.toolbar {
+    padding: 6px;
+    border-width: 1px 0 0 0;
+    border-color: shade(@theme_bg_color, 0.8);
+    background-color: @theme_bg_color;
+    background-image: none;
+}
+
+.bottom-toolbar.toolbar .button {
+    border-color: shade(@theme_bg_color, 0.8);
+    background-color: shade(@theme_bg_color, 1.05);
+    background-image: none;
+    color: @theme_fg_color;
+}
+
+.bottom-toolbar.toolbar .button:hover {
+    border-color: shade(@theme_bg_color, 0.7);
+    background-color: shade(@theme_bg_color, 1.10);
+    background-image: none;
+}
+
+.bottom-toolbar.toolbar .button:active {
+    border-color: shade(@theme_bg_color, 0.8);
+    background-color: shade(@theme_bg_color, 0.95);
+    background-image: none;
+}
+
+.bottom-toolbar.toolbar .button:active:hover {
+    border-color: shade(@theme_bg_color, 0.7);
+}
+
+.bottom-toolbar.toolbar .button:focus,
+.bottom-toolbar.toolbar .button:hover:focus,
+.bottom-toolbar.toolbar .button:active:focus,
+.bottom-toolbar.toolbar .button:active:hover:focus {
+    border-color: shade(@theme_bg_color, 0.7);
+}
+
+.bottom-toolbar.toolbar .button:insensitive {
+    border-color: shade(@theme_bg_color, 0.85);
+    background-color: shade(@theme_bg_color, 0.9);
+    background-image: none;
+}
+
+.bottom-toolbar.toolbar .button:active *:insensitive {
+    border-color: shade(@theme_bg_color, 0.75);
+    background-color: shade(@theme_bg_color, 0.80);
+    background-image: none;
+}
+
+/*************
+ * statusbar *
+ *************/
+GraniteWidgetsStatusBar {
+    padding: 1px;
+    background-image: linear-gradient(to bottom,
+                                      shade(@theme_bg_color, 1.0),
+                                      shade(@theme_bg_color, 0.88)
+                                      );
+
+    box-shadow: inset 0 1px shade(@theme_bg_color, 0.8);
+}
+
+/***********
+ * popover *
+ ***********/
+GraniteWidgetsPopOver {
+    -GraniteWidgetsPopOver-arrow-width: 21;
+    -GraniteWidgetsPopOver-arrow-height: 12;
+    -GraniteWidgetsPopOver-border-radius: 5px;
+    -GraniteWidgetsPopOver-border-width: 1;
+    -GraniteWidgetsPopOver-shadow-size: 15;
+
+    margin: 0;
+    border-style: solid;
+    border-color: shade(@menu_bg_color, 0.8);
+    color: @menu_fg_color;
+}
+
+.popover_bg {
+    background-color: transparent;
+    background-image: linear-gradient(to bottom,
+                                      @menu_bg_color,
+                                      shade(@menu_bg_color, 0.98)
+                                      );
+}
+
+GraniteWidgetsPopOver .sidebar.view,
+GraniteWidgetsPopOver * {
+    background-color: transparent;
+    background-image: none;
+    color: @menu_fg_color;
+}
+
+GraniteWidgetsPopOver .sidebar.view:selected,
+GraniteWidgetsPopOver .sidebar.view:selected:focus,
+GraniteWidgetsPopOver *:selected,
+GraniteWidgetsPopOver *:selected:focus {
+    background-color: @theme_selected_bg_color;
+    background-image: none;
+    color: @theme_selected_fg_color;
+}
+
+GraniteWidgetsPopOver .button {
+    border-color: shade(@menu_bg_color, 0.8);
+    background-color: shade(@menu_bg_color, 1.08);
+    background-image: none;
+    color: @menu_fg_color;
+}
+
+GraniteWidgetsPopOver .button:hover {
+    border-color: shade(@menu_bg_color, 0.7);
+    background-color: shade(@menu_bg_color, 1.10);
+    background-image: none;
+    color: shade(@menu_fg_color, 0.7);
+}
+
+GraniteWidgetsPopOver .button:active {
+    border-color: shade(@menu_bg_color, 0.8);
+    background-color: shade(@menu_bg_color, 0.95);
+    background-image: none;
+}
+
+GraniteWidgetsPopOver .button:active:hover {
+    border-color: shade(@menu_bg_color, 0.7);
+    color: shade(@menu_fg_color, 0.7);
+}
+
+/* linked buttons */
+GraniteWidgetsPopOver .linked .button {
+    box-shadow: inset -1px 0 shade(@menu_bg_color, 0.9);
+}
+
+GraniteWidgetsPopOver .linked .button:active {
+    box-shadow: inset -1px 0 shade(@menu_bg_color, 0.8),
+                inset 1px 1px alpha(@dark_shadow, 0.06),
+                inset -1px -1px alpha(@dark_shadow, 0.06);
+}
+
+GraniteWidgetsPopOver .linked .button:insensitive {
+    box-shadow: inset -1px 0 shade(@menu_bg_color, 0.8),
+		inset 1px 1px alpha(@light_shadow, 0.2);
+}
+
+GraniteWidgetsPopOver .linked .button:last-child,
+GraniteWidgetsPopOver .linked .button:only-child,
+GraniteWidgetsPopOver .linked .button:insensitive:last-child,
+GraniteWidgetsPopOver .linked .button:insensitive:only-child,
+GraniteWidgetsPopOver .linked .button:active *:insensitive:last-child,
+GraniteWidgetsPopOver .linked .button:active *:insensitive:only-child {
+    box-shadow: inset 1px 1px alpha(@light_shadow, 0.4),
+                inset -1px 0 alpha(@light_shadow, 0.4);
+}
+
+GraniteWidgetsPopOver .linked .button:active:last-child,
+GraniteWidgetsPopOver .linked .button:active:only-child {
+    box-shadow: inset 1px 1px alpha(@dark_shadow, 0.06),
+                inset -1px -1px alpha(@dark_shadow, 0.06);
+}
+
+GraniteWidgetsPopOver .entry {
+    border-color: shade(@menu_bg_color, 0.7);
+    background-color: @menu_bg_color;
+    background-image: none;
+    color: @menu_fg_color;
+}
+
+GraniteWidgetsPopOver .entry:active,
+GraniteWidgetsPopOver .entry:focus {
+    border-color: shade(@menu_bg_color, 0.7);
+}
+
+GraniteWidgetsPopOver *.separator {
+    border-color: shade(@menu_bg_color, 0.9);
+    color: transparent;
+}
+
+.button.app {
+    border-width: 0;
+    border-radius: 2px;
+    background-color: transparent;
+    background-image: none;
+}
+
+.button.app:hover {
+    border-color: shade(@theme_selected_bg_color, 0.8);
+    background-image: linear-gradient(to bottom,
+                                      shade(@theme_selected_bg_color, 1.1),
+                                      shade(@theme_selected_bg_color, 0.9)
+                                      );
+
+    color: @theme_selected_fg_color;
+}
+
+.button.app:focus {
+    border-color: shade(@theme_selected_bg_color, 0.8);
+    background-image: linear-gradient(to bottom,
+                                      shade(@theme_selected_bg_color, 1.1),
+                                      shade(@theme_selected_bg_color, 0.9)
+                                      );
+
+    color: @theme_selected_fg_color;
+}
+
+/********
+ * gala *
+ ********/
+.gala-workspaces-background {
+    border-width: 1px 0 0 0;
+    border-color: shade(@panel_bg_color, 0.8);
+    background-color: @panel_bg_color;
+    background-image: none;
+}
+
+.gala-workspace-selected {
+    border-width: 1px;
+    border-radius: 2px;
+    border-color: shade(@theme_selected_bg_color, 0.9);
+    background-color: @theme_selected_bg_color;
+    background-image: none;
+}
+
+/*********
+ * files *
+ *********/
+.files-overlay-bar {
+    margin: 3px;
+    padding: 3px 6px;
+    border-width: 1px;
+    border-color: shade(@theme_base_color, 0.7);
+    border-radius: 2px;
+    background-image: linear-gradient(to bottom,
+                                      shade(@theme_bg_color, 1.1),
+                                      shade(@theme_bg_color, 0.9)
+                                      );
+}
+
+.files-overlay-bar GtkLabel {
+    color: @theme_text_color;
+}
+
+/*********
+ * noise *
+ *********/
+.album-list-view,
+.album-list-view * {
+    border-color: shade(@theme_base_color, 0.7);
+    border-radius: 0;
+    background-color: @theme_base_color;
+    background-image: none;
+    color: @theme_text_color;
+}
+
+.album-list-view GtkTreeView {
+    -GtkTreeView-vertical-separator: 1;
+    -GtkTreeView-grid-line-width: 0;
+
+    background-color: @theme_base_color;
+    background-image: none;
+    color: @theme_text_color;
+}
+
+.album-list-view GtkTreeView row:nth-child(even) {
+    border-width: 0;
+    border-style: none;
+    background-color: shade(@theme_base_color, 0.9);
+    background-image: none;
+}
+
+
+.album-list-view GtkTreeView row:nth-child(odd) {
+    border-width: 0;
+    border-style: none;
+    background-color: shade(@theme_base_color, 1.0);
+    background-image: none;
+}
+
+.album-list-view GtkTreeView row:selected {
+    background-color: @selected_bg_color;
+    background-image: none;
+    color: @selected_fg_color;
+}
+
+/**********
+ * birdie *
+ **********/
+BirdieWidgetsTweetList * {
+    background-color: transparent;
+    background-image: none;
+}
+
+/*********
+ * tweet *
+ *********/
+.tweet {
+    padding: 0;
+}
+
+/**********
+ * notify *
+ **********/
+.notify {
+    border-width: 1px;
+    border-style: solid;
+    border-color: shade(@theme_base_color, 0.7);
+    border-radius: 2px;
+    background-color: @theme_base_color;
+    background-image: none;
+    color: @theme_text_color;
+}
+
+.notify .low {
+}
+
+.notify .critical {
+}
+
+/*********
+ * panel *
+ *********/
+.panel {
+    background-color: @panel_bg_color;
+    background-image: none;
+    color: @panel_fg_color;
+    font: bold;
+}
+
+.panel .menubar .menuitem {
+    padding: 1px 3px;
+}
+
+.shadow {
+    background-color: transparent;
+    background-image: linear-gradient(to bottom,
+                                      rgba(0, 0, 0, 0.3),
+                                      transparent
+                                      );
+}
+
+.composited-indicator,
+.wingpanel-app-button, 
+.wingpanel-indicator-button {
+    padding: 0 2px;
+    background-color: transparent;
+    background-image: none;
+    color: @panel_fg_color;
+}
+
+.composited-indicator.menuitem:active,
+.composited-indicator.menuitem:prelight {
+    border-style: none;
+    background-image: none;
+}
diff --git a/themes/flat/gtk-3.0/apps/lightdm-gtk-greeter.css b/themes/flat/gtk-3.0/apps/lightdm-gtk-greeter.css
new file mode 100644
index 0000000..8a8f22c
--- /dev/null
+++ b/themes/flat/gtk-3.0/apps/lightdm-gtk-greeter.css
@@ -0,0 +1,92 @@
+/* General colors for the greeter */
+#login_window,
+#panel_window,
+#panel_window .menubar,
+#panel_window .menubar > .menuitem,
+#restart_dialog,
+#shutdown_dialog,
+#login_window,
+#login_window #user_combobox .arrow {
+    background-color: shade (@lightdm_bg_color, 0.9);
+    color: @lightdm_fg_color;
+}
+
+/* Add border-outlines to all the dialogs */
+#restart_dialog,
+#shutdown_dialog,
+#login_window {
+    border-width: 0px;
+    border-style: solid;
+    border-color: @dark_shadow;
+    box-shadow: inset 1px 0px alpha(@light_shadow,0.2),
+                inset -1px 0px alpha(@light_shadow,0.2),
+                inset 0px 1px alpha(@light_shadow,0.2),
+                inset 0px -1px alpha(@light_shadow,0.2);
+    border-radius: 10px;
+}
+
+/* Set all buttons and the user-avatar to a dark style */
+#login_window .button,
+#restart_dialog .button,
+#shutdown_dialog .button,
+#user_image {
+    background-color: shade(@lightdm_bg_color, 0.9);
+    background-image: none;
+    color: @lightdm_fg_color;
+    border-color: alpha(@dark_shadow, 0.9);
+    border-radius: 4px;
+    text-shadow: 0px 1px alpha(@dark_shadow, 1.0);
+    box-shadow: inset 1px 0px alpha(@light_shadow, 0.2),
+                inset -1px 0px alpha(@light_shadow, 0.2),
+                inset 0px 1px alpha(@light_shadow, 0.3),
+                inset 0px -1px alpha(@light_shadow, 0.1);
+}
+
+/* Add some padding to the buttons, except the user-combobox */
+#cancel_button,
+#login_button,
+#shutdown_button,
+#restart_button {
+    padding: 4px 16px 4px 16px;
+}
+
+/* Add more padding to the user-avatar */
+#user_image {
+    padding: 4px;
+}
+
+/* Highlight for default-buttons and focus for better keyboard-navigation */
+#login_window .button.default,
+#restart_dialog .button.default,
+#shutdown_dialog .button.default,
+#login_window .button:focus,
+#restart_dialog .button:focus,
+#shutdown_dialog .button:focus {
+    background-color: shade(@lightdm_bg_color, 1.25);
+    box-shadow: inset 1px 0px alpha(@light_shadow, 0.3),
+                inset -1px 0px alpha(@light_shadow, 0.3),
+                inset 0px 1px alpha(@light_shadow, 0.4),
+                inset 0px -1px alpha(@light_shadow, 0.2);
+}
+
+/* General button hover-effect */
+#login_window .button:hover,
+#restart_dialog .button:hover,
+#shutdown_dialog .button:hover {
+    background-color: shade(@lightdm_bg_color, 1.35);
+}
+
+/* Login/Unlock button is blue on hover */
+#login_button.button:hover {
+    background-color: shade(@theme_selected_bg_color, 0.6);
+}
+
+/* Shutdown button is red on hover */
+#shutdown_button.button:hover {
+    background-color: shade(@error_bg_color,0.95);
+}
+
+/* Restart button is dark yellow on hover */
+#restart_button.button:hover {
+    background-color: shade(@warning_bg_color,0.75);
+}
diff --git a/themes/flat/gtk-3.0/apps/lightdm-unity-greeter.css b/themes/flat/gtk-3.0/apps/lightdm-unity-greeter.css
new file mode 100644
index 0000000..c845404
--- /dev/null
+++ b/themes/flat/gtk-3.0/apps/lightdm-unity-greeter.css
@@ -0,0 +1,58 @@
+.lightdm.menu {
+    background-image: none;
+    background-color: alpha(black, 0.6);
+    border-color: alpha(white, 0.2);
+    border-radius: 3px;
+    padding: 1px;
+    color: white;
+}
+
+.lightdm-combo .menu {
+    background-color: alpha(black, 0.6);
+    border-radius: 0;
+    padding: 0;
+    color: white;
+}
+
+.lightdm.menu .menuitem *,
+.lightdm.menu .menuitem.check:active,
+.lightdm.menu .menuitem.radio:active {
+    color: white;
+}
+
+.lightdm.menubar {
+    background-image: none;
+    background-color: alpha(black, 0.5);
+}
+
+.lightdm-combo.combobox-entry .button,
+.lightdm-combo .cell,
+.lightdm-combo .button,
+.lightdm-combo .entry,
+.lightdm.button,
+.lightdm.entry {
+    background-image: none;
+    background-color: alpha(black, 0.3);
+    border-color: alpha(white, 0.6);
+    border-radius: 3px;
+    padding: 7px;
+    color: white;
+    text-shadow: none;
+}
+
+.lightdm.button,
+.lightdm.button:hover,
+.lightdm.button:active,
+.lightdm.button:active:focus,
+.lightdm.entry,
+.lightdm.entry:hover,
+.lightdm.entry:active,
+.lightdm.entry:active:focus {
+    background-image: none;
+}
+
+.lightdm.button:focus,
+.lightdm.entry:focus {
+    border-color: alpha(white, 0.9);
+    color: white;
+}
diff --git a/themes/flat/gtk-3.0/apps/unity.css b/themes/flat/gtk-3.0/apps/unity.css
new file mode 100644
index 0000000..aacd15f
--- /dev/null
+++ b/themes/flat/gtk-3.0/apps/unity.css
@@ -0,0 +1,31 @@
+UnityPanelWidget,
+.unity-panel {
+    border-width: 0 0 1px 0;
+    border-style: solid;
+    border-color: shade(@panel_bg_color, 1.0);
+    background-image: linear-gradient(to bottom,
+                                      shade(@panel_bg_color, 1.2),
+                                      shade(@panel_bg_color, 1.0)
+                                      );
+}
+
+.unity-panel.menubar,
+.unity-panel .menubar {
+}
+
+.unity-panel.menuitem,
+.unity-panel .menuitem {
+    border-width: 0 1px;
+    color: @panel_fg_color;
+}
+
+.unity-panel.menubar.menuitem:hover,
+.unity-panel.menubar .menuitem *:hover {
+    border-color: shade(@panel_bg_color, 0.8);
+    background-image: linear-gradient(to bottom,
+                                      shade(@theme_bg_color, 1.2),
+                                      shade(@theme_bg_color, 1.0)
+                                      );
+
+    color: @theme_fg_color;
+}
diff --git a/themes/flat/gtk-3.0/apps/xfce.css b/themes/flat/gtk-3.0/apps/xfce.css
new file mode 100644
index 0000000..0fa6a52
--- /dev/null
+++ b/themes/flat/gtk-3.0/apps/xfce.css
@@ -0,0 +1,59 @@
+XfceHeading {
+    background-color: @theme_base_color;
+    background-image: none;
+    padding: 0;
+    border-width: 0;
+}
+
+.xfce4-panel {
+    background-color: shade(@panel_bg_color, 0.35);
+    font: normal;
+    color: @panel_fg_color;
+}
+
+.xfce4-panel .button {
+    border-radius: 0;
+    padding: 1px;
+    color: @panel_fg_color;
+}
+
+.xfce4-panel .button:active {
+    background-image: none;
+    background-color: shade(@panel_bg_color, 0.7);
+    border-color: shade(@panel_bg_color, 0.6);
+    color: @panel_fg_color;
+}
+
+.xfce4-panel .button:hover,
+.xfce4-panel .button:active:hover {
+    background-image: linear-gradient(to bottom,
+                                      shade(@selected_bg_color, 0.88),
+                                      shade(@selected_bg_color, 0.85)
+                                      );
+
+    border-color: shade(@selected_bg_color, 0.6);
+    box-shadow: inset 0 -1px alpha(white, 0.0),
+                inset 1px 0 alpha(white, 0.15),
+                inset -1px 0 alpha(white, 0.15),
+                inset 0 1px alpha(white, 0.15);
+    color: @panel_fg_color;
+}
+
+/* menu-styling, e.g. for indicators */
+.xfce4-panel .menu,
+.xfce4-panel .menu GtkLabel,
+.xfce4-panel .menu GtkImage {
+    background-color: shade(@menu_bg_color, 1.18);
+    color: @menu_fg_color;
+}
+
+.xfce4-panel .menu *:hover {
+    border-color: shade(@theme_selected_bg_color, 0.8);
+    background-color: @theme_selected_bg_color;
+}
+
+.xfce4-panel .menu GtkLabel:hover,
+.xfce4-panel .menu GtkImage:hover {
+    background-image: none;
+    background-color: transparent;
+}
diff --git a/themes/flat/gtk-3.0/gtk-widgets.css b/themes/flat/gtk-3.0/gtk-widgets.css
new file mode 100644
index 0000000..1c2184b
--- /dev/null
+++ b/themes/flat/gtk-3.0/gtk-widgets.css
@@ -0,0 +1,3678 @@
+/* NOTES to contributors:
+ * use 4 spaces indents, and keep code ALIGNED and ORDERED */
+
+/* default */
+* {
+    background-clip: padding-box;
+
+    -GtkArrow-arrow-scaling: 0.6;
+    -GtkButton-child-displacement-x: 0;
+    -GtkButton-child-displacement-y: 0;
+    -GtkButton-default-border: 0;
+    -GtkButton-default-outside-border: 0;
+    -GtkButton-image-spacing: 0;
+    -GtkButton-inner-border: 1;
+    -GtkButton-interior-focus: true;
+    -GtkButtonBox-child-internal-pad-x: 6;
+    -GtkButtonBox-child-internal-pad-y: 3;
+    -GtkButtonBox-child-min-height: 0;
+    -GtkButtonBox-child-min-width: 0;
+    -GtkCheckButton-indicator-size: 12;
+    -GtkCheckMenuItem-indicator-size: 14;
+    -GtkExpander-expander-size: 11;
+    -GtkExpander-expander-spacing: 0;
+    -GtkHTML-link-color: @link_color;
+    -GtkIMHtml-hyperlink-color: @link_color;
+    -GtkMenu-horizontal-padding: 0;
+    -GtkMenu-vertical-padding: 0;
+    -GtkNotebook-initial-gap: 0;
+    -GtkNotebook-tab-overlap: -2;
+    -GtkPaned-handle-size: 3;
+    -GtkProgressBar-min-horizontal-bar-height: 10;
+    -GtkProgressBar-min-vertical-bar-width: 10;
+    -GtkRange-slider-width: 13;
+    -GtkRange-stepper-size: 13;
+    -GtkRange-stepper-spacing: 0;
+    -GtkRange-trough-border: 0;
+    -GtkRange-trough-under-steppers: 1;
+    -GtkScale-value-spacing: 0;
+    -GtkScrollbar-has-backward-stepper: false;
+    -GtkScrollbar-has-forward-stepper: false;
+    -GtkScrollbar-min-slider-length: 25;
+    -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: 11;
+    -GtkWidget-focus-line-width: 0;
+    -GtkWidget-focus-padding: 0;
+    -GtkWidget-interior-focus: false;
+    -GtkWidget-link-color: @link_color;
+    -GtkWidget-visited-link-color: @link_color;
+    -GtkWindow-resize-grip-height: 13;
+    -GtkWindow-resize-grip-width: 13;
+    -WnckTasklist-fade-overlay-rect: 0;
+
+    outline-color: alpha(@theme_fg_color, 0.3);
+    outline-style: dashed;
+    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.85);
+}
+
+*:insensitive,
+*:insensitive:insensitive {
+    color: mix(@theme_fg_color, @theme_bg_color, 0.4);
+}
+
+/* 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 {
+    transition: none;
+}
+
+.entry {
+    transition: all 150ms ease-out;
+}
+
+.entry:focus {
+    transition: all 150ms ease-in;
+}
+
+/* disable box shadow */
+.primary-toolbar GtkComboBox,
+.primary-toolbar .button *,
+.primary-toolbar .button,
+column-header .button,
+GtkCalendar.button {
+    box-shadow: none;
+}
+
+/*************
+ * assistant *
+ *************/
+GtkAssistant .sidebar .highlight {
+    font: bold;
+}
+
+GtkAssistant .sidebar {
+    padding: 2px;
+    border-width: 0 1px 0 0;
+    border-style: solid;
+    border-right-color: shade(@theme_bg_color, 0.7);
+    border-radius: 0;
+    background-color: mix(shade(@theme_base_color, 0.9), shade(@theme_selected_bg_color, 1.35), 0.1);
+    color: @theme_text_color;
+}
+
+/**********
+ * button *
+ **********/
+.button {
+    -GtkWidget-focus-padding: 0;
+    -GtkWidget-focus-line-width: 0;
+
+    padding: 2px 4px;
+    border-width: 1px;
+    border-style: solid;
+    border-color: shade(@theme_bg_color, 0.7);
+    border-radius: 2px;
+    background-color: shade(@theme_bg_color, 1.1);
+
+    color: @theme_fg_color;
+}
+
+.button:hover {
+    border-color: shade(@theme_bg_color, 0.6);
+    background-color: shade(@theme_bg_color, 0.9);
+}
+
+.button:active {
+    border-color: shade(@theme_bg_color, 0.6);
+    background-color: shade(@theme_bg_color, 0.9);
+}
+
+.button:active:hover {
+    border-color: shade(@theme_bg_color, 0.6);
+    background-color: shade(@theme_bg_color, 0.9);
+}
+
+.button:focus,
+.button:hover:focus,
+.button:active:focus,
+.button:active:hover:focus {
+    border-color: shade(@theme_bg_color, 0.4);
+}
+
+.button:insensitive {
+    border-color: shade(@theme_bg_color, 0.7);
+    background-color: @theme_bg_color;
+    text-shadow: 0 1px shade(@theme_bg_color, 1.2);
+}
+
+.button:active *:insensitive {
+    border-color: shade(@theme_bg_color, 0.7);
+    background-color: shade(@theme_bg_color, 0.95);
+}
+
+/* default button */
+.button.default {
+    border-color: shade(@theme_selected_bg_color, 0.8);
+    background-image: linear-gradient(to bottom,
+                                      shade(alpha(@theme_selected_bg_color, 0.7), 1.05),
+                                      shade(alpha(@theme_selected_bg_color, 0.7), 0.97)
+                                      );
+}
+
+.button.default:hover {
+    border-color: shade(@theme_selected_bg_color, 0.8);
+    background-image: linear-gradient(to bottom,
+                                      shade(mix(@theme_base_color, @theme_selected_bg_color, 0.7), 1.05),
+                                      shade(mix(@theme_base_color, @theme_selected_bg_color, 0.7), 0.97)
+                                      );
+}
+
+.button.default:active {
+    border-color: shade(@theme_selected_bg_color, 0.7);
+    background-image: linear-gradient(to bottom,
+                                      shade(alpha(@theme_selected_bg_color, 0.7), 1.05),
+                                      shade(alpha(@theme_selected_bg_color, 0.7), 0.97)
+                                      );
+}
+
+.button.default:active:hover {
+    border-color: shade(@theme_selected_bg_color, 0.8);
+    background-image: linear-gradient(to bottom,
+                                      shade(mix(@theme_base_color, @theme_selected_bg_color, 0.7), 1.05),
+                                      shade(mix(@theme_base_color, @theme_selected_bg_color, 0.7), 0.97)
+                                      );
+}
+
+/***************
+ * resize grip *
+ ***************/
+.grip {
+     engine: xfce;
+     -xfce-grip-style: rough;
+}
+
+/******************
+ * pane separator *
+ ******************/
+.pane-separator.horizontal {
+    engine: xfce;
+     -xfce-grip-style: rough;
+}
+
+.pane-separator.vertical {
+    engine: xfce;
+     -xfce-grip-style: rough;
+}
+
+/****************
+ * 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, 0.8);
+    background-color: @theme_selected_bg_color;
+
+    color: @theme_selected_fg_color;
+
+    -GtkWidget-focus-padding: 1;
+    -GtkWidget-focus-line-width: 0;
+}
+
+/*******************
+ * check and radio *
+ *******************/
+.check,
+.check row:selected,
+.check row:selected:focus,
+.check row:hover {
+    engine: xfce;
+    background-color: @theme_base_color;
+    border-color: darker(@theme_bg_color);
+    color: @theme_text_color;
+}
+
+.check:insensitive,
+.check row:selected:insensitive,
+.check row:selected:focus:insensitive {
+    background-color: @theme_bg_color;
+    border-color: darker(@theme_bg_color);
+}
+
+.check:active,
+.check row:selected:active,
+.check row:selected:focus:active {
+    background-color: @theme_base_color;
+    border-color: darker(@theme_bg_color);
+    color: @theme_text_color;
+}
+
+.check:active:hover,
+.check row:selected:active:hover,
+.check row:selected:focus:active:hover {
+    background-color: @theme_base_color;
+    border-color: darker(@theme_bg_color);
+    color: @theme_text_color;
+}
+
+.check:active:insensitive,
+.check row:selected:active:insensitive,
+.check row:selected:focus:active:insensitive {
+    background-color: @theme_bg_color;
+    border-color: darker(@theme_bg_color);
+    color: mix(@theme_fg_color, @theme_bg_color, 0.4);
+}
+
+.check:inconsistent,
+.check row:selected:inconsistent,
+.check row:selected:focus:inconsistent {
+}
+
+.check:inconsistent:hover,
+.check row:selected:inconsistent:hover,
+.check row:selected:focus:inconsistent:hover {
+}
+
+.check:inconsistent:insensitive,
+.check row:selected:inconsistent:insensitive,
+.check row:selected:focus:inconsistent:insensitive {
+}
+
+.radio,
+.radio row:selected,
+.radio row:selected:focus {
+    engine: xfce;
+    background-color: @theme_base_color;
+    border-color: darker(@theme_bg_color);
+    color: @theme_text_color;
+}
+
+.radio:insensitive,
+.radio row:selected:insensitive,
+.radio row:selected:focus:insensitive {
+    background-color: @theme_bg_color;
+    border-color: darker(@theme_bg_color);
+}
+
+.radio:active,
+.radio row:selected:active,
+.radio row:selected:focus:active {
+    background-color: @theme_base_color;
+    border-color: darker(@theme_bg_color);
+    color: @theme_text_color;
+}
+
+.radio:active:hover,
+.radio row:selected:active:hover,
+.radio row:selected:focus:active:hover {
+    background-color: @theme_base_color;
+    border-color: darker(@theme_bg_color);
+    color: @theme_text_color;
+}
+
+.radio:active:insensitive,
+.radio row:selected:active:insensitive,
+.radio row:selected:focus:active:insensitive {
+    background-color: @theme_bg_color;
+    border-color: darker(@theme_bg_color);
+    color: mix(@theme_fg_color, @theme_bg_color, 0.4);
+}
+
+.radio:inconsistent,
+.radio row:selected:inconsistent,
+.radio row:selected:focus:inconsistent {
+}
+
+.radio:inconsistent:hover,
+.radio row:selected:inconsistent:hover,
+.radio row:selected:focus:inconsistent:hover {
+}
+
+.radio:inconsistent:insensitive,
+.radio row:selected:inconsistent:insensitive,
+.radio row:selected:focus:inconsistent:insensitive {
+}
+
+.menuitem.check,
+.menuitem.radio {
+    border-color: darker(@theme_bg_color);
+    engine: xfce;
+}
+
+.menuitem.check:active {
+    border-color: darker(@theme_bg_color);
+}
+
+.menuitem.check:active:hover {
+    border-color: darker(@theme_bg_color);
+}
+
+.menuitem.check:active:insensitive {
+}
+
+.menuitem.check:inconsistent:hover,
+.menuitem.radio:inconsistent:hover {
+}
+
+.menuitem.check:inconsistent,
+.menuitem.radio:inconsistent {
+}
+
+.menuitem.check:inconsistent:insensitive,
+.menuitem.radio:inconsistent:insensitive {
+}
+
+.menuitem.radio:active {
+    border-color: darker(@theme_bg_color);
+}
+
+.menuitem.radio:active:hover {
+    border-color: darker(@theme_bg_color);
+}
+
+.menuitem.radio:active:insensitive {
+}
+
+GtkIconView.content-view.cell.check {
+}
+
+GtkIconView.content-view.cell.check:active {
+}
+
+GtkCheckButton:hover,
+GtkCheckButton:active:hover,
+GtkCheckButton:selected,
+GtkCheckButton:selected:focus {
+    /* FIXME: don't change the check's inner bg-color on hover */
+    background-color: shade(@theme_bg_color, 1.05);
+}
+
+/*****************
+ * column-header *
+ *****************/
+column-header .button,
+column-header .button:active {
+    border-width: 0 1px 1px 0;
+    border-radius: 0;
+}
+
+column-header .button,
+column-header .button:active,
+column-header .button:focus,
+column-header .button:active:focus {
+    border-color: shade(@theme_bg_color, 0.97);
+    border-bottom-color: shade(@theme_bg_color, 0.9);
+    background-image: linear-gradient(to bottom,
+                                      shade(shade(@theme_bg_color, 1.14), 0.98),
+                                      shade(shade(@theme_bg_color, 1.14), 1.35)
+                                      );
+}
+
+column-header .button:hover,
+column-header .button:active:hover,
+column-header .button:hover:focus,
+column-header .button:active:hover:focus {
+    border-color: shade(@theme_bg_color, 0.97);
+    border-bottom-color: shade(@theme_bg_color, 0.9);
+    background-image: linear-gradient(to bottom,
+                                      shade(shade(@theme_bg_color, 0.98), 0.98),
+                                      shade(shade(@theme_bg_color, 0.98), 1.35)
+                                      );
+}
+
+column-header:last-child .button {
+    border-width: 0 0 1px 0;
+}
+
+/****************
+ * 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: @theme_bg_color;
+}
+
+/***********
+ * gtkhtml *
+ ***********/
+GtkHTML {
+    background-color: @theme_base_color;
+    color: @theme_text_color;
+}
+
+/***********
+* calendar *
+************/
+GtkCalendar {
+    padding: 0;
+}
+
+GtkCalendar:inconsistent {
+    color: mix(@theme_fg_color, @theme_bg_color, 0.5);
+}
+
+GtkCalendar.view {
+    border-width: 1px;
+    border-style: solid;
+    border-color: shade(@theme_bg_color, 0.8);
+    border-radius: 0;
+    background-color: @theme_base_color;
+    background-image: none;
+}
+
+GtkCalendar.header {
+    border-width: 1px;
+    border-style: solid;
+    border-color: shade(@theme_bg_color, 0.8);
+    border-radius: 0;
+    background-image: linear-gradient(to bottom,
+                                      shade(shade(@theme_bg_color, 1.02), 1.05),
+                                      shade(shade(@theme_bg_color, 1.02), 0.97)
+                                      );
+}
+
+GtkCalendar.button,
+GtkCalendar.button:hover,
+GtkCalendar.button:insensitive {
+    border-width: 0;
+    background-color: transparent;
+    background-image: none;
+}
+
+.highlight,
+GtkCalendar.highlight {
+    border-width: 0;
+    background-color: transparent;
+    color: @theme_selected_bg_color;
+}
+
+/******************
+ * 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:insensitive,
+GtkComboBox.combobox-entry .button,
+GtkComboBox.combobox-entry .button:hover,
+GtkComboBox.combobox-entry .button:active,
+GtkComboBox.combobox-entry .button:insensitive {
+    border-width: 1px 1px 1px 1px;
+    border-bottom-left-radius: 0;
+    border-top-left-radius: 0;
+}
+
+/*********
+ * entry *
+ *********/
+.entry {
+    padding: 3px;
+    border-width: 1px;
+    border-style: solid;
+    border-color: shade(@theme_bg_color, 0.7);
+    border-radius: 2px;
+    background-image: linear-gradient(to bottom,
+                                      shade(@theme_base_color, 0.99),
+                                      @theme_base_color
+                                      );
+    background-color: @theme_base_color;
+
+    color: @theme_text_color;
+}
+
+.entry:active,
+.entry:focus {
+    border-color: shade(@theme_selected_bg_color, 0.8);
+}
+
+.entry:selected,
+.entry:selected:focus {
+    background-color: @theme_selected_bg_color;
+    color: @theme_selected_fg_color;
+}
+
+.entry:insensitive {
+    border-color: shade(@theme_bg_color, 0.8);
+    background-color: @theme_bg_color;
+    background-image: none;
+    color: mix(@theme_text_color, @theme_base_color, 0.4);
+}
+
+.entry.progressbar {
+    border-width: 0;
+    border-radius: 1px;
+    background-image: linear-gradient(to bottom,
+                                      shade(@theme_selected_bg_color, 1.15),
+                                      shade(@theme_selected_bg_color, 0.95)
+                                      );
+
+    color: @theme_selected_fg_color;
+}
+
+/************
+ * expander *
+ ************/
+.expander {
+    color: alpha(@theme_fg_color, 0.7);
+}
+
+.expander:hover {
+    color: alpha(@theme_fg_color, 0.8);
+}
+
+/*********
+ * frame *
+ *********/
+.frame {
+    border-width: 1px;
+    border-style: solid;
+    border-color: shade(@theme_bg_color, 0.7);
+    border-radius: 0;
+}
+
+/*******************
+ * scrolled window *
+ *******************/
+GtkScrolledWindow.frame {
+    border-width: 1px;
+    border-style: solid;
+    border-color: shade(@theme_bg_color, 0.7);
+    border-radius: 0;
+}
+
+/* avoid double borders when a viewport is 
+ * packed into a GtkScrolledWindow */
+GtkScrolledWindow GtkViewport.frame {
+    border-style: none;
+}
+
+/************
+ * iconview *
+ ************/
+GtkIconView.view.cell:selected,
+GtkIconView.view.cell:selected:focus {
+    border-width: 1px;
+    border-style: solid;
+    border-color: shade(@theme_selected_bg_color, 0.8);
+    border-radius: 3px;
+    background-image: linear-gradient(to bottom,
+                                      shade(@theme_selected_bg_color, 1.2),
+                                      shade(@theme_selected_bg_color, 1.0)
+                                      );
+
+    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-width: 0;
+    border-style: none;
+}
+
+.info {
+    border-width: 1px;
+    border-style: solid;
+    border-color: shade(@info_bg_color, 0.7);
+    background-image: linear-gradient(to bottom,
+                                      shade(@info_bg_color, 1.1),
+                                      shade(@info_bg_color, 1.0)
+                                      );
+
+    color: @info_fg_color;
+}
+
+.info .button {
+    border-top-color: shade(@info_bg_color, 0.8);
+    border-right-color: shade(@info_bg_color, 0.72);
+    border-left-color: shade(@info_bg_color, 0.72);
+    border-bottom-color: shade(@info_bg_color, 0.7);
+    background-image: linear-gradient(to bottom,
+                                      shade(shade(@info_bg_color, 1.02), 1.05),
+                                      shade(shade(@info_bg_color, 1.02), 0.97)
+                                      );
+
+    color: @info_fg_color;
+}
+
+.info .button:hover {
+    border-top-color: shade(@info_bg_color, 0.85);
+    border-right-color: shade(@info_bg_color, 0.78);
+    border-left-color: shade(@info_bg_color, 0.78);
+    border-bottom-color: shade(@info_bg_color, 0.7);
+    background-image: linear-gradient(to bottom,
+                                      shade(@info_bg_color, 1.15),
+                                      shade(@info_bg_color, 1.07)
+                                      );
+}
+
+.info .button:active {
+    border-color: shade(@info_bg_color, 0.6);
+    background-image: linear-gradient(to bottom,
+                                      shade(shade(@info_bg_color, 0.85), 1.05),
+                                      shade(shade(@info_bg_color, 0.85), 0.97)
+                                      );
+}
+
+.info .button:active:hover {
+    border-top-color: shade(@info_bg_color, 0.85);
+    border-right-color: shade(@info_bg_color, 0.78);
+    border-left-color: shade(@info_bg_color, 0.78);
+    border-bottom-color: shade(@info_bg_color, 0.7);
+    background-image: linear-gradient(to bottom,
+                                      shade(@info_bg_color, 1.15),
+                                      shade(@info_bg_color, 1.07)
+                                      );
+}
+
+.info .button.close {
+    color: @info_fg_color;
+}
+
+.info .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 {
+    color: @info_fg_color;
+    background-image: linear-gradient(to bottom,
+                                      alpha(black, 0.1),
+                                      transparent);
+}
+
+.warning {
+    border-width: 1px;
+    border-style: solid;
+    border-color: shade(@warning_bg_color, 0.7);
+    background-image: linear-gradient(to bottom,
+                                      shade(@warning_bg_color, 1.1),
+                                      shade(@warning_bg_color, 1.0)
+                                      );
+
+    color: @warning_fg_color;
+}
+
+.warning .button {
+    border-top-color: shade(@warning_bg_color, 0.8);
+    border-right-color: shade(@warning_bg_color, 0.72);
+    border-left-color: shade(@warning_bg_color, 0.72);
+    border-bottom-color: shade(@warning_bg_color, 0.7);
+    background-image: linear-gradient(to bottom,
+                                      shade(shade(@warning_bg_color, 1.02), 1.05),
+                                      shade(shade(@warning_bg_color, 1.02), 0.97)
+                                      );
+
+    color: @warning_fg_color;
+}
+
+.warning .button:hover {
+    border-top-color: shade(@warning_bg_color, 0.85);
+    border-right-color: shade(@warning_bg_color, 0.78);
+    border-left-color: shade(@warning_bg_color, 0.78);
+    border-bottom-color: shade(@warning_bg_color, 0.7);
+    background-image: linear-gradient(to bottom,
+                                      shade(@warning_bg_color, 1.15),
+                                      shade(@warning_bg_color, 1.07)
+                                      );
+}
+
+.warning .button:active {
+    border-color: shade(@warning_bg_color, 0.6);
+    background-image: linear-gradient(to bottom,
+                                      shade(shade(@warning_bg_color, 0.85), 1.05),
+                                      shade(shade(@warning_bg_color, 0.85), 0.97)
+                                      );
+}
+
+.warning .button:active:hover {
+    border-top-color: shade(@warning_bg_color, 0.85);
+    border-right-color: shade(@warning_bg_color, 0.78);
+    border-left-color: shade(@warning_bg_color, 0.78);
+    border-bottom-color: shade(@warning_bg_color, 0.7);
+    background-image: linear-gradient(to bottom,
+                                      shade(@warning_bg_color, 1.15),
+                                      shade(@warning_bg_color, 1.07)
+                                      );
+}
+
+.warning .button.close {
+    color: @warning_fg_color;
+}
+
+.warning .button.close:hover {
+    background-image: linear-gradient(to bottom,
+                                      alpha(white, 0.3),
+                                      alpha(white, 0.2) 30%,
+                                      alpha(black, 0.02));
+}
+
+.warning .button.close:active {
+    color: @warning_fg_color;
+    background-image: linear-gradient(to bottom,
+                                      alpha(black, 0.1),
+                                      transparent);
+}
+
+.question {
+    border-width: 1px;
+    border-style: solid;
+    border-color: shade(@question_bg_color, 0.7);
+    background-image: linear-gradient(to bottom,
+                                      shade(@question_bg_color, 1.1),
+                                      shade(@question_bg_color, 1.0)
+                                      );
+
+    color: @question_fg_color;
+}
+
+.question .button {
+    border-top-color: shade(@question_bg_color, 0.8);
+    border-right-color: shade(@question_bg_color, 0.72);
+    border-left-color: shade(@question_bg_color, 0.72);
+    border-bottom-color: shade(@question_bg_color, 0.7);
+    background-image: linear-gradient(to bottom,
+                                      shade(shade(@question_bg_color, 1.02), 1.05),
+                                      shade(shade(@question_bg_color, 1.02), 0.97)
+                                      );
+
+    color: @question_fg_color;
+}
+
+.question .button:hover {
+    border-top-color: shade(@question_bg_color, 0.85);
+    border-right-color: shade(@question_bg_color, 0.78);
+    border-left-color: shade(@question_bg_color, 0.78);
+    border-bottom-color: shade(@question_bg_color, 0.7);
+    background-image: linear-gradient(to bottom,
+                                      shade(@question_bg_color, 1.15),
+                                      shade(@question_bg_color, 1.07)
+                                      );
+}
+
+.question .button:active {
+    border-color: shade(@question_bg_color, 0.6);
+    background-image: linear-gradient(to bottom,
+                                      shade(shade(@question_bg_color, 0.85), 1.05),
+                                      shade(shade(@question_bg_color, 0.85), 0.97)
+                                      );
+}
+
+.question .button:active:hover {
+    border-top-color: shade(@question_bg_color, 0.85);
+    border-right-color: shade(@question_bg_color, 0.78);
+    border-left-color: shade(@question_bg_color, 0.78);
+    border-bottom-color: shade(@question_bg_color, 0.7);
+    background-image: linear-gradient(to bottom,
+                                      shade(@question_bg_color, 1.15),
+                                      shade(@question_bg_color, 1.07)
+                                      );
+}
+
+.question .button.close {
+    color: @question_fg_color;
+}
+
+.question .button.close:hover {
+    background-image: linear-gradient(to bottom,
+                                      alpha(white, 0.3),
+                                      alpha(white, 0.2) 30%,
+                                      alpha(black, 0.02));
+}
+
+.question .button.close:active {
+    color: @question_fg_color;
+    background-image: linear-gradient(to bottom,
+                                      alpha(black, 0.1),
+                                      transparent);
+}
+
+.error {
+    border-width: 1px;
+    border-style: solid;
+    border-color: shade(@error_bg_color, 0.7);
+    background-image: linear-gradient(to bottom,
+                                      shade(@error_bg_color, 1.1),
+                                      shade(@error_bg_color, 1.0)
+                                      );
+
+    color: @error_fg_color;
+}
+
+.error .button {
+    border-top-color: shade(@error_bg_color, 0.8);
+    border-right-color: shade(@error_bg_color, 0.72);
+    border-left-color: shade(@error_bg_color, 0.72);
+    border-bottom-color: shade(@error_bg_color, 0.7);
+    background-image: linear-gradient(to bottom,
+                                      shade(shade(@error_bg_color, 1.02), 1.05),
+                                      shade(shade(@error_bg_color, 1.02), 0.97)
+                                      );
+
+    color: @error_fg_color;
+}
+
+.error .button:hover {
+    border-top-color: shade(@error_bg_color, 0.85);
+    border-right-color: shade(@error_bg_color, 0.78);
+    border-left-color: shade(@error_bg_color, 0.78);
+    border-bottom-color: shade(@error_bg_color, 0.7);
+    background-image: linear-gradient(to bottom,
+                                      shade(@error_bg_color, 1.15),
+                                      shade(@error_bg_color, 1.07)
+                                      );
+}
+
+.error .button:active {
+    border-color: shade(@error_bg_color, 0.6);
+    background-image: linear-gradient(to bottom,
+                                      shade(shade(@error_bg_color, 0.85), 1.05),
+                                      shade(shade(@error_bg_color, 0.85), 0.97)
+                                      );
+}
+
+.error .button:active:hover {
+    border-top-color: shade(@error_bg_color, 0.85);
+    border-right-color: shade(@error_bg_color, 0.78);
+    border-left-color: shade(@error_bg_color, 0.78);
+    border-bottom-color: shade(@error_bg_color, 0.7);
+    background-image: linear-gradient(to bottom,
+                                      shade(@error_bg_color, 1.15),
+                                      shade(@error_bg_color, 1.07)
+                                      );
+}
+
+.error .button.close {
+    color: @error_fg_color;
+}
+
+.error .button.close:hover {
+    background-image: linear-gradient(to bottom,
+                                      alpha(white, 0.3),
+                                      alpha(white, 0.2) 30%,
+                                      alpha(black, 0.02));
+}
+
+.error .button.close:active {
+    color: @error_fg_color;
+    background-image: linear-gradient(to bottom,
+                                      alpha(black, 0.1),
+                                      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: 1px;
+    border-style: solid;
+    border-color: shade(@theme_bg_color, 0.7);
+    border-radius: 3px;
+    background-image: linear-gradient(to bottom,
+                                      shade(@theme_bg_color, 1.1),
+                                      shade(@theme_bg_color, 0.9)
+                                      );
+
+    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);
+}
+
+/********
+ * menu *
+ ********/
+GtkTreeMenu.menu,
+GtkMenuToolButton.menu,
+GtkComboBox .menu {
+    background-color: @menu_bg_color;
+}
+
+.primary-toolbar .menu,
+.primary-toolbar .button .menu,
+.toolbar .menu,
+.toolbar .primary-toolbar .menu,
+.header-bar .menu,
+.header-bar .primary-toolbar .menu,
+.menu {
+    padding: 0;
+    border-radius: 0;
+    border-width: 1px;
+    border-style: solid;
+    border-color: shade(@menu_bg_color, 0.7);
+    background-color: @menu_bg_color;
+    color: @menu_fg_color;
+}
+
+.menu.button:hover,
+.menu.button:active,
+.menu.button:active *:insensitive,
+.menu.button:insensitive,
+.menu.button {
+    border-width: 0;
+    background-color: @menu_bg_color;
+    background-image: none;
+}
+
+.context-menu {
+    font: initial;
+}
+
+/* ubuntu software center menu */
+#toolbar-popup {
+    background-color: @menu_bg_color;
+    color: @menu_fg_color;
+}
+
+/***********
+ * menubar *
+ ***********/
+.menubar {
+    -GtkWidget-window-dragging: true;
+
+    border-style: none;
+    background-color: @menubar_bg_color;
+    background-image: none;
+    color: @menubar_fg_color;
+}
+
+/***************
+ * menubaritem *
+ ***************/
+.menubar.menuitem,
+.menubar .menuitem {
+    padding: 3px 8px;
+    border-width: 1px;
+    border-style: solid;
+    border-color: transparent;
+    background-color: transparent;
+    background-image: none;
+    color: @menubar_fg_color;
+}
+
+.menubar.menuitem:hover,
+.menubar .menuitem:hover {
+    border-color: shade(@theme_selected_bg_color, 1.1);
+    background-color: @theme_selected_bg_color;
+
+    color: @theme_selected_fg_color;
+}
+
+.menubar .menuitem *:hover {
+    color: @theme_selected_fg_color;
+}
+
+/************
+ * menuitem *
+ ************/
+GtkTreeMenu .menuitem {
+    padding: 0;
+    border-width: 0;
+}
+
+.menuitem,
+.menu .menuitem {
+    padding: 3px;
+    border-width: 1px;
+    border-style: solid;
+    border-color: transparent;
+    border-radius: 0;
+    background-color: transparent;
+    background-image: none;
+    color: @menu_fg_color;
+
+    -GtkMenuItem-arrow-scaling: 0.5;
+}
+
+.menu .menuitem:active,
+.menu .menuitem:hover {
+    border-color: shade(@theme_selected_bg_color, 0.8);
+    background-color: @theme_selected_bg_color;
+}
+
+.menu .menuitem:active,
+.menu .menuitem *:active,
+.menu .menuitem:hover,
+.menu .menuitem *:hover {
+    color: @theme_selected_fg_color;
+}
+
+.menu .menuitem:insensitive,
+.menu .menuitem *:insensitive {
+    color: mix(@menu_fg_color, @menu_bg_color, 0.4);
+}
+
+.menuitem.check,
+.menuitem.radio,
+.menuitem.check:hover,
+.menuitem.radio:hover,
+.menuitem.check:insensitive,
+.menuitem.radio:insensitive {
+    border-color: darker(@theme_bg_color);
+    background-color: transparent;
+    background-image: none;
+    engine: xfce;
+}
+
+.menuitem.check:active,
+.menuitem.radio:active {
+    border-color: darker(@theme_bg_color);
+    background-color: transparent;
+    engine: xfce;
+}
+
+.menuitem.arrow {
+    color: alpha(@menu_fg_color, 0.6);
+}
+
+.menuitem GtkCalendar:inconsistent {
+    color: mix(@menu_fg_color, @menu_bg_color, 0.5);
+}
+
+.menuitem GtkCalendar.button {
+    border-style: none;
+    background-color: transparent;
+    background-image: none;
+}
+
+.menuitem .entry {
+    border-color: shade(@menu_bg_color, 0.7);
+    background-color: @menu_bg_color;
+    background-image: none;
+    color: @menu_fg_color;
+}
+
+.menuitem .entry:active,
+.menuitem .entry:focus {
+    border-color: shade(@theme_selected_bg_color, 0.8);
+}
+
+.menuitem .accelerator {
+    color: alpha(@menu_fg_color, 0.6);
+}
+
+.menuitem .accelerator:hover {
+    color: alpha(@theme_selected_fg_color, 0.8);
+}
+
+.menuitem .accelerator:insensitive {
+    color: alpha(mix(@menu_fg_color, @menu_bg_color, 0.5), 0.7);
+}
+
+GtkModelMenuItem GtkBox GtkImage {
+    padding-right: 4px;
+}
+
+/************
+ * notebook *
+ ************/
+.notebook {
+    padding: 0;
+    border-width: 1px;
+    border-style: solid;
+    border-color: shade(@theme_bg_color, 0.8);
+    border-radius: 1px;
+    background-color: shade(@theme_bg_color, 1.05);
+    background-image: none;
+    background-clip: border-box;
+}
+
+.notebook GtkViewport {
+    background-color: @theme_base_color;
+    color: @theme_text_color;
+}
+
+.notebook tab {
+    padding: 3px;
+    border-color: shade(@theme_bg_color, 0.9);
+    border-radius: 1px;
+    background-color: @theme_bg_color;
+    background-image: none;
+}
+
+.notebook tab:active {
+    border-color: shade(@theme_bg_color, 0.8);
+    background-color: shade(@theme_bg_color, 1.05);
+    background-image: none;
+}
+
+.notebook tab GtkLabel {
+    color: @theme_fg_color;
+}
+
+.notebook tab.top {
+    border-width: 1px 1px 0 1px;
+    border-bottom-right-radius: 0;
+    border-bottom-left-radius: 0;
+}
+
+.notebook tab.top:active {
+    padding: 4px 3px;
+}
+
+.notebook tab.right {
+    border-width: 1px 1px 1px 0;
+    border-bottom-left-radius: 0;
+    border-top-left-radius: 0;
+}
+
+.notebook tab.right:active {
+    padding: 3px 4px;
+}
+
+.notebook tab.bottom {
+    border-width: 0 1px 1px 1px;
+    border-top-right-radius: 0;
+    border-top-left-radius: 0;
+}
+
+.notebook tab.bottom:active {
+    padding: 4px 3px;
+}
+
+.notebook tab.left {
+    border-width: 1px 0 1px 1px;
+    border-top-right-radius: 0;
+    border-bottom-right-radius: 0;
+}
+
+.notebook tab.left:active {
+    padding: 3px 4px;
+}
+
+/******************
+ * pane separator *
+ ******************/
+.pane-separator {
+    background-color: @theme_bg_color;
+    color: transparent;
+}
+
+/*************************
+ * progressbar and scale *
+ *************************/
+GtkProgressBar {
+    padding: 0;
+    border-width: 1px;
+    border-radius: 1px;
+}
+
+.progressbar,
+.progressbar row,
+.progressbar row:hover,
+.progressbar row:selected,
+.progressbar row:selected:focus {
+    border-width: 1px;
+    border-style: solid;
+    border-color: shade(@theme_selected_bg_color, 0.7);
+    background-color: @theme_selected_bg_color;
+}
+
+.progressbar.vertical {
+    background-color: @theme_selected_bg_color;
+}
+
+.trough,
+.trough row,
+.trough row:hover,
+.trough row:selected,
+.trough row:selected:focus {
+    border-width: 1px;
+    border-style: solid;
+    border-color: shade(@theme_bg_color, 0.7);
+    background-color: shade(@theme_bg_color, 1.15);
+}
+
+.trough.vertical {
+    background-color: shade(@theme_bg_color, 1.15);
+}
+
+/* level bars as used for password quality or remaining power */
+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;
+    border-radius: 1px;
+}
+
+.level-bar.fill-block {
+    border-width: 1px;
+    border-style: solid;
+    border-color: shade(@theme_selected_bg_color, 0.7);
+    background-image: linear-gradient(to bottom,
+                                      shade(@theme_selected_bg_color, 1.15),
+                                      shade(@theme_selected_bg_color, 0.95)
+                                      );
+}
+
+.level-bar.indicator-continuous.fill-block {
+    padding: 2px;
+    border-radius: 1px;
+}
+
+.level-bar.indicator-discrete.fill-block.horizontal {
+    margin: 0 1px;
+}
+
+.level-bar.indicator-discrete.fill-block.vertical {
+    margin: 1px 0;
+}
+
+/* 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 {
+    padding: 0;
+    border-width: 1px;
+    border-radius: 2px;
+
+    -GtkRange-slider-width: 13;
+    -GtkRange-trough-border: 1;
+    -GtkScale-slider-length: 13;
+}
+
+.scale.slider,
+.scale.slider.vertical {
+    border-radius: 2px;
+    background-color: shade(@theme_bg_color, 0.8);
+
+    /* we will draw the border using box shadow for now */
+    box-shadow: inset 1px 0 shade(@theme_bg_color, 0.6),
+                inset 0 1px shade(@theme_bg_color, 0.6),
+                inset -1px 0 shade(@theme_bg_color, 0.6),
+                inset 0 -1px shade(@theme_bg_color, 0.6);
+}
+
+.scale.slider:hover,
+.scale.slider.vertical:hover {
+    background-color: shade(@theme_bg_color, 0.67);
+
+    box-shadow: inset 1px 0 shade(@theme_bg_color, 0.5),
+                inset 0 1px shade(@theme_bg_color, 0.5),
+                inset -1px 0 shade(@theme_bg_color, 0.5),
+                inset 0 -1px shade(@theme_bg_color, 0.5);
+}
+
+.scale.slider:insensitive,
+.scale.slider.vertical:insensitive {
+    background-color: @theme_bg_color;
+
+    box-shadow: inset 1px 0 shade(@theme_bg_color, 0.8),
+                inset 0 1px shade(@theme_bg_color, 0.8),
+                inset -1px 0 shade(@theme_bg_color, 0.8),
+                inset 0 -1px shade(@theme_bg_color, 0.8);
+}
+
+.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-size: 50%;
+      background-repeat: no-repeat;
+      background-position: center;
+}
+
+.scale.mark {
+    border-color: shade(@theme_bg_color, 0.7);
+}
+
+.scale.trough,
+.scale.trough.vertical {
+    margin: 1px 0;
+    border-color: shade(@theme_bg_color, 0.7);
+    border-radius: 1px;
+    background-color: shade(@theme_bg_color, 1.1);
+}
+
+.scale.trough.vertical {
+    margin: 0 1px;
+}
+
+.menubar .menuitem .scale.highlight.left,
+.scale.highlight.left {
+    border-color: shade(@theme_bg_color, 0.7);
+    background-color: shade(@theme_bg_color, 0.9);
+}
+
+.menubar .menuitem .scale.highlight.left:hover {
+    border-color: shade(@theme_bg_color, 0.5);
+    background-color: shade(@theme_bg_color, 0.9);
+}
+
+.scale.highlight.bottom {
+    border-color: shade(@theme_bg_color, 0.7);
+    background-color: shade(@theme_bg_color, 0.9);
+}
+
+.scale.trough:insensitive,
+.scale.highlight.left:insensitive {
+    border-color: shade(@theme_bg_color, 0.9);
+    background-color: @theme_bg_color;
+}
+
+.scale.trough.vertical:insensitive,
+.scale.highlight.bottom:insensitive {
+    border-color: shade(@theme_bg_color, 0.9);
+    background-color: @theme_bg_color;
+}
+
+/*************
+ * scrollbar *
+ *************/
+.scrollbar {
+    -GtkRange-slider-width: 11;
+    border-width: 1px;
+    border-style: solid;
+    padding: 0;
+}
+
+.scrollbars-junction,
+.scrollbar.trough,
+.scrollbar.trough.vertical,
+.scrollbar.trough.horizontal {
+    border-width: 1px;
+    border-radius: 0;
+    background-image: none;
+    background-color: shade(@theme_bg_color, 1.15);
+}
+
+.scrollbar.slider,
+.scrollbar.button,
+.scrollbar.slider.vertical,
+.scrollbar.button.vertical,
+.scrollbar.slider.horizontal,
+.scrollbar.button.horizontal {
+    border-width: 1px;
+    border-color: shade(@theme_bg_color, 0.6);
+    background-color: shade(@theme_bg_color, 0.9);
+
+    color: shade(@theme_bg_color, 0.8);
+}
+
+.scrollbar.slider:hover,
+.scrollbar.slider.vertical:hover,
+.scrollbar.slider.horizontal:hover {
+    background-color: shade(@theme_bg_color, 0.67);
+}
+
+.scrollbar.button:insensitive,
+.scrollbar.button.vertical:insensitive,
+.scrollbar.button.horizontal:insensitive {
+}
+
+.scrollbar.slider.fine-tune:prelight:active {
+      background-size: 50%;
+      background-repeat: no-repeat;
+      background-position: center;
+}
+
+/* overlay scrollbar */
+OsThumb {
+    color: shade(@theme_bg_color, 0.6);
+}
+
+OsThumb:selected,
+OsScrollbar:selected {
+    background-color: @theme_selected_bg_color;
+}
+
+OsThumb:active,
+OsScrollbar:active {
+    background-color: shade(@theme_bg_color, 0.8);
+}
+
+OsThumb:insensitive,
+OsScrollbar:insensitive {
+    background-color: shade(@theme_bg_color, 0.97);
+}
+
+/*************
+ * separator *
+ *************/
+.sidebar.view.separator,
+.view.separator,
+.separator {
+    border-width: 1px;
+    border-style: solid;
+    border-color: shade(@theme_bg_color, 0.9);
+    color: shade(@theme_bg_color, 0.9);
+}
+
+.button .separator,
+.button.separator {
+    border-color: transparent;
+}
+
+.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: transparent;
+    color: transparent;
+}
+
+.primary-toolbar .button .separator,
+.primary-toolbar .button.separator,
+.toolbar .button .separator,
+.toolbar .button.separator,
+.header-bar .button .separator,
+.header-bar .button.separator {
+    border-color: transparent;
+}
+
+.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: transparent;
+}
+
+.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;
+}
+
+/***********
+ * sidebar *
+ ***********/
+.sidebar,
+.sidebar.view,
+.sidebar .view,
+.sidebar GtkScrolledWindow {
+    background-color: mix(shade(@theme_base_color, 0.9), shade(@theme_selected_bg_color, 1.35), 0.1);
+    color: mix(@theme_text_color, @theme_base_color, 0.3);
+}
+
+.sidebar .scrollbar.trough {
+    background-image: linear-gradient(to right,
+                                      shade(mix(shade(@theme_base_color, 0.9), shade(@theme_selected_bg_color, 1.35), 0.1), 0.9),
+                                      shade(mix(shade(@theme_base_color, 0.9), shade(@theme_selected_bg_color, 1.35), 0.1), 1.1)
+                                      );
+}
+
+.sidebar .frame {
+    border-width: 0;
+}
+
+.sidebar row:selected,
+.sidebar row:selected:hover,
+.sidebar row:selected:focus,
+.sidebar .view row:selected,
+.sidebar .view row:selected:hover,
+.sidebar .view row:selected:focus {
+    border-width: 1px 0;
+    border-style: solid;
+    border-top-color: shade(@theme_bg_color, 0.85);
+    border-bottom-color: shade(@theme_bg_color, 1.12);
+    background-image: linear-gradient(to bottom,
+                                      shade(mix(shade(@theme_base_color, 0.9), shade(@theme_selected_bg_color, 1.35), 0.1), 0.87),
+                                      shade(mix(shade(@theme_base_color, 0.9), shade(@theme_selected_bg_color, 1.35), 0.1), 0.95) 10%,
+                                      shade(mix(shade(@theme_base_color, 0.9), shade(@theme_selected_bg_color, 1.35), 0.1), 0.99) 92%,
+                                      shade(mix(shade(@theme_base_color, 0.9), shade(@theme_selected_bg_color, 1.35), 0.1), 0.92)
+                                      );
+
+    color: mix(@theme_text_color, @theme_base_color, 0.3);
+}
+
+.sidebar row:prelight,
+.sidebar .view row:prelight {
+    border-color: mix(shade(@theme_base_color, 0.9), shade(@theme_selected_bg_color, 1.35), 0.3);
+    background-color: mix(shade(@theme_base_color, 0.9), shade(@theme_selected_bg_color, 1.35), 0.3);
+    background-image: none;
+}
+
+/**************
+ * spinbutton *
+ **************/
+.spinbutton .button {
+    color: mix(@theme_text_color, @theme_base_color, 0.4);
+    padding: 2px 3px;
+    border-width: 0;
+    border-radius: 0;
+    border-style: none;
+    background-color: transparent;
+    background-image: none;
+    box-shadow: inset 1px 0 shade(@theme_base_color, 0.9);
+}
+
+.spinbutton .button:insensitive {
+    color: mix(@theme_text_color, @theme_base_color, 0.7);
+    box-shadow: inset 1px 0 shade(@theme_base_color, 0.9);
+}
+
+.spinbutton .button:active,
+.spinbutton .button:hover {
+    color: @theme_fg_color;
+}
+
+.spinbutton .button:first-child {
+    border-radius: 3px 0 0 3px;
+    box-shadow: none;
+}
+
+.spinbutton .button:last-child {
+    border-radius: 0 3px 3px 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.72);
+    border-left-color: shade(@theme_bg_color, 0.72);
+    border-bottom-color: shade(@theme_bg_color, 0.7);
+    border-radius: 3px;
+    background-image: linear-gradient(to bottom,
+                                      shade(shade(@theme_bg_color, 1.02), 1.05),
+                                      shade(shade(@theme_bg_color, 1.02), 0.97)
+                                      );
+
+    color: @theme_fg_color;
+    box-shadow: none;
+}
+
+.spinbutton.vertical .button:hover {
+    border-top-color: shade(@theme_bg_color, 0.85);
+    border-right-color: shade(@theme_bg_color, 0.78);
+    border-left-color: shade(@theme_bg_color, 0.78);
+    border-bottom-color: shade(@theme_bg_color, 0.7);
+    background-image: linear-gradient(to bottom,
+                                      shade(@theme_bg_color, 1.15),
+                                      shade(@theme_bg_color, 1.07)
+                                      );
+}
+
+.spinbutton.vertical .button:active {
+    border-color: shade(@theme_bg_color, 0.6);
+    background-image: linear-gradient(to bottom,
+                                      shade(shade(@theme_bg_color, 0.85), 1.05),
+                                      shade(shade(@theme_bg_color, 0.85), 0.97)
+                                      );
+}
+
+.spinbutton.vertical .button:active:hover {
+    border-top-color: shade(@theme_bg_color, 0.85);
+    border-right-color: shade(@theme_bg_color, 0.78);
+    border-left-color: shade(@theme_bg_color, 0.78);
+    border-bottom-color: shade(@theme_bg_color, 0.7);
+    background-image: linear-gradient(to bottom,
+                                      shade(@theme_bg_color, 1.15),
+                                      shade(@theme_bg_color, 1.07)
+                                      );
+}
+
+.spinbutton.vertical .button:focus,
+.spinbutton.vertical .button:hover:focus,
+.spinbutton.vertical .button:active:focus,
+.spinbutton.vertical .button:active:hover:focus {
+    border-color: shade(@theme_selected_bg_color, 0.8);
+}
+
+.spinbutton.vertical .button:insensitive {
+    border-color: shade(@theme_bg_color, 0.8);
+    background-image: linear-gradient(to bottom,
+                                      shade(shade(@theme_bg_color, 0.95), 1.05),
+                                      shade(shade(@theme_bg_color, 0.95), 0.97)
+                                      );
+
+    color: mix(@theme_fg_color, @theme_bg_color, 0.4);
+}
+
+.spinbutton.vertical .button:first-child {
+    border-width: 1px;
+    border-bottom-width: 0;
+    border-radius: 3px;
+    border-bottom-right-radius: 0;
+    border-bottom-left-radius: 0;
+}
+
+.spinbutton.vertical .button:last-child {
+    border-width: 1px;
+    border-top-width: 0;
+    border-radius: 3px;
+    border-top-left-radius: 0;
+    border-top-right-radius: 0;
+}
+
+.spinbutton.vertical.entry {
+    border-width: 1px;
+    border-style: solid;
+    border-radius: 0;
+}
+
+/***********
+ * spinner *
+ ***********/
+ at keyframes spinner {
+    0.00% { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)),
+                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.875)), to(transparent)),
+                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.750)), to(transparent)),
+                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.625)), to(transparent)),
+                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.500)), to(transparent)),
+                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.375)), to(transparent)),
+                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.250)), to(transparent)),
+                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.125)), to(transparent)); }
+
+    12.5% { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.875)), to(transparent)),
+                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.750)), to(transparent)),
+                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.625)), to(transparent)),
+                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.500)), to(transparent)),
+                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.375)), to(transparent)),
+                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.250)), to(transparent)),
+                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.125)), to(transparent)),
+                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)); }
+
+    25.0% { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.750)), to(transparent)),
+                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.625)), to(transparent)),
+                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.500)), to(transparent)),
+                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.375)), to(transparent)),
+                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.250)), to(transparent)),
+                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.125)), to(transparent)),
+                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)),
+                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.875)), to(transparent)); }
+
+    37.5% { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.625)), to(transparent)),
+                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.500)), to(transparent)),
+                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.375)), to(transparent)),
+                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.250)), to(transparent)),
+                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.125)), to(transparent)),
+                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)),
+                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.875)), to(transparent)),
+                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.750)), to(transparent)); }
+
+    50.0% { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.500)), to(transparent)),
+                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.375)), to(transparent)),
+                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.250)), to(transparent)),
+                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.125)), to(transparent)),
+                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)),
+                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.875)), to(transparent)),
+                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.750)), to(transparent)),
+                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.625)), to(transparent)); }
+
+    62.5% { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.375)), to(transparent)),
+                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.250)), to(transparent)),
+                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.125)), to(transparent)),
+                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)),
+                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.875)), to(transparent)),
+                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.750)), to(transparent)),
+                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.625)), to(transparent)),
+                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.500)), to(transparent)); }
+
+    75.0% { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.250)), to(transparent)),
+                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.125)), to(transparent)),
+                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)),
+                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.875)), to(transparent)),
+                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.750)), to(transparent)),
+                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.625)), to(transparent)),
+                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.500)), to(transparent)),
+                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.375)), to(transparent)); }
+
+    87.5% { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.125)), to(transparent)),
+                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)),
+                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.875)), to(transparent)),
+                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.750)), to(transparent)),
+                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.625)), to(transparent)),
+                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.500)), to(transparent)),
+                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.375)), to(transparent)),
+                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.250)), to(transparent)); }
+
+    100%  { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)),
+                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.875)), to(transparent)),
+                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.750)), to(transparent)),
+                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.625)), to(transparent)),
+                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.500)), to(transparent)),
+                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.375)), to(transparent)),
+                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.250)), to(transparent)),
+                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.125)), to(transparent)); }
+}
+
+.spinner {
+    background-color: transparent;
+    background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)),
+                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)),
+                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)),
+                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)),
+                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)),
+                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)),
+                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)),
+                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent));
+
+    background-position: 14% 14%, 0% 50%, 14% 86%, 50% 100%, 86% 86%, 100% 50%, 86% 14%, 50% 0%;
+    background-size: 15% 15%;
+    background-repeat: no-repeat;
+}
+
+.spinner:active {
+    background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.875)), to(transparent)),
+                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.750)), to(transparent)),
+                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.625)), to(transparent)),
+                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.500)), to(transparent)),
+                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.375)), to(transparent)),
+                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.250)), to(transparent)),
+                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.125)), to(transparent)),
+                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent));
+
+    animation: spinner 1s infinite linear;
+}
+
+.menu.spinner,
+.primary-toolbar .spinner {
+    color: @theme_selected_bg_color;
+}
+
+/*************
+ * statusbar *
+ *************/
+GtkStatusbar {
+    padding: 3px;
+    color: @theme_fg_color;
+}
+
+/**********
+ * switch *
+ **********/
+GtkSwitch {
+    padding: 0;
+    border-radius: 1px;
+    font: bold condensed;
+}
+
+GtkSwitch.slider {
+    border-width: 1px;
+    border-style: solid;
+    border-color: shade(@theme_bg_color, 0.8);
+    border-radius: 1px;
+    background-color: shade(@theme_bg_color, 1.15);
+}
+
+GtkSwitch.slider:insensitive {
+    border-color: shade(@theme_bg_color, 0.8);
+    background-color: @theme_bg_color;
+}
+
+GtkSwitch.trough {
+    border-color: shade(@theme_bg_color, 0.7);
+    background-color: shade(@theme_bg_color, 0.95);
+
+    color: @theme_fg_color;
+}
+
+GtkSwitch.trough:active {
+    border-color: shade(@theme_selected_bg_color, 0.8);
+    background-color: shade(@theme_selected_bg_color, 1.05);
+
+    color: @theme_selected_fg_color;
+}
+
+GtkSwitch.trough:insensitive {
+    border-color: shade(@theme_bg_color, 0.8);
+    background-image: linear-gradient(to bottom,
+                                      shade(shade(@theme_bg_color, 0.95), 0.95),
+                                      shade(shade(@theme_bg_color, 0.95), 1.15)
+                                      );
+
+    color: mix(@theme_fg_color, @theme_bg_color, 0.4);
+}
+
+/************
+ * 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.3);
+    border-radius: 1px;
+    background-color: transparent;
+    background-clip: border-box;
+}
+
+GtkColorSwatch:hover,
+GtkColorSwatch:selected:hover {
+    border-color: alpha(black, 0.5);
+}
+
+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: 3px;
+    border-bottom-left-radius: 3px;
+}
+
+GtkColorSwatch.right,
+GtkColorSwatch:last-child {
+    border-top-right-radius: 3px;
+    border-bottom-right-radius: 3px;
+}
+
+GtkColorSwatch:only-child {
+    border-radius: 3px;
+}
+
+GtkColorSwatch.top {
+    border-top-left-radius: 3px;
+    border-top-right-radius: 3px;
+}
+
+GtkColorSwatch.bottom {
+    border-bottom-left-radius: 3px;
+    border-bottom-right-radius: 3px;
+}
+
+GtkColorChooserWidget #add-color-button {
+    background-clip: padding-box;
+    border-color: alpha(black, 0.3);
+    background-color: shade(@theme_bg_color, 0.95);
+    color: @theme_fg_color;
+}
+
+GtkColorChooserWidget #add-color-button:hover {
+    border-color: alpha(black, 0.5);
+    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: 3px;
+}
+
+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 *
+ **************/
+.header-bar {
+    padding: 6px;
+    border-width: 0 0 1px;
+    border-style: solid;
+    border-color: shade(@theme_bg_color, 0.7);
+    background-image: linear-gradient(to bottom,
+                                      shade(@toolbar_bg_color, 1.0),
+                                      shade(@toolbar_bg_color, 0.88)
+                                      );
+}
+
+.header-bar .button.text-button {
+    padding: 4px;
+}
+
+.header-bar .button.image-button {
+    padding: 6px;
+}
+
+.header-bar .title {
+    font: bold;
+}
+
+.header-bar .subtitle {
+    font: smaller;
+}
+
+/***********
+ * toolbar *
+ ***********/
+.toolbar {
+    padding: 6px;
+    border-style: none;
+    background-color: @toolbar_bg_color;
+}
+
+.toolbar .button {
+    padding: 2px;
+}
+
+.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: 2px;
+    border-width: 0 0 1px 0;
+    border-style: solid;
+    border-color: shade(@toolbar_bg_color, 0.7);
+    background-color: @toolbar_bg_color;
+    
+    color: @toolbar_fg_color;
+}
+
+.primary-toolbar GtkComboBox,
+.primary-toolbar .button {
+    padding: 2px;
+    border-width: 1px;
+    border-color: transparent;
+    border-radius: 0;
+    background-color: transparent;
+    background-image: none;
+    color: @toolbar_fg_color;
+}
+
+.primary-toolbar .raised .button,
+.primary-toolbar .raised.button,
+.toolbar GtkComboBox,
+.toolbar .button,
+.header-bar GtkComboBox,
+.header-bar .button {
+    border-top-color: shade(@toolbar_bg_color, 0.8);
+    border-right-color: shade(@toolbar_bg_color, 0.72);
+    border-left-color: shade(@toolbar_bg_color, 0.72);
+    border-bottom-color: shade(@toolbar_bg_color, 0.7);
+    background-image: linear-gradient(to bottom,
+                                      shade(shade(@toolbar_bg_color, 1.02), 1.05),
+                                      shade(shade(@toolbar_bg_color, 1.02), 0.97)
+                                      );
+
+    color: @toolbar_fg_color;
+}
+
+.primary-toolbar .button:hover,
+.toolbar .button:hover,
+.header-bar .button:hover {
+    border-top-color: shade(@toolbar_bg_color, 0.85);
+    border-right-color: shade(@toolbar_bg_color, 0.78);
+    border-left-color: shade(@toolbar_bg_color, 0.78);
+    border-bottom-color: shade(@toolbar_bg_color, 0.7);
+    background-image: linear-gradient(to bottom,
+                                      shade(@toolbar_bg_color, 1.15),
+                                      shade(@toolbar_bg_color, 1.07)
+                                      );
+}
+
+.primary-toolbar .button:active,
+.toolbar .button:active,
+.header-bar .button:active {
+    border-color: shade(@toolbar_bg_color, 0.6);
+    background-image: linear-gradient(to bottom,
+                                      shade(shade(@toolbar_bg_color, 0.85), 1.05),
+                                      shade(shade(@toolbar_bg_color, 0.85), 0.97)
+                                      );
+}
+
+.primary-toolbar .button:active:hover,
+.toolbar .button:active:hover,
+.header-bar .button:active:hover {
+    border-top-color: shade(@toolbar_bg_color, 0.85);
+    border-right-color: shade(@toolbar_bg_color, 0.78);
+    border-left-color: shade(@toolbar_bg_color, 0.78);
+    border-bottom-color: shade(@toolbar_bg_color, 0.7);
+    background-image: linear-gradient(to bottom,
+                                      shade(@toolbar_bg_color, 1.15),
+                                      shade(@toolbar_bg_color, 1.07)
+                                      );
+}
+
+.primary-toolbar .button:focus,
+.primary-toolbar .button:hover:focus,
+.primary-toolbar .button:active:focus,
+.primary-toolbar .button:active:hover:focus,
+.toolbar .button:focus,
+.toolbar .button:hover:focus,
+.toolbar .button:active:focus,
+.toolbar .button:active:hover:focus,
+.header-bar .button:focus,
+.header-bar .button:hover:focus,
+.header-bar .button:active:focus,
+.header-bar .button:active:hover:focus {
+    border-color: shade(@theme_selected_bg_color, 0.8);
+}
+
+.primary-toolbar .button:insensitive,
+.toolbar .button:insensitive,
+.header-bar .button:insensitive {
+    border-color: shade(@toolbar_bg_color, 0.8);
+    background-image: linear-gradient(to bottom,
+                                      shade(shade(@toolbar_bg_color, 0.95), 1.05),
+                                      shade(shade(@toolbar_bg_color, 0.95), 0.97)
+                                      );
+}
+
+.primary-toolbar .button:active *:insensitive,
+.toolbar .button:active *:insensitive,
+.header-bar .button:active *:insensitive {
+    border-color: shade(@toolbar_bg_color, 0.8);
+    background-image: linear-gradient(to bottom,
+                                      shade(shade(@toolbar_bg_color, 0.95), 1.05),
+                                      shade(shade(@toolbar_bg_color, 0.95), 0.97)
+                                      );
+}
+
+.primary-toolbar .entry,
+.toolbar .entry,
+.header-bar .entry {
+    border-top-color: shade(@toolbar_bg_color, 0.6);
+    border-right-color: shade(@toolbar_bg_color, 0.7);
+    border-left-color: shade(@toolbar_bg_color, 0.7);
+    border-bottom-color: shade(@toolbar_bg_color, 0.72);
+}
+
+.primary-toolbar .entry:active,
+.primary-toolbar .entry:focus,
+.toolbar .entry:active,
+.toolbar .entry:focus,
+.header-bar .entry:active,
+.header-bar .entry:focus {
+    border-color: shade(@theme_selected_bg_color, 0.8);
+}
+
+/* inline-toolbar */
+.inline-toolbar.toolbar {
+    -GtkToolbar-button-relief: normal;
+
+    padding: 1px;
+    border-width: 1px;
+    border-style: solid;
+    border-color: shade(@theme_bg_color, 0.8);
+    border-radius: 0;
+    background-image: linear-gradient(to bottom,
+                                      shade(@theme_bg_color, 0.93),
+                                      @theme_bg_color
+                                      );
+}
+
+.inline-toolbar.toolbar:last-child {
+    border-width: 0 1px 1px 1px;
+    border-bottom-color: shade(@theme_bg_color, 0.76);
+    border-color: shade(@theme_bg_color, 0.7);
+    border-radius: 0;
+}
+
+.inline-toolbar.toolbar .button {
+    padding: 1px;
+    border-width: 1px 0 1px 1px;
+    border-style: solid;
+    border-color: shade(@theme_bg_color, 0.8);
+    border-radius: 0;
+    background-image: linear-gradient(to bottom,
+                                      shade(shade(@theme_bg_color, 1.02), 1.05),
+                                      shade(shade(@theme_bg_color, 1.02), 0.97)
+                                      );
+
+    color: @theme_fg_color;
+}
+
+.inline-toolbar.toolbar .button:hover {
+    border-bottom-color: shade(@theme_bg_color, 0.75);
+    background-image: linear-gradient(to bottom,
+                                      shade(@theme_bg_color, 1.15),
+                                      shade(@theme_bg_color, 1.07)
+                                      );
+}
+
+.inline-toolbar.toolbar .button:active {
+    border-color: shade(@theme_bg_color, 0.6);
+    background-image: linear-gradient(to bottom,
+                                      shade(shade(@theme_bg_color, 0.85), 1.05),
+                                      shade(shade(@theme_bg_color, 0.85), 0.97)
+                                      );
+}
+
+.inline-toolbar.toolbar .button:active:hover {
+    border-bottom-color: shade(@theme_bg_color, 0.75);
+    background-image: linear-gradient(to bottom,
+                                      shade(@theme_bg_color, 1.15),
+                                      shade(@theme_bg_color, 1.07)
+                                      );
+}
+
+.inline-toolbar.toolbar .button:focus,
+.inline-toolbar.toolbar .button:hover:focus,
+.inline-toolbar.toolbar .button:active:focus,
+.inline-toolbar.toolbar .button:active:hover:focus {
+    border-color: shade(@theme_selected_bg_color, 0.8);
+}
+
+.inline-toolbar.toolbar .button *:insensitive,
+.inline-toolbar.toolbar GtkToolButton .button:insensitive {
+    border-color: shade(@theme_bg_color, 0.8);
+    background-image: linear-gradient(to bottom,
+                                      shade(shade(@theme_bg_color, 0.95), 1.05),
+                                      shade(shade(@theme_bg_color, 0.95), 0.97)
+                                      );
+}
+
+/******************
+ * linked buttons *
+ *****************/
+/* set up shadows for visual separation */
+.linked .button,
+.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),
+                inset 1px 1px alpha(@light_shadow, 0.4);
+}
+
+.linked .button:active,
+.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.8),
+                inset 1px 1px alpha(@dark_shadow, 0.06),
+                inset -1px -1px alpha(@dark_shadow, 0.06);
+}
+
+.linked .button:insensitive,
+.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),
+		inset 1px 1px alpha(@light_shadow, 0.2);
+}
+
+/* remove box shadow from last-child and only-child */
+.linked .button:active *:insensitive:last-child,
+.linked .button:active *: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:active *:insensitive,
+.inline-toolbar.toolbar GtkToolButton:only-child > .button:active *:insensitive {
+    box-shadow: none;
+}
+
+/* add back the inset shadow effect */
+.linked .button:last-child,
+.linked .button:only-child,
+.inline-toolbar.toolbar .button:last-child,
+.inline-toolbar.toolbar .button:only-child,
+.inline-toolbar.toolbar GtkToolButton:last-child > .button,
+.inline-toolbar.toolbar GtkToolButton:only-child > .button {
+    box-shadow: inset 1px 1px alpha(@light_shadow, 0.4),
+                inset -1px 0 alpha(@light_shadow, 0.4);
+}
+
+
+.linked .button:insensitive:last-child,
+.linked .button:insensitive:only-child,
+.inline-toolbar.toolbar .button:insensitive:last-child,
+.inline-toolbar.toolbar .button:insensitive:only-child,
+.inline-toolbar.toolbar GtkToolButton:last-child > .button:insensitive,
+.inline-toolbar.toolbar GtkToolButton:only-child > .button:insensitive {
+    box-shadow: inset 1px 1px alpha(@light_shadow, 0.2),
+                inset -1px 0 alpha(@light_shadow, 0.2);
+}
+
+.linked .button:active:last-child,
+.linked .button:active:only-child,
+.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 1px alpha(@dark_shadow, 0.06),
+                inset -1px -1px alpha(@dark_shadow, 0.06);
+}
+
+/* middle button */
+.linked .entry,
+.linked .button,
+.linked .button:active,
+.linked .button:active:hover,
+.linked .button:insensitive,
+.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,
+.linked .button:first-child,
+.linked .button:active:first-child,
+.linked .button:active:hover:first-child,
+.linked .button:insensitive: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: 0;
+    border-right-width: 0;
+    border-bottom-right-radius: 0;
+    border-top-right-radius: 0;
+}
+
+/* rightmost button */
+.linked .entry:last-child,
+.linked .button:last-child,
+.linked .button:active:last-child,
+.linked .button:active:hover:last-child,
+.linked .button:insensitive: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: 0;
+    border-left-width: 0;
+    border-bottom-left-radius: 0;
+    border-top-left-radius: 0;
+}
+
+/* linked single button */
+.linked .entry:only-child,
+.linked .button:only-child,
+.linked .button:active:only-child,
+.linked .button:active:hover:only-child,
+.linked .button:insensitive: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: 0;
+}
+
+/* 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.8),
+		inset 1px 1px alpha(@light_shadow, 0.4),
+                inset -1px 0 alpha(@light_shadow, 0.4);
+}
+
+.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.8),
+                inset 1px 1px alpha(@dark_shadow, 0.06),
+                inset -1px -1px alpha(@dark_shadow, 0.06);
+}
+
+.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.8),
+		inset 1px 1px alpha(@light_shadow, 0.2),
+                inset -1px 0 alpha(@light_shadow, 0.2);
+}
+
+/* remove box shadow from last-child and only-child */
+.linked.vertical .button:active *:insensitive:last-child,
+.linked.vertical .button:active *: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:active *:insensitive,
+.inline-toolbar.toolbar.vertical GtkToolButton:only-child > .button:active *:insensitive {
+    box-shadow: none;
+}
+
+/* add back the inset shadow effect */
+.linked.vertical .button:last-child,
+.linked.vertical .button:only-child,
+.inline-toolbar.toolbar.vertical .button:last-child,
+.inline-toolbar.toolbar.vertical .button:only-child,
+.inline-toolbar.toolbar.vertical GtkToolButton:last-child > .button,
+.inline-toolbar.toolbar.vertical GtkToolButton:only-child > .button {
+    box-shadow: inset 1px 1px alpha(@light_shadow, 0.4),
+                inset -1px 0 alpha(@light_shadow, 0.4);
+}
+
+.linked.vertical .button:insensitive:last-child,
+.linked.vertical .button:insensitive:only-child,
+.inline-toolbar.toolbar.vertical .button:insensitive:last-child,
+.inline-toolbar.toolbar.vertical .button:insensitive:only-child,
+.inline-toolbar.toolbar.vertical GtkToolButton:last-child > .button:insensitive,
+.inline-toolbar.toolbar.vertical GtkToolButton:only-child > .button:insensitive {
+    box-shadow: inset 1px 1px alpha(@light_shadow, 0.2),
+                inset -1px 0 alpha(@light_shadow, 0.2);
+}
+
+.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 1px alpha(@dark_shadow, 0.06),
+                inset -1px -1px alpha(@dark_shadow, 0.06);
+}
+
+/* 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: 1px;
+    border-bottom-width: 0;
+    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: 1px;
+    border-top-width: 0;
+    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: 1px;
+}
+
+/* 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.8),
+		inset 1px 1px alpha(@light_shadow, 0.4);
+}
+
+.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.8),
+                inset 1px 1px alpha(@dark_shadow, 0.06),
+                inset -1px -1px alpha(@dark_shadow, 0.06);
+}
+
+.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.8),
+		inset 1px 1px alpha(@light_shadow, 0.2);
+}
+
+/* remove box shadow from last-child and 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:active *:insensitive:last-child,
+.primary-toolbar .raised.linked .button:active *:insensitive:only-child,
+.toolbar .button:active *:insensitive.raised.linked:last-child,
+.toolbar .button:active *:insensitive.raised.linked:only-child,
+.toolbar .raised.linked .button:active *:insensitive:last-child,
+.toolbar .raised.linked .button:active *:insensitive:only-child,
+.toolbar .linked .button:active *:insensitive:last-child,
+.toolbar .linked .button:active *:insensitive: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:active *:insensitive:last-child,
+.header-bar .raised.linked .button:active *: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.raised.linked:last-child,
+.primary-toolbar .button.raised.linked:only-child,
+.primary-toolbar .raised.linked .button:last-child,
+.primary-toolbar .raised.linked .button:only-child,
+.toolbar .button.raised.linked:last-child,
+.toolbar .button.raised.linked:only-child,
+.toolbar .raised.linked .button:last-child,
+.toolbar .raised.linked .button:only-child,
+.toolbar .linked .button:last-child,
+.toolbar .linked .button:only-child,
+.header-bar .button.raised.linked:last-child,
+.header-bar .button.raised.linked:only-child,
+.header-bar .raised.linked .button:last-child,
+.header-bar .raised.linked .button:only-child,
+.header-bar .linked .button:last-child,
+.header-bar .linked .button:only-child {
+    box-shadow: inset 1px 1px alpha(@light_shadow, 0.4),
+                inset -1px 0 alpha(@light_shadow, 0.4);
+}
+
+.primary-toolbar .button:insensitive.raised.linked:last-child,
+.primary-toolbar .button:insensitive.raised.linked:only-child,
+.primary-toolbar .raised.linked .button:insensitive:last-child,
+.primary-toolbar .raised.linked .button:insensitive:only-child,
+.toolbar .button:insensitive.raised.linked:last-child,
+.toolbar .button:insensitive.raised.linked:only-child,
+.toolbar .raised.linked .button:insensitive:last-child,
+.toolbar .raised.linked .button:insensitive:only-child,
+.toolbar .linked .button:insensitive:last-child,
+.toolbar .linked .button:insensitive:only-child,
+.header-bar .button:insensitive.raised.linked:last-child,
+.header-bar .button:insensitive.raised.linked:only-child,
+.header-bar .raised.linked .button:insensitive:last-child,
+.header-bar .raised.linked .button:insensitive:only-child,
+.header-bar .linked .button:insensitive:last-child,
+.header-bar .linked .button:insensitive:only-child {
+    box-shadow: inset 1px 1px alpha(@light_shadow, 0.2),
+                inset -1px 0 alpha(@light_shadow, 0.2);
+}
+
+.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 1px alpha(@dark_shadow, 0.06),
+                inset -1px -1px alpha(@dark_shadow, 0.06);
+}
+
+/* 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: 1px;
+    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: 1px;
+    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: 1px;
+}
+
+/***********
+ * tooltip *
+ ***********/
+.tooltip {
+    border-width: 1px;
+    border-style: solid;
+    border-color: @theme_tooltip_fg_color;
+    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, 1.2);
+    border-radius: 0;
+}
+
+GtkTreeView .entry {
+    border-radius: 0;
+    background-color: @theme_base_color;
+    background-image: none;
+}
+
+GtkTreeView row:nth-child(even) {
+    background-color: shade(@theme_base_color, 0.9);
+}
+
+GtkTreeView row:nth-child(odd) {
+    background-color: shade(@theme_base_color, 1.0);
+}
+
+/************
+ * 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;
+}
+
+/*********************
+ * app notifications *
+ *********************/
+.app-notification {
+    border-style: solid;
+    border-color: shade(@theme_base_color, 0.7);
+    border-width: 0 1px 1px 1px;
+    border-radius: 0 0 3px 3px;
+    padding: 8px;
+    background-color: @theme_base_color;
+    background-image: none;
+    color: @theme_text_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: 0;
+    background-color: shade(@osd_bg, 1.05);
+    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.15);
+    background-image: none;
+}
+
+.osd.button:active,
+.osd .button:active,
+.osd GtkMenuButton.button:active {
+    border-color: shade(@osd_bg, 0.8);
+    background-color: shade(@osd_bg, 0.95);
+    background-image: none;
+}
+
+.osd.button:active:hover,
+.osd .button:active: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: 0;
+    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: 0;
+    background-color: shade(@osd_bg, 1.05);
+    background-image: none;
+    color: @osd_fg;
+}
+
+.osd.toolbar .button:hover {
+    border-color: shade(@osd_bg, 0.7);
+    background-color: shade(@osd_bg, 1.15);
+    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: 1px;
+    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 {
+    border-radius: 1px;
+    background-color: shade(@osd_bg, 1.08);
+    background-image: none;
+    /* we will draw the border using box shadow for now */
+    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.6),
+                inset 0 -1px shade(@osd_bg, 0.6);
+}
+
+.osd .scale.slider:hover {
+    box-shadow: inset 1px 0 shade(@osd_bg, 0.6),
+                inset 0 1px shade(@osd_bg, 0.6),
+                inset -1px 0 shade(@osd_bg, 0.5),
+                inset 0 -1px shade(@osd_bg, 0.5);
+}
+
+.osd .scale.slider:insensitive {
+    background-color: shade(@osd_bg, 0.9);
+    background-image: none;
+    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.trough {
+    border-color: shade(@osd_bg, 0.7);
+    background-color: shade(@osd_bg, 0.9);
+    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.9);
+    background-color: shade(@osd_bg, 0.95);
+    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: shade(@osd_bg, 0.7);
+    border-radius: 0;
+    background-color: shade(@osd_bg, 0.9);
+}
+
+.osd .scrollbar.slider:hover {
+    border-color: shade(@osd_bg, 0.7);
+    background-color: shade(@osd_bg, 0.8);
+}
+
+.osd .scrollbar.slider:active {
+    border-color: shade(@theme_selected_bg_color, 0.9);
+    background-color: @theme_selected_bg_color;
+}
+
+.osd GtkIconView.cell:selected,
+.osd GtkIconView.cell:selected:focus {
+    background-color: transparent;
+    border-style: solid;
+    border-radius: 3px;
+    border-width: 3px;
+    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 {
+    padding: 4px;
+    border-width: 1px;
+    border-style: solid;
+    border-color: shade(@error_color, 0.8);
+    border-radius: 1px;
+    background-image: linear-gradient(to bottom,
+                                      shade(shade(@error_color, 1.2), 1.05),
+                                      shade(shade(@error_color, 1.2), 0.97)
+                                      );
+
+    color: @theme_selected_fg_color;
+    box-shadow: none;
+}
+
+.destructive-action.button:hover {
+    border-color: shade(@error_color, 0.8);
+    background-image: linear-gradient(to bottom,
+                                      shade(mix(@theme_base_color, @error_color, 0.7), 1.05),
+                                      shade(mix(@theme_base_color, @error_color, 0.7), 0.97)
+                                      );
+}
+
+.destructive-action.button:active {
+    border-color: shade(@error_color, 0.8);
+    background-image: linear-gradient(to bottom,
+                                      shade(shade(@error_color, 1.2), 1.05),
+                                      shade(shade(@error_color, 1.2), 0.97)
+                                      );
+}
+
+.destructive-action.button:hover:active {
+    border-color: shade(@error_color, 0.7);
+    background-image: linear-gradient(to bottom,
+                                      shade(mix(@theme_base_color, @error_color, 0.7), 1.05),
+                                      shade(mix(@theme_base_color, @error_color, 0.7), 0.97)
+                                      );
+}
+
+/******************
+ * 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(@theme_selected_bg_color, 1.3),
+                                      shade(@theme_selected_bg_color, 1.1)
+                                      );
+
+    color: shade(@theme_selected_bg_color, 0.9);
+}
+
+.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 {
+    padding: 4px;
+    border-width: 1px;
+    border-style: solid;
+    border-color: shade(@theme_selected_bg_color, 0.8);
+    border-radius: 0;
+    background-image: linear-gradient(to bottom,
+                                      shade(shade(@theme_selected_bg_color, 1.2), 1.05),
+                                      shade(shade(@theme_selected_bg_color, 1.2), 0.97)
+                                      );
+
+    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);
+    background-image: linear-gradient(to bottom,
+                                      shade(mix(@theme_base_color, @theme_selected_bg_color, 0.7), 1.05),
+                                      shade(mix(@theme_base_color, @theme_selected_bg_color, 0.7), 0.97)
+                                      );
+}
+
+.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.2), 1.05),
+                                      shade(shade(@theme_selected_bg_color, 1.2), 0.97)
+                                      );
+}
+
+.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.7);
+    background-image: linear-gradient(to bottom,
+                                      shade(mix(@theme_base_color, @theme_selected_bg_color, 0.7), 1.05),
+                                      shade(mix(@theme_base_color, @theme_selected_bg_color, 0.7), 0.97)
+                                      );
+}
+
+/* suggested button */
+.selection-mode.header-bar .suggested-action.button,
+.selection-mode.toolbar .suggested-action.button,
+.selection-mode.toolbar GtkToolButton.suggested-action .button {
+    padding: 4px;
+    border-width: 1px;
+    border-style: solid;
+    border-color: shade(@theme_selected_bg_color, 0.8);
+    border-radius: 0;
+    background-image: linear-gradient(to bottom,
+                                      shade(shade(@theme_bg_color, 1.02), 1.05),
+                                      shade(shade(@theme_bg_color, 1.02), 0.97)
+                                      );
+
+    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);
+    background-image: linear-gradient(to bottom,
+                                      shade(@theme_bg_color, 1.15),
+                                      shade(@theme_bg_color, 1.07)
+                                      );
+}
+
+.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.7);
+    background-image: linear-gradient(to bottom,
+                                      shade(shade(@theme_bg_color, 0.85), 1.05),
+                                      shade(shade(@theme_bg_color, 0.85), 0.97)
+                                      );
+}
+
+.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);
+    background-image: linear-gradient(to bottom,
+                                      shade(@theme_bg_color, 1.15),
+                                      shade(@theme_bg_color, 1.07)
+                                      );
+}
+
+/* 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.7);
+}
+
+.selection-mode.toolbar .dim-label,
+.selection-mode.toolbar .selection-menu.button .dim-label {
+    color: shade(@theme_selected_bg_color, 0.6);
+}
+
+.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.6);
+}
+
+.selection-mode.header-bar .selection-menu.button:active,
+.selection-mode.toolbar .selection-menu.button:active {
+    color: shade(@theme_selected_bg_color, 0.7);
+    box-shadow: none;
+}
+
+/*************************
+ * touch text selections *
+ *************************/
+GtkBubbleWindow {
+    border-radius: 3px;
+    background-clip: border-box;
+}
+
+GtkBubbleWindow.osd.background {
+    background-color: @osd_bg;
+}
+
+GtkBubbleWindow .toolbar {
+    background-color: transparent;
+}
+
+/*******
+ * CSD *
+ *******/
+.titlebar {
+    border-radius: 4px 4px 0 0;
+    background-image: linear-gradient(to bottom,
+                                      @wm_bg_a,
+                                      shade(@wm_bg_b, 0.88)
+                                      );
+}
+
+/* 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 {
+    border: none;
+    box-shadow: none;
+}
+
+.titlebar .title {
+    font: bold;
+    text-shadow: 0 1px @wm_title_focused_shadow;
+}
+
+.titlebar:backdrop {
+    background-image: linear-gradient(to bottom,
+                                      shade(@wm_bg_a, 0.97),
+                                      shade(@wm_bg_b, 0.88)
+                                      );
+}
+
+.titlebar .title:backdrop {
+    text-shadow: 0 1px @wm_title_unfocused_shadow;
+}
+
+.titlebar .titlebutton {
+    padding: 4px;
+    border-style: none;
+    background: none;
+    color: mix(@wm_title_focused, @wm_bg_a, 0.2);
+    icon-shadow: 0 1px @wm_title_focused_shadow;
+    box-shadow: none;
+}
+
+.titlebar .titlebutton:hover,
+.titlebar .titlebutton:hover:focus {
+    background: none;
+    color: @wm_title_focused;
+    box-shadow: none;
+}
+
+.titlebar .titlebutton:active,
+.titlebar .titlebutton:active:hover {
+    background: none;
+    color: @theme_selected_bg_color;
+    box-shadow: none;
+}
+
+/*
+.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: @wm_title_unfocused;
+    icon-shadow: 0 1px @wm_title_unfocused_shadow;
+}
+
+.window-frame {
+    border-style: none;
+    border-radius: 4px 4px 0 0;
+    box-shadow: 0 3px 7px alpha(black, 0.7),
+                0 0 0 1px alpha(black, 0.2);
+
+    /* this is used for the resize cursor area */
+    margin: 10px;
+}
+
+.window-frame:backdrop {
+    box-shadow: 0 3px 5px alpha(black, 0.5),
+                0 0 0 1px alpha(black, 0.2);
+}
diff --git a/themes/flat/gtk-3.0/gtk.css b/themes/flat/gtk-3.0/gtk.css
new file mode 100644
index 0000000..6b9ac1f
--- /dev/null
+++ b/themes/flat/gtk-3.0/gtk.css
@@ -0,0 +1,74 @@
+/* default color scheme */
+ at define-color bg_color #d9dadb;
+ at define-color fg_color #2d2d2d;
+ at define-color base_color #fcfcfc;
+ at define-color text_color #2d2d2d;
+ at define-color selected_bg_color #1e9cc8;
+ at define-color selected_fg_color #eeeeee;
+ at define-color tooltip_bg_color #ffffdf;
+ at define-color tooltip_fg_color #2d2d2d;
+
+/* colormap actually used by the theme, to be overridden in other css files */
+ at define-color theme_bg_color @bg_color;
+ at define-color theme_fg_color @fg_color;
+ at define-color theme_base_color @base_color;
+ at define-color theme_text_color @text_color;
+ at define-color theme_selected_bg_color @selected_bg_color;
+ at define-color theme_selected_fg_color @selected_fg_color;
+ at define-color theme_tooltip_bg_color @tooltip_bg_color;
+ at define-color theme_tooltip_fg_color @tooltip_fg_color;
+
+/* shadow effects */
+ at define-color light_shadow #fff;
+ at define-color dark_shadow #000;
+
+/* misc colors used by gtk+ */
+ at define-color info_fg_color rgb (0, 0, 0);
+ at define-color info_bg_color rgb (252, 246, 202);
+ at define-color warning_fg_color rgb (0, 0, 0);
+ at define-color warning_bg_color rgb (250, 173, 61);
+ at define-color question_fg_color rgb (255, 255, 255);
+ at define-color question_bg_color rgb (57, 142, 231);
+ at define-color error_fg_color rgb (255, 255, 255);
+ at define-color error_bg_color rgb (237, 54, 54);
+ at define-color link_color #5177ac;
+ at define-color success_color #4e9a06;
+ at define-color warning_color #f57900;
+ at define-color error_color #cc0000;
+
+/* widget colors */
+ at define-color menubar_bg_color @theme_bg_color;
+ at define-color menubar_fg_color @theme_fg_color;
+ at define-color toolbar_bg_color @theme_bg_color;
+ at define-color toolbar_fg_color @theme_fg_color;
+ at define-color menu_bg_color shade(@theme_bg_color, 1.18);
+ at define-color menu_fg_color @theme_fg_color;
+ at define-color panel_bg_color #686868;
+ at define-color panel_fg_color #fcfcfc;
+
+/* osd */
+ at define-color osd_base #333;
+ at define-color osd_fg #eee;
+ at define-color osd_bg alpha(@osd_base, 0.8);
+
+/* window manager colors */
+ at define-color wm_bg_a shade(@theme_bg_color, 1.07);
+ at define-color wm_bg_b @theme_bg_color;
+ at define-color wm_title_focused shade(@theme_fg_color, 1.2);
+ at define-color wm_title_focused_shadow shade(@theme_bg_color, 1.2);
+ at define-color wm_title_unfocused shade(@theme_fg_color, 2.0);
+ at define-color wm_title_unfocused_shadow shade(@theme_bg_color, 1.1);
+ at define-color wm_border_focused shade(@theme_bg_color, 0.7);
+ at define-color wm_border_unfocused shade(@theme_bg_color, 0.8);
+
+/* lightdm greeter color scheme */
+ at define-color lightdm_bg_color #242424;
+ at define-color lightdm_fg_color #efefef;
+
+ at import url("gtk-widgets.css");
+ at import url("apps/gnome-applications.css");
+ at import url("apps/granite-widgets.css");
+ at import url("apps/unity.css");
+ at import url("apps/lightdm-unity-greeter.css");
+ at import url("apps/lightdm-gtk-greeter.css");
+ at import url("apps/xfce.css");
diff --git a/themes/flat/gtk-3.0/settings.ini b/themes/flat/gtk-3.0/settings.ini
new file mode 100644
index 0000000..adb41a6
--- /dev/null
+++ b/themes/flat/gtk-3.0/settings.ini
@@ -0,0 +1,4 @@
+[Settings]
+gtk-color-scheme = "base_color:#fcfcfc\nbg_color:#d9dadb\ntooltip_bg_color:#ffffdf\nselected_bg_color:#1e9cc8\ntext_color:#2d2d2d\nfg_color:#2d2d2d\ntooltip_fg_color:#2d2d2d\nselected_fg_color:#eeeeee\nlink_color:#5177ac"
+gtk-auto-mnemonics = 1
+gtk-visible-focus = automatic

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Xfce4-commits mailing list