diff --git a/gtk-2.0/gtkrc b/gtk-2.0/gtkrc
index 830ae2d..16f3c08 100644
--- a/gtk-2.0/gtkrc
+++ b/gtk-2.0/gtkrc
@@ -494,6 +494,7 @@ widget "*gimmie*" style "bold-panel-item"
 # XFCE Styles
 
 style "workspace-switcher" = "murrine-panel" {
+	bg[ACTIVE] = @selected_bg_color
 	bg[SELECTED] = @selected_bg_color
 }
 
@@ -528,17 +529,29 @@ style "xfdesktop-icon-view" {
 }
 
 style "xfwm-tabwin" {
-	Xfwm4TabwinWidget::border-width = 0
+	Xfwm4TabwinWidget::border-width = 1
+        Xfwm4TabwinWidget::border-alpha = 1.0
 	Xfwm4TabwinWidget::icon-size = 64
+        Xfwm4TabwinWidget::alpha = 1.0
+        Xfwm4TabwinWidget::border-radius = 2
 
 	bg[NORMAL] = @menu_bg_color
+	bg[SELECTED] = @menu_bg_color
+
 	fg[NORMAL] = @menu_fg_color
 
 	engine "murrine" {
-		focusstyle = 0
+		contrast = 0.0
+		border_shades = { 0.9, 0.9 }
 	}
 }
 
+style "xfwm-tabwin-button" {
+        font_name = "bold"
+
+	bg[SELECTED] = @selected_bg_color
+}
+
 style "xfsm-logout" {
 	bg[NORMAL] = @menu_bg_color
 	bg[ACTIVE] = @menu_bg_color
@@ -563,7 +576,7 @@ style "xfsm-logout-button" {
 	}
 }
 
-widget "*WnckPager*" style "workspace-switcher"
+widget "*Pager*" style "workspace-switcher"
 
 widget "*Xfce*Panel*" style "murrine-panel"
 class "*Xfce*Panel*" style "murrine-panel"
@@ -759,5 +772,6 @@ widget_class "*XfceHeading*" style "xfce-header"
 widget_class "*XfceDesktop*" style "xfdesktop-windowlist"
 widget_class "*XfdesktopIconView*" style "xfdesktop-icon-view"
 widget "xfwm4-tabwin*" style "xfwm-tabwin"
+widget "xfwm4-tabwin*GtkButton*" style "xfwm-tabwin-button"
 widget_class "*XfsmLogoutDialog*" style "xfsm-logout"
 widget_class "*XfsmLogoutDialog*GtkButton" style "xfsm-logout-button"
