--- Albatross-1.7.3/gtk-3.0/gtk-widgets-assets.css
+++ Albatross/gtk-3.0/gtk-widgets-assets.css
@@ -22,118 +22,118 @@
 .check,
 .check row:selected,
 .check row:selected:focus {
-    background-image: url("assets/checkbox-unchecked.png");
+    -gtk-icon-source: url("assets/checkbox-unchecked.png");
 }
 
 .check:insensitive,
 .check row:selected:insensitive,
 .check row:selected:focus:insensitive {
-    background-image: url("assets/checkbox-unchecked-insensitive.png");
+    -gtk-icon-source: url("assets/checkbox-unchecked-insensitive.png");
 }
 
-.check:active,
-.check row:selected:active,
-.check row:selected:focus:active {
-    background-image: url("assets/checkbox-checked.png");
+.check:active, .check:checked,
+.check row:selected:active, .check row:selected:checked,
+.check row:selected:focus:active, .check row:selected:focus:checked {
+    -gtk-icon-source: url("assets/checkbox-checked.png");
 }
 
-.check:active:insensitive,
-.check row:selected:active:insensitive,
-.check row:selected:focus:active:insensitive {
-    background-image: url("assets/checkbox-checked-insensitive.png");
+.check:active:insensitive, .check:checked:insensitive,
+.check row:selected:active:insensitive, .check row:selected:checked:insensitive,
+.check row:selected:focus:active:insensitive, .check row:selected:focus:checked:insensitive {
+    -gtk-icon-source: url("assets/checkbox-checked-insensitive.png");
 }
 
 .check:inconsistent,
 .check row:selected:inconsistent,
 .check row:selected:focus:inconsistent {
-    background-image: url("assets/checkbox-mixed.png");
+    -gtk-icon-source: url("assets/checkbox-mixed.png");
 }
 
 .check:inconsistent:insensitive,
 .check row:selected:inconsistent:insensitive,
 .check row:selected:focus:inconsistent:insensitive {
-    background-image: url("assets/checkbox-mixed-insensitive.png");
+    -gtk-icon-source: url("assets/checkbox-mixed-insensitive.png");
 }
 
 .radio,
 .radio row:selected,
 .radio row:selected:focus {
-    background-image: url("assets/radio-unselected.png");
+    -gtk-icon-source: url("assets/radio-unselected.png");
 }
 
 .radio:insensitive,
 .radio row:selected:insensitive,
 .radio row:selected:focus:insensitive {
-    background-image: url("assets/radio-unselected-insensitive.png");
+    -gtk-icon-source: url("assets/radio-unselected-insensitive.png");
 }
 
-.radio:active,
-.radio row:selected:active,
-.radio row:selected:focus:active {
-    background-image: url("assets/radio-selected.png");
+.radio:active, .radio:checked,
+.radio row:selected:active, .radio row:selected:checked,
+.radio row:selected:focus:active, .radio row:selected:focus:checked {
+    -gtk-icon-source: url("assets/radio-selected.png");
 }
 
-.radio:active:insensitive,
-.radio row:selected:active:insensitive,
-.radio row:selected:focus:active:insensitive {
-    background-image: url("assets/radio-selected-insensitive.png");
+.radio:active:insensitive, .radio:checked:insensitive,
+.radio row:selected:active:insensitive, .radio row:selected:checked:insensitive,
+.radio row:selected:focus:active:insensitive, .radio row:selected:focus:checked:insensitive {
+    -gtk-icon-source: url("assets/radio-selected-insensitive.png");
 }
 
 .radio:inconsistent,
 .radio row:selected:inconsistent,
 .radio row:selected:focus:inconsistent {
-    background-image: url("assets/radio-mixed.png");
+    -gtk-icon-source: url("assets/radio-mixed.png");
 }
 
 .radio:inconsistent:insensitive,
 .radio row:selected:inconsistent:insensitive,
 .radio row:selected:focus:inconsistent:insensitive {
-    background-image: url("assets/radio-mixed-insensitive.png");
+    -gtk-icon-source: url("assets/radio-mixed-insensitive.png");
 }
 
-.menuitem.check:active {
-    background-image: url("assets/menuitem-checkbox-checked.png");
+.menuitem.check:active, .menuitem.check:checked {
+    -gtk-icon-source: url("assets/menuitem-checkbox-checked.png");
 }
 
-.menuitem.check:active:hover {
-    background-image: url("assets/menuitem-checkbox-checked-selected.png");
+.menuitem.check:active:hover, .menuitem.check:checked:hover {
+    -gtk-icon-source: url("assets/menuitem-checkbox-checked-selected.png");
 }
 
-.menuitem.check:active:insensitive {
-    background-image: url("assets/menuitem-checkbox-checked-insensitive.png");
+.menuitem.check:active:insensitive, .menuitem.check:checked:insensitive {
+    -gtk-icon-source: url("assets/menuitem-checkbox-checked-insensitive.png");
 }
 
 .menuitem.check:inconsistent:hover,
 .menuitem.radio:inconsistent:hover {
-    background-image: url("assets/menuitem-checkbox-mixed-selected.png");
+    -gtk-icon-source: url("assets/menuitem-checkbox-mixed-selected.png");
 }
 
 .menuitem.check:inconsistent,
 .menuitem.radio:inconsistent {
-    background-image: url("assets/menuitem-checkbox-mixed.png");
+    -gtk-icon-source: url("assets/menuitem-checkbox-mixed.png");
 }
 
 .menuitem.check:inconsistent:insensitive,
 .menuitem.radio:inconsistent:insensitive {
-    background-image: url("assets/menuitem-checkbox-mixed-insensitive.png");
+    -gtk-icon-source: url("assets/menuitem-checkbox-mixed-insensitive.png");
 }
 
-.menuitem.radio:active {
-    background-image: url("assets/menuitem-radio-checked.png");
+.menuitem.radio:active, .menuitem.radio:checked {
+    -gtk-icon-source: url("assets/menuitem-radio-checked.png");
 }
 
-.menuitem.radio:active:hover {
-    background-image: url("assets/menuitem-radio-checked-selected.png");
+.menuitem.radio:active:hover, .menuitem.radio:checked:hover {
+    -gtk-icon-source: url("assets/menuitem-radio-checked-selected.png");
 }
 
-.menuitem.radio:active:insensitive {
-    background-image: url("assets/menuitem-radio-checked-insensitive.png");
+.menuitem.radio:active:insensitive, .menuitem.radio:checked:insensitive {
+    -gtk-icon-source: url("assets/menuitem-radio-checked-insensitive.png");
 }
 
 GtkIconView.content-view.cell.check {
-    background-image: url("assets/grid-selection-unchecked.png");
+    -gtk-icon-source: url("assets/grid-selection-unchecked.png");
 }
 
-GtkIconView.content-view.cell.check:active {
-    background-image: url("assets/grid-selection-checked.png");
+GtkIconView.content-view.cell.check:active, GtkIconView.content-view.cell.check:checked {
+    -gtk-icon-source: url("assets/grid-selection-checked.png");
 }
--- Albatross-1.7.3/gtk-3.0/gtk-widgets.css
+++ Albatross/gtk-3.0/gtk-widgets.css
@@ -148,9 +148,13 @@
                 inset 1px -1px alpha(@light_shadow, 0.3);
 }
 
+.button:checked,
 .button:active,
+.primary-toolbar .button:checked,
 .primary-toolbar .button:active,
+.toolbar .button:checked,
 .toolbar .button:active,
+.header-bar .button:checked,
 .header-bar .button:active {
     box-shadow: inset 1px 1px alpha(@dark_shadow, 0.1),
                 inset -1px -1px alpha(@dark_shadow, 0.1);
@@ -179,9 +183,13 @@
 .primary-toolbar .button:insensitive,
 .toolbar .button:insensitive,
 .header-bar .button:insensitive,
+.button:checked *:insensitive,
 .button:active *:insensitive,
+.primary-toolbar .button:checked *:insensitive,
 .primary-toolbar .button:active *:insensitive,
+.toolbar .button:checked *:insensitive,
 .toolbar .button:active *:insensitive,
+.header-bar .button:checked *:insensitive,
 .header-bar .button:active *:insensitive,
 .entry:insensitive,
 .scrollbar.button,
@@ -239,6 +247,7 @@
                                      to (shade(@theme_selected_bg_color, 1.09)));
 }
 
+.button:checked,
 .button:active {
     border-color: shade(@theme_bg_color, 0.7);
     background-image: -gtk-gradient(linear, left top, left bottom,
@@ -248,6 +257,7 @@
                                      to (shade(@theme_bg_color, 0.82)));
 }
 
+.button:checked:hover,
 .button:active:hover {
     border-color: shade(@theme_bg_color, 0.7);    
     background-image: -gtk-gradient(linear, left top, left bottom,
@@ -259,7 +269,9 @@
 
 .button:focus,
 .button:hover:focus,
+.button:checked:focus,
 .button:active:focus,
+.button:checked:hover:focus,
 .button:active:hover:focus {
     border-color: shade(@theme_selected_bg_color, 0.8);
 }
@@ -273,6 +285,7 @@
                                      to (shade(@theme_bg_color, 0.91)));
 }
 
+.button:checked *:insensitive,
 .button:active *:insensitive {
     border-color: shade(@theme_bg_color, 0.8);
     background-image: -gtk-gradient(linear, left top, left bottom,
@@ -335,14 +348,17 @@
  * column-header *
  *****************/
 column-header .button,
+column-header .button:checked,
 column-header .button:active {
     border-width: 0 1px 1px 0;
     border-radius: 0;
 }
 
 column-header .button,
+column-header .button:checked,
 column-header .button:active,
 column-header .button:focus,
+column-header .button:checked:focus,
 column-header .button:active:focus {
     border-color: shade(@theme_base_color, 0.9);
     border-bottom-color: shade(@theme_base_color, 0.8);
@@ -353,8 +369,10 @@
 }
 
 column-header .button:hover,
+column-header .button:checked:hover,
 column-header .button:active:hover,
 column-header .button:hover:focus,
+column-header .button:checked:hover:focus,
 column-header .button:active:hover:focus {
     border-color: shade(@theme_base_color, 0.9);
     border-bottom-color: shade(@theme_base_color, 0.8);
@@ -488,10 +506,12 @@
 
 .primary-toolbar GtkComboBox.combobox-entry .button,
 .primary-toolbar GtkComboBox.combobox-entry .button:hover,
+.primary-toolbar GtkComboBox.combobox-entry .button:checked,
 .primary-toolbar GtkComboBox.combobox-entry .button:active,
 .primary-toolbar GtkComboBox.combobox-entry .button:insensitive,
 GtkComboBox.combobox-entry .button,
 GtkComboBox.combobox-entry .button:hover,
+GtkComboBox.combobox-entry .button:checked,
 GtkComboBox.combobox-entry .button:active,
 GtkComboBox.combobox-entry .button:insensitive {
     border-width: 1px 1px 1px 1px;
@@ -665,11 +685,13 @@
     background-color: shade(@info_bg_color, 1.10);
 }
 
+.info .button:checked,
 .info .button:active {
     border-color: shade(@info_bg_color, 0.6);
     background-color: shade(@info_bg_color, 0.95);
 }
 
+.info .button:checked:hover,
 .info .button:active:hover {
     border-top-color: shade(@info_bg_color, 0.85);
     border-right-color: shade(@info_bg_color, 0.78);
@@ -719,11 +741,13 @@
     background-color: shade(@warning_bg_color, 1.10);
 }
 
+.warning .button:checked,
 .warning .button:active {
     border-color: shade(@warning_bg_color, 0.6);
     background-color: shade(@warning_bg_color, 0.95);
 }
 
+.warning .button:checked:hover,
 .warning .button:active:hover {
     border-top-color: shade(@warning_bg_color, 0.85);
     border-right-color: shade(@warning_bg_color, 0.78);
@@ -773,11 +797,13 @@
     background-color: shade(@question_bg_color, 1.10);
 }
 
+.question .button:checked,
 .question .button:active {
     border-color: shade(@question_bg_color, 0.6);
     background-color: shade(@question_bg_color, 0.95);
 }
 
+.question .button:checked:hover,
 .question .button:active:hover {
     border-top-color: shade(@question_bg_color, 0.85);
     border-right-color: shade(@question_bg_color, 0.78);
@@ -829,11 +855,13 @@
     background-color: shade(@error_bg_color, 1.10);
 }
 
+.error .button:checked,
 .error .button:active {
     border-color: shade(@error_bg_color, 0.6);
     background-color: shade(@error_bg_color, 0.95);
 }
 
+.error .button:checked:hover,
 .error .button:active:hover {
     border-top-color: shade(@error_bg_color, 0.85);
     border-right-color: shade(@error_bg_color, 0.78);
@@ -977,7 +1005,9 @@
 }
 
 .menu.button:hover,
+.menu.button:checked,
 .menu.button:active,
+.menu.button:checked *:insensitive,
 .menu.button:active *:insensitive,
 .menu.button:insensitive,
 .menu.button {
@@ -1178,8 +1208,10 @@
 }
 
 GtkModelButton.button,
+GtkModelButton.button:checked,
 GtkModelButton.button:active,
 GtkModelButton.button:insensitive,
+GtkModelButton.button:checked:insensitive,
 GtkModelButton.button:active:insensitive {
     background-color: transparent;
     background-image: none;
@@ -1189,6 +1221,7 @@
     color: @theme_fg_color;
 }
 
+GtkModelButton.button:checked:hover,
 GtkModelButton.button:active:hover,
 GtkModelButton.button:hover,
 GtkModelButton.button:selected {
@@ -1554,7 +1587,9 @@
 }
 
 .scrollbar.button,
+.scrollbar.button:checked,
 .scrollbar.button:active,
+.scrollbar.button:checked:hover,
 .scrollbar.button:active:hover {
     border-width: 0;
     border-radius: 0;
@@ -1741,6 +1776,7 @@
     box-shadow: inset 1px 0 shade(@theme_bg_color, 0.95);
 }
 
+.spinbutton .button:checked,
 .spinbutton .button:active,
 .spinbutton .button:hover {
     color: @theme_fg_color;
@@ -1783,6 +1819,7 @@
                                      to (shade(@theme_selected_bg_color, 1.09)));
 }
 
+.spinbutton.vertical .button:checked,
 .spinbutton.vertical .button:active {
     border-color: shade(@theme_bg_color, 0.7);
     background-image: -gtk-gradient(linear, left top, left bottom,
@@ -1792,6 +1829,7 @@
                                      to (shade(@theme_bg_color, 0.82)));
 }
 
+.spinbutton.vertical .button:checked:hover,
 .spinbutton.vertical .button:active:hover {
     border-color: shade(@theme_bg_color, 0.7);
     background-image: -gtk-gradient(linear, left top, left bottom,
@@ -1803,7 +1841,9 @@
 
 .spinbutton.vertical .button:focus,
 .spinbutton.vertical .button:hover:focus,
+.spinbutton.vertical .button:checked:focus,
 .spinbutton.vertical .button:active:focus,
+.spinbutton.vertical .button:checked:hover:focus,
 .spinbutton.vertical .button:active:hover:focus {
     border-color: shade(@theme_selected_bg_color, 0.7);
 }
@@ -2247,8 +2287,11 @@
                                      to (shade(@theme_selected_bg_color, 1.09)));
 }
 
+.primary-toolbar .button:checked,
 .primary-toolbar .button:active,
+.toolbar .button:checked,
 .toolbar .button:active,
+.header-bar .button:checked,
 .header-bar .button:active {
     border-color: shade(@toolbar_bg_color, 0.7);
     background-image: -gtk-gradient(linear, left top, left bottom,
@@ -2258,8 +2301,11 @@
                                      to (shade(@toolbar_bg_color, 0.82)));
 }
 
+.primary-toolbar .button:checked:hover,
 .primary-toolbar .button:active:hover,
+.toolbar .button:checked:hover,
 .toolbar .button:active:hover,
+.header-bar .button:checked:hover,
 .header-bar .button:active:hover {
     border-color: shade(@toolbar_bg_color, 0.7);    
     background-image: -gtk-gradient(linear, left top, left bottom,
@@ -2271,15 +2317,21 @@
 
 .primary-toolbar .button:focus,
 .primary-toolbar .button:hover:focus,
+.primary-toolbar .button:checked:focus,
 .primary-toolbar .button:active:focus,
+.primary-toolbar .button:checked:hover:focus,
 .primary-toolbar .button:active:hover:focus,
 .toolbar .button:focus,
 .toolbar .button:hover:focus,
+.toolbar .button:checked:focus,
 .toolbar .button:active:focus,
+.toolbar .button:checked:hover:focus,
 .toolbar .button:active:hover:focus,
 .header-bar .button:focus,
 .header-bar .button:hover:focus,
+.header-bar .button:checked:focus,
 .header-bar .button:active:focus,
+.header-bar .button:checked:hover:focus,
 .header-bar .button:active:hover:focus {
     border-color: shade(@theme_selected_bg_color, 0.8);
 }
@@ -2295,8 +2347,11 @@
                                      to (shade(@toolbar_bg_color, 0.91)));
 }
 
+.primary-toolbar .button:checked *:insensitive,
 .primary-toolbar .button:active *:insensitive,
+.toolbar .button:checked *:insensitive,
 .toolbar .button:active *:insensitive,
+.header-bar .button:checked *:insensitive,
 .header-bar .button:active *:insensitive {
     border-color: shade(@toolbar_bg_color, 0.8);
     background-image: -gtk-gradient(linear, left top, left bottom,
@@ -2357,19 +2412,23 @@
     background-image: none;
 }
 
+.inline-toolbar.toolbar .button:checked,
 .inline-toolbar.toolbar .button:active {
     border-color: shade(@theme_bg_color, 0.8);
     background-color: shade(@theme_bg_color, 0.95);
     background-image: none;
 }
 
+.inline-toolbar.toolbar .button:checked:hover,
 .inline-toolbar.toolbar .button:active:hover {
     border-color: shade(@theme_bg_color, 0.7);
 }
 
 .inline-toolbar.toolbar .button:focus,
 .inline-toolbar.toolbar .button:hover:focus,
+.inline-toolbar.toolbar .button:checked:focus,
 .inline-toolbar.toolbar .button:active:focus,
+.inline-toolbar.toolbar .button:checked:hover:focus,
 .inline-toolbar.toolbar .button:active:hover:focus {
     border-color: shade(@theme_bg_color, 0.7);
 }
@@ -2394,9 +2453,13 @@
                 inset -1px 1px alpha(@light_shadow, 0.3);
 }
 
+.linked .button:checked,
 .linked .button:active,
+.inline-toolbar.toolbar .button:checked,
 .inline-toolbar.toolbar .button:active,
+.inline-toolbar.toolbar GtkToolButton .button:checked,
 .inline-toolbar.toolbar GtkToolButton .button:active,
+.inline-toolbar.toolbar GtkToolButton > .button:checked,
 .inline-toolbar.toolbar GtkToolButton > .button:active {
     box-shadow: inset -1px 0 shade(@theme_bg_color, 0.8),
                 inset 1px 1px alpha(@dark_shadow, 0.1),
@@ -2411,11 +2474,17 @@
 }
 
 /* remove box shadow from last-child and only-child */
+.linked .button:checked *:insensitive:last-child,
 .linked .button:active *:insensitive:last-child,
+.linked .button:checked *:insensitive:only-child,
 .linked .button:active *:insensitive:only-child,
+.inline-toolbar.toolbar .button:checked *:insensitive:last-child,
 .inline-toolbar.toolbar .button:active *:insensitive:last-child,
+.inline-toolbar.toolbar .button:checked *:insensitive:only-child,
 .inline-toolbar.toolbar .button:active *:insensitive:only-child,
+.inline-toolbar.toolbar GtkToolButton:last-child > .button:checked *:insensitive,
 .inline-toolbar.toolbar GtkToolButton:last-child > .button:active *:insensitive,
+.inline-toolbar.toolbar GtkToolButton:only-child > .button:checked *:insensitive,
 .inline-toolbar.toolbar GtkToolButton:only-child > .button:active *:insensitive {
     box-shadow: none;
 }
@@ -2437,11 +2506,17 @@
                 inset -1px 1px alpha(@light_shadow, 0.3);
 }
 
+.linked .button:checked:last-child,
 .linked .button:active:last-child,
+.linked .button:checked:only-child,
 .linked .button:active:only-child,
+.inline-toolbar.toolbar .button:checked:last-child,
 .inline-toolbar.toolbar .button:active:last-child,
+.inline-toolbar.toolbar .button:checked:only-child,
 .inline-toolbar.toolbar .button:active:only-child,
+.inline-toolbar.toolbar GtkToolButton:last-child > .button:checked,
 .inline-toolbar.toolbar GtkToolButton:last-child > .button:active,
+.inline-toolbar.toolbar GtkToolButton:only-child > .button:checked,
 .inline-toolbar.toolbar GtkToolButton:only-child > .button:active {
     box-shadow: inset 1px 1px alpha(@dark_shadow, 0.1),
                 inset -1px -1px alpha(@dark_shadow, 0.1);
@@ -2450,13 +2525,17 @@
 /* middle button */
 .linked .entry,
 .linked .button,
+.linked .button:checked,
 .linked .button:active,
+.linked .button:checked:hover,
 .linked .button:active:hover,
 .linked .button:insensitive,
 .inline-toolbar.toolbar .button,
+.inline-toolbar.toolbar .button:checked,
 .inline-toolbar.toolbar .button:active,
 .inline-toolbar.toolbar .button:insensitive,
 .inline-toolbar.toolbar GtkToolButton .button,
+.inline-toolbar.toolbar GtkToolButton .button:checked,
 .inline-toolbar.toolbar GtkToolButton .button:active,
 .inline-toolbar.toolbar GtkToolButton .button:insensitive {
     border-width: 1px;
@@ -2468,13 +2547,17 @@
 /*leftmost button */
 .linked .entry:first-child,
 .linked .button:first-child,
+.linked .button:checked:first-child,
 .linked .button:active:first-child,
+.linked .button:checked:hover:first-child,
 .linked .button:active:hover:first-child,
 .linked .button:insensitive:first-child,
 .inline-toolbar.toolbar .button:first-child,
+.inline-toolbar.toolbar .button:checked:first-child,
 .inline-toolbar.toolbar .button:active:first-child,
 .inline-toolbar.toolbar .button:insensitive:first-child,
 .inline-toolbar.toolbar GtkToolButton:first-child .button,
+.inline-toolbar.toolbar GtkToolButton:first-child .button:checked,
 .inline-toolbar.toolbar GtkToolButton:first-child .button:active,
 .inline-toolbar.toolbar GtkToolButton:first-child .button:insensitive {
     border-width: 1px;
@@ -2487,13 +2570,17 @@
 /* rightmost button */
 .linked .entry:last-child,
 .linked .button:last-child,
+.linked .button:checked:last-child,
 .linked .button:active:last-child,
+.linked .button:checked:hover:last-child,
 .linked .button:active:hover:last-child,
 .linked .button:insensitive:last-child,
 .inline-toolbar.toolbar .button:last-child,
+.inline-toolbar.toolbar .button:checked:last-child,
 .inline-toolbar.toolbar .button:active:last-child,
 .inline-toolbar.toolbar .button:insensitive:last-child,
 .inline-toolbar.toolbar GtkToolButton:last-child .button,
+.inline-toolbar.toolbar GtkToolButton:last-child .button:checked,
 .inline-toolbar.toolbar GtkToolButton:last-child .button:active,
 .inline-toolbar.toolbar GtkToolButton:last-child .button:insensitive {
     border-width: 1px;
@@ -2506,13 +2593,17 @@
 /* linked single button */
 .linked .entry:only-child,
 .linked .button:only-child,
+.linked .button:checked:only-child,
 .linked .button:active:only-child,
+.linked .button:checked:hover:only-child,
 .linked .button:active:hover:only-child,
 .linked .button:insensitive:only-child,
 .inline-toolbar.toolbar .button:only-child,
+.inline-toolbar.toolbar .button:checked:only-child,
 .inline-toolbar.toolbar .button:active:only-child,
 .inline-toolbar.toolbar .button:insensitive:only-child,
 .inline-toolbar.toolbar GtkToolButton:only-child .button,
+.inline-toolbar.toolbar GtkToolButton:only-child .button:checked,
 .inline-toolbar.toolbar GtkToolButton:only-child .button:active,
 .inline-toolbar.toolbar GtkToolButton:only-child .button:insensitive {
     border-width: 1px;
@@ -2528,8 +2619,11 @@
                 inset -1px 1px alpha(@light_shadow, 0.3);
 }
 
+.linked.vertical .button:checked,
 .linked.vertical .button:active,
+.inline-toolbar.toolbar.vertical .button:checked,
 .inline-toolbar.toolbar.vertical .button:active,
+.inline-toolbar.toolbar.vertical GtkToolButton > .button:checked,
 .inline-toolbar.toolbar.vertical GtkToolButton > .button:active {
     box-shadow: inset 0 -1px shade(@theme_bg_color, 0.8),
                 inset 1px 1px alpha(@dark_shadow, 0.1),
@@ -2543,11 +2637,17 @@
 }
 
 /* remove box shadow from last-child and only-child */
+.linked.vertical .button:checked *:insensitive:last-child,
 .linked.vertical .button:active *:insensitive:last-child,
+.linked.vertical .button:checked *:insensitive:only-child,
 .linked.vertical .button:active *:insensitive:only-child,
+.inline-toolbar.toolbar.vertical .button:checked *:insensitive:last-child,
 .inline-toolbar.toolbar.vertical .button:active *:insensitive:last-child,
+.inline-toolbar.toolbar.vertical .button:checked *:insensitive:only-child,
 .inline-toolbar.toolbar.vertical .button:active *:insensitive:only-child,
+.inline-toolbar.toolbar.vertical GtkToolButton:last-child > .button:checked *:insensitive,
 .inline-toolbar.toolbar.vertical GtkToolButton:last-child > .button:active *:insensitive,
+.inline-toolbar.toolbar.vertical GtkToolButton:only-child > .button:checked *:insensitive,
 .inline-toolbar.toolbar.vertical GtkToolButton:only-child > .button:active *:insensitive {
     box-shadow: none;
 }
@@ -2569,11 +2669,17 @@
                 inset -1px 1px alpha(@light_shadow, 0.3);
 }
 
+.linked.vertical .button:checked:last-child,
 .linked.vertical .button:active:last-child,
+.linked.vertical .button:checked:only-child,
 .linked.vertical .button:active:only-child,
+.inline-toolbar.toolbar.vertical .button:checked:last-child,
 .inline-toolbar.toolbar.vertical .button:active:last-child,
+.inline-toolbar.toolbar.vertical .button:checked:only-child,
 .inline-toolbar.toolbar.vertical .button:active:only-child,
+.inline-toolbar.toolbar.vertical GtkToolButton:last-child > .button:checked,
 .inline-toolbar.toolbar.vertical GtkToolButton:last-child > .button:active,
+.inline-toolbar.toolbar.vertical GtkToolButton:only-child > .button:checked,
 .inline-toolbar.toolbar.vertical GtkToolButton:only-child > .button:active {
     box-shadow: inset 1px 1px alpha(@dark_shadow, 0.1),
                 inset -1px -1px alpha(@dark_shadow, 0.1);
@@ -2582,7 +2688,9 @@
 /* middle button (vertical) */
 .linked.vertical .entry,
 .linked.vertical .button,
+.linked.vertical .button:checked,
 .linked.vertical .button:active,
+.linked.vertical .button:checked:hover,
 .linked.vertical .button:active:hover,
 .linked.vertical .button:insensitive {
     border-width: 1px;
@@ -2594,7 +2702,9 @@
 /* top button (vertical) */
 .linked.vertical .entry:first-child,
 .linked.vertical .button:first-child,
+.linked.vertical .button:checked:first-child,
 .linked.vertical .button:active:first-child,
+.linked.vertical .button:checked:hover:first-child,
 .linked.vertical .button:active:hover:first-child,
 .linked.vertical .button:insensitive:first-child {
     border-width: 1px;
@@ -2607,7 +2717,9 @@
 /* bottom button (vertical) */
 .linked.vertical .entry:last-child,
 .linked.vertical .button:last-child,
+.linked.vertical .button:checked:last-child,
 .linked.vertical .button:active:last-child,
+.linked.vertical .button:checked:hover:last-child,
 .linked.vertical .button:active:hover:last-child,
 .linked.vertical .button:insensitive:last-child {
     border-width: 1px;
@@ -2620,7 +2732,9 @@
 /* linked single button (vertical) */
 .linked.vertical .entry:only-child,
 .linked.vertical .button:only-child,
+.linked.vertical .button:checked:only-child,
 .linked.vertical .button:active:only-child,
+.linked.vertical .button:checked:hover:only-child,
 .linked.vertical .button:active:hover:only-child,
 .linked.vertical .button:insensitive:only-child {
     border-width: 1px;
@@ -2642,12 +2756,17 @@
 }
 
 .primary-toolbar .button.raised.linked:active,
+.primary-toolbar .raised.linked .button:checked,
 .primary-toolbar .raised.linked .button:active,
 .toolbar .button.raised.linked:active,
+.toolbar .raised.linked .button:checked,
 .toolbar .raised.linked .button:active,
+.toolbar .linked .button:checked,
 .toolbar .linked .button:active,
 .header-bar .button.raised.linked:active,
+.header-bar .raised.linked .button:checked,
 .header-bar .raised.linked .button:active,
+.header-bar .linked .button:checked,
 .header-bar .linked .button:active {
     box-shadow: inset -1px 0 shade(@toolbar_bg_color, 0.8),
                 inset 1px 1px alpha(@dark_shadow, 0.1),
@@ -2666,21 +2785,37 @@
 }
 
 /* remove box shadow from last-child and only-child */
+.primary-toolbar .button:checked *:insensitive.raised.linked:last-child,
 .primary-toolbar .button:active *:insensitive.raised.linked:last-child,
+.primary-toolbar .button:checked *:insensitive.raised.linked:only-child,
 .primary-toolbar .button:active *:insensitive.raised.linked:only-child,
+.primary-toolbar .raised.linked .button:checked *:insensitive:last-child,
 .primary-toolbar .raised.linked .button:active *:insensitive:last-child,
+.primary-toolbar .raised.linked .button:checked *:insensitive:only-child
 .primary-toolbar .raised.linked .button:active *:insensitive:only-child
+.toolbar .button:checked *:insensitive.raised.linked:last-child,
 .toolbar .button:active *:insensitive.raised.linked:last-child,
+.toolbar .button:checked *:insensitive.raised.linked:only-child,
 .toolbar .button:active *:insensitive.raised.linked:only-child,
+.toolbar .raised.linked .button:checked *:insensitive:last-child,
 .toolbar .raised.linked .button:active *:insensitive:last-child,
+.toolbar .raised.linked .button:checked *:insensitive:only-child,
 .toolbar .raised.linked .button:active *:insensitive:only-child,
+.toolbar .linked .button:checked *:insensitive:last-child,
 .toolbar .linked .button:active *:insensitive:last-child,
+.toolbar .linked .button:checked *:insensitive:only-child,
 .toolbar .linked .button:active *:insensitive:only-child,
+.header-bar .button:checked *:insensitive.raised.linked:last-child,
 .header-bar .button:active *:insensitive.raised.linked:last-child,
+.header-bar .button:checked *:insensitive.raised.linked:only-child,
 .header-bar .button:active *:insensitive.raised.linked:only-child,
+.header-bar .raised.linked .button:checked *:insensitive:last-child,
 .header-bar .raised.linked .button:active *:insensitive:last-child,
+.header-bar .raised.linked .button:checked *:insensitive:only-child,
 .header-bar .raised.linked .button:active *:insensitive:only-child,
+.header-bar .linked .button:checked *:insensitive:last-child,
 .header-bar .linked .button:active *:insensitive:last-child,
+.header-bar .linked .button:checked *:insensitive:only-child,
 .header-bar .linked .button:active *:insensitive:only-child {
     box-shadow: none;
 }
@@ -2722,21 +2857,37 @@
                 inset -1px 1px alpha(@light_shadow, 0.3);
 }
 
+.primary-toolbar .button:checked.raised.linked:last-child,
 .primary-toolbar .button:active.raised.linked:last-child,
+.primary-toolbar .button:checked.raised.linked:only-child,
 .primary-toolbar .button:active.raised.linked:only-child,
+.primary-toolbar .raised.linked .button:checked:last-child,
 .primary-toolbar .raised.linked .button:active:last-child,
+.primary-toolbar .raised.linked .button:checked:only-child,
 .primary-toolbar .raised.linked .button:active:only-child,
+.toolbar .button:checked.raised.linked:last-child,
 .toolbar .button:active.raised.linked:last-child,
+.toolbar .button:checked.raised.linked:only-child,
 .toolbar .button:active.raised.linked:only-child,
+.toolbar .raised.linked .button:checked:last-child,
 .toolbar .raised.linked .button:active:last-child,
+.toolbar .raised.linked .button:checked:only-child,
 .toolbar .raised.linked .button:active:only-child,
+.toolbar .linked .button:checked:last-child,
 .toolbar .linked .button:active:last-child,
+.toolbar .linked .button:checked:only-child,
 .toolbar .linked .button:active:only-child,
+.header-bar .button:checked.raised.linked:last-child,
 .header-bar .button:active.raised.linked:last-child,
+.header-bar .button:checked.raised.linked:only-child,
 .header-bar .button:active.raised.linked:only-child,
+.header-bar .raised.linked .button:checked:last-child,
 .header-bar .raised.linked .button:active:last-child,
+.header-bar .raised.linked .button:checked:only-child,
 .header-bar .raised.linked .button:active:only-child,
+.header-bar .linked .button:checked:last-child,
 .header-bar .linked .button:active:last-child,
+.header-bar .linked .button:checked:only-child,
 .header-bar .linked .button:active:only-child {
     box-shadow: inset 1px 1px alpha(@dark_shadow, 0.1),
                 inset -1px -1px alpha(@dark_shadow, 0.1);
@@ -2747,26 +2898,31 @@
 .primary-toolbar .button.raised.linked:active,
 .primary-toolbar .button.raised.linked:insensitive,
 .primary-toolbar .raised.linked .button,
+.primary-toolbar .raised.linked .button:checked,
 .primary-toolbar .raised.linked .button:active,
 .primary-toolbar .raised.linked .button:insensitive,
 .toolbar .button.raised.linked,
 .toolbar .button.raised.linked:active,
 .toolbar .button.raised.linked:insensitive,
 .toolbar .raised.linked .button,
+.toolbar .raised.linked .button:checked,
 .toolbar .raised.linked .button:active,
 .toolbar .raised.linked .button:insensitive,
 .toolbar .linked .button,
+.toolbar .linked .button:checked,
 .toolbar .linked .button:active,
 .toolbar .linked .button:insensitive,
 .header-bar .button.raised.linked,
 .header-bar .button.raised.linked:active,
 .header-bar .button.raised.linked:insensitive,
 .header-bar .raised.linked .button,
+.header-bar .raised.linked .button:checked,
 .header-bar .raised.linked .button:active,
 .header-bar .raised.linked .button:insensitive,
 .header-bar .linked .button,
+.header-bar .linked .button:checked,
 .header-bar .linked .button:active,
-.header-bar .linked .button:insensitive, {
+.header-bar .linked .button:insensitive {
     border-width: 1px;
     border-radius: 0;
     border-right-width: 0;
@@ -2778,24 +2934,29 @@
 .primary-toolbar .button.raised.linked:active:first-child,
 .primary-toolbar .button.raised.linked:insensitive:first-child,
 .primary-toolbar .raised.linked .button:first-child,
+.primary-toolbar .raised.linked .button:checked:first-child,
 .primary-toolbar .raised.linked .button:active:first-child,
 .primary-toolbar .raised.linked .button:insensitive:first-child,
 .toolbar .button.raised.linked:first-child,
 .toolbar .button.raised.linked:active:first-child,
 .toolbar .button.raised.linked:insensitive:first-child,
 .toolbar .raised.linked .button:first-child,
+.toolbar .raised.linked .button:checked:first-child,
 .toolbar .raised.linked .button:active:first-child,
 .toolbar .raised.linked .button:insensitive:first-child,
 .toolbar .linked .button:first-child,
+.toolbar .linked .button:checked:first-child,
 .toolbar .linked .button:active:first-child,
 .toolbar .linked .button:insensitive:first-child,
 .header-bar .button.raised.linked:first-child,
 .header-bar .button.raised.linked:active:first-child,
 .header-bar .button.raised.linked:insensitive:first-child,
 .header-bar .raised.linked .button:first-child,
+.header-bar .raised.linked .button:checked:first-child,
 .header-bar .raised.linked .button:active:first-child,
 .header-bar .raised.linked .button:insensitive:first-child,
 .header-bar .linked .button:first-child,
+.header-bar .linked .button:checked:first-child,
 .header-bar .linked .button:active:first-child,
 .header-bar .linked .button:insensitive:first-child {
     border-width: 1px;
@@ -2810,24 +2971,29 @@
 .primary-toolbar .button.raised.linked:active:last-child,
 .primary-toolbar .button.raised.linked:insensitive:last-child,
 .primary-toolbar .raised.linked .button:last-child,
+.primary-toolbar .raised.linked .button:checked:last-child,
 .primary-toolbar .raised.linked .button:active:last-child,
 .primary-toolbar .raised.linked .button:insensitive:last-child,
 .toolbar .button.raised.linked:last-child,
 .toolbar .button.raised.linked:active:last-child,
 .toolbar .button.raised.linked:insensitive:last-child,
 .toolbar .raised.linked .button:last-child,
+.toolbar .raised.linked .button:checked:last-child,
 .toolbar .raised.linked .button:active:last-child,
 .toolbar .raised.linked .button:insensitive:last-child,
 .toolbar .linked .button:last-child,
+.toolbar .linked .button:checked:last-child,
 .toolbar .linked .button:active:last-child,
 .toolbar .linked .button:insensitive:last-child,
 .header-bar .button.raised.linked:last-child,
 .header-bar .button.raised.linked:active:last-child,
 .header-bar .button.raised.linked:insensitive:last-child,
 .header-bar .raised.linked .button:last-child,
+.header-bar .raised.linked .button:checked:last-child,
 .header-bar .raised.linked .button:active:last-child,
 .header-bar .raised.linked .button:insensitive:last-child,
 .header-bar .linked .button:last-child,
+.header-bar .linked .button:checked:last-child,
 .header-bar .linked .button:active:last-child,
 .header-bar .linked .button:insensitive:last-child {
     border-width: 1px;
@@ -2842,24 +3008,29 @@
 .primary-toolbar .button.raised.linked:active:only-child,
 .primary-toolbar .button.raised.linked:insensitive:only-child,
 .primary-toolbar .raised.linked .button:only-child,
+.primary-toolbar .raised.linked .button:checked:only-child,
 .primary-toolbar .raised.linked .button:active:only-child,
 .primary-toolbar .raised.linked .button:insensitive:only-child,
 .toolbar .button.raised.linked:only-child,
 .toolbar .button.raised.linked:active:only-child,
 .toolbar .button.raised.linked:insensitive:only-child,
 .toolbar .raised.linked .button:only-child,
+.toolbar .raised.linked .button:checked:only-child,
 .toolbar .raised.linked .button:active:only-child,
 .toolbar .raised.linked .button:insensitive:only-child,
 .toolbar .linked .button:only-child,
+.toolbar .linked .button:checked:only-child,
 .toolbar .linked .button:active:only-child,
 .toolbar .linked .button:insensitive:only-child,
 .header-bar .button.raised.linked:only-child,
 .header-bar .button.raised.linked:active:only-child,
 .header-bar .button.raised.linked:insensitive:only-child,
 .header-bar .raised.linked .button:only-child,
+.header-bar .raised.linked .button:checked:only-child,
 .header-bar .raised.linked .button:active:only-child,
 .header-bar .raised.linked .button:insensitive:only-child,
 .header-bar .linked .button:only-child,
+.header-bar .linked .button:checked:only-child,
 .header-bar .linked .button:active:only-child,
 .header-bar .linked .button:insensitive:only-child {
     border-width: 1px;
@@ -2991,16 +3162,22 @@
     background-image: none;
 }
 
+.osd.button:checked,
 .osd.button:active,
+.osd .button:checked,
 .osd .button:active,
+.osd GtkMenuButton.button:checked,
 .osd GtkMenuButton.button:active {
     border-color: shade(@osd_bg, 0.8);
     background-color: shade(@osd_bg, 0.95);
     background-image: none;
 }
 
+.osd.button:checked:hover,
 .osd.button:active:hover,
+.osd .button:checked:hover,
 .osd .button:active:hover,
+.osd GtkMenuButton.button:checked:hover,
 .osd GtkMenuButton.button:active:hover {
     border-color: shade(@osd_bg, 0.7);
 }
@@ -3012,7 +3189,9 @@
     background-image: none;
 }
 
+.osd.button:checked *:insensitive,
 .osd.button:active *:insensitive,
+.osd .button:checked *:insensitive,
 .osd .button:active *:insensitive {
     background-color: shade(@osd_bg, 0.80);
     background-image: none;
@@ -3048,19 +3227,23 @@
     background-image: none;
 }
 
+.osd.toolbar .button:checked,
 .osd.toolbar .button:active {
     border-color: shade(@osd_bg, 0.8);
     background-color: shade(@osd_bg, 0.95);
     background-image: none;
 }
 
+.osd.toolbar .button:checked:hover,
 .osd.toolbar .button:active:hover {
     border-color: shade(@osd_bg, 0.7);
 }
 
 .osd.toolbar .button:focus,
 .osd.toolbar .button:hover:focus,
+.osd.toolbar .button:checked:focus,
 .osd.toolbar .button:active:focus,
+.osd.toolbar .button:checked:hover:focus,
 .osd.toolbar .button:active:hover:focus {
     border-color: shade(@osd_bg, 0.7);
 }
@@ -3071,6 +3254,7 @@
     background-image: none;
 }
 
+.osd.toolbar .button:checked *:insensitive,
 .osd.toolbar .button:active *:insensitive {
     border-color: shade(@osd_bg, 0.75);
     background-color: shade(@osd_bg, 0.80);
@@ -3255,6 +3439,7 @@
                                      to (shade(@error_color, 1.09)));
 }
 
+.destructive-action.button:checked,
 .destructive-action.button:active {
     border-color: shade(@error_color, 0.7);
     background-image: -gtk-gradient(linear, left top, left bottom,
@@ -3323,8 +3508,11 @@
                                      to (shade(@theme_selected_bg_color, 1.09)));
 }
 
+.selection-mode.header-bar .button:checked,
 .selection-mode.header-bar .button:active,
+.selection-mode.toolbar .button:checked,
 .selection-mode.toolbar .button:active,
+.selection-mode.toolbar GtkToolButton .button:checked,
 .selection-mode.toolbar GtkToolButton .button:active {
     border-color: shade(@theme_selected_bg_color, 0.7);
     background-image: -gtk-gradient(linear, left top, left bottom,
@@ -3373,7 +3561,9 @@
                                      to (shade(@theme_selected_bg_color, 1.09)));
 }
 
+.selection-mode.header-bar .suggested-action.button:checked,
 .selection-mode.header-bar .suggested-action.button:active,
+.selection-mode.toolbar .suggested-action.button:checked,
 .selection-mode.toolbar .suggested-action.button:active,
 .selection-mode.toolbar GtkToolButton.suggested-action:active {
     border-color: shade(@theme_selected_bg_color, 0.7);
@@ -3417,7 +3607,9 @@
     color: shade(@theme_selected_bg_color, 0.5);
 }
 
+.selection-mode.header-bar .selection-menu.button:checked,
 .selection-mode.header-bar .selection-menu.button:active,
+.selection-mode.toolbar .selection-menu.button:checked,
 .selection-mode.toolbar .selection-menu.button:active {
     color: shade(@theme_selected_bg_color, 0.6);
     box-shadow: none;