diff --git a/gtk-3.0/apps/gnome-applications.css b/gtk-3.0/apps/gnome-applications.css
index 13978e0..0e47150 100644
--- a/gtk-3.0/apps/gnome-applications.css
+++ b/gtk-3.0/apps/gnome-applications.css
@@ -80,10 +80,6 @@ WnckPager, WnckTasklist {
 /************
  * nautilus *
  ************/
-.nautilus-canvas-item {
-    border-radius: 2px;
-}
-
 .nautilus-desktop.nautilus-canvas-item {
     color: white;
     text-shadow: 1px 1px black;
@@ -230,6 +226,10 @@ GeditWindow .pane-separator:hover {
     color: @theme_selected_fg_color;
 }
 
+.gedit-document-panel .list-row {
+    padding: 4px;
+}
+
 .gedit-document-panel .list-row .button {
     padding: 1px;
     border-image: none;
@@ -245,19 +245,31 @@ GeditWindow .pane-separator:hover {
 
 .gedit-document-panel .prelight-row .button  {
     border-color: alpha(black, 0.1);
-    color: mix(@theme_text_color, @theme_base_color, 0.5);
+    color: alpha(white, 0.8);
 }
 
 .gedit-document-panel .list-row .button:hover,
 .gedit-document-panel .prelight-row .button:hover {
-    color: @theme_text_color;
     border-color: alpha(black, 0.1);
+    color: white;
 }
 
 .gedit-document-panel .prelight-row .button:active {
-    color: @theme_text_color;
-    background-color: alpha(black, 0.08);
     border-color: alpha(black, 0.2);
+    background-color: alpha(black, 0.08);
+    color: white;
+}
+
+.gedit-document-panel-dragged-row {
+    border: 1px solid alpha(black, 0.1);
+    background-color: alpha(black, 0.5);
+    color: white;
+}
+
+.gedit-document-panel-placeholder-row {
+    border: none;
+    background-color: alpha(black, 0.08);
+    transition: all 200ms ease-in;
 }
 
 GeditStatusbar {
diff --git a/gtk-3.0/apps/granite-widgets.css b/gtk-3.0/apps/granite-widgets.css
index 777a30a..1ddb61c 100644
--- a/gtk-3.0/apps/granite-widgets.css
+++ b/gtk-3.0/apps/granite-widgets.css
@@ -64,7 +64,7 @@
 }
 
 .dynamic-notebook .menu GtkLabel {
-    color: @menu_fg;
+    color: @menu_fg_color;
 }
 
 /****************
@@ -556,6 +556,13 @@ GraniteWidgetsPopOver *.separator {
     color: @theme_text_color;
 }
 
+/************
+ * terminal *
+ ************/
+PantheonTerminalPantheonTerminalWindow.background {
+    background-color: transparent;
+}
+
 /*********
  * noise *
  *********/
@@ -634,37 +641,37 @@ BirdieWidgetsTweetList * {
 
 /*********
  * 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
-                                      );
+    color: white;
+    font-weight: bold;
+    text-shadow: 0 1px 2px alpha (black, 0.5);
+    icon-shadow: 0 1px 2px alpha (black, 0.5);
 }
 
-.composited-indicator,
-.wingpanel-app-button,
-.wingpanel-indicator-button {
+.panel .menu .menuitem {
+    font-weight: normal;
+}
+
+.panel-shadow {
+    background-image: none;
+    background-color: transparent;
+}
+
+.panel-app-button {
+    -GtkMenuItem-horizontal-padding: 6px;
+}
+
+.composited-indicator {
+    background-color: transparent;
+    color: white;
     padding: 0 2px;
-    background-color: transparent;
-    background-image: none;
-    color: @osd_fg;
 }
 
 .composited-indicator.menuitem:active,
 .composited-indicator.menuitem:prelight {
     border-style: none;
     background-image: none;
+    box-shadow: none;
 }
diff --git a/gtk-3.0/apps/lightdm-gtk-greeter.css b/gtk-3.0/apps/lightdm-gtk-greeter.css
index 874cdb3..143f816 100644
--- a/gtk-3.0/apps/lightdm-gtk-greeter.css
+++ b/gtk-3.0/apps/lightdm-gtk-greeter.css
@@ -1,3 +1,11 @@
+/***********
+ * general *
+ ***********/
+
+#screen.lightdm-gtk-greeter {
+    background: transparent;
+}
+
 /*********
  * panel *
  *********/
diff --git a/gtk-3.0/apps/nemo.css b/gtk-3.0/apps/nemo.css
index 095232b..fa09d03 100644
--- a/gtk-3.0/apps/nemo.css
+++ b/gtk-3.0/apps/nemo.css
@@ -1,3 +1,29 @@
+/*****************
+ * desktop icons *
+ *****************/
+.nemo-canvas-item {
+    border-radius: 2px;
+}
+
+.nemo-desktop.nemo-canvas-item {
+    color: white;
+    text-shadow: 1px 1px black;
+}
+
+.nemo-desktop.nemo-canvas-item:active {
+    color: @theme_fg_color;
+}
+
+.nemo-desktop.nemo-canvas-item:selected {
+    color: @theme_selected_fg_color;
+}
+
+.nemo-desktop.nemo-canvas-item:active,
+.nemo-desktop.nemo-canvas-item:prelight,
+.nemo-desktop.nemo-canvas-item:selected {
+    text-shadow: none;
+}
+
 /***********************
  * pathbar breadcrumbs *
  ***********************/
diff --git a/gtk-3.0/apps/xfce.css b/gtk-3.0/apps/xfce.css
index 03cfb20..dcffbbc 100644
--- a/gtk-3.0/apps/xfce.css
+++ b/gtk-3.0/apps/xfce.css
@@ -1,3 +1,15 @@
+CatfishWindow .sidebar .button.flat {
+    padding: 4px 6px;
+    transition: none;
+}
+
+CatfishWindow .sidebar .button.flat:active,
+CatfishWindow .sidebar .button.flat:checked {
+    border-color: shade(@theme_bg_color, 0.8);
+    background-color: shade(@theme_bg_color, 0.95);
+    background-image: none;
+}
+
 XfceHeading {
     margin: 0;
     padding: 0;
diff --git a/gtk-3.0/assets/checkbox-checked-dark.svg b/gtk-3.0/assets/checkbox-checked-dark.svg
new file mode 100644
index 0000000..2aaeaa6
--- /dev/null
+++ b/gtk-3.0/assets/checkbox-checked-dark.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g transform="translate(0 -1036.3622)">
+<rect width="14.789" x=".684" y="1037.078" rx="1" height="14.758" style="fill:#393939"/>
+<path style="fill:#1f1f1f" d="M 2 0 C 0.892 0 3.2526065e-18 0.892 0 2 L 0 14 C 0 15.108 0.892 16 2 16 L 14 16 C 15.108 16 16 15.108 16 14 L 16 2 C 16 0.892 15.108 3.2526065e-18 14 0 L 2 0 z M 2 1 L 14 1 C 14.554 1 15 1.446 15 2 L 15 14 C 15 14.554 14.554 15 14 15 L 2 15 C 1.446 15 1 14.554 1 14 L 1 2 C 1 1.446 1.446 1 2 1 z " transform="translate(0 1036.3622)"/>
+<path style="fill:#d64937;line-height:normal;color:#000" d="m 11.653408,1040.2805 c -0.365873,0.01 -0.727323,0.1623 -0.985551,0.4266 l -4.0292904,3.8367 -1.3822187,-1.5489 c -0.4918947,-0.656 -1.5705595,-0.7265 -2.1406524,-0.14 -0.5700929,0.5865 -0.4910061,1.6854 0.1569519,2.1808 l 2.3831825,2.5599 c 0.9369248,0.9369 1.3590497,0.8116 2.3049741,-0.1343 0,0 3.250459,-3.9103 5.155609,-5.232 0.421127,-0.3992 0.596878,-0.5102 0.377676,-1.0522 -0.219202,-0.542 -1.265927,-0.916 -1.840681,-0.8966 z"/>
+</g>
+</svg>
diff --git a/gtk-3.0/assets/checkbox-checked-insensitive-dark.svg b/gtk-3.0/assets/checkbox-checked-insensitive-dark.svg
new file mode 100644
index 0000000..c3219e2
--- /dev/null
+++ b/gtk-3.0/assets/checkbox-checked-insensitive-dark.svg
@@ -0,0 +1,9 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g transform="translate(0 -1036.3622)">
+<path style="fill:#2a2a2a" d="m 1.7429523,1036.9203 12.7034987,0 c 0.586479,0 1.058625,0.468 1.058625,1.0495 l 0,12.5953 c 0,0.5815 -0.472146,1.0496 -1.058625,1.0496 l -12.7034987,0 c -0.5864782,0 -1.05862497,-0.4681 -1.05862497,-1.0496 l 0,-12.5953 c 0,-0.5815 0.47214677,-1.0495 1.05862497,-1.0495 z"/>
+</g>
+<g style="fill:#1f1f1f" transform="translate(0 -1036.3622)">
+<path d="M 2 0 C 0.892 0 3.2526065e-18 0.892 0 2 L 0 14 C 0 15.108 0.892 16 2 16 L 14 16 C 15.108 16 16 15.108 16 14 L 16 2 C 16 0.892 15.108 3.2526065e-18 14 0 L 2 0 z M 2 1 L 14 1 C 14.554 1 15 1.446 15 2 L 15 14 C 15 14.554 14.554 15 14 15 L 2 15 C 1.446 15 1 14.554 1 14 L 1 2 C 1 1.446 1.446 1 2 1 z " transform="translate(0 1036.3622)"/>
+<path style="line-height:normal;color:#000" d="m 11.653408,1040.2805 c -0.365873,0.01 -0.727323,0.1623 -0.985551,0.4266 l -4.0292904,3.8367 -1.3822187,-1.5489 c -0.4918947,-0.656 -1.5705595,-0.7265 -2.1406524,-0.14 -0.5700929,0.5865 -0.4910061,1.6854 0.1569519,2.1808 l 2.3831825,2.5599 c 0.9369248,0.9369 1.3590497,0.8116 2.3049741,-0.1343 0,0 3.250459,-3.9103 5.155609,-5.232 0.421127,-0.3992 0.596878,-0.5102 0.377676,-1.0522 -0.219202,-0.542 -1.265927,-0.916 -1.840681,-0.8966 z"/>
+</g>
+</svg>
diff --git a/gtk-3.0/assets/checkbox-checked-insensitive.svg b/gtk-3.0/assets/checkbox-checked-insensitive.svg
new file mode 100644
index 0000000..4dbe967
--- /dev/null
+++ b/gtk-3.0/assets/checkbox-checked-insensitive.svg
@@ -0,0 +1,9 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g transform="translate(0 -1036.3622)">
+<rect width="14.505" x=".747" y="1037.046" rx="1" height="14.568" style="fill:#d3d3d3"/>
+</g>
+<g style="fill:#aaa" transform="translate(0 -1036.3622)">
+<path d="M 2 0 C 0.892 0 3.2526065e-18 0.892 0 2 L 0 14 C 0 15.108 0.892 16 2 16 L 14 16 C 15.108 16 16 15.108 16 14 L 16 2 C 16 0.892 15.108 3.2526065e-18 14 0 L 2 0 z M 2 1 L 14 1 C 14.554 1 15 1.446 15 2 L 15 14 C 15 14.554 14.554 15 14 15 L 2 15 C 1.446 15 1 14.554 1 14 L 1 2 C 1 1.446 1.446 1 2 1 z " transform="translate(0 1036.3622)"/>
+<path style="line-height:normal;color:#000" d="m 11.653408,1040.2805 c -0.365873,0.01 -0.727323,0.1623 -0.985551,0.4266 l -4.0292904,3.8367 -1.3822187,-1.5489 c -0.4918947,-0.656 -1.5705595,-0.7265 -2.1406524,-0.14 -0.5700929,0.5865 -0.4910061,1.6854 0.1569519,2.1808 l 2.3831825,2.5599 c 0.9369248,0.9369 1.3590497,0.8116 2.3049741,-0.1343 0,0 3.250459,-3.9103 5.155609,-5.232 0.421127,-0.3992 0.596878,-0.5102 0.377676,-1.0522 -0.219202,-0.542 -1.265927,-0.916 -1.840681,-0.8966 z"/>
+</g>
+</svg>
diff --git a/gtk-3.0/assets/checkbox-checked.svg b/gtk-3.0/assets/checkbox-checked.svg
new file mode 100644
index 0000000..0a5e5a5
--- /dev/null
+++ b/gtk-3.0/assets/checkbox-checked.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g transform="translate(0 -1036.3622)">
+<rect width="14" x="1" y="1" rx="1" height="14" style="fill:#f9f9f9" transform="translate(0 1036.3622)"/>
+<path style="fill:#aaa" d="M 2 0 C 0.892 0 3.2526065e-18 0.892 0 2 L 0 14 C 0 15.108 0.892 16 2 16 L 14 16 C 15.108 16 16 15.108 16 14 L 16 2 C 16 0.892 15.108 3.2526065e-18 14 0 L 2 0 z M 2 1 L 14 1 C 14.554 1 15 1.446 15 2 L 15 14 C 15 14.554 14.554 15 14 15 L 2 15 C 1.446 15 1 14.554 1 14 L 1 2 C 1 1.446 1.446 1 2 1 z " transform="translate(0 1036.3622)"/>
+<path style="fill:#d64937;line-height:normal;color:#000" d="m 11.653408,1040.2805 c -0.365873,0.01 -0.727323,0.1623 -0.985551,0.4266 l -4.0292904,3.8367 -1.3822187,-1.5489 c -0.4918947,-0.656 -1.5705595,-0.7265 -2.1406524,-0.14 -0.5700929,0.5865 -0.4910061,1.6854 0.1569519,2.1808 l 2.3831825,2.5599 c 0.9369248,0.9369 1.3590497,0.8116 2.3049741,-0.1343 0,0 3.250459,-3.9103 5.155609,-5.232 0.421127,-0.3992 0.596878,-0.5102 0.377676,-1.0522 -0.219202,-0.542 -1.265927,-0.916 -1.840681,-0.8966 z"/>
+</g>
+</svg>
diff --git a/gtk-3.0/assets/checkbox-mixed-dark.svg b/gtk-3.0/assets/checkbox-mixed-dark.svg
new file mode 100644
index 0000000..5765056
--- /dev/null
+++ b/gtk-3.0/assets/checkbox-mixed-dark.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g transform="translate(0 -1036.3622)">
+<rect width="14.821" x=".621" y="1037.046" rx="1" height="14.758" style="fill:#393939"/>
+<path style="fill:#1f1f1f" d="M 2 0 C 0.892 0 3.2526065e-18 0.892 0 2 L 0 14 C 0 15.108 0.892 16 2 16 L 14 16 C 15.108 16 16 15.108 16 14 L 16 2 C 16 0.892 15.108 3.2526065e-18 14 0 L 2 0 z M 2 1 L 14 1 C 14.554 1 15 1.446 15 2 L 15 14 C 15 14.554 14.554 15 14 15 L 2 15 C 1.446 15 1 14.554 1 14 L 1 2 C 1 1.446 1.446 1 2 1 z " transform="translate(0 1036.3622)"/>
+<rect width="8" x="4" y="1043.362" height="2" style="fill:#d64937"/>
+</g>
+</svg>
diff --git a/gtk-3.0/assets/checkbox-mixed-insensitive-dark.svg b/gtk-3.0/assets/checkbox-mixed-insensitive-dark.svg
new file mode 100644
index 0000000..27e0ef1
--- /dev/null
+++ b/gtk-3.0/assets/checkbox-mixed-insensitive-dark.svg
@@ -0,0 +1,9 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g transform="translate(0 -1036.3622)">
+<path style="fill:#2a2a2a" d="m 1.7429523,1036.9203 12.7034987,0 c 0.586479,0 1.058625,0.468 1.058625,1.0495 l 0,12.5953 c 0,0.5815 -0.472146,1.0496 -1.058625,1.0496 l -12.7034987,0 c -0.5864782,0 -1.05862497,-0.4681 -1.05862497,-1.0496 l 0,-12.5953 c 0,-0.5815 0.47214677,-1.0495 1.05862497,-1.0495 z"/>
+</g>
+<g style="fill:#1f1f1f" transform="translate(0 -1036.3622)">
+<path d="M 2 0 C 0.892 0 3.2526065e-18 0.892 0 2 L 0 14 C 0 15.108 0.892 16 2 16 L 14 16 C 15.108 16 16 15.108 16 14 L 16 2 C 16 0.892 15.108 3.2526065e-18 14 0 L 2 0 z M 2 1 L 14 1 C 14.554 1 15 1.446 15 2 L 15 14 C 15 14.554 14.554 15 14 15 L 2 15 C 1.446 15 1 14.554 1 14 L 1 2 C 1 1.446 1.446 1 2 1 z " transform="translate(0 1036.3622)"/>
+<rect width="8" x="4" y="1043.362" height="2"/>
+</g>
+</svg>
diff --git a/gtk-3.0/assets/checkbox-mixed-insensitive.svg b/gtk-3.0/assets/checkbox-mixed-insensitive.svg
new file mode 100644
index 0000000..d408465
--- /dev/null
+++ b/gtk-3.0/assets/checkbox-mixed-insensitive.svg
@@ -0,0 +1,9 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g transform="translate(0 -1036.3622)">
+<path style="fill:#d3d3d3" d="m 1.7339331,1037.2359 12.5952689,0 c 0.581481,0 1.049605,0.4581 1.049605,1.0271 l 0,12.3247 c 0,0.569 -0.468124,1.027 -1.049605,1.027 l -12.5952689,0 c -0.5814816,0 -1.04960577,-0.458 -1.04960577,-1.027 l 0,-12.3247 c 0,-0.569 0.46812417,-1.0271 1.04960577,-1.0271 z"/>
+</g>
+<g style="fill:#aaa" transform="translate(0 -1036.3622)">
+<path d="M 2 0 C 0.892 0 3.2526065e-18 0.892 0 2 L 0 14 C 0 15.108 0.892 16 2 16 L 14 16 C 15.108 16 16 15.108 16 14 L 16 2 C 16 0.892 15.108 3.2526065e-18 14 0 L 2 0 z M 2 1 L 14 1 C 14.554 1 15 1.446 15 2 L 15 14 C 15 14.554 14.554 15 14 15 L 2 15 C 1.446 15 1 14.554 1 14 L 1 2 C 1 1.446 1.446 1 2 1 z " transform="translate(0 1036.3622)"/>
+<rect width="8" x="4" y="1043.362" height="2"/>
+</g>
+</svg>
diff --git a/gtk-3.0/assets/checkbox-mixed.svg b/gtk-3.0/assets/checkbox-mixed.svg
new file mode 100644
index 0000000..414f2f2
--- /dev/null
+++ b/gtk-3.0/assets/checkbox-mixed.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g transform="translate(0 -1036.3622)">
+<rect width="14" x="1" y="1" rx="1" height="14" style="fill:#f9f9f9" transform="translate(0 1036.3622)"/>
+<path style="fill:#aaa" d="M 2 0 C 0.892 0 3.2526065e-18 0.892 0 2 L 0 14 C 0 15.108 0.892 16 2 16 L 14 16 C 15.108 16 16 15.108 16 14 L 16 2 C 16 0.892 15.108 3.2526065e-18 14 0 L 2 0 z M 2 1 L 14 1 C 14.554 1 15 1.446 15 2 L 15 14 C 15 14.554 14.554 15 14 15 L 2 15 C 1.446 15 1 14.554 1 14 L 1 2 C 1 1.446 1.446 1 2 1 z " transform="translate(0 1036.3622)"/>
+<rect width="8" x="4" y="1043.362" height="2" style="fill:#d64937"/>
+</g>
+</svg>
diff --git a/gtk-3.0/assets/checkbox-unchecked-dark.svg b/gtk-3.0/assets/checkbox-unchecked-dark.svg
new file mode 100644
index 0000000..36eeb4d
--- /dev/null
+++ b/gtk-3.0/assets/checkbox-unchecked-dark.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g transform="translate(0 -1036.3622)">
+<rect width="14.442" x=".811" y="1036.92" rx="1" height="14.947" style="fill:#393939"/>
+<path style="fill:#1f1f1f" d="M 2 0 C 0.892 0 3.2526065e-18 0.892 0 2 L 0 14 C 0 15.108 0.892 16 2 16 L 14 16 C 15.108 16 16 15.108 16 14 L 16 2 C 16 0.892 15.108 3.2526065e-18 14 0 L 2 0 z M 2 1 L 14 1 C 14.554 1 15 1.446 15 2 L 15 14 C 15 14.554 14.554 15 14 15 L 2 15 C 1.446 15 1 14.554 1 14 L 1 2 C 1 1.446 1.446 1 2 1 z " transform="translate(0 1036.3622)"/>
+</g>
+</svg>
diff --git a/gtk-3.0/assets/checkbox-unchecked-insensitive-dark.svg b/gtk-3.0/assets/checkbox-unchecked-insensitive-dark.svg
new file mode 100644
index 0000000..3488e66
--- /dev/null
+++ b/gtk-3.0/assets/checkbox-unchecked-insensitive-dark.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g transform="translate(0 -1036.3622)">
+<path style="fill:#2a2a2a" d="m 1.6166832,1037.0567 12.7034988,0 c 0.586479,0 1.058625,0.468 1.058625,1.0495 l 0,12.5953 c 0,0.5815 -0.472146,1.0496 -1.058625,1.0496 l -12.7034988,0 c -0.5864782,0 -1.05862494,-0.4681 -1.05862494,-1.0496 l 0,-12.5953 c 0,-0.5815 0.47214674,-1.0495 1.05862494,-1.0495 z"/>
+<path style="fill:#1f1f1f" d="M 2 0 C 0.892 0 3.2526065e-18 0.892 0 2 L 0 14 C 0 15.108 0.892 16 2 16 L 14 16 C 15.108 16 16 15.108 16 14 L 16 2 C 16 0.892 15.108 3.2526065e-18 14 0 L 2 0 z M 2 1 L 14 1 C 14.554 1 15 1.446 15 2 L 15 14 C 15 14.554 14.554 15 14 15 L 2 15 C 1.446 15 1 14.554 1 14 L 1 2 C 1 1.446 1.446 1 2 1 z " transform="translate(0 1036.3622)"/>
+</g>
+</svg>
diff --git a/gtk-3.0/assets/checkbox-unchecked-insensitive.svg b/gtk-3.0/assets/checkbox-unchecked-insensitive.svg
new file mode 100644
index 0000000..f90aa4c
--- /dev/null
+++ b/gtk-3.0/assets/checkbox-unchecked-insensitive.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g transform="translate(0 -1036.3622)">
+<path style="fill:#d3d3d3" d="m 1.6707985,1036.9834 12.5952685,0 c 0.581481,0 1.049606,0.4621 1.049606,1.0361 l 0,12.4328 c 0,0.574 -0.468125,1.0362 -1.049606,1.0362 l -12.5952685,0 c -0.5814816,0 -1.0496057,-0.4622 -1.0496057,-1.0362 l 0,-12.4328 c 0,-0.574 0.4681241,-1.0361 1.0496057,-1.0361 z"/>
+<path style="fill:#aaa" d="M 2 0 C 0.892 0 3.2526065e-18 0.892 0 2 L 0 14 C 0 15.108 0.892 16 2 16 L 14 16 C 15.108 16 16 15.108 16 14 L 16 2 C 16 0.892 15.108 3.2526065e-18 14 0 L 2 0 z M 2 1 L 14 1 C 14.554 1 15 1.446 15 2 L 15 14 C 15 14.554 14.554 15 14 15 L 2 15 C 1.446 15 1 14.554 1 14 L 1 2 C 1 1.446 1.446 1 2 1 z " transform="translate(0 1036.3622)"/>
+</g>
+</svg>
diff --git a/gtk-3.0/assets/checkbox-unchecked.svg b/gtk-3.0/assets/checkbox-unchecked.svg
new file mode 100644
index 0000000..06176e3
--- /dev/null
+++ b/gtk-3.0/assets/checkbox-unchecked.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g transform="translate(0 -1036.3622)">
+<rect width="14" x="1" y="1" rx="1" height="14" style="fill:#f9f9f9" transform="translate(0 1036.3622)"/>
+<path style="fill:#aaa" d="M 2 0 C 0.892 0 3.2526065e-18 0.892 0 2 L 0 14 C 0 15.108 0.892 16 2 16 L 14 16 C 15.108 16 16 15.108 16 14 L 16 2 C 16 0.892 15.108 3.2526065e-18 14 0 L 2 0 z M 2 1 L 14 1 C 14.554 1 15 1.446 15 2 L 15 14 C 15 14.554 14.554 15 14 15 L 2 15 C 1.446 15 1 14.554 1 14 L 1 2 C 1 1.446 1.446 1 2 1 z " transform="translate(0 1036.3622)"/>
+</g>
+</svg>
diff --git a/gtk-3.0/assets/grid-selection-checked-dark.svg b/gtk-3.0/assets/grid-selection-checked-dark.svg
new file mode 100644
index 0000000..c1d5486
--- /dev/null
+++ b/gtk-3.0/assets/grid-selection-checked-dark.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g transform="translate(0 -1012.3622)">
+<rect width="37.054" x="1.429" y="1013.791" rx="1" height="37.054" style="fill:#393939"/>
+<path style="fill:#1f1f1f" d="m 5,1012.3622 c -2.77,0 -5,2.23 -5,5 l 0,30 c 0,2.77 2.23,5 5,5 l 30,0 c 2.77,0 5,-2.23 5,-5 l 0,-30 c 0,-2.77 -2.23,-5 -5,-5 z m 0,2.0536 30,0 c 1.385,0 3.035714,1.5614 3.035714,2.9464 l 0,30 c 0,1.385 -1.650714,3.0357 -3.035714,3.0357 l -30,0 c -1.385,0 -2.9464286,-1.6507 -2.9464286,-3.0357 l 0,-30 c 0,-1.385 1.5614286,-2.9464 2.9464286,-2.9464 z"/>
+<path style="fill:#d64937;line-height:normal;color:#000" d="m 29.13352,1022.158 c -0.914683,0.025 -1.818308,0.4057 -2.463877,1.0665 l -10.073226,9.5917 -3.455547,-3.8722 c -1.229737,-1.64 -3.926399,-1.8163 -5.3516312,-0.35 -1.4252323,1.4662 -1.2275153,4.2135 0.3923797,5.452 l 5.9579565,6.3997 c 2.342312,2.3423 3.397624,2.029 5.762435,-0.3357 0,0 8.126148,-9.7758 12.889022,-13.08 1.052818,-0.998 1.492196,-1.2755 0.94419,-2.6305 -0.548004,-1.355 -3.164817,-2.29 -4.601702,-2.2415 z"/>
+</g>
+</svg>
diff --git a/gtk-3.0/assets/grid-selection-checked.svg b/gtk-3.0/assets/grid-selection-checked.svg
new file mode 100644
index 0000000..a660356
--- /dev/null
+++ b/gtk-3.0/assets/grid-selection-checked.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g transform="translate(0 -1012.3622)">
+<rect width="37.5" x="1.429" y="1013.791" rx="1" height="37.5" style="fill:#f9f9f9"/>
+<path style="fill:#aaa" d="m 5,1012.3622 c -2.77,0 -5,2.23 -5,5 l 0,30 c 0,2.77 2.23,5 5,5 l 30,0 c 2.77,0 5,-2.23 5,-5 l 0,-30 c 0,-2.77 -2.23,-5 -5,-5 z m 0,2.0536 30,0 c 1.385,0 3.035714,1.5614 3.035714,2.9464 l 0,30 c 0,1.385 -1.650714,3.0357 -3.035714,3.0357 l -30,0 c -1.385,0 -2.9464286,-1.6507 -2.9464286,-3.0357 l 0,-30 c 0,-1.385 1.5614286,-2.9464 2.9464286,-2.9464 z"/>
+<path style="fill:#d64937;line-height:normal;color:#000" d="m 29.13352,1022.158 c -0.914683,0.025 -1.818308,0.4057 -2.463877,1.0665 l -10.073226,9.5917 -3.455547,-3.8722 c -1.229737,-1.64 -3.926399,-1.8163 -5.3516312,-0.35 -1.4252323,1.4662 -1.2275153,4.2135 0.3923797,5.452 l 5.9579565,6.3997 c 2.342312,2.3423 3.397624,2.029 5.762435,-0.3357 0,0 8.126148,-9.7758 12.889022,-13.08 1.052818,-0.998 1.492196,-1.2755 0.94419,-2.6305 -0.548004,-1.355 -3.164817,-2.29 -4.601702,-2.2415 z"/>
+</g>
+</svg>
diff --git a/gtk-3.0/assets/grid-selection-unchecked-dark.svg b/gtk-3.0/assets/grid-selection-unchecked-dark.svg
new file mode 100644
index 0000000..f925043
--- /dev/null
+++ b/gtk-3.0/assets/grid-selection-unchecked-dark.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g transform="translate(0 -1012.3622)">
+<rect width="37.054" x="1.429" y="1013.791" rx="1" height="37.054" style="fill:#393939"/>
+<path style="fill:#1f1f1f" d="m 5,1012.3622 c -2.77,0 -5,2.23 -5,5 l 0,30 c 0,2.77 2.23,5 5,5 l 30,0 c 2.77,0 5,-2.23 5,-5 l 0,-30 c 0,-2.77 -2.23,-5 -5,-5 z m 0,2.0536 30,0 c 1.385,0 3.035714,1.5614 3.035714,2.9464 l 0,30 c 0,1.385 -1.650714,3.0357 -3.035714,3.0357 l -30,0 c -1.385,0 -2.9464286,-1.6507 -2.9464286,-3.0357 l 0,-30 c 0,-1.385 1.5614286,-2.9464 2.9464286,-2.9464 z"/>
+</g>
+</svg>
diff --git a/gtk-3.0/assets/grid-selection-unchecked.svg b/gtk-3.0/assets/grid-selection-unchecked.svg
new file mode 100644
index 0000000..689da2d
--- /dev/null
+++ b/gtk-3.0/assets/grid-selection-unchecked.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g transform="translate(0 -1012.3622)">
+<rect width="37.5" x="1.429" y="1013.791" rx="1" height="37.5" style="fill:#f9f9f9"/>
+<path style="fill:#aaa" d="m 5,1012.3622 c -2.77,0 -5,2.23 -5,5 l 0,30 c 0,2.77 2.23,5 5,5 l 30,0 c 2.77,0 5,-2.23 5,-5 l 0,-30 c 0,-2.77 -2.23,-5 -5,-5 z m 0,2.0536 30,0 c 1.385,0 3.035714,1.5614 3.035714,2.9464 l 0,30 c 0,1.385 -1.650714,3.0357 -3.035714,3.0357 l -30,0 c -1.385,0 -2.9464286,-1.6507 -2.9464286,-3.0357 l 0,-30 c 0,-1.385 1.5614286,-2.9464 2.9464286,-2.9464 z"/>
+</g>
+</svg>
diff --git a/gtk-3.0/assets/menuitem-checkbox-checked-hover.svg b/gtk-3.0/assets/menuitem-checkbox-checked-hover.svg
new file mode 100644
index 0000000..8ab7153
--- /dev/null
+++ b/gtk-3.0/assets/menuitem-checkbox-checked-hover.svg
@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g transform="translate(0 -1036.3622)">
+<path style="fill:#f9f9f9;line-height:normal;color:#000" d="m 11.653408,1040.2805 c -0.365873,0.01 -0.727323,0.1623 -0.985551,0.4266 l -4.0292904,3.8367 -1.3822187,-1.5489 c -0.4918947,-0.656 -1.5705595,-0.7265 -2.1406524,-0.14 -0.5700929,0.5865 -0.4910061,1.6854 0.1569519,2.1808 l 2.3831825,2.5599 c 0.9369248,0.9369 1.3590497,0.8116 2.3049741,-0.1343 0,0 3.250459,-3.9103 5.155609,-5.232 0.421127,-0.3992 0.596878,-0.5102 0.377676,-1.0522 -0.219202,-0.542 -1.265927,-0.916 -1.840681,-0.8966 z"/>
+</g>
+</svg>
diff --git a/gtk-3.0/assets/menuitem-checkbox-checked-insensitive.svg b/gtk-3.0/assets/menuitem-checkbox-checked-insensitive.svg
new file mode 100644
index 0000000..f570a1c
--- /dev/null
+++ b/gtk-3.0/assets/menuitem-checkbox-checked-insensitive.svg
@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g transform="translate(0 -1036.3622)">
+<path style="fill:#999;line-height:normal;color:#000" d="m 11.653408,1040.2805 c -0.365873,0.01 -0.727323,0.1623 -0.985551,0.4266 l -4.0292904,3.8367 -1.3822187,-1.5489 c -0.4918947,-0.656 -1.5705595,-0.7265 -2.1406524,-0.14 -0.5700929,0.5865 -0.4910061,1.6854 0.1569519,2.1808 l 2.3831825,2.5599 c 0.9369248,0.9369 1.3590497,0.8116 2.3049741,-0.1343 0,0 3.250459,-3.9103 5.155609,-5.232 0.421127,-0.3992 0.596878,-0.5102 0.377676,-1.0522 -0.219202,-0.542 -1.265927,-0.916 -1.840681,-0.8966 z"/>
+</g>
+</svg>
diff --git a/gtk-3.0/assets/menuitem-checkbox-checked.svg b/gtk-3.0/assets/menuitem-checkbox-checked.svg
new file mode 100644
index 0000000..6fbfb3e
--- /dev/null
+++ b/gtk-3.0/assets/menuitem-checkbox-checked.svg
@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g transform="translate(0 -1036.3622)">
+<path style="fill:#d64937;line-height:normal;color:#000" d="m 11.653408,1040.2805 c -0.365873,0.01 -0.727323,0.1623 -0.985551,0.4266 l -4.0292904,3.8367 -1.3822187,-1.5489 c -0.4918947,-0.656 -1.5705595,-0.7265 -2.1406524,-0.14 -0.5700929,0.5865 -0.4910061,1.6854 0.1569519,2.1808 l 2.3831825,2.5599 c 0.9369248,0.9369 1.3590497,0.8116 2.3049741,-0.1343 0,0 3.250459,-3.9103 5.155609,-5.232 0.421127,-0.3992 0.596878,-0.5102 0.377676,-1.0522 -0.219202,-0.542 -1.265927,-0.916 -1.840681,-0.8966 z"/>
+</g>
+</svg>
diff --git a/gtk-3.0/assets/menuitem-checkbox-mixed-hover.svg b/gtk-3.0/assets/menuitem-checkbox-mixed-hover.svg
new file mode 100644
index 0000000..d150f8f
--- /dev/null
+++ b/gtk-3.0/assets/menuitem-checkbox-mixed-hover.svg
@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
+<g transform="translate(0 -1036.3622)">
+<rect width="8" x="4" y="7" height="2" style="fill:#f9f9f9" transform="translate(0 1036.3622)"/>
+</g>
+</svg>
diff --git a/gtk-3.0/assets/menuitem-checkbox-mixed-insensitive.svg b/gtk-3.0/assets/menuitem-checkbox-mixed-insensitive.svg
new file mode 100644
index 0000000..fd8b0d4
--- /dev/null
+++ b/gtk-3.0/assets/menuitem-checkbox-mixed-insensitive.svg
@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
+<g transform="translate(0 -1036.3622)">
+<rect width="8" x="4" y="7" height="2" style="fill:#aaa" transform="translate(0 1036.3622)"/>
+</g>
+</svg>
diff --git a/gtk-3.0/assets/menuitem-checkbox-mixed-selected.svg b/gtk-3.0/assets/menuitem-checkbox-mixed-selected.svg
new file mode 100644
index 0000000..d150f8f
--- /dev/null
+++ b/gtk-3.0/assets/menuitem-checkbox-mixed-selected.svg
@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
+<g transform="translate(0 -1036.3622)">
+<rect width="8" x="4" y="7" height="2" style="fill:#f9f9f9" transform="translate(0 1036.3622)"/>
+</g>
+</svg>
diff --git a/gtk-3.0/assets/menuitem-checkbox-mixed.svg b/gtk-3.0/assets/menuitem-checkbox-mixed.svg
new file mode 100644
index 0000000..a82b2c0
--- /dev/null
+++ b/gtk-3.0/assets/menuitem-checkbox-mixed.svg
@@ -0,0 +1,11 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
+<defs>
+<filter width="1.09" x="-.045" y="-.18" height="1.36" id="filter3971">
+<feGaussianBlur stdDeviation=".15"/>
+</filter>
+</defs>
+<g transform="translate(0 -1036.3622)">
+<rect width="8" x="4" y="1043.451" height="2" style="fill:#555753;filter:url(#filter3971)"/>
+<rect width="8" x="4" y="7" height="2" style="fill:#d64937" transform="translate(0 1036.3622)"/>
+</g>
+</svg>
diff --git a/gtk-3.0/assets/menuitem-radio-checked-hover.svg b/gtk-3.0/assets/menuitem-radio-checked-hover.svg
new file mode 100644
index 0000000..afb9db2
--- /dev/null
+++ b/gtk-3.0/assets/menuitem-radio-checked-hover.svg
@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
+<g transform="translate(0 -1036.3622)">
+<path style="fill:#f9f9f9" d="M 11,8 C 11,9.6568542 9.6568542,11 8,11 6.3431458,11 5,9.6568542 5,8 5,6.3431458 6.3431458,5 8,5 c 1.6568542,0 3,1.3431458 3,3 z" transform="translate(0 1036.3622)"/>
+</g>
+</svg>
diff --git a/gtk-3.0/assets/menuitem-radio-checked-insensitive.svg b/gtk-3.0/assets/menuitem-radio-checked-insensitive.svg
new file mode 100644
index 0000000..0bc947f
--- /dev/null
+++ b/gtk-3.0/assets/menuitem-radio-checked-insensitive.svg
@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g transform="translate(0 -1036.3622)">
+<path style="fill:#aaa" d="M 11,8 C 11,9.6568542 9.6568542,11 8,11 6.3431458,11 5,9.6568542 5,8 5,6.3431458 6.3431458,5 8,5 c 1.6568542,0 3,1.3431458 3,3 z" transform="translate(0 1036.3622)"/>
+</g>
+</svg>
diff --git a/gtk-3.0/assets/menuitem-radio-checked.svg b/gtk-3.0/assets/menuitem-radio-checked.svg
new file mode 100644
index 0000000..61f0626
--- /dev/null
+++ b/gtk-3.0/assets/menuitem-radio-checked.svg
@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g transform="translate(0 -1036.3622)">
+<path style="fill:#d64937" d="M 11,8 C 11,9.6568542 9.6568542,11 8,11 6.3431458,11 5,9.6568542 5,8 5,6.3431458 6.3431458,5 8,5 c 1.6568542,0 3,1.3431458 3,3 z" transform="translate(0 1036.3622)"/>
+</g>
+</svg>
diff --git a/gtk-3.0/assets/pane-handle-vertical.svg b/gtk-3.0/assets/pane-handle-vertical.svg
new file mode 100644
index 0000000..8a983c7
--- /dev/null
+++ b/gtk-3.0/assets/pane-handle-vertical.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 9 4">
+<g style="color:#000" transform="translate(0 -1048.3622)">
+<rect width="1" x="-9" y="-1052.362" height="4" style="opacity:.2" transform="scale(-1)"/>
+<rect width="1" x="-5" y="-1052.362" height="4" style="opacity:.2" transform="scale(-1)"/>
+<rect width="1" x="-1" y="-1052.362" height="4" style="opacity:.2" transform="scale(-1)"/>
+</g>
+</svg>
diff --git a/gtk-3.0/assets/pane-handle.svg b/gtk-3.0/assets/pane-handle.svg
new file mode 100644
index 0000000..7bd3be0
--- /dev/null
+++ b/gtk-3.0/assets/pane-handle.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 4 9">
+<g style="color:#000" transform="translate(0 -1043.3622)">
+<rect width="1" x="1051.362" y="-4" height="4" style="opacity:.2" transform="rotate(90)"/>
+<rect width="1" x="1047.362" y="-4" height="4" style="opacity:.2" transform="rotate(90)"/>
+<rect width="1" x="1043.362" y="-4" height="4" style="opacity:.2" transform="rotate(90)"/>
+</g>
+</svg>
diff --git a/gtk-3.0/assets/radio-mixed-dark.svg b/gtk-3.0/assets/radio-mixed-dark.svg
new file mode 100644
index 0000000..b6b0d76
--- /dev/null
+++ b/gtk-3.0/assets/radio-mixed-dark.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
+<g transform="translate(0 -1036.3622)">
+<path style="fill:#393939" d="M 15,8 A 7,7 0 1 1 1,8 7,7 0 1 1 15,8 z" transform="matrix(1.06059 0 0 1.05421 -.46237 1036.0847)"/>
+<path style="fill:#1f1f1f" d="M 8 0 C 3.581722 8.8817842e-16 -3.006854e-17 3.581722 0 8 C 0 12.418278 3.581722 16 8 16 C 12.418278 16 16 12.418278 16 8 C 16 3.581722 12.418278 -1.8064254e-15 8 0 z M 8 1 C 11.865993 1 15 4.1340068 15 8 C 15 11.865993 11.865993 15 8 15 C 4.1340068 15 1 11.865993 1 8 C 1 4.1340068 4.1340068 1 8 1 z " transform="translate(0 1036.3622)"/>
+<rect width="8" x="4" y="7" height="2" style="fill:#d64937" transform="translate(0 1036.3622)"/>
+</g>
+</svg>
diff --git a/gtk-3.0/assets/radio-mixed-insensitive-dark.svg b/gtk-3.0/assets/radio-mixed-insensitive-dark.svg
new file mode 100644
index 0000000..6b93fc4
--- /dev/null
+++ b/gtk-3.0/assets/radio-mixed-insensitive-dark.svg
@@ -0,0 +1,9 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g transform="translate(0 -1036.3622)">
+<path style="fill:#2a2a2a" d="m 8.1785714,1037.0497 c 4.0385816,0 7.3124996,3.254 7.3124996,7.2678 0,4.0139 -3.273918,7.2679 -7.3124996,7.2679 -4.0385821,0 -7.31249997,-3.254 -7.31249997,-7.2679 0,-4.0138 3.27391787,-7.2678 7.31249997,-7.2678 z"/>
+</g>
+<g style="fill:#1f1f1f" transform="translate(0 -1036.3622)">
+<path d="M 8 0 C 3.581722 8.8817842e-16 -3.006854e-17 3.581722 0 8 C 0 12.418278 3.581722 16 8 16 C 12.418278 16 16 12.418278 16 8 C 16 3.581722 12.418278 -1.8064254e-15 8 0 z M 8 1 C 11.865993 1 15 4.1340068 15 8 C 15 11.865993 11.865993 15 8 15 C 4.1340068 15 1 11.865993 1 8 C 1 4.1340068 4.1340068 1 8 1 z " transform="translate(0 1036.3622)"/>
+<rect width="8" x="4" y="7" height="2" transform="translate(0 1036.3622)"/>
+</g>
+</svg>
diff --git a/gtk-3.0/assets/radio-mixed-insensitive.svg b/gtk-3.0/assets/radio-mixed-insensitive.svg
new file mode 100644
index 0000000..9fa3659
--- /dev/null
+++ b/gtk-3.0/assets/radio-mixed-insensitive.svg
@@ -0,0 +1,9 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" xmlns:xlink="http://www.w3.org/1999/xlink">
+<g transform="translate(0 -1036.3622)">
+<path style="fill:#d3d3d3" d="m 8.0669643,1037.1836 c 4.0755647,0 7.3794647,3.224 7.3794647,7.2009 0,3.9769 -3.3039,7.2009 -7.3794647,7.2009 -4.0755656,0 -7.3794643,-3.224 -7.3794643,-7.2009 0,-3.9769 3.3038987,-7.2009 7.3794643,-7.2009 z"/>
+</g>
+<g style="fill:#aaa" transform="translate(0 -1036.3622)">
+<path d="M 8 0 C 3.581722 8.8817842e-16 -3.006854e-17 3.581722 0 8 C 0 12.418278 3.581722 16 8 16 C 12.418278 16 16 12.418278 16 8 C 16 3.581722 12.418278 -1.8064254e-15 8 0 z M 8 1 C 11.865993 1 15 4.1340068 15 8 C 15 11.865993 11.865993 15 8 15 C 4.1340068 15 1 11.865993 1 8 C 1 4.1340068 4.1340068 1 8 1 z " transform="translate(0 1036.3622)"/>
+<rect width="8" x="4" y="7" height="2" transform="translate(0 1036.3622)"/>
+</g>
+</svg>
diff --git a/gtk-3.0/assets/radio-mixed.svg b/gtk-3.0/assets/radio-mixed.svg
new file mode 100644
index 0000000..a85a7ac
--- /dev/null
+++ b/gtk-3.0/assets/radio-mixed.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
+<g transform="translate(0 -1036.3622)">
+<path style="fill:#f9f9f9" d="m 15,8 c 0,3.865993 -3.134007,7 -7,7 C 4.1340068,15 1,11.865993 1,8 1,4.1340068 4.1340068,1 8,1 c 3.865993,0 7,3.1340068 7,7 z" transform="translate(0 1036.3622)"/>
+<path style="fill:#aaa" d="M 8 0 C 3.581722 8.8817842e-16 -3.006854e-17 3.581722 0 8 C 0 12.418278 3.581722 16 8 16 C 12.418278 16 16 12.418278 16 8 C 16 3.581722 12.418278 -1.8064254e-15 8 0 z M 8 1 C 11.865993 1 15 4.1340068 15 8 C 15 11.865993 11.865993 15 8 15 C 4.1340068 15 1 11.865993 1 8 C 1 4.1340068 4.1340068 1 8 1 z " transform="translate(0 1036.3622)"/>
+<rect width="8" x="4" y="7" height="2" style="fill:#d64937" transform="translate(0 1036.3622)"/>
+</g>
+</svg>
diff --git a/gtk-3.0/assets/radio-selected-dark.svg b/gtk-3.0/assets/radio-selected-dark.svg
new file mode 100644
index 0000000..28da8de
--- /dev/null
+++ b/gtk-3.0/assets/radio-selected-dark.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
+<g transform="translate(0 -1036.3622)">
+<path style="fill:#393939" d="m 15,8 c 0,3.865993 -3.134007,7 -7,7 C 4.1340068,15 1,11.865993 1,8 1,4.1340068 4.1340068,1 8,1 c 3.865993,0 7,3.1340068 7,7 z" transform="translate(0 1036.3622)"/>
+<path style="fill:#1f1f1f" d="M 8 0 C 3.581722 8.8817842e-16 -3.006854e-17 3.581722 0 8 C 0 12.418278 3.581722 16 8 16 C 12.418278 16 16 12.418278 16 8 C 16 3.581722 12.418278 -1.8064254e-15 8 0 z M 8 1 C 11.865993 1 15 4.1340068 15 8 C 15 11.865993 11.865993 15 8 15 C 4.1340068 15 1 11.865993 1 8 C 1 4.1340068 4.1340068 1 8 1 z " transform="translate(0 1036.3622)"/>
+<path style="fill:#d64937" d="M 11,8 C 11,9.6568542 9.6568542,11 8,11 6.3431458,11 5,9.6568542 5,8 5,6.3431458 6.3431458,5 8,5 c 1.6568542,0 3,1.3431458 3,3 z" transform="translate(0 1036.3622)"/>
+</g>
+</svg>
diff --git a/gtk-3.0/assets/radio-selected-insensitive-dark.svg b/gtk-3.0/assets/radio-selected-insensitive-dark.svg
new file mode 100644
index 0000000..f5cfbe0
--- /dev/null
+++ b/gtk-3.0/assets/radio-selected-insensitive-dark.svg
@@ -0,0 +1,9 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
+<g transform="translate(0 -1036.3622)">
+<path style="fill:#2a2a2a" d="m 8.0319969,1037.1354 c 4.0385821,0 7.3125001,3.254 7.3125001,7.2678 0,4.0139 -3.273918,7.2679 -7.3125001,7.2679 -4.0385817,0 -7.31249964,-3.254 -7.31249964,-7.2679 0,-4.0138 3.27391794,-7.2678 7.31249964,-7.2678 z"/>
+</g>
+<g style="fill:#1f1f1f" transform="translate(0 -1036.3622)">
+<path d="M 8 0 C 3.581722 8.8817842e-16 -3.006854e-17 3.581722 0 8 C 0 12.418278 3.581722 16 8 16 C 12.418278 16 16 12.418278 16 8 C 16 3.581722 12.418278 -1.8064254e-15 8 0 z M 8 1 C 11.865993 1 15 4.1340068 15 8 C 15 11.865993 11.865993 15 8 15 C 4.1340068 15 1 11.865993 1 8 C 1 4.1340068 4.1340068 1 8 1 z " transform="translate(0 1036.3622)"/>
+<path style="opacity:.8" d="M 11,8 C 11,9.6568542 9.6568542,11 8,11 6.3431458,11 5,9.6568542 5,8 5,6.3431458 6.3431458,5 8,5 c 1.6568542,0 3,1.3431458 3,3 z" transform="translate(0 1036.3622)"/>
+</g>
+</svg>
diff --git a/gtk-3.0/assets/radio-selected-insensitive.svg b/gtk-3.0/assets/radio-selected-insensitive.svg
new file mode 100644
index 0000000..e782ba6
--- /dev/null
+++ b/gtk-3.0/assets/radio-selected-insensitive.svg
@@ -0,0 +1,9 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
+<g transform="translate(0 -1036.3622)">
+<path style="fill:#d3d3d3" d="m 8.0315672,1036.8571 c 4.1275048,0 7.4735088,3.3602 7.4735088,7.5051 0,4.1449 -3.346004,7.5051 -7.4735088,7.5051 -4.1275049,0 -7.47350894,-3.3602 -7.47350894,-7.5051 0,-4.1449 3.34600404,-7.5051 7.47350894,-7.5051 z"/>
+</g>
+<g style="fill:#aaa" transform="translate(0 -1036.3622)">
+<path d="M 8 0 C 3.581722 8.8817842e-16 -3.006854e-17 3.581722 0 8 C 0 12.418278 3.581722 16 8 16 C 12.418278 16 16 12.418278 16 8 C 16 3.581722 12.418278 -1.8064254e-15 8 0 z M 8 1 C 11.865993 1 15 4.1340068 15 8 C 15 11.865993 11.865993 15 8 15 C 4.1340068 15 1 11.865993 1 8 C 1 4.1340068 4.1340068 1 8 1 z " transform="translate(0 1036.3622)"/>
+<path d="M 11,8 C 11,9.6568542 9.6568542,11 8,11 6.3431458,11 5,9.6568542 5,8 5,6.3431458 6.3431458,5 8,5 c 1.6568542,0 3,1.3431458 3,3 z" transform="translate(0 1036.3622)"/>
+</g>
+</svg>
diff --git a/gtk-3.0/assets/radio-selected.svg b/gtk-3.0/assets/radio-selected.svg
new file mode 100644
index 0000000..91cafc1
--- /dev/null
+++ b/gtk-3.0/assets/radio-selected.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
+<g transform="translate(0 -1036.3622)">
+<path style="fill:#f9f9f9" d="m 15,8 c 0,3.865993 -3.134007,7 -7,7 C 4.1340068,15 1,11.865993 1,8 1,4.1340068 4.1340068,1 8,1 c 3.865993,0 7,3.1340068 7,7 z" transform="translate(0 1036.3622)"/>
+<path style="fill:#aaa" d="M 8 0 C 3.581722 8.8817842e-16 -3.006854e-17 3.581722 0 8 C 0 12.418278 3.581722 16 8 16 C 12.418278 16 16 12.418278 16 8 C 16 3.581722 12.418278 -1.8064254e-15 8 0 z M 8 1 C 11.865993 1 15 4.1340068 15 8 C 15 11.865993 11.865993 15 8 15 C 4.1340068 15 1 11.865993 1 8 C 1 4.1340068 4.1340068 1 8 1 z " transform="translate(0 1036.3622)"/>
+<path style="fill:#d64937" d="M 11,8 C 11,9.6568542 9.6568542,11 8,11 6.3431458,11 5,9.6568542 5,8 5,6.3431458 6.3431458,5 8,5 c 1.6568542,0 3,1.3431458 3,3 z" transform="translate(0 1036.3622)"/>
+</g>
+</svg>
diff --git a/gtk-3.0/assets/radio-unselected-dark.svg b/gtk-3.0/assets/radio-unselected-dark.svg
new file mode 100644
index 0000000..214ed94
--- /dev/null
+++ b/gtk-3.0/assets/radio-unselected-dark.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
+<g transform="translate(0 -1036.3622)">
+<path style="fill:#393939" d="M 15,8 A 7,7 0 1 1 1,8 7,7 0 1 1 15,8 z" transform="matrix(1.04961 0 0 1.03157 -.42841 1036.2044)"/>
+<path style="fill:#1f1f1f" d="M 8 0 C 3.581722 8.8817842e-16 -3.006854e-17 3.581722 0 8 C 0 12.418278 3.581722 16 8 16 C 12.418278 16 16 12.418278 16 8 C 16 3.581722 12.418278 -1.8064254e-15 8 0 z M 8 1 C 11.865993 1 15 4.1340068 15 8 C 15 11.865993 11.865993 15 8 15 C 4.1340068 15 1 11.865993 1 8 C 1 4.1340068 4.1340068 1 8 1 z " transform="translate(0 1036.3622)"/>
+</g>
+</svg>
diff --git a/gtk-3.0/assets/radio-unselected-insensitive-dark.svg b/gtk-3.0/assets/radio-unselected-insensitive-dark.svg
new file mode 100644
index 0000000..0fdfaf4
--- /dev/null
+++ b/gtk-3.0/assets/radio-unselected-insensitive-dark.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
+<g transform="translate(0 -1036.3622)">
+<path style="fill:#2a2a2a" d="m 7.9891678,1037.1027 c 4.0385812,0 7.3124992,3.254 7.3124992,7.2678 0,4.0139 -3.273918,7.2679 -7.3124992,7.2679 -4.0385821,0 -7.31249997,-3.254 -7.31249997,-7.2679 0,-4.0138 3.27391787,-7.2678 7.31249997,-7.2678 z"/>
+<path style="fill:#1f1f1f" d="M 8 0 C 3.581722 8.8817842e-16 -3.006854e-17 3.581722 0 8 C 0 12.418278 3.581722 16 8 16 C 12.418278 16 16 12.418278 16 8 C 16 3.581722 12.418278 -1.8064254e-15 8 0 z M 8 1 C 11.865993 1 15 4.1340068 15 8 C 15 11.865993 11.865993 15 8 15 C 4.1340068 15 1 11.865993 1 8 C 1 4.1340068 4.1340068 1 8 1 z " transform="translate(0 1036.3622)"/>
+</g>
+</svg>
diff --git a/gtk-3.0/assets/radio-unselected-insensitive.svg b/gtk-3.0/assets/radio-unselected-insensitive.svg
new file mode 100644
index 0000000..a0f2168
--- /dev/null
+++ b/gtk-3.0/assets/radio-unselected-insensitive.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
+<g transform="translate(0 -1036.3622)">
+<path style="fill:#d3d3d3" d="m 7.9368654,1036.9834 c 4.1798076,0 7.5682106,3.3036 7.5682106,7.3788 0,4.0752 -3.388403,7.3788 -7.5682106,7.3788 -4.1798073,0 -7.56821074,-3.3036 -7.56821074,-7.3788 0,-4.0752 3.38840344,-7.3788 7.56821074,-7.3788 z"/>
+<path style="fill:#aaa" d="M 8 0 C 3.581722 8.8817842e-16 -3.006854e-17 3.581722 0 8 C 0 12.418278 3.581722 16 8 16 C 12.418278 16 16 12.418278 16 8 C 16 3.581722 12.418278 -1.8064254e-15 8 0 z M 8 1 C 11.865993 1 15 4.1340068 15 8 C 15 11.865993 11.865993 15 8 15 C 4.1340068 15 1 11.865993 1 8 C 1 4.1340068 4.1340068 1 8 1 z " transform="translate(0 1036.3622)"/>
+</g>
+</svg>
diff --git a/gtk-3.0/assets/radio-unselected.svg b/gtk-3.0/assets/radio-unselected.svg
new file mode 100644
index 0000000..2f05a0d
--- /dev/null
+++ b/gtk-3.0/assets/radio-unselected.svg
@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
+<g transform="translate(0 -1036.3622)">
+<path style="fill:#f9f9f9" d="m 15,8 c 0,3.865993 -3.134007,7 -7,7 C 4.1340068,15 1,11.865993 1,8 1,4.1340068 4.1340068,1 8,1 c 3.865993,0 7,3.1340068 7,7 z" transform="translate(0 1036.3622)"/>
+<path style="fill:#aaa" d="M 8 0 C 3.581722 8.8817842e-16 -3.006854e-17 3.581722 0 8 C 0 12.418278 3.581722 16 8 16 C 12.418278 16 16 12.418278 16 8 C 16 3.581722 12.418278 -1.8064254e-15 8 0 z M 8 1 C 11.865993 1 15 4.1340068 15 8 C 15 11.865993 11.865993 15 8 15 C 4.1340068 15 1 11.865993 1 8 C 1 4.1340068 4.1340068 1 8 1 z " transform="translate(0 1036.3622)"/>
+</g>
+</svg>
diff --git a/gtk-3.0/gtk-dark.css b/gtk-3.0/gtk-dark.css
index 22f93ef..709de5b 100644
--- a/gtk-3.0/gtk-dark.css
+++ b/gtk-3.0/gtk-dark.css
@@ -76,6 +76,7 @@
 
 @import url("gtk-widgets.css");
 @import url("gtk-widgets-assets.css");
+@import url("gtk-widgets-assets-dark.css");
 @import url("apps/gnome-applications.css");
 @import url("apps/granite-widgets.css");
 @import url("apps/unity.css");
diff --git a/gtk-3.0/gtk-widgets-assets-dark.css b/gtk-3.0/gtk-widgets-assets-dark.css
new file mode 100644
index 0000000..64cecb7
--- /dev/null
+++ b/gtk-3.0/gtk-widgets-assets-dark.css
@@ -0,0 +1,67 @@
+/*******************
+* check and radio *
+*******************/
+/* draw regular check and radio items using our assets */
+.check {
+	-gtk-icon-source: url("assets/checkbox-unchecked-dark.svg");
+}
+
+.check:insensitive {
+	-gtk-icon-source: url("assets/checkbox-unchecked-insensitive-dark.svg");
+}
+
+.check:checked {
+	-gtk-icon-source: url("assets/checkbox-checked-dark.svg");
+}
+
+.check:checked:insensitive {
+	-gtk-icon-source: url("assets/checkbox-checked-insensitive-dark.svg");
+}
+
+.check:inconsistent {
+	-gtk-icon-source: url("assets/checkbox-mixed-dark.svg");
+}
+
+.check:inconsistent:insensitive {
+	-gtk-icon-source: url("assets/checkbox-mixed-insensitive-dark.svg");
+}
+
+.radio {
+	-gtk-icon-source: url("assets/radio-unselected-dark.svg");
+}
+
+.radio:insensitive {
+	-gtk-icon-source: url("assets/radio-unselected-insensitive-dark.svg");
+}
+
+.radio:checked {
+	-gtk-icon-source: url("assets/radio-selected-dark.svg");
+}
+
+.radio:checked:insensitive {
+	-gtk-icon-source: url("assets/radio-selected-insensitive-dark.svg");
+}
+
+.radio:inconsistent {
+	-gtk-icon-source: url("assets/radio-mixed-dark.svg");
+}
+
+.radio:inconsistent:insensitive {
+	-gtk-icon-source: url("assets/radio-mixed-insensitive-dark.svg");
+}
+
+.menuitem.check {
+	-gtk-icon-source: none;
+}
+
+.menuitem.radio {
+	-gtk-icon-source: none;
+}
+
+GtkIconView.content-view.cell.check {
+	-gtk-icon-source: url("assets/grid-selection-unchecked-dark.svg");
+}
+
+GtkIconView.content-view.cell.check:active {
+	-gtk-icon-source: url("assets/grid-selection-checked-dark.svg");
+}
diff --git a/gtk-3.0/gtk-widgets-assets.css b/gtk-3.0/gtk-widgets-assets.css
index 6f878e1..6d7a67e 100644
--- a/gtk-3.0/gtk-widgets-assets.css
+++ b/gtk-3.0/gtk-widgets-assets.css
@@ -1,339 +1,114 @@
 /*******************
  * check and radio *
  *******************/
-.check,
-.check row:selected,
-.check row:selected:focus {
-    background-image: linear-gradient(to bottom, @theme_base_color, @theme_base_color),
-                      linear-gradient(to bottom, @theme_base_color, @theme_base_color),
-                      linear-gradient(to bottom, shade(@theme_base_color, 0.6), shade(@theme_base_color, 0.6)),
-                      linear-gradient(to bottom, shade(@theme_base_color, 0.6), shade(@theme_base_color, 0.6)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(@theme_base_color), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(@theme_base_color), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(@theme_base_color), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(@theme_base_color), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(shade(@theme_base_color, 0.6)), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(shade(@theme_base_color, 0.6)), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(shade(@theme_base_color, 0.6)), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(shade(@theme_base_color, 0.6)), to(transparent));
-
-    background-position: center center, center center, center center, center center, 6% 6%, 6% 94%, 94% 94%, 94% 6%, 0% 0%, 0% 100%, 100% 100%, 100% 0%;
-    background-size: 80% 90%, 90% 80%, 80% 100%, 100% 80%, 10% 10%, 10% 10%, 10% 10%, 10% 10%, 20% 20%, 20% 20%, 20% 20%, 20% 20%;
-    background-repeat: no-repeat;
+/* draw regular check and radio items using our assets */
+.check {
+    -gtk-icon-source: url("assets/checkbox-unchecked.svg");
 }
 
-.check:insensitive,
-.check row:selected:insensitive,
-.check row:selected:focus:insensitive {
-    background-image: linear-gradient(to bottom, shade(@theme_base_color, 0.85), shade(@theme_base_color, 0.85)),
-                      linear-gradient(to bottom, shade(@theme_base_color, 0.85), shade(@theme_base_color, 0.85)),
-                      linear-gradient(to bottom, shade(@theme_base_color, 0.6), shade(@theme_base_color, 0.6)),
-                      linear-gradient(to bottom, shade(@theme_base_color, 0.6), shade(@theme_base_color, 0.6)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(shade(@theme_base_color, 0.85)), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(shade(@theme_base_color, 0.85)), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(shade(@theme_base_color, 0.85)), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(shade(@theme_base_color, 0.85)), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(shade(@theme_base_color, 0.6)), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(shade(@theme_base_color, 0.6)), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(shade(@theme_base_color, 0.6)), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(shade(@theme_base_color, 0.6)), to(transparent));
-
-    background-position: center center, center center, center center, center center, 6% 6%, 6% 94%, 94% 94%, 94% 6%, 0% 0%, 0% 100%, 100% 100%, 100% 0%;
-    background-size: 80% 90%, 90% 80%, 80% 100%, 100% 80%, 10% 10%, 10% 10%, 10% 10%, 10% 10%, 20% 20%, 20% 20%, 20% 20%, 20% 20%;
-    background-repeat: no-repeat;
+.check:insensitive {
+    -gtk-icon-source: url("assets/checkbox-unchecked-insensitive.svg");
 }
 
-.check:active,
-.check row:selected:active,
-.check row:selected:focus:active {
-    background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(@theme_selected_bg_color), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(@theme_selected_bg_color), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(@theme_selected_bg_color), to(transparent)),
-                      linear-gradient(45deg, transparent, transparent 30%, @theme_selected_bg_color 30%, @theme_selected_bg_color 70%, transparent 70%, transparent),
-                      linear-gradient(-45deg, transparent, transparent 37%, @theme_selected_bg_color 37%, @theme_selected_bg_color 62%, transparent 62%, transparent),
-                      linear-gradient(to bottom, @theme_base_color, @theme_base_color),
-                      linear-gradient(to bottom, @theme_base_color, @theme_base_color),
-                      linear-gradient(to bottom, shade(@theme_base_color, 0.6), shade(@theme_base_color, 0.6)),
-                      linear-gradient(to bottom, shade(@theme_base_color, 0.6), shade(@theme_base_color, 0.6)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(@theme_base_color), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(@theme_base_color), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(@theme_base_color), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(@theme_base_color), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(shade(@theme_base_color, 0.6)), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(shade(@theme_base_color, 0.6)), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(shade(@theme_base_color, 0.6)), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(shade(@theme_base_color, 0.6)), to(transparent));
-
-    background-position: 17% 50%, 41% 73%, 90% 26%, 24% 64%, 76% 48%, center center, center center, center center, center center, 6% 6%, 6% 94%, 94% 94%, 94% 6%, 0% 0%, 0% 100%, 100% 100%, 100% 0%;
-    background-size: 17% 17%, 20% 20%, 18% 18%, 30% 30%, 50% 50%, 80% 90%, 90% 80%, 80% 100%, 100% 80%, 10% 10%, 10% 10%, 10% 10%, 10% 10%, 20% 20%, 20% 20%, 20% 20%, 20% 20%;
-    background-repeat: no-repeat;
+.check:checked {
+    -gtk-icon-source: url("assets/checkbox-checked.svg");
 }
 
-.check:active:insensitive,
-.check row:selected:active:insensitive,
-.check row:selected:focus:active:insensitive {
-    background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(shade(@theme_base_color, 0.6)), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(shade(@theme_base_color, 0.6)), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(shade(@theme_base_color, 0.6)), to(transparent)),
-                      linear-gradient(45deg, transparent, transparent 30%, shade(@theme_base_color, 0.6) 30%, shade(@theme_base_color, 0.6) 70%, transparent 70%, transparent),
-                      linear-gradient(-45deg, transparent, transparent 37%, shade(@theme_base_color, 0.6) 37%, shade(@theme_base_color, 0.6) 62%, transparent 62%, transparent),
-                      linear-gradient(to bottom, shade(@theme_base_color, 0.85), shade(@theme_base_color, 0.85)),
-                      linear-gradient(to bottom, shade(@theme_base_color, 0.85), shade(@theme_base_color, 0.85)),
-                      linear-gradient(to bottom, shade(@theme_base_color, 0.6), shade(@theme_base_color, 0.6)),
-                      linear-gradient(to bottom, shade(@theme_base_color, 0.6), shade(@theme_base_color, 0.6)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(shade(@theme_base_color, 0.85)), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(shade(@theme_base_color, 0.85)), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(shade(@theme_base_color, 0.85)), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(shade(@theme_base_color, 0.85)), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(shade(@theme_base_color, 0.6)), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(shade(@theme_base_color, 0.6)), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(shade(@theme_base_color, 0.6)), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(shade(@theme_base_color, 0.6)), to(transparent));
-
-    background-position: 17% 50%, 41% 73%, 90% 26%, 24% 64%, 76% 48%, center center, center center, center center, center center, 6% 6%, 6% 94%, 94% 94%, 94% 6%, 0% 0%, 0% 100%, 100% 100%, 100% 0%;
-    background-size: 17% 17%, 20% 20%, 18% 18%, 30% 30%, 50% 50%, 80% 90%, 90% 80%, 80% 100%, 100% 80%, 10% 10%, 10% 10%, 10% 10%, 10% 10%, 20% 20%, 20% 20%, 20% 20%, 20% 20%;
-    background-repeat: no-repeat;
+.check:checked:insensitive {
+    -gtk-icon-source: url("assets/checkbox-checked-insensitive.svg");
 }
 
-.check:inconsistent,
-.check row:selected:inconsistent,
-.check row:selected:focus:inconsistent {
-    background-image: linear-gradient(to bottom, @theme_selected_bg_color, @theme_selected_bg_color),
-                      linear-gradient(to bottom, @theme_base_color, @theme_base_color),
-                      linear-gradient(to bottom, @theme_base_color, @theme_base_color),
-                      linear-gradient(to bottom, shade(@theme_base_color, 0.6), shade(@theme_base_color, 0.6)),
-                      linear-gradient(to bottom, shade(@theme_base_color, 0.6), shade(@theme_base_color, 0.6)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(@theme_base_color), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(@theme_base_color), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(@theme_base_color), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(@theme_base_color), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(shade(@theme_base_color, 0.6)), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(shade(@theme_base_color, 0.6)), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(shade(@theme_base_color, 0.6)), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(shade(@theme_base_color, 0.6)), to(transparent));
-
-    background-position: center center, center center, center center, center center, center center, 6% 6%, 6% 94%, 94% 94%, 94% 6%, 0% 0%, 0% 100%, 100% 100%, 100% 0%;
-    background-size: 50% 12%, 80% 90%, 90% 80%, 80% 100%, 100% 80%, 10% 10%, 10% 10%, 10% 10%, 10% 10%, 20% 20%, 20% 20%, 20% 20%, 20% 20%;
-    background-repeat: no-repeat;
+.check:inconsistent {
+    -gtk-icon-source: url("assets/checkbox-mixed.svg");
 }
 
-.check:inconsistent:insensitive,
-.check row:selected:inconsistent:insensitive,
-.check row:selected:focus:inconsistent:insensitive {
-    background-image: linear-gradient(to bottom, shade(@theme_base_color, 0.6), shade(@theme_base_color, 0.6)),
-                      linear-gradient(to bottom, shade(@theme_base_color, 0.85), shade(@theme_base_color, 0.85)),
-                      linear-gradient(to bottom, shade(@theme_base_color, 0.85), shade(@theme_base_color, 0.85)),
-                      linear-gradient(to bottom, shade(@theme_base_color, 0.6), shade(@theme_base_color, 0.6)),
-                      linear-gradient(to bottom, shade(@theme_base_color, 0.6), shade(@theme_base_color, 0.6)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(shade(@theme_base_color, 0.85)), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(shade(@theme_base_color, 0.85)), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(shade(@theme_base_color, 0.85)), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(shade(@theme_base_color, 0.85)), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(shade(@theme_base_color, 0.6)), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(shade(@theme_base_color, 0.6)), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(shade(@theme_base_color, 0.6)), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(shade(@theme_base_color, 0.6)), to(transparent));
-
-    background-position: center center, center center, center center, center center, center center, 6% 6%, 6% 94%, 94% 94%, 94% 6%, 0% 0%, 0% 100%, 100% 100%, 100% 0%;
-    background-size: 50% 12%, 80% 90%, 90% 80%, 80% 100%, 100% 80%, 10% 10%, 10% 10%, 10% 10%, 10% 10%, 20% 20%, 20% 20%, 20% 20%, 20% 20%;
-    background-repeat: no-repeat;
+.check:inconsistent:insensitive {
+    -gtk-icon-source: url("assets/checkbox-mixed-insensitive.svg");
 }
 
-.radio,
-.radio row:selected,
-.radio row:selected:focus {
-    background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(@theme_base_color), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(shade(@theme_base_color, 0.6)), to(transparent));
-
-    background-position: center center, center center;
-    background-size: 90% 90%, 100% 100%;
-    background-repeat: no-repeat;
+.radio {
+    -gtk-icon-source: url("assets/radio-unselected.svg");
 }
 
-.radio:insensitive,
-.radio row:selected:insensitive,
-.radio row:selected:focus:insensitive {
-    background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(shade(@theme_base_color, 0.85)), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(shade(@theme_base_color, 0.6)), to(transparent));
-
-    background-position: center center, center center;
-    background-size: 90% 90%, 100% 100%;
-    background-repeat: no-repeat;
+.radio:insensitive {
+    -gtk-icon-source: url("assets/radio-unselected-insensitive.svg");
 }
 
-.radio:active,
-.radio row:selected:active,
-.radio row:selected:focus:active {
-    background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(@theme_selected_bg_color), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(@theme_base_color), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(shade(@theme_base_color, 0.6)), to(transparent));
-
-    background-position: center center, center center, center center;
-    background-size: 40% 40%, 90% 90%, 100% 100%;
-    background-repeat: no-repeat;
+.radio:checked {
+    -gtk-icon-source: url("assets/radio-selected.svg");
 }
 
-.radio:active:insensitive,
-.radio row:selected:active:insensitive,
-.radio row:selected:focus:active:insensitive {
-    background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(shade(@theme_base_color, 0.6)), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(shade(@theme_base_color, 0.85)), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(shade(@theme_base_color, 0.6)), to(transparent));
-
-    background-position: center center, center center, center center;
-    background-size: 40% 40%, 90% 90%, 100% 100%;
-    background-repeat: no-repeat;
+.radio:checked:insensitive {
+    -gtk-icon-source: url("assets/radio-selected-insensitive.svg");
 }
 
-.radio:inconsistent,
-.radio row:selected:inconsistent,
-.radio row:selected:focus:inconsistent {
-    background-image: linear-gradient(to bottom, @theme_selected_bg_color, @theme_selected_bg_color),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(@theme_base_color), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(shade(@theme_base_color, 0.6)), to(transparent));
-
-    background-position: center center, center center, center center;
-    background-size: 50% 12%, 90% 90%, 100% 100%;
-    background-repeat: no-repeat;
+.radio:inconsistent {
+    -gtk-icon-source: url("assets/radio-mixed.svg");
 }
 
-.radio:inconsistent:insensitive,
-.radio row:selected:inconsistent:insensitive,
-.radio row:selected:focus:inconsistent:insensitive {
-    background-image: linear-gradient(to bottom, shade(@theme_base_color, 0.6), shade(@theme_base_color, 0.6)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(shade(@theme_base_color, 0.85)), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(shade(@theme_base_color, 0.6)), to(transparent));
-
-    background-position: center center, center center, center center;
-    background-size: 50% 12%, 90% 90%, 100% 100%;
-    background-repeat: no-repeat;
+.radio:inconsistent:insensitive {
+    -gtk-icon-source: url("assets/radio-mixed-insensitive.svg");
 }
 
-.menuitem.check:active {
-    background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(@theme_selected_bg_color), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(@theme_selected_bg_color), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(@theme_selected_bg_color), to(transparent)),
-                      linear-gradient(45deg, transparent, transparent 30%, @theme_selected_bg_color 30%, @theme_selected_bg_color 70%, transparent 70%, transparent),
-                      linear-gradient(-45deg, transparent, transparent 37%, @theme_selected_bg_color 37%, @theme_selected_bg_color 62%, transparent 62%, transparent);
-
-    background-position: 17% 50%, 41% 73%, 90% 26%, 24% 64%, 76% 48%;
-    background-size: 17% 17%, 20% 20%, 18% 18%, 30% 30%, 50% 50%;
-    background-repeat: no-repeat;
+.menuitem.check {
+    -gtk-icon-source: none;
 }
 
-.menuitem.check:active:hover {
-    background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(@theme_selected_fg_color), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(@theme_selected_fg_color), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(@theme_selected_fg_color), to(transparent)),
-                      linear-gradient(45deg, transparent, transparent 30%, @theme_selected_fg_color 30%, @theme_selected_fg_color 70%, transparent 70%, transparent),
-                      linear-gradient(-45deg, transparent, transparent 37%, @theme_selected_fg_color 37%, @theme_selected_fg_color 62%, transparent 62%, transparent);
-
-    background-position: 17% 50%, 41% 73%, 90% 26%, 24% 64%, 76% 48%;
-    background-size: 17% 17%, 20% 20%, 18% 18%, 30% 30%, 50% 50%;
-    background-repeat: no-repeat;
+.menuitem.check:active,
+.menuitem.check:checked {
+    -gtk-icon-source: url("assets/menuitem-checkbox-checked.svg");
 }
 
-.menuitem.check:active:insensitive {
-    background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(mix(@menu_fg_color, @menu_bg_color, 0.5)), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(mix(@menu_fg_color, @menu_bg_color, 0.5)), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(mix(@menu_fg_color, @menu_bg_color, 0.5)), to(transparent)),
-                      linear-gradient(45deg, transparent, transparent 30%, mix(@menu_fg_color, @menu_bg_color, 0.5) 30%, mix(@menu_fg_color, @menu_bg_color, 0.5) 70%, transparent 70%, transparent),
-                      linear-gradient(-45deg, transparent, transparent 37%, mix(@menu_fg_color, @menu_bg_color, 0.5) 37%, mix(@menu_fg_color, @menu_bg_color, 0.5) 62%, transparent 62%, transparent);
-
-    background-position: 17% 50%, 41% 73%, 90% 26%, 24% 64%, 76% 48%;
-    background-size: 17% 17%, 20% 20%, 18% 18%, 30% 30%, 50% 50%;
-    background-repeat: no-repeat;
+.menuitem.check:active:hover,
+.menuitem.check:checked:hover {
+    -gtk-icon-source: url("assets/menuitem-checkbox-checked-hover.svg");
 }
 
-.menuitem.radio:active {
-    background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(@theme_selected_bg_color), to(transparent));
-    background-position: center center;
-    background-size: 40% 40%;
-    background-repeat: no-repeat;
-}
-
-.menuitem.radio:active:hover {
-    background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(@theme_selected_fg_color), to(transparent));
-    background-position: center center;
-    background-size: 40% 40%;
-    background-repeat: no-repeat;
-}
-
-.menuitem.radio:active:insensitive {
-    background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(mix(@menu_fg_color, @menu_bg_color, 0.5)), to(transparent));
-    background-position: center center;
-    background-size: 40% 40%;
-    background-repeat: no-repeat;
-}
-
-.menuitem.check:inconsistent,
-.menuitem.radio:inconsistent {
-    background-image: linear-gradient(to bottom, @theme_selected_bg_color, @theme_selected_bg_color);
-
-    background-position: center center;
-    background-size: 50% 12%;
-    background-repeat: no-repeat;
+.menuitem.check:active:insensitive,
+.menuitem.check:checked:insensitive {
+    -gtk-icon-source: url("assets/menuitem-checkbox-checked-insensitive.svg");
 }
 
 .menuitem.check:inconsistent:hover,
 .menuitem.radio:inconsistent:hover {
-    background-image: linear-gradient(to bottom, @theme_selected_fg_color, @theme_selected_fg_color);
+    -gtk-icon-source: url("assets/menuitem-checkbox-mixed-hover.svg");
+}
 
-    background-position: center center;
-    background-size: 50% 12%;
-    background-repeat: no-repeat;
+.menuitem.check:inconsistent,
+.menuitem.radio:inconsistent {
+    -gtk-icon-source: url("assets/menuitem-checkbox-mixed.svg");
 }
 
 .menuitem.check:inconsistent:insensitive,
 .menuitem.radio:inconsistent:insensitive {
-    background-image: linear-gradient(to bottom, mix(@menu_fg_color, @menu_bg_color, 0.5), mix(@menu_fg_color, @menu_bg_color, 0.5));
+    -gtk-icon-source: url("assets/menuitem-checkbox-mixed-insensitive.svg");
+}
 
-    background-position: center center;
-    background-size: 50% 12%;
-    background-repeat: no-repeat;
+.menuitem.radio {
+    -gtk-icon-source: none;
+}
+
+.menuitem.radio:active,
+.menuitem.radio:checked {
+    -gtk-icon-source: url("assets/menuitem-radio-checked.svg");
+}
+
+.menuitem.radio:active:hover,
+.menuitem.radio:checked:hover {
+    -gtk-icon-source: url("assets/menuitem-radio-checked-hover.svg");
+}
+
+.menuitem.radio:active:insensitive,
+.menuitem.radio:checked:insensitive {
+    -gtk-icon-source: url("assets/menuitem-radio-checked-insensitive.svg");
 }
 
 GtkIconView.content-view.cell.check {
-    background-image: linear-gradient(to bottom, @theme_base_color, @theme_base_color),
-                      linear-gradient(to bottom, @theme_base_color, @theme_base_color),
-                      linear-gradient(to bottom, shade(@theme_base_color, 0.6), shade(@theme_base_color, 0.6)),
-                      linear-gradient(to bottom, shade(@theme_base_color, 0.6), shade(@theme_base_color, 0.6)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(@theme_base_color), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(@theme_base_color), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(@theme_base_color), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(@theme_base_color), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(shade(@theme_base_color, 0.6)), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(shade(@theme_base_color, 0.6)), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(shade(@theme_base_color, 0.6)), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(shade(@theme_base_color, 0.6)), to(transparent));
-
-    background-position: center center, center center, center center, center center, 6% 6%, 6% 94%, 94% 94%, 94% 6%, 0% 0%, 0% 100%, 100% 100%, 100% 0%;
-    background-size: 80% 90%, 90% 80%, 80% 100%, 100% 80%, 10% 10%, 10% 10%, 10% 10%, 10% 10%, 20% 20%, 20% 20%, 20% 20%, 20% 20%;
-    background-repeat: no-repeat;
+    -gtk-icon-source: url("assets/grid-selection-unchecked.svg");
 }
 
 GtkIconView.content-view.cell.check:active {
-    background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(@theme_selected_bg_color), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(@theme_selected_bg_color), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(@theme_selected_bg_color), to(transparent)),
-                      linear-gradient(45deg, transparent, transparent 30%, @theme_selected_bg_color 30%, @theme_selected_bg_color 70%, transparent 70%, transparent),
-                      linear-gradient(-45deg, transparent, transparent 37%, @theme_selected_bg_color 37%, @theme_selected_bg_color 62%, transparent 62%, transparent),
-                      linear-gradient(to bottom, @theme_base_color, @theme_base_color),
-                      linear-gradient(to bottom, @theme_base_color, @theme_base_color),
-                      linear-gradient(to bottom, shade(@theme_base_color, 0.6), shade(@theme_base_color, 0.6)),
-                      linear-gradient(to bottom, shade(@theme_base_color, 0.6), shade(@theme_base_color, 0.6)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(@theme_base_color), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(@theme_base_color), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(@theme_base_color), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(@theme_base_color), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(shade(@theme_base_color, 0.6)), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(shade(@theme_base_color, 0.6)), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(shade(@theme_base_color, 0.6)), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(shade(@theme_base_color, 0.6)), to(transparent));
-
-    background-position: 17% 50%, 41% 73%, 90% 26%, 24% 64%, 76% 48%, center center, center center, center center, center center, 6% 6%, 6% 94%, 94% 94%, 94% 6%, 0% 0%, 0% 100%, 100% 100%, 100% 0%;
-    background-size: 17% 17%, 20% 20%, 18% 18%, 30% 30%, 50% 50%, 80% 90%, 90% 80%, 80% 100%, 100% 80%, 10% 10%, 10% 10%, 10% 10%, 10% 10%, 20% 20%, 20% 20%, 20% 20%, 20% 20%;
-    background-repeat: no-repeat;
+    -gtk-icon-source: url("assets/grid-selection-checked.svg");
 }
 
 /******************
diff --git a/gtk-3.0/gtk-widgets.css b/gtk-3.0/gtk-widgets.css
index fabb351..6376f3a 100644
--- a/gtk-3.0/gtk-widgets.css
+++ b/gtk-3.0/gtk-widgets.css
@@ -15,8 +15,6 @@
     -GtkCheckButton-indicator-size: 16;
     -GtkCheckMenuItem-indicator-size: 14;
     -GtkExpander-expander-size: 8;
-    -GtkHTML-link-color: @link_color;
-    -GtkIMHtml-hyperlink-color: @link_color;
     -GtkMenu-horizontal-padding: 0;
     -GtkMenu-vertical-padding: 0;
     -GtkPaned-handle-size: 4;
@@ -36,19 +34,23 @@
     -GtkToolButton-icon-spacing: 6;
     -GtkToolItemGroup-expander-size: 8;
     -GtkTreeView-expander-size: 8;
-    -GtkWidget-focus-line-width: 1;
-    -GtkWidget-focus-padding: 0;
-    -GtkWidget-link-color: @link_color;
-    -GtkWidget-visited-link-color: @link_color;
     -GtkWindow-resize-grip-height: 0;
     -GtkWindow-resize-grip-width: 0;
     -WnckTasklist-fade-overlay-rect: 0;
 
+    /* legacy only */
+    -GtkWidget-focus-line-width: 1;
+    -GtkWidget-focus-padding: 0;
+
     background-clip: padding-box;
 
+    /*
     outline-color: alpha(@theme_selected_bg_color, 0.5);
-    outline-style: solid;
-    outline-offset: 0;
+    outline-style: dashed;
+    outline-width: 1px;
+    outline-offset: -2px;
+    outline-radius: 2px;
+    */
 }
 
 /***************
@@ -59,6 +61,11 @@
     color: @theme_fg_color;
 }
 
+.background:backdrop {
+    text-shadow: none;
+    icon-shadow: none;
+}
+
 *:selected,
 *:selected:focus {
     background-color: @theme_selected_bg_color;
@@ -115,6 +122,21 @@ GtkGrid:insensitive {
     background-color: transparent;
 }
 
+/**************
+ * hyperlinks *
+ **************/
+* {
+    -GtkHTML-link-color: @link_color;
+    -GtkIMHtml-hyperlink-color: @link_color;
+    -GtkWidget-link-color: @link_color;
+    -GtkWidget-visited-link-color: @link_color;
+}
+
+*:link,
+*:visited {
+    color: @link_color;
+}
+
 /******************
  * visual effects *
  ******************/
@@ -148,6 +170,10 @@ GtkGrid:insensitive {
 .primary-toolbar .button:active,
 .toolbar .button:active,
 .header-bar .button:active,
+.button:checked,
+.primary-toolbar .button:checked,
+.toolbar .button:checked,
+.header-bar .button:checked,
 .notebook.header {
     box-shadow: inset 1px 0 alpha(@dark_shadow, 0.07),
                 inset 0 1px alpha(@dark_shadow, 0.08),
@@ -163,10 +189,14 @@ GtkGrid:insensitive {
 }
 
 /* disable inset shadow */
-.button:active *:insensitive,
-.primary-toolbar .button:active *:insensitive,
-.toolbar .button:active *:insensitive,
-.header-bar .button:active *:insensitive,
+.button:active:insensitive,
+.primary-toolbar .button:active:insensitive,
+.toolbar .button:active:insensitive,
+.header-bar .button:active:insensitive,
+.button:checked:insensitive,
+.primary-toolbar .button:checked:insensitive,
+.toolbar .button:checked:insensitive,
+.header-bar .button:checked:insensitive,
 .entry:insensitive {
     box-shadow: none;
 }
@@ -211,20 +241,24 @@ GtkAssistant .sidebar {
     background-image: none;
 }
 
-.button:active {
+.button:active,
+.button:checked {
     border-color: shade(@theme_bg_color, 0.8);
     background-color: shade(@theme_bg_color, 0.95);
     background-image: none;
 }
 
-.button:active:hover {
+.button:active:hover,
+.button:checked:hover {
     border-color: shade(@theme_bg_color, 0.7);
 }
 
 .button:focus,
 .button:hover:focus,
 .button:active:focus,
-.button:active:hover:focus {
+.button:active:hover:focus,
+.button:checked:focus,
+.button:checked:hover:focus {
     border-color: shade(@theme_bg_color, 0.7);
 }
 
@@ -234,7 +268,8 @@ GtkAssistant .sidebar {
     background-image: none;
 }
 
-.button:active *:insensitive {
+.button:active:insensitive,
+.button:checked:insensitive {
     border-color: shade(@theme_bg_color, 0.75);
     background-color: shade(@theme_bg_color, 0.80);
     background-image: none;
@@ -252,16 +287,26 @@ GtkAssistant .sidebar {
     background-color: @theme_selected_bg_color;
 }
 
-.button.default:active {
+.button.default:active,
+.button.default:checked {
     border-color: shade(@theme_selected_bg_color, 0.8);
     background-color: shade(@theme_selected_bg_color, 0.95);
 }
 
-.button.default:active:hover {
+.button.default:active:hover,
+.button.default:checked:hover {
     border-color: shade(@theme_selected_bg_color, 0.7);
     background-color: shade(@theme_selected_bg_color, 0.97);
 }
 
+.button.flat,
+.button.flat:insensitive {
+    border-color: transparent;
+    background-color: transparent;
+    background-image: none;
+    box-shadow: none;
+}
+
 /****************
  * cell and row *
  ****************/
@@ -290,37 +335,22 @@ row:selected:focus {
     color: @theme_selected_fg_color;
 }
 
-/*******************
- * check and radio *
- *******************/
-.check,
-.radio,
-.check:insensitive,
-.radio:insensitive {
-    border-style: none;
-    background-color: transparent;
-}
-
-GtkCheckButton:hover,
-GtkCheckButton:active:hover,
-GtkCheckButton:selected,
-GtkCheckButton:selected:focus {
-    background-color: transparent;
-}
-
 /*****************
  * column-header *
  *****************/
 column-header .button,
-column-header .button:active {
+column-header .button:active,
+column-header .button:checked {
     border-width: 0 1px 1px 0;
     border-radius: 0;
 }
 
 column-header .button,
 column-header .button:active,
+column-header .button:checked,
 column-header .button:focus,
-column-header .button:active:focus {
+column-header .button:active:focus,
+column-header .button:checked:focus {
     border-color: shade(@theme_base_color, 0.9);
     border-bottom-color: shade(@theme_base_color, 0.8);
     background-color: shade(@theme_base_color, 0.97);
@@ -329,8 +359,10 @@ column-header .button:active:focus {
 
 column-header .button:hover,
 column-header .button:active:hover,
+column-header .button:checked:hover,
 column-header .button:hover:focus,
-column-header .button:active:hover:focus {
+column-header .button:active:hover:focus,
+column-header .button:checked:hover:focus {
     border-color: shade(@theme_base_color, 0.9);
     border-bottom-color: shade(@theme_base_color, 0.8);
     background-color: shade(@theme_base_color, 0.99);
@@ -344,6 +376,11 @@ column-header:last-child .button {
 /****************
  * content view *
  ****************/
+.content-view.subtitle {
+    font: smaller;
+    padding: 0 12px;
+}
+
 .content-view.view {
     background-color: @theme_base_color;
 }
@@ -388,7 +425,7 @@ GtkIconView.content-view.check:selected {
  * drawing area *
  ****************/
 GtkDrawingArea {
-    background-color: @theme_base_color;
+    background-color: transparent;
 }
 
 GtkDrawingArea:insensitive {
@@ -408,6 +445,7 @@ GtkHTML {
 ************/
 GtkCalendar {
     padding: 4px;
+    outline-offset: -1px;
 }
 
 GtkCalendar:inconsistent {
@@ -450,10 +488,12 @@ GtkComboBox.combobox-entry .entry:insensitive {
 .primary-toolbar GtkComboBox.combobox-entry .button,
 .primary-toolbar GtkComboBox.combobox-entry .button:hover,
 .primary-toolbar GtkComboBox.combobox-entry .button:active,
+.primary-toolbar GtkComboBox.combobox-entry .button:checked,
 .primary-toolbar GtkComboBox.combobox-entry .button:insensitive,
 GtkComboBox.combobox-entry .button,
 GtkComboBox.combobox-entry .button:hover,
 GtkComboBox.combobox-entry .button:active,
+GtkComboBox.combobox-entry .button:checked,
 GtkComboBox.combobox-entry .button:insensitive {
     border-width: 1px 1px 1px 1px;
     border-bottom-left-radius: 0;
@@ -501,7 +541,12 @@ GtkComboBox.combobox-entry .button:insensitive {
 
 /************
  * expander *
- ************/
+************/
+GtkExpander {
+    padding: 3px;
+    outline-offset: 1px;
+}
+
 .expander {
 	color: alpha(currentColor, 0.7);
 	border: alpha(currentColor, 0.7);
@@ -521,29 +566,50 @@ GtkComboBox.combobox-entry .button:insensitive {
  * list boxes *
  **************/
 .list {
-    background-color: shade(@theme_bg_color, 0.97);
-    color: @theme_fg_color;
+    background-image: none;
+    background-color: transparent;
+}
+
+.list-row {
+    border: none;
+    border-radius: 0;
+    padding: 3px;
+    background-image: none;
+    background-color: transparent;
 }
 
 .list-row:hover {
+    background-image: none;
     background-color: shade(@theme_bg_color, 1.02);
 }
 
 .list-row:selected {
+    background-image: none;
     background-color: @theme_selected_bg_color;
     color: @theme_selected_fg_color;
 }
 
+/**************
+* flow boxes *
+**************/
+
+.grid-child {
+    padding: 3px;
+}
+
 /*********
  * frame *
  *********/
 .frame {
-    border-width: 1px;
-    border-style: solid;
-    border-color: shade(@theme_bg_color, 0.8);
+    border: 1px solid shade(@theme_bg_color, 0.8);
     border-radius: 0;
 }
 
+.frame.flat {
+    border: none;
+    box-shadow: none;
+}
+
 /*******************
  * scrolled window *
  *******************/
@@ -618,12 +684,14 @@ GtkInfoBar {
     background-color: shade(@info_bg_color, 1.10);
 }
 
-.info .button:active {
+.info .button:active,
+.info .button:checked {
     border-color: shade(@info_bg_color, 0.6);
     background-color: shade(@info_bg_color, 0.95);
 }
 
-.info .button:active:hover {
+.info .button:active:hover,
+.info .button:active:checked {
     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);
@@ -669,12 +737,14 @@ GtkInfoBar {
     background-color: shade(@warning_bg_color, 1.10);
 }
 
-.warning .button:active {
+.warning .button:active,
+.warning .button:checked {
     border-color: shade(@warning_bg_color, 0.6);
     background-color: shade(@warning_bg_color, 0.95);
 }
 
-.warning .button:active:hover {
+.warning .button:active:hover,
+.warning .button:checked: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);
@@ -720,12 +790,14 @@ GtkInfoBar {
     background-color: shade(@question_bg_color, 1.10);
 }
 
-.question .button:active {
+.question .button:active,
+.question .button:checked {
     border-color: shade(@question_bg_color, 0.6);
     background-color: shade(@question_bg_color, 0.95);
 }
 
-.question .button:active:hover {
+.question .button:active:hover,
+.question .button:checked: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);
@@ -771,12 +843,14 @@ GtkInfoBar {
     background-color: shade(@error_bg_color, 1.10);
 }
 
-.error .button:active {
+.error .button:active,
+.error .button:checked {
     border-color: shade(@error_bg_color, 0.6);
     background-color: shade(@error_bg_color, 0.95);
 }
 
-.error .button:active:hover {
+.error .button:active:hover,
+.error .button:checked: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);
@@ -894,6 +968,7 @@ GtkTreeMenu.menu,
 GtkMenuToolButton.menu,
 GtkComboBox .menu {
     background-color: @menu_bg_color;
+    margin: 3px;
 }
 
 .primary-toolbar .menu,
@@ -917,7 +992,9 @@ GtkComboBox .menu {
 
 .menu.button:hover,
 .menu.button:active,
-.menu.button:active *:insensitive,
+.menu.button:checked,
+.menu.button:active:insensitive,
+.menu.button:checked:insensitive,
 .menu.button:insensitive,
 .menu.button {
     border-width: 0;
@@ -1076,15 +1153,25 @@ GtkPopover {
     margin: 10px;
     padding: 2px;
     border-radius: 2px;
-    border-color: shade(@theme_bg_color, 0.8);
+    border-color: shade(@menu_bg_color, 0.8);
     border-width: 1px;
     border-style: solid;
     background-clip: border-box;
-    background-color: @theme_bg_color;
-    color: @theme_fg_color;
+    background-image: none;
+    background-color: @menu_bg_color;
+    color: @menu_fg_color;
     box-shadow: 0 2px 3px alpha(black, 0.5);
 }
 
+GtkPopover.background {
+    background-image: none;
+    background-color: @menu_bg_color;
+}
+
+GtkPopover:backdrop {
+    box-shadow: none;
+}
+
 GtkPopover.osd {
     box-shadow: 0 2px 7px 3px alpha(black, 0.5);
 }
@@ -1092,9 +1179,38 @@ GtkPopover.osd {
 GtkPopover > .list,
 GtkPopover > .view,
 GtkPopover > .toolbar {
+    background-image: none;
     background-color: transparent;
 }
 
+GtkPopover .list-row {
+    color: @menu_fg_color;
+}
+
+GtkPopover .list-row:hover {
+    background-image: none;
+    background-color: @theme_selected_bg_color;
+    color: @theme_selected_fg_color;
+}
+
+GtkPopover .frame {
+    border: 1px solid mix(@menu_bg_color, @menu_fg_color, 0.12);
+    border-radius: 2px;
+}
+
+GtkPopover .entry {
+    border-color: mix(@menu_bg_color, @menu_fg_color, 0.12);
+    background-color: @menu_bg_color;
+    background-image: none;
+    color: @menu_fg_color;
+}
+
+GtkPopover .entry:hover,
+GtkPopover .entry:focus,
+GtkPopover .entry:active  {
+    border-color: mix(@menu_bg_color, @menu_fg_color, 0.21);
+}
+
 GtkPopover.osd > .toolbar .button {
     border-radius: 0;
     border-width: 0;
@@ -1105,33 +1221,95 @@ GtkPopover.osd > .toolbar .button {
 GtkPopover .separator {
     border: 0;
     background-color: transparent;
-    color: alpha(currentColor, 0.5);
+    color: alpha(currentColor, 0.1);
     font-size: 80%;
     font-weight: bold;
 }
 
-GtkModelButton.button,
-GtkModelButton.button:active,
-GtkModelButton.button:insensitive,
-GtkModelButton.button:active:insensitive {
-    background-color: transparent;
-    background-image: none;
-    border-color: transparent;
-    border-style: none;
-    box-shadow: none;
-    color: @theme_fg_color;
+.menuitem.button {
+    color: @menu_fg_color;
 }
 
-GtkModelButton.button:active:hover,
-GtkModelButton.button:hover,
-GtkModelButton.button:selected {
-    border-width: 0;
-    border-color: transparent;
+.menuitem.button,
+.menuitem.button:active,
+.menuitem.button:checked,
+.menuitem.button:insensitive,
+.menuitem.button:active:insensitive,
+.menuitem.button:checked:insensitive {
+    background-color: transparent;
+    background-image: none;
+    border: none;
+    box-shadow: none;
+    color: @menu_fg_color;
+}
+
+.menuitem.button:active:hover,
+.menuitem.button:checked:hover,
+.menuitem.button:hover,
+.menuitem.button:selected {
+    border: none;
     background-color: @theme_selected_bg_color;
     background-image: none;
     color: @theme_selected_fg_color;
 }
 
+GtkModelButton.button {
+    color: @menu_fg_color;
+}
+
+
+GtkModelButton.button:focus,
+GtkModelButton.button:active:focus,
+GtkModelButton.button:checked:focus,
+GtkModelButton.button:active,
+GtkModelButton.button:checked,
+GtkModelButton.button:insensitive:insensitive,
+GtkModelButton.button:active:insensitive,
+GtkModelButton.button:checked:insensitive,
+GtkModelButton.button {
+    background-color: transparent;
+    background-image: none;
+    border-color: transparent;
+    border-image: none;
+    border-style: none;
+    box-shadow: none;
+}
+
+GtkModelButton.button:backdrop,
+GtkModelButton.button:hover:backdrop,
+GtkModelButton.button:insensitive:backdrop,
+GtkModelButton.button:active:insensitive:backdrop,
+GtkModelButton.button:active:backdrop,
+GtkModelButton.button:active:hover:backdrop,
+GtkModelButton.button:active:selected:backdrop,
+GtkModelButton.button:checked:insensitive:backdrop,
+GtkModelButton.button:checked:backdrop,
+GtkModelButton.button:checked:hover:backdrop,
+GtkModelButton.button:checked:selected:backdrop {
+    text-shadow: none;
+    icon-shadow: none;
+    color: @theme_selected_fg_color;
+    background-color: transparent;
+    background-image: none;
+    border-color: transparent;
+    border-image: none;
+    border-style: none;
+    box-shadow: none;
+}
+
+GtkModelButton.button:active:hover,
+GtkModelButton.button:checked:hover,
+GtkModelButton.button:hover,
+GtkModelButton.button:selected {
+    background-image: none;
+    background-color: @theme_selected_bg_color;
+    color: @theme_selected_fg_color;
+    text-shadow: none;
+    border-width: 0;
+    border-color: transparent;
+    border-radius: 2px;
+}
+
 /************
  * notebook *
  ************/
@@ -1146,6 +1324,9 @@ GtkModelButton.button:selected {
     background-clip: border-box;
 
     -GtkNotebook-initial-gap: 0;
+    -GtkNotebook-arrow-spacing: 5;
+    -GtkNotebook-tab-curvature: 0;
+    -GtkNotebook-tab-overlap: 1;
     -GtkNotebook-has-tab-gap: false;
 }
 
@@ -1270,19 +1451,25 @@ GtkModelButton.button:selected {
 
 .notebook tab.reorderable-page:hover {
     background-color: shade(@theme_base_color, 0.85);
-    border-left: 1px solid shade(@theme_base_color, 0.7);
-    border-right: 1px solid shade(@theme_base_color, 0.7);
+    border-left: 0;
+    border-right: 0;
+    /* using box shadows instead of borders due to slanted edges */
+    box-shadow: inset 0 3px alpha(black, 0.03), inset 0 2px alpha(black, 0.03), inset 0 1px alpha(black, 0.03),
+                inset 1px 0 shade(@theme_base_color, 0.7), inset -1px 0 shade(@theme_base_color, 0.7);
 }
 
 .notebook tab.reorderable-page:active {
     background-color: shade(@theme_base_color, 0.90);
-    border-left: 1px solid shade(@theme_base_color, 0.75);
-    border-right: 1px solid shade(@theme_base_color, 0.75);
+    border-left: 0;
+    border-right: 0;
+    box-shadow: inset 0 3px alpha(black, 0.03), inset 0 2px alpha(black, 0.03), inset 0 1px alpha(black, 0.03),
+                inset 1px 0 shade(@theme_base_color, 0.75), inset -1px 0 shade(@theme_base_color, 0.75);
 }
 
 /* close button styling */
 .notebook tab .button,
 .notebook tab .button:active,
+.notebook tab .button:checked,
 .notebook tab .button:hover {
     padding: 1px;
     border-width: 1px;
@@ -1300,7 +1487,9 @@ GtkModelButton.button:selected {
 }
 
 .notebook tab .button:active,
-.notebook tab .button:active:hover {
+.notebook tab .button:checked,
+.notebook tab .button:active:hover,
+.notebook tab .button:checked:hover {
     border-color: shade(@theme_base_color, 0.7);
     background-color: shade(@theme_base_color, 0.95);
 }
@@ -1320,6 +1509,8 @@ GtkProgressBar {
     padding: 0;
     border-width: 1px;
     border-radius: 2px;
+    font-size: smaller;
+    color: alpha(@theme_fg_color, 0.6);
 }
 
 .progressbar,
@@ -1451,6 +1642,7 @@ GtkLevelBar.vertical {
     padding: 0;
     border-width: 1px;
     border-radius: 2px;
+    outline-offset: -1px;
 }
 
 .scale.slider {
@@ -1549,7 +1741,9 @@ GtkLevelBar.vertical {
 
 .scrollbar.button,
 .scrollbar.button:active,
-.scrollbar.button:active:hover {
+.scrollbar.button:checked,
+.scrollbar.button:active:hover,
+.scrollbar.button:checked:hover {
     border-width: 0;
     border-radius: 0;
     background-color: transparent;
@@ -1604,7 +1798,9 @@ OsScrollbar:insensitive {
 /*************
  * separator *
  *************/
+.sidebar.separator,
 .sidebar.view.separator,
+.sidebar .view.separator,
 .view.separator,
 .separator {
     border-width: 1px;
@@ -1755,6 +1951,7 @@ GtkComboBox .separator {
 }
 
 .spinbutton .button:active,
+.spinbutton .button:checked,
 .spinbutton .button:hover {
     color: @theme_fg_color;
 }
@@ -1789,20 +1986,24 @@ GtkComboBox .separator {
     background-image: none;
 }
 
-.spinbutton.vertical .button:active {
+.spinbutton.vertical .button:active,
+.spinbutton.vertical .button:checked {
     border-color: shade(@theme_bg_color, 0.8);
     background-color: shade(@theme_bg_color, 0.95);
     background-image: none;
 }
 
-.spinbutton.vertical .button:active:hover {
+.spinbutton.vertical .button:active:hover,
+.spinbutton.vertical .button:checked:hover {
     border-color: shade(@theme_bg_color, 0.7);
 }
 
 .spinbutton.vertical .button:focus,
 .spinbutton.vertical .button:hover:focus,
 .spinbutton.vertical .button:active:focus,
-.spinbutton.vertical .button:active:hover:focus {
+.spinbutton.vertical .button:active:hover:focus,
+.spinbutton.vertical .button:checked:focus,
+.spinbutton.vertical .button:checked:hover:focus {
     border-color: shade(@theme_bg_color, 0.7);
 }
 
@@ -1837,71 +2038,25 @@ GtkComboBox .separator {
 /***********
  * spinner *
  ***********/
-@keyframes spinner {
-    00.0% { 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.70)), to(transparent)),
-                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.40)), to(transparent)); }
-
-    10.0% { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.80)), to(transparent)),
-                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.90)), to(transparent)),
-                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.60)), to(transparent)); }
-
-    20.0% { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.60)), to(transparent)),
-                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.90)), to(transparent)),
-                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.80)), to(transparent)); }
-
-    30.0% { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.40)), to(transparent)),
-                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.70)), to(transparent)),
-                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(currentColor), to(transparent)); }
-
-    40.0% { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.20)), to(transparent)),
-                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.50)), to(transparent)),
-                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.80)), to(transparent)); }
-
-    50.0% { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(transparent), to(transparent)),
-                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.30)), to(transparent)),
-                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.60)), to(transparent)); }
-
-    60.0% { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.20)), to(transparent)),
-                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.10)), to(transparent)),
-                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.40)), to(transparent)); }
-
-    70.0% { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.40)), to(transparent)),
-                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.10)), to(transparent)),
-                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.20)), to(transparent)); }
-
-    80.0% { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.60)), to(transparent)),
-                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.30)), to(transparent)),
-                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(transparent), to(transparent)); }
-
-    90.0% { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.80)), to(transparent)),
-                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.50)), to(transparent)),
-                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.20)), 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.70)), to(transparent)),
-                              -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.40)), to(transparent)); }
+@keyframes spin {
+    to { -gtk-icon-transform: rotate(1turn); }
 }
 
 .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));
+    background-image: none;
+    background-color: blue;
+    opacity: 0;
 
-    background-position: 0% 70%, 33% 70%, 70% 70%;
-    background-size: 30% 30%;
-    background-repeat: no-repeat;
+    -gtk-icon-source: -gtk-icontheme("process-working-symbolic");
 }
 
 .spinner:active {
-    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.70)), to(transparent)),
-                      -gtk-gradient(radial, center center, 0, center center, 0.5, to(alpha(currentColor, 0.40)), to(transparent));
-
-    animation: spinner 1s infinite linear;
+    opacity: 1;
+    animation: spin 1s linear infinite;
 }
 
+.spinner:active:insensitive { opacity: 0.5; }
+
 .menu.spinner,
 .menu .spinner,
 .menu .spinner:hover,
@@ -1926,6 +2081,7 @@ GtkSwitch {
     padding: 0;
     border-radius: 2px;
     font: bold condensed;
+    outline-offset: -4px;
 }
 
 GtkSwitch.slider {
@@ -2118,20 +2274,24 @@ GtkColorButton.button {
     background-image: none;
 }
 
-.header-bar .button:active {
+.header-bar .button:active,
+.header-bar .button:checked {
     border-color: shade(@titlebar_bg_color, 0.8);
     background-color: shade(@titlebar_bg_color, 0.95);
     background-image: none;
 }
 
-.header-bar .button:active:hover {
+.header-bar .button:active:hover,
+.header-bar .button:checked:hover {
     border-color: shade(@titlebar_bg_color, 0.7);
 }
 
 .header-bar .button:focus,
 .header-bar .button:hover:focus,
 .header-bar .button:active:focus,
-.header-bar .button:active:hover:focus {
+.header-bar .button:checked:focus,
+.header-bar .button:active:hover:focus
+.header-bar .button:checked:hover:focus {
     border-color: shade(@titlebar_bg_color, 0.7);
 }
 
@@ -2141,7 +2301,8 @@ GtkColorButton.button {
     background-image: none;
 }
 
-.header-bar .button:active *:insensitive {
+.header-bar .button:active:insensitive,
+.header-bar .button:checked:insensitive {
     border-color: shade(@titlebar_bg_color, 0.75);
     background-color: shade(@titlebar_bg_color, 0.80);
     background-image: none;
@@ -2217,6 +2378,24 @@ GtkColorButton.button {
     color: @toolbar_fg_color;
 }
 
+.primary-toolbar GtkComboBox.flat,
+.primary-toolbar .button.flat,
+.primary-toolbar GtkComboBox.flat,
+.primary-toolbar .button.flat,
+.toolbar GtkComboBox.flat,
+.toolbar .button.flat,
+.primary-toolbar GtkComboBox.flat:insensitive,
+.primary-toolbar .button.flat:insensitive,
+.primary-toolbar GtkComboBox.flat:insensitive,
+.primary-toolbar .button.flat:insensitive,
+.toolbar GtkComboBox.flat:insensitive,
+.toolbar .button.flat:insensitive {
+    border-color: transparent;
+    background-color: transparent;
+    background-image: none;
+    box-shadow: none;
+}
+
 .primary-toolbar .raised .button,
 .primary-toolbar .raised.button,
 .toolbar GtkComboBox,
@@ -2235,14 +2414,18 @@ GtkColorButton.button {
 }
 
 .primary-toolbar .button:active,
-.toolbar .button:active {
+.toolbar .button:active,
+.primary-toolbar .button:checked,
+.toolbar .button:checked {
     border-color: shade(@toolbar_bg_color, 0.8);
     background-color: shade(@toolbar_bg_color, 0.95);
     background-image: none;
 }
 
 .primary-toolbar .button:active:hover,
-.toolbar .button:active:hover {
+.toolbar .button:active:hover,
+.primary-toolbar .button:checked:hover,
+.toolbar .button:checked:hover {
     border-color: shade(@toolbar_bg_color, 0.7);
 }
 
@@ -2250,10 +2433,14 @@ GtkColorButton.button {
 .primary-toolbar .button:hover:focus,
 .primary-toolbar .button:active:focus,
 .primary-toolbar .button:active:hover:focus,
+.primary-toolbar .button:checked:focus,
+.primary-toolbar .button:checked:hover:focus,
 .toolbar .button:focus,
 .toolbar .button:hover:focus,
 .toolbar .button:active:focus,
-.toolbar .button:active:hover:focus {
+.toolbar .button:active:hover:focus,
+.toolbar .button:checked:focus,
+.toolbar .button:checked:hover:focus {
     border-color: shade(@toolbar_bg_color, 0.7);
 }
 
@@ -2264,8 +2451,10 @@ GtkColorButton.button {
     background-image: none;
 }
 
-.primary-toolbar .button:active *:insensitive,
-.toolbar .button:active *:insensitive {
+.primary-toolbar .button:active:insensitive,
+.toolbar .button:active:insensitive,
+.primary-toolbar .button:checked:insensitive,
+.toolbar .button:checked:insensitive {
     border-color: shade(@toolbar_bg_color, 0.75);
     background-color: shade(@toolbar_bg_color, 0.80);
     background-image: none;
@@ -2319,20 +2508,24 @@ GtkColorButton.button {
     background-image: none;
 }
 
-.inline-toolbar.toolbar .button:active {
+.inline-toolbar.toolbar .button:active,
+.inline-toolbar.toolbar .button:checked {
     border-color: shade(@theme_bg_color, 0.8);
     background-color: shade(@theme_bg_color, 0.95);
     background-image: none;
 }
 
-.inline-toolbar.toolbar .button:active:hover {
+.inline-toolbar.toolbar .button:active:hover,
+.inline-toolbar.toolbar .button:checked:hover {
     border-color: shade(@theme_bg_color, 0.7);
 }
 
 .inline-toolbar.toolbar .button:focus,
 .inline-toolbar.toolbar .button:hover:focus,
 .inline-toolbar.toolbar .button:active:focus,
-.inline-toolbar.toolbar .button:active:hover:focus {
+.inline-toolbar.toolbar .button:active:hover:focus,
+.inline-toolbar.toolbar .button:checked:focus,
+.inline-toolbar.toolbar .button:checked:hover:focus {
     border-color: shade(@theme_bg_color, 0.7);
 }
 
@@ -2343,8 +2536,10 @@ GtkColorButton.button {
     background-image: none;
 }
 
-.inline-toolbar.toolbar .button:active *:insensitive
-.inline-toolbar.toolbar GtkToolButton .button:active *:insensitive {
+.inline-toolbar.toolbar .button:active:insensitive
+.inline-toolbar.toolbar GtkToolButton .button:active:insensitive,
+.inline-toolbar.toolbar .button:checked:insensitive
+.inline-toolbar.toolbar GtkToolButton .button:checked:insensitive {
     border-color: shade(@theme_bg_color, 0.75);
     background-color: shade(@theme_bg_color, 0.80);
     background-image: none;
@@ -2364,7 +2559,11 @@ GtkColorButton.button {
 .linked .button:active,
 .inline-toolbar.toolbar .button:active,
 .inline-toolbar.toolbar GtkToolButton .button:active,
-.inline-toolbar.toolbar GtkToolButton > .button:active {
+.inline-toolbar.toolbar GtkToolButton > .button:active,
+.linked .button:checked,
+.inline-toolbar.toolbar .button:checked,
+.inline-toolbar.toolbar GtkToolButton .button:checked,
+.inline-toolbar.toolbar GtkToolButton > .button:checked {
     box-shadow: inset -1px 0 shade(@theme_bg_color, 0.9),
                 inset 1px 0 alpha(@dark_shadow, 0.07),
                 inset 0 1px alpha(@dark_shadow, 0.08),
@@ -2383,20 +2582,26 @@ GtkColorButton.button {
 .linked .button:only-child,
 .linked .button:insensitive:last-child,
 .linked .button:insensitive:only-child,
-.linked .button:active *:insensitive:last-child,
-.linked .button:active *:insensitive:only-child,
+.linked .button:active:insensitive:last-child,
+.linked .button:active:insensitive:only-child,
+.linked .button:checked:insensitive:last-child,
+.linked .button:checked:insensitive:only-child,
 .inline-toolbar.toolbar .button:last-child,
 .inline-toolbar.toolbar .button:only-child,
 .inline-toolbar.toolbar .button:insensitive:last-child,
 .inline-toolbar.toolbar .button:insensitive:only-child,
-.inline-toolbar.toolbar .button:active *:insensitive:last-child,
-.inline-toolbar.toolbar .button:active *:insensitive:only-child,
+.inline-toolbar.toolbar .button:active:insensitive:last-child,
+.inline-toolbar.toolbar .button:active:insensitive:only-child,
+.inline-toolbar.toolbar .button:checked:insensitive:last-child,
+.inline-toolbar.toolbar .button:checked:insensitive:only-child,
 .inline-toolbar.toolbar GtkToolButton:last-child > .button,
 .inline-toolbar.toolbar GtkToolButton:only-child > .button,
 .inline-toolbar.toolbar GtkToolButton:last-child > .button:insensitive,
 .inline-toolbar.toolbar GtkToolButton:only-child > .button:insensitive,
-.inline-toolbar.toolbar GtkToolButton:last-child > .button:active *:insensitive,
-.inline-toolbar.toolbar GtkToolButton:only-child > .button:active *:insensitive {
+.inline-toolbar.toolbar GtkToolButton:last-child > .button:active:insensitive,
+.inline-toolbar.toolbar GtkToolButton:only-child > .button:active:insensitive,
+.inline-toolbar.toolbar GtkToolButton:last-child > .button:checked:insensitive,
+.inline-toolbar.toolbar GtkToolButton:only-child > .button:checked:insensitive {
     box-shadow: none;
 }
 
@@ -2406,7 +2611,13 @@ GtkColorButton.button {
 .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 {
+.inline-toolbar.toolbar GtkToolButton:only-child > .button:active,
+.linked .button:checked:last-child,
+.linked .button:checked:only-child,
+.inline-toolbar.toolbar .button:checked:last-child,
+.inline-toolbar.toolbar .button:checked:only-child,
+.inline-toolbar.toolbar GtkToolButton:last-child > .button:checked,
+.inline-toolbar.toolbar GtkToolButton:only-child > .button:checked {
     box-shadow: inset 1px 0 alpha(@dark_shadow, 0.07),
                 inset 0 1px alpha(@dark_shadow, 0.08),
                 inset -1px 0 alpha(@dark_shadow, 0.07);
@@ -2417,12 +2628,16 @@ GtkColorButton.button {
 .linked .button,
 .linked .button:active,
 .linked .button:active:hover,
+.linked .button:checked,
+.linked .button:checked:hover,
 .linked .button:insensitive,
 .inline-toolbar.toolbar .button,
 .inline-toolbar.toolbar .button:active,
+.inline-toolbar.toolbar .button:checked,
 .inline-toolbar.toolbar .button:insensitive,
 .inline-toolbar.toolbar GtkToolButton .button,
 .inline-toolbar.toolbar GtkToolButton .button:active,
+.inline-toolbar.toolbar GtkToolButton .button:checked,
 .inline-toolbar.toolbar GtkToolButton .button:insensitive {
     border-width: 1px;
     border-radius: 0;
@@ -2435,12 +2650,16 @@ GtkColorButton.button {
 .linked .button:first-child,
 .linked .button:active:first-child,
 .linked .button:active:hover:first-child,
+.linked .button:checked:first-child,
+.linked .button:checked: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:checked: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:checked,
 .inline-toolbar.toolbar GtkToolButton:first-child .button:insensitive {
     border-width: 1px;
     border-radius: 2px;
@@ -2454,12 +2673,16 @@ GtkColorButton.button {
 .linked .button:last-child,
 .linked .button:active:last-child,
 .linked .button:active:hover:last-child,
+.linked .button:checked:last-child,
+.linked .button:checked: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:checked: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:checked,
 .inline-toolbar.toolbar GtkToolButton:last-child .button:insensitive {
     border-width: 1px;
     border-radius: 2px;
@@ -2473,12 +2696,16 @@ GtkColorButton.button {
 .linked .button:only-child,
 .linked .button:active:only-child,
 .linked .button:active:hover:only-child,
+.linked .button:checked:only-child,
+.linked .button:checked: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:checked: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:checked,
 .inline-toolbar.toolbar GtkToolButton:only-child .button:insensitive {
     border-width: 1px;
     border-radius: 2px;
@@ -2493,7 +2720,10 @@ GtkColorButton.button {
 
 .linked.vertical .button:active,
 .inline-toolbar.toolbar.vertical .button:active,
-.inline-toolbar.toolbar.vertical GtkToolButton > .button:active {
+.inline-toolbar.toolbar.vertical GtkToolButton > .button:activeactive,
+.linked.vertical .button:checked,
+.inline-toolbar.toolbar.vertical .button:checked,
+.inline-toolbar.toolbar.vertical GtkToolButton > .button:checked {
     box-shadow: inset 0 -1px shade(@theme_bg_color, 0.9),
                 inset 1px 0 alpha(@dark_shadow, 0.07),
                 inset 0 1px alpha(@dark_shadow, 0.08),
@@ -2511,20 +2741,26 @@ GtkColorButton.button {
 .linked.vertical .button:only-child,
 .linked.vertical .button:insensitive:last-child,
 .linked.vertical .button:insensitive:only-child,
-.linked.vertical .button:active *:insensitive:last-child,
-.linked.vertical .button:active *:insensitive:only-child,
+.linked.vertical .button:active:insensitive:last-child,
+.linked.vertical .button:active:insensitive:only-child,
+.linked.vertical .button:checked:insensitive:last-child,
+.linked.vertical .button:checked:insensitive:only-child,
 .inline-toolbar.toolbar.vertical .button:last-child,
 .inline-toolbar.toolbar.vertical .button:only-child,
 .inline-toolbar.toolbar.vertical .button:insensitive:last-child,
 .inline-toolbar.toolbar.vertical .button:insensitive:only-child,
-.inline-toolbar.toolbar.vertical .button:active *:insensitive:last-child,
-.inline-toolbar.toolbar.vertical .button:active *:insensitive:only-child,
+.inline-toolbar.toolbar.vertical .button:active:insensitive:last-child,
+.inline-toolbar.toolbar.vertical .button:active:insensitive:only-child,
+.inline-toolbar.toolbar.vertical .button:checked:insensitive:last-child,
+.inline-toolbar.toolbar.vertical .button:checked:insensitive:only-child,
 .inline-toolbar.toolbar.vertical GtkToolButton:last-child > .button,
 .inline-toolbar.toolbar.vertical GtkToolButton:only-child > .button,
 .inline-toolbar.toolbar.vertical GtkToolButton:last-child > .button:insensitive,
 .inline-toolbar.toolbar.vertical GtkToolButton:only-child > .button:insensitive,
-.inline-toolbar.toolbar.vertical GtkToolButton:last-child > .button:active *:insensitive,
-.inline-toolbar.toolbar.vertical GtkToolButton:only-child > .button:active *:insensitive {
+.inline-toolbar.toolbar.vertical GtkToolButton:last-child > .button:active:insensitive,
+.inline-toolbar.toolbar.vertical GtkToolButton:only-child > .button:active:insensitive,
+.inline-toolbar.toolbar.vertical GtkToolButton:last-child > .button:checked:insensitive,
+.inline-toolbar.toolbar.vertical GtkToolButton:only-child > .button:checked:insensitive {
     box-shadow: none;
 }
 
@@ -2534,7 +2770,19 @@ GtkColorButton.button {
 .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 {
+.inline-toolbar.toolbar.vertical GtkToolButton:only-child > .button:active,
+.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,
+.linked.vertical .button:checked:last-child,
+.linked.vertical .button:checked:only-child,
+.inline-toolbar.toolbar.vertical .button:checked:last-child,
+.inline-toolbar.toolbar.vertical .button:checked:only-child,
+.inline-toolbar.toolbar.vertical GtkToolButton:last-child > .button:checked,
+.inline-toolbar.toolbar.vertical GtkToolButton:only-child > .button:checked {
     box-shadow: inset 1px 0 alpha(@dark_shadow, 0.07),
                 inset 0 1px alpha(@dark_shadow, 0.08),
                 inset -1px 0 alpha(@dark_shadow, 0.07);
@@ -2545,6 +2793,8 @@ GtkColorButton.button {
 .linked.vertical .button,
 .linked.vertical .button:active,
 .linked.vertical .button:active:hover,
+.linked.vertical .button:checked,
+.linked.vertical .button:checked:hover,
 .linked.vertical .button:insensitive {
     border-width: 1px;
     border-radius: 0;
@@ -2557,6 +2807,8 @@ GtkColorButton.button {
 .linked.vertical .button:first-child,
 .linked.vertical .button:active:first-child,
 .linked.vertical .button:active:hover:first-child,
+.linked.vertical .button:checked:first-child,
+.linked.vertical .button:checked:hover:first-child,
 .linked.vertical .button:insensitive:first-child {
     border-width: 1px;
     border-radius: 2px;
@@ -2570,6 +2822,8 @@ GtkColorButton.button {
 .linked.vertical .button:last-child,
 .linked.vertical .button:active:last-child,
 .linked.vertical .button:active:hover:last-child,
+.linked.vertical .button:checked:last-child,
+.linked.vertical .button:checked:hover:last-child,
 .linked.vertical .button:insensitive:last-child {
     border-width: 1px;
     border-radius: 2px;
@@ -2583,6 +2837,8 @@ GtkColorButton.button {
 .linked.vertical .button:only-child,
 .linked.vertical .button:active:only-child,
 .linked.vertical .button:active:hover:only-child,
+.linked.vertical .button:checked:only-child,
+.linked.vertical .button:checked:hover:only-child,
 .linked.vertical .button:insensitive:only-child {
     border-width: 1px;
     border-radius: 2px;
@@ -2601,7 +2857,11 @@ GtkColorButton.button {
 .primary-toolbar .raised.linked .button:active,
 .toolbar .button.raised.linked:active,
 .toolbar .raised.linked .button:active,
-.toolbar .linked .button:active {
+.toolbar .linked .button:active,
+.primary-toolbar .raised.linked .button:checked,
+.toolbar .button.raised.linked:checked,
+.toolbar .raised.linked .button:checked,
+.toolbar .linked .button:checked {
     box-shadow: inset -1px 0 shade(@toolbar_bg_color, 0.9),
                 inset 1px 0 alpha(@dark_shadow, 0.07),
                 inset 0 1px alpha(@dark_shadow, 0.08),
@@ -2621,32 +2881,42 @@ GtkColorButton.button {
 .primary-toolbar .button.raised.linked:only-child,
 .primary-toolbar .button:insensitive.raised.linked:last-child,
 .primary-toolbar .button:insensitive.raised.linked:only-child,
-.primary-toolbar .button:active *:insensitive.raised.linked:last-child,
-.primary-toolbar .button:active *:insensitive.raised.linked:only-child,
+.primary-toolbar .button:active:insensitive.raised.linked:last-child,
+.primary-toolbar .button:active:insensitive.raised.linked:only-child,
+.primary-toolbar .button:checked:insensitive.raised.linked:last-child,
+.primary-toolbar .button:checked:insensitive.raised.linked:only-child,
 .primary-toolbar .raised.linked .button:last-child,
 .primary-toolbar .raised.linked .button:only-child,
 .primary-toolbar .raised.linked .button:insensitive:last-child,
 .primary-toolbar .raised.linked .button:insensitive:only-child,
-.primary-toolbar .raised.linked .button:active *:insensitive:last-child,
-.primary-toolbar .raised.linked .button:active *:insensitive:only-child,
+.primary-toolbar .raised.linked .button:active:insensitive:last-child,
+.primary-toolbar .raised.linked .button:active:insensitive:only-child,
+.primary-toolbar .raised.linked .button:checked:insensitive:last-child,
+.primary-toolbar .raised.linked .button:checked:insensitive:only-child,
 .toolbar .button.raised.linked:last-child,
 .toolbar .button.raised.linked:only-child,
 .toolbar .button:insensitive.raised.linked:last-child,
 .toolbar .button:insensitive.raised.linked:only-child,
-.toolbar .button:active *:insensitive.raised.linked:last-child,
-.toolbar .button:active *:insensitive.raised.linked:only-child,
+.toolbar .button:active:insensitive.raised.linked:last-child,
+.toolbar .button:active:insensitive.raised.linked:only-child,
+.toolbar .button:checked:insensitive.raised.linked:last-child,
+.toolbar .button:checked:insensitive.raised.linked:only-child,
 .toolbar .raised.linked .button:last-child,
 .toolbar .raised.linked .button:only-child,
 .toolbar .raised.linked .button:insensitive:last-child,
 .toolbar .raised.linked .button:insensitive:only-child,
-.toolbar .raised.linked .button:active *:insensitive:last-child,
-.toolbar .raised.linked .button:active *:insensitive:only-child,
+.toolbar .raised.linked .button:active:insensitive:last-child,
+.toolbar .raised.linked .button:active:insensitive:only-child,
+.toolbar .raised.linked .button:checked:insensitive:last-child,
+.toolbar .raised.linked .button:checked:insensitive:only-child,
 .toolbar .linked .button:last-child,
 .toolbar .linked .button:only-child,
 .toolbar .linked .button:insensitive:last-child,
 .toolbar .linked .button:insensitive:only-child,
-.toolbar .linked .button:active *:insensitive:last-child,
-.toolbar .linked .button:active *:insensitive:only-child {
+.toolbar .linked .button:active:insensitive:last-child,
+.toolbar .linked .button:active:insensitive:only-child
+.toolbar .linked .button:checked:insensitive:last-child,
+.toolbar .linked .button:checked:insensitive:only-child {
     box-shadow: none;
 }
 
@@ -2660,7 +2930,17 @@ GtkColorButton.button {
 .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 {
+.toolbar .linked .button:active:only-child,
+.primary-toolbar .button:checked.raised.linked:last-child,
+.primary-toolbar .button:checked.raised.linked:only-child,
+.primary-toolbar .raised.linked .button:checked:last-child,
+.primary-toolbar .raised.linked .button:checked:only-child,
+.toolbar .button:checked.raised.linked:last-child,
+.toolbar .button:checked.raised.linked:only-child,
+.toolbar .raised.linked .button:checked:last-child,
+.toolbar .raised.linked .button:checked:only-child,
+.toolbar .linked .button:checked:last-child,
+.toolbar .linked .button:checked:only-child {
     box-shadow: inset 1px 0 alpha(@dark_shadow, 0.07),
                 inset 0 1px alpha(@dark_shadow, 0.08),
                 inset -1px 0 alpha(@dark_shadow, 0.07);
@@ -2669,18 +2949,23 @@ GtkColorButton.button {
 /* middle button */
 .primary-toolbar .button.raised.linked,
 .primary-toolbar .button.raised.linked:active,
+.primary-toolbar .button.raised.linked:checked,
 .primary-toolbar .button.raised.linked:insensitive,
 .primary-toolbar .raised.linked .button,
 .primary-toolbar .raised.linked .button:active,
+.primary-toolbar .raised.linked .button:checked,
 .primary-toolbar .raised.linked .button:insensitive,
 .toolbar .button.raised.linked,
 .toolbar .button.raised.linked:active,
+.toolbar .button.raised.linked:checked,
 .toolbar .button.raised.linked:insensitive,
 .toolbar .raised.linked .button,
 .toolbar .raised.linked .button:active,
+.toolbar .raised.linked .button:checked,
 .toolbar .raised.linked .button:insensitive,
 .toolbar .linked .button,
 .toolbar .linked .button:active,
+.toolbar .linked .button:checked,
 .toolbar .linked .button:insensitive {
     border-width: 1px;
     border-radius: 0;
@@ -2691,18 +2976,23 @@ GtkColorButton.button {
 /* leftmost button */
 .primary-toolbar .button.raised.linked:first-child,
 .primary-toolbar .button.raised.linked:active:first-child,
+.primary-toolbar .button.raised.linked:checked: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:checked: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:checked: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:checked:first-child,
 .toolbar .raised.linked .button:insensitive:first-child,
 .toolbar .linked .button:first-child,
-.toolbar .linked .button:active:first-child {
+.toolbar .linked .button:active:first-child,
+.toolbar .linked .button:checked:first-child {
     border-width: 1px;
     border-radius: 2px;
     border-right-width: 0;
@@ -2713,18 +3003,23 @@ GtkColorButton.button {
 /* rightmost button */
 .primary-toolbar .button.raised.linked:last-child,
 .primary-toolbar .button.raised.linked:active:last-child,
+.primary-toolbar .button.raised.linked:checked: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:checked: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:checked: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:checked:last-child,
 .toolbar .raised.linked .button:insensitive:last-child,
 .toolbar .linked .button:last-child,
 .toolbar .linked .button:active:last-child,
+.toolbar .linked .button:checked:last-child,
 .toolbar .linked .button:insensitive:last-child {
     border-width: 1px;
     border-radius: 2px;
@@ -2736,18 +3031,23 @@ GtkColorButton.button {
 /* linked single button */
 .primary-toolbar .button.raised.linked:only-child,
 .primary-toolbar .button.raised.linked:active:only-child,
+.primary-toolbar .button.raised.linked:checked: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:checked: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:checked: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:checked:only-child,
 .toolbar .raised.linked .button:insensitive:only-child,
 .toolbar .linked .button:only-child,
 .toolbar .linked .button:active:only-child,
+.toolbar .linked .button:checked:only-child,
 .toolbar .linked .button:insensitive:only-child {
     border-width: 1px;
     border-radius: 2px;
@@ -2762,7 +3062,10 @@ GtkColorButton.button {
 
 .header-bar .button.raised.linked:active,
 .header-bar .raised.linked .button:active,
-.header-bar .linked .button:active {
+.header-bar .button.raised.linked:checked,
+.header-bar .raised.linked .button:checked,
+.header-bar .linked .button:active,
+.header-bar .linked .button:checked {
     box-shadow: inset -1px 0 shade(@titlebar_bg_color, 0.9),
                 inset 1px 0 alpha(@dark_shadow, 0.07),
                 inset 0 1px alpha(@dark_shadow, 0.08),
@@ -2780,20 +3083,26 @@ GtkColorButton.button {
 .header-bar .button.raised.linked:only-child,
 .header-bar .button:insensitive.raised.linked:last-child,
 .header-bar .button:insensitive.raised.linked:only-child,
-.header-bar .button:active *:insensitive.raised.linked:last-child,
-.header-bar .button:active *:insensitive.raised.linked:only-child,
+.header-bar .button:active:insensitive.raised.linked:last-child,
+.header-bar .button:active:insensitive.raised.linked:only-child,
+.header-bar .button:checked:insensitive.raised.linked:last-child,
+.header-bar .button:checked:insensitive.raised.linked:only-child,
 .header-bar .raised.linked .button:last-child,
 .header-bar .raised.linked .button:only-child,
 .header-bar .raised.linked .button:insensitive:last-child,
 .header-bar .raised.linked .button:insensitive:only-child,
-.header-bar .raised.linked .button:active *:insensitive:last-child,
-.header-bar .raised.linked .button:active *:insensitive:only-child,
+.header-bar .raised.linked .button:active:insensitive:last-child,
+.header-bar .raised.linked .button:active:insensitive:only-child,
+.header-bar .raised.linked .button:checked:insensitive:last-child,
+.header-bar .raised.linked .button:checked:insensitive:only-child,
 .header-bar .linked .button:last-child,
 .header-bar .linked .button:only-child,
 .header-bar .linked .button:insensitive:last-child,
 .header-bar .linked .button:insensitive:only-child,
-.header-bar .linked .button:active *:insensitive:last-child,
-.header-bar .linked .button:active *:insensitive:only-child {
+.header-bar .linked .button:active:insensitive:last-child,
+.header-bar .linked .button:active:insensitive:only-child,
+.header-bar .linked .button:checked:insensitive:last-child,
+.header-bar .linked .button:checked:insensitive:only-child {
     box-shadow: none;
 }
 
@@ -2803,7 +3112,13 @@ GtkColorButton.button {
 .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 {
+.header-bar .linked .button:active:only-child,
+.header-bar .button:checked.raised.linked:last-child,
+.header-bar .button:checked.raised.linked:only-child,
+.header-bar .raised.linked .button:checked:last-child,
+.header-bar .raised.linked .button:checked:only-child,
+.header-bar .linked .button:checked:last-child,
+.header-bar .linked .button:checked:only-child {
     box-shadow: inset 1px 0 alpha(@dark_shadow, 0.07),
                 inset 0 1px alpha(@dark_shadow, 0.08),
                 inset -1px 0 alpha(@dark_shadow, 0.07);
@@ -2812,12 +3127,15 @@ GtkColorButton.button {
 /* middle button */
 .header-bar .button.raised.linked,
 .header-bar .button.raised.linked:active,
+.header-bar .button.raised.linked:checked,
 .header-bar .button.raised.linked:insensitive,
 .header-bar .raised.linked .button,
 .header-bar .raised.linked .button:active,
+.header-bar .raised.linked .button:checked,
 .header-bar .raised.linked .button:insensitive,
 .header-bar .linked .button,
 .header-bar .linked .button:active,
+.header-bar .linked .button:checked,
 .header-bar .linked .button:insensitive {
     border-width: 1px;
     border-radius: 0;
@@ -2845,12 +3163,15 @@ GtkColorButton.button {
 /* rightmost button */
 .header-bar .button.raised.linked:last-child,
 .header-bar .button.raised.linked:active:last-child,
+.header-bar .button.raised.linked:checked: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:checked: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:checked:last-child,
 .header-bar .linked .button:insensitive:last-child {
     border-width: 1px;
     border-radius: 2px;
@@ -2862,12 +3183,15 @@ GtkColorButton.button {
 /* linked single button */
 .header-bar .button.raised.linked:only-child,
 .header-bar .button.raised.linked:active:only-child,
+.header-bar .button.raised.linked:checked: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:checked: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:checked:only-child,
 .header-bar .linked .button:insensitive:only-child {
     border-width: 1px;
     border-radius: 2px;
@@ -2895,8 +3219,8 @@ GtkColorButton.button {
  ************/
 GtkTreeView {
     -GtkTreeView-vertical-separator: 0;
-    -GtkWidget-focus-line-width: 1;
-    -GtkWidget-focus-padding: 1;
+
+    outline-offset: -1px;
 }
 
 GtkTreeView.dnd {
@@ -3013,6 +3337,22 @@ GtkFileChooserButton GtkImage:last-child {
     color: alpha(currentColor, 0.7);
 }
 
+GtkFileChooser .pane-separator,
+GtkFileChooser .pane-separator:hover {
+    border-width: 0 1px 0 0;
+    border-style: solid;
+    border-color: shade(@theme_bg_color, 0.8);
+    background-color: @theme_bg_color;
+    color: shade(@theme_bg_color, 0.9);
+}
+
+/* for fallback when header bar not used */
+GtkFileChooser .dialog-action-box {
+    border-width: 1px 0 0;
+    border-style: solid;
+    border-color: shade(@theme_bg_color, 0.7);
+}
+
 /*********************
  * app notifications *
  *********************/
@@ -3066,7 +3406,10 @@ GtkOverlay.osd {
 
 .osd.button:active,
 .osd .button:active,
-.osd GtkMenuButton.button:active {
+.osd GtkMenuButton.button:active,
+.osd.button:checked,
+.osd .button:checked,
+.osd GtkMenuButton.button:checked {
     border-color: shade(@osd_bg, 0.8);
     background-color: shade(@osd_bg, 0.95);
     background-image: none;
@@ -3074,7 +3417,10 @@ GtkOverlay.osd {
 
 .osd.button:active:hover,
 .osd .button:active:hover,
-.osd GtkMenuButton.button:active:hover {
+.osd GtkMenuButton.button:active:hover,
+.osd.button:checked:hover,
+.osd .button:checked:hover,
+.osd GtkMenuButton.button:checked:hover {
     border-color: shade(@osd_bg, 0.7);
 }
 
@@ -3085,8 +3431,10 @@ GtkOverlay.osd {
     background-image: none;
 }
 
-.osd.button:active *:insensitive,
-.osd .button:active *:insensitive {
+.osd.button:active:insensitive,
+.osd .button:active:insensitive,
+.osd.button:checked:insensitive,
+.osd .button:checked:insensitive {
     background-color: shade(@osd_bg, 0.80);
     background-image: none;
 }
@@ -3121,20 +3469,24 @@ GtkOverlay.osd {
     background-image: none;
 }
 
-.osd.toolbar .button:active {
+.osd.toolbar .button:active,
+.osd.toolbar .button:checked {
     border-color: shade(@osd_bg, 0.8);
     background-color: shade(@osd_bg, 0.95);
     background-image: none;
 }
 
-.osd.toolbar .button:active:hover {
+.osd.toolbar .button:active:hover,
+.osd.toolbar .button:checked: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 {
+.osd.toolbar .button:active:hover:focus,
+.osd.toolbar .button:checked:focus,
+.osd.toolbar .button:checked:hover:focus {
     border-color: shade(@osd_bg, 0.7);
 }
 
@@ -3144,7 +3496,8 @@ GtkOverlay.osd {
     background-image: none;
 }
 
-.osd.toolbar .button:active *:insensitive {
+.osd.toolbar .button:active:insensitive,
+.osd.toolbar .button:checked:insensitive {
     border-color: shade(@osd_bg, 0.75);
     background-color: shade(@osd_bg, 0.80);
     background-image: none;
@@ -3320,7 +3673,8 @@ GtkProgressBar.osd.progressbar {
     background-image: none;
 }
 
-.destructive-action.button:active {
+.destructive-action.button:active,
+.destructive-action.button:checked {
     border-color: shade(@error_color, 0.8);
     background-color: shade(@error_color, 0.87);
     background-image: none;
@@ -3349,13 +3703,15 @@ GtkProgressBar.osd.progressbar {
     background-image: none;
 }
 
-.suggested-action.button:active {
+.suggested-action.button:active,
+.suggested-action.button:checked {
     border-color: shade(@theme_selected_bg_color, 0.9);
     background-color: shade(@theme_selected_bg_color, 1.05);
     background-image: none;
 }
 
-.suggested-action.button:hover:active {
+.suggested-action.button:hover:active,
+.suggested-action.button:hover:checked {
     border-color: shade(@theme_selected_bg_color, 0.8);
 }
 
@@ -3403,7 +3759,10 @@ GtkProgressBar.osd.progressbar {
 
 .selection-mode.header-bar .button:active,
 .selection-mode.toolbar .button:active,
-.selection-mode.toolbar GtkToolButton .button:active {
+.selection-mode.toolbar GtkToolButton .button:active,
+.selection-mode.header-bar .button:checked,
+.selection-mode.toolbar .button:checked,
+.selection-mode.toolbar GtkToolButton .button:checked {
     border-color: shade(@theme_selected_bg_color, 0.9);
     background-color: shade(@theme_selected_bg_color, 1.55);
     background-image: none;
@@ -3438,7 +3797,10 @@ GtkProgressBar.osd.progressbar {
 
 .selection-mode.header-bar .suggested-action.button:active,
 .selection-mode.toolbar .suggested-action.button:active,
-.selection-mode.toolbar GtkToolButton.suggested-action:active {
+.selection-mode.toolbar GtkToolButton.suggested-action:active,
+.selection-mode.header-bar .suggested-action.button:checked,
+.selection-mode.toolbar .suggested-action.button:checked,
+.selection-mode.toolbar GtkToolButton.suggested-action:checked {
     border-color: shade(@theme_selected_bg_color, 0.9);
     background-color: shade(@theme_selected_bg_color, 1.05);
     background-image: none;
@@ -3446,7 +3808,10 @@ GtkProgressBar.osd.progressbar {
 
 .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 {
+.selection-mode.toolbar GtkToolButton.suggested-action .button:hover:active,
+.selection-mode.header-bar .suggested-action.button:hover:checked,
+.selection-mode.toolbar .suggested-action.button:hover:checked,
+.selection-mode.toolbar GtkToolButton.suggested-action .button:hover:checked {
     border-color: shade(@theme_selected_bg_color, 0.8);
 }
 
@@ -3472,7 +3837,9 @@ GtkProgressBar.osd.progressbar {
 }
 
 .selection-mode.header-bar .selection-menu.button:active,
-.selection-mode.toolbar .selection-menu.button:active {
+.selection-mode.toolbar .selection-menu.button:active,
+.selection-mode.header-bar .selection-menu.button:checked,
+.selection-mode.toolbar .selection-menu.button:checked {
     color: shade(@theme_selected_bg_color, 0.8);
     box-shadow: none;
 }
@@ -3547,7 +3914,9 @@ GtkBubbleWindow .toolbar {
 }
 
 .titlebar .titlebutton:active,
-.titlebar .titlebutton:active:hover {
+.titlebar .titlebutton:active:hover,
+.titlebar .titlebutton:checked,
+.titlebar .titlebutton:checked:hover {
     background: none;
     color: shade(@theme_selected_bg_color, 0.9);
     box-shadow: none;
@@ -3576,20 +3945,41 @@ GtkBubbleWindow .toolbar {
 }
 
 .window-frame {
-    border-style: none;
+    border: none;
     border-radius: 2px 2px 0 0;
-    box-shadow: 0 3px 7px 1px alpha(black, 0.7),
+    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19),
+                0 6px 6px rgba(0, 0, 0, 0.23),
                 0 0 0 1px mix(shade(@titlebar_bg_color, 0.7), @titlebar_fg_color, 0.21);
 
     /* this is used for the resize cursor area */
-    margin: 10px;
+    margin: 15px;
+}
+
+.window-frame:backdrop {
+    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12),
+                0 1px 2px rgba(0, 0, 0, 0.24),
+                0 0 0 1px mix(shade(@titlebar_bg_color, 0.7), @titlebar_fg_color, 0.12);
 }
 
 .window-frame.tiled {
     border-radius: 0;
 }
 
-.window-frame:backdrop {
-    box-shadow: 0 3px 5px 1px alpha(black, 0.5),
-                0 0 0 1px mix(shade(@titlebar_bg_color, 0.7), @titlebar_fg_color, 0.12);
+.window-frame.csd.popup {
+    border-radius: 0;
+    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16),
+                0 3px 6px rgba(0, 0, 0, 0.23),
+                0 0 0 1px mix(shade(@titlebar_bg_color, 0.7), @titlebar_fg_color, 0.21);
+ }
+
+.window-frame.csd.tooltip {
+    border-radius: 2px;
+    box-shadow: none;
+}
+
+.window-frame.csd.message-dialog {
+    border-radius: 2px;
+    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16),
+                0 3px 6px rgba(0, 0, 0, 0.23),
+                0 0 0 1px mix(shade(@titlebar_bg_color, 0.7), @titlebar_fg_color, 0.21);
 }
diff --git a/gtk-3.0/gtk.css b/gtk-3.0/gtk.css
index 72e9b19..7518238 100644
--- a/gtk-3.0/gtk.css
+++ b/gtk-3.0/gtk.css
@@ -1,3 +1,8 @@
+/* desktop itens */
+@define-color desktop_item_fg #eeeeee;
+@define-color desktop_item_selected_fg @theme_selected_fg_color;
+@define-color desktop_item_text_shadow alpha(black, 0.8);
+
 /* default color scheme */
 @define-color bg_color #dedede;
 @define-color fg_color #555555;
diff --git a/gtk-3.0/thumbnail.png b/gtk-3.0/thumbnail.png
new file mode 100644
index 0000000..4f51185
Binary files /dev/null and b/gtk-3.0/thumbnail.png differ
diff --git a/metacity-1/thumbnail.png b/metacity-1/thumbnail.png
new file mode 100644
index 0000000..e656d16
Binary files /dev/null and b/metacity-1/thumbnail.png differ
diff --git a/unity/progress_bar_fill.svg b/unity/progress_bar_fill.svg
new file mode 100644
index 0000000..aef847c
--- /dev/null
+++ b/unity/progress_bar_fill.svg
@@ -0,0 +1,5 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="42" height="4">
+ <g transform="translate(0,-1048.3622)">
+  <path d="m 1,1048.3622 40,0 c 1,0 1,0 1,1 l 0,2 c 0,1 0,1 -1,1 l -40,0 c -1,0 -1,0 -1,-1 l 0,-2 c 0,-1 0,-1 1,-1 z" fill="#d64937"/>
+ </g>
+</svg>
diff --git a/unity/progress_bar_trough.svg b/unity/progress_bar_trough.svg
new file mode 100644
index 0000000..8082c32
--- /dev/null
+++ b/unity/progress_bar_trough.svg
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="54"
+   height="54"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.48.4 r9939"
+   sodipodi:docname="progress_bar_trough.svg">
+  <metadata
+     id="metadata18">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs16" />
+  <sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1366"
+     inkscape:window-height="713"
+     id="namedview14"
+     showgrid="false"
+     inkscape:zoom="8.9114583"
+     inkscape:cx="8.3161894"
+     inkscape:cy="26.77557"
+     inkscape:window-x="0"
+     inkscape:window-y="341"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="svg2" />
+  <g
+     transform="translate(0,-998.36218)"
+     id="g4">
+    <image
+       y="346.58"
+       x="413.71"
+       xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAADCAYAAAC09K7GAAAABHNCSVQICAgIfAhkiAAAAAxJREFU CJljYCAZAAAAMwAB0kOx4wAAAABJRU5ErkJggg== "
+       height="3"
+       width="4"
+       id="image6" />
+  </g>
+  <path
+     style="fill:#2d2d2d;opacity:0.5"
+     inkscape:connector-curvature="0"
+     id="path10"
+     d="m 7,25 c -1.0000065,0 -1,0 -1,1 l 0,2 c 0,1 -1.35e-5,1 1,1 l 40,0 c 1,0 1,0 1,-1 l 0,-2 c 0,-1 0,-1 -1,-1 L 7,25 z" />
+  <path
+     style="fill:#f9f9f9"
+     inkscape:connector-curvature="0"
+     id="path12"
+     d="m 7,23 c -3.0000291,0 -3,0 -3,3 l 0,2 c 0,3 -2.91e-5,3 3,3 l 40,0 c 3,0 3,0 3,-3 l 0,-2 c 0,-3 0,-3 -3,-3 z m 0,2 40,0 c 1,0 1,0 1,1 l 0,2 c 0,1 0,1 -1,1 L 7,29 C 5.9999865,29 6,29 6,28 l 0,-2 c 0,-1 -6.5e-6,-1 1,-1 z" />
+</svg>