[gtk] Adwaita: radios & checkboxes styling updates



commit 427b5d187c8ca5f099b5d4f84664ccc6a560a919
Author: Jakub Steiner <jimmac gmail com>
Date:   Mon Nov 4 19:41:58 2019 +0100

    Adwaita: radios & checkboxes styling updates
    
    - port from gtk3

 gtk/theme/Adwaita/_common.scss           | 47 +++++++++++++----
 gtk/theme/Adwaita/_drawing.scss          | 59 +++++++++++++++++++++
 gtk/theme/Adwaita/gtk-contained-dark.css | 91 ++++++++++++++++++++------------
 gtk/theme/Adwaita/gtk-contained.css      | 49 ++++++++++++-----
 4 files changed, 188 insertions(+), 58 deletions(-)
---
diff --git a/gtk/theme/Adwaita/_common.scss b/gtk/theme/Adwaita/_common.scss
index c7eb975045..87962a833b 100644
--- a/gtk/theme/Adwaita/_common.scss
+++ b/gtk/theme/Adwaita/_common.scss
@@ -2855,24 +2855,49 @@ radio {
   border: 1px solid;
   -gtk-icon-source: none;
 
-  @include button(normal-alt, $edge: $shadow_color);
-  &:hover { @include button(hover-alt, $c:$checkradio_bg_color, $tc:$checkradio_fg_color, $edge: 
$shadow_color); }
-  &:hover:not(:checked) { @include button(hover-alt, $edge: $shadow_color); }
-  &:active { @include button(active, $c:$checkradio_bg_color, $tc:$checkradio_fg_color); }
-  &:checked { @include button(normal-alt, $c:$checkradio_bg_color, $tc:$checkradio_fg_color, $edge: 
$shadow_color); }
-  &:disabled { @include button(insensitive); }
-  &:backdrop {
-    @include button(backdrop);
-
-    transition: $backdrop_transition;
+  & {
+    // for unchecked
+    border: 1px solid;
+    $_c: if($variant=='light', white, $bg_color);
+
+    @each $state, $t in ("", "normal"),
+                        (":hover", "hover"),
+                        (":hover:backdrop", "backdrop-hover"),
+                        (":active", "active"),
+                        (":disabled", "insensitive"),
+                        (":backdrop", "backdrop"),
+                        (":backdrop:disabled", 'backdrop-insensitive') {
+      &#{$state} {
+        @include check($t, $_c);
+      }
+    }
+  }
 
-    &:disabled { @include button(backdrop-insensitive); }
+  & {
+    // for checked
+    @each $t in (':checked:not(:indeterminate)'), (':indeterminate') {
+      &#{$t} {
+        @each $state, $t in ("", "normal"),
+                            (":hover", "hover"),
+                            (":hover:backdrop", "backdrop-hover"),
+                            (":disabled", "insensitive"),
+                            (":backdrop", "backdrop"),
+                            (":backdrop:disabled", 'backdrop-insensitive') {
+          &#{$state} {
+            @include check($t, $checkradio_bg_color, $checkradio_fg_color, $checked: true);
+          }
+        }
+      }
+    }
   }
 
+  &:backdrop { transition: $backdrop_transition; }
+
   @if $variant == 'light' {
     // the borders of the light variant versions of checks and radios are too similar in luminosity to the 
selected background
     // color, hence we need special casing.
     row:selected & { border-color: $selected_borders_color; }
+
   }
 
   .osd & {
diff --git a/gtk/theme/Adwaita/_drawing.scss b/gtk/theme/Adwaita/_drawing.scss
index 77481848cd..e328b58c1e 100644
--- a/gtk/theme/Adwaita/_drawing.scss
+++ b/gtk/theme/Adwaita/_drawing.scss
@@ -568,3 +568,62 @@
   border: none;                  //
   box-shadow: none;              //
 }
+
+/***************************
+ * Check and Radio buttons *
+ ***************************/
+
+ @mixin check($t, $c:white, $tc:$checkradio_fg_color, $checked: false) {
+  // Check/Radio drawing function
+  //
+  // $t:        check/radio type,
+  // $c:        base button color for colored* types
+  // $tc:       optional text color for colored* types
+  // $checked:  bool to chose between checked/unchecked
+  //
+  // possible $t values:
+  // normal, hover, active, insensitive, backdrop, backdrop-insensitive
+
+  $_border_color: if($checked, $c, $alt_borders_color);
+  $_dim_border_color: transparentize($_border_color, if($variant == 'light', 0.3, 0.7));
+
+  @if $t==normal  {
+    background-clip: if($checked, border-box, padding-box);
+    background-image: linear-gradient(to bottom, lighten($c, 5%) 20%, $c 90%);
+    border-color: $_border_color;
+    box-shadow: 0 1px transparentize(black, 0.95);
+    color: $tc;
+  }
+
+  @if $t==hover {
+    -gtk-icon-effect: highlight;
+    background-image: if($c == white, darken($c, 5%), linear-gradient(to bottom, lighten($c, 9%) 10%, 
lighten($c, 4%) 90%));
+  }
+
+  @if $t==active {
+    box-shadow: inset 0 1px 1px 0px if($variant == 'light', rgba(0, 0, 0, 0.2), black);
+  }
+
+  @if $t==insensitive {
+    box-shadow: none;
+    color: transparentize($tc, 0.3);
+  }
+
+  @if $t==backdrop {
+    -gtk-icon-effect: dim;
+    background-image: if($checked, lighten($checkradio_bg_color, 2%), $backdrop_bg_color);
+    box-shadow: none;
+    color: if($checked, transparentize($tc, 0.3), $tc);
+  }
+
+  @if $t==backdrop-hover {
+    -gtk-icon-effect: highlight;
+    background-image: if($c != white, lighten($c, 9%), darken($c, 7%));
+  }
+
+  @if $t==backdrop-insensitive {
+    -gtk-icon-effect: dim;
+    box-shadow: none;
+    color: transparentize($tc, 0.6);
+  }
+}
diff --git a/gtk/theme/Adwaita/gtk-contained-dark.css b/gtk/theme/Adwaita/gtk-contained-dark.css
index a6654a0257..aef3b87dd5 100644
--- a/gtk/theme/Adwaita/gtk-contained-dark.css
+++ b/gtk/theme/Adwaita/gtk-contained-dark.css
@@ -1,3 +1,4 @@
+/*************************** Check and Radio buttons * */
 * { padding: 0; -gtk-secondary-caret-color: #15539e; }
 
 button:focus(visible), checkbutton:focus(visible), radiobutton:focus(visible), switch:focus(visible), 
scale:focus(visible), label:focus(visible), row:focus(visible), flowboxchild:focus(visible) { outline-color: 
alpha(currentColor,0.3); outline-style: dashed; outline-offset: -3px; outline-width: 1px; 
-gtk-outline-radius: 3px; }
@@ -82,7 +83,7 @@ assistant .sidebar label { padding: 6px 12px; }
 
 assistant .sidebar label.highlight { background-color: #5a5a59; }
 
-.osd popover.background > arrow, .osd popover.background > contents, popover.background.touch-selection > 
arrow, popover.background.touch-selection > contents, popover.background.magnifier > arrow, 
popover.background.magnifier > contents, .app-notification, .app-notification.frame, .osd .scale-popup, .osd 
{ color: #eeeeec; border: none; background-color: rgba(37, 37, 38, 0.7); background-clip: padding-box; 
text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; }
+.osd popover.background > arrow, .osd popover.background > contents, popover.background.touch-selection > 
arrow, popover.background.touch-selection > contents, popover.background.magnifier > arrow, 
popover.background.magnifier > contents, .app-notification, .app-notification.frame, .osd .scale-popup, .osd 
{ color: #eeeeec; border: none; background-color: rgba(38, 38, 38, 0.7); background-clip: padding-box; 
text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; }
 
 .osd popover.background > arrow:backdrop, .osd popover.background > contents:backdrop, 
popover.background.touch-selection > arrow:backdrop, popover.background.touch-selection > contents:backdrop, 
popover.background.magnifier > arrow:backdrop, popover.background.magnifier > contents:backdrop, 
.app-notification:backdrop, .osd .scale-popup:backdrop, .osd:backdrop { text-shadow: none; -gtk-icon-shadow: 
none; }
 
@@ -267,7 +268,7 @@ row:selected button.sidebar-button:not(:active):not(:checked):not(:hover):not(di
 
 row:selected button.sidebar-button:not(:active):not(:checked):not(:hover):not(disabled):backdrop, 
row:selected button.flat:not(:active):not(:checked):not(:hover):not(disabled):backdrop { color: #919190; }
 
-button.osd { min-width: 26px; min-height: 32px; color: #eeeeec; border-radius: 5px; color: #eeeeec; 
border-color: rgba(0, 0, 0, 0.7); background-color: transparent; background-image: image(rgba(37, 37, 38, 
0.7)); background-clip: padding-box; box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); text-shadow: none; 
-gtk-icon-shadow: none; outline-color: rgba(238, 238, 236, 0.3); border: none; box-shadow: none; }
+button.osd { min-width: 26px; min-height: 32px; color: #eeeeec; border-radius: 5px; color: #eeeeec; 
border-color: rgba(0, 0, 0, 0.7); background-color: transparent; background-image: image(rgba(38, 38, 38, 
0.7)); background-clip: padding-box; box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); text-shadow: none; 
-gtk-icon-shadow: none; outline-color: rgba(238, 238, 236, 0.3); border: none; box-shadow: none; }
 
 button.osd.image-button { min-width: 30px; }
 
@@ -279,9 +280,9 @@ button.osd:active, button.osd:checked { color: white; border-color: rgba(0, 0, 0
 
 button.osd:disabled:backdrop, button.osd:disabled { color: #8a8a89; border-color: rgba(0, 0, 0, 0.7); 
background-color: transparent; background-image: image(rgba(58, 58, 57, 0.5)); background-clip: padding-box; 
box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; border: none; }
 
-button.osd:backdrop { color: #eeeeec; border-color: rgba(0, 0, 0, 0.7); background-color: transparent; 
background-image: image(rgba(37, 37, 38, 0.7)); background-clip: padding-box; box-shadow: none; text-shadow: 
none; -gtk-icon-shadow: none; border: none; }
+button.osd:backdrop { color: #eeeeec; border-color: rgba(0, 0, 0, 0.7); background-color: transparent; 
background-image: image(rgba(38, 38, 38, 0.7)); background-clip: padding-box; box-shadow: none; text-shadow: 
none; -gtk-icon-shadow: none; border: none; }
 
-popover.background.touch-selection button, popover.background.magnifier button, .app-notification button, 
.app-notification.frame button, .osd button { color: #eeeeec; border-color: rgba(0, 0, 0, 0.7); 
background-color: transparent; background-image: image(rgba(37, 37, 38, 0.7)); background-clip: padding-box; 
box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); text-shadow: none; -gtk-icon-shadow: none; outline-color: 
rgba(238, 238, 236, 0.3); }
+popover.background.touch-selection button, popover.background.magnifier button, .app-notification button, 
.app-notification.frame button, .osd button { color: #eeeeec; border-color: rgba(0, 0, 0, 0.7); 
background-color: transparent; background-image: image(rgba(38, 38, 38, 0.7)); background-clip: padding-box; 
box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); text-shadow: none; -gtk-icon-shadow: none; outline-color: 
rgba(238, 238, 236, 0.3); }
 
 popover.background.touch-selection button:hover, popover.background.magnifier button:hover, 
.app-notification button:hover, .osd button:hover { color: white; border-color: rgba(0, 0, 0, 0.7); 
background-color: transparent; background-image: image(rgba(68, 68, 68, 0.7)); background-clip: padding-box; 
box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); text-shadow: none; -gtk-icon-shadow: none; outline-color: 
rgba(238, 238, 236, 0.3); }
 
@@ -289,7 +290,7 @@ popover.background.touch-selection button:active:backdrop, popover.background.ma
 
 popover.background.touch-selection button:disabled:backdrop, popover.background.magnifier 
button:disabled:backdrop, .app-notification button:disabled:backdrop, popover.background.touch-selection 
button:disabled, popover.background.magnifier button:disabled, .app-notification button:disabled, .osd 
button:disabled:backdrop, .osd button:disabled { color: #8a8a89; border-color: rgba(0, 0, 0, 0.7); 
background-color: transparent; background-image: image(rgba(58, 58, 57, 0.5)); background-clip: padding-box; 
box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; }
 
-popover.background.touch-selection button:backdrop, popover.background.magnifier button:backdrop, 
.app-notification button:backdrop, .osd button:backdrop { color: #eeeeec; border-color: rgba(0, 0, 0, 0.7); 
background-color: transparent; background-image: image(rgba(37, 37, 38, 0.7)); background-clip: padding-box; 
box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; }
+popover.background.touch-selection button:backdrop, popover.background.magnifier button:backdrop, 
.app-notification button:backdrop, .osd button:backdrop { color: #eeeeec; border-color: rgba(0, 0, 0, 0.7); 
background-color: transparent; background-image: image(rgba(38, 38, 38, 0.7)); background-clip: padding-box; 
box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; }
 
 popover.background.touch-selection button.flat, popover.background.magnifier button.flat, .app-notification 
button.flat, .osd button.flat { border-color: transparent; background-color: transparent; background-image: 
none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; box-shadow: 
none; text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; }
 
@@ -499,7 +500,7 @@ button:link > label:active, button:visited > label:active, *:link:active, button
 
 *:selected button:link > label:active, *:selected button:visited > label:active, *:selected *:link:active, 
*:selected button:active:link, *:selected button:active:visited { color: #d0ddec; }
 
-button:link > label:disabled, button:visited > label:disabled, button:link > label:disabled:backdrop, 
button:visited > label:disabled:backdrop, *:link:disabled, button:disabled:link, button:disabled:visited, 
*:link:disabled:backdrop, button:disabled:backdrop:link, button:disabled:backdrop:visited { color: rgba(140, 
140, 141, 0.8); }
+button:link > label:disabled, button:visited > label:disabled, button:link > label:disabled:backdrop, 
button:visited > label:disabled:backdrop, *:link:disabled, button:disabled:link, button:disabled:visited, 
*:link:disabled:backdrop, button:disabled:backdrop:link, button:disabled:backdrop:visited { color: rgba(141, 
141, 141, 0.8); }
 
 button:link > label:backdrop:backdrop:hover, button:visited > label:backdrop:backdrop:hover, button:link > 
label:backdrop:backdrop:hover:selected, button:visited > label:backdrop:backdrop:hover:selected, button:link 
label:backdrop, button:visited > label:backdrop, *:link:backdrop:backdrop:hover, 
button:backdrop:backdrop:hover:link, button:backdrop:backdrop:hover:visited, 
*:link:backdrop:backdrop:hover:selected, button:backdrop:backdrop:hover:selected:link, 
button:backdrop:backdrop:hover:selected:visited, .selection-mode .titlebar:not(headerbar) 
.subtitle:backdrop:backdrop:hover:link, .selection-mode.titlebar:not(headerbar) 
.subtitle:backdrop:backdrop:hover:link, .selection-mode headerbar .subtitle:backdrop:backdrop:hover:link, 
headerbar.selection-mode .subtitle:backdrop:backdrop:hover:link, *:link:backdrop, button:backdrop:link, 
button:backdrop:visited { color: #15539e; }
 
@@ -566,7 +567,7 @@ spinbutton.vertical button.up { border-bottom-style: none; border-bottom-left-ra
 
 spinbutton.vertical button.down { border-top-style: none; border-top-left-radius: 0; 
border-top-right-radius: 0; }
 
-.osd spinbutton.vertical button:first-child { color: #eeeeec; border-color: rgba(0, 0, 0, 0.7); 
background-color: transparent; background-image: image(rgba(37, 37, 38, 0.7)); background-clip: padding-box; 
box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); text-shadow: none; -gtk-icon-shadow: none; outline-color: 
rgba(238, 238, 236, 0.3); }
+.osd spinbutton.vertical button:first-child { color: #eeeeec; border-color: rgba(0, 0, 0, 0.7); 
background-color: transparent; background-image: image(rgba(38, 38, 38, 0.7)); background-clip: padding-box; 
box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); text-shadow: none; -gtk-icon-shadow: none; outline-color: 
rgba(238, 238, 236, 0.3); }
 
 .osd spinbutton.vertical button:first-child:hover { color: white; border-color: rgba(0, 0, 0, 0.7); 
background-color: transparent; background-image: image(rgba(68, 68, 68, 0.7)); background-clip: padding-box; 
box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); text-shadow: none; -gtk-icon-shadow: none; outline-color: 
rgba(238, 238, 236, 0.3); }
 
@@ -574,7 +575,7 @@ spinbutton.vertical button.down { border-top-style: none; border-top-left-radius
 
 .osd spinbutton.vertical button:first-child:disabled { color: #8a8a89; border-color: rgba(0, 0, 0, 0.7); 
background-color: transparent; background-image: image(rgba(58, 58, 57, 0.5)); background-clip: padding-box; 
box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; }
 
-.osd spinbutton.vertical button:first-child:backdrop { color: #eeeeec; border-color: rgba(0, 0, 0, 0.7); 
background-color: transparent; background-image: image(rgba(37, 37, 38, 0.7)); background-clip: padding-box; 
box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; }
+.osd spinbutton.vertical button:first-child:backdrop { color: #eeeeec; border-color: rgba(0, 0, 0, 0.7); 
background-color: transparent; background-image: image(rgba(38, 38, 38, 0.7)); background-clip: padding-box; 
box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; }
 
 treeview spinbutton:not(.vertical) { min-height: 0; border-style: none; border-radius: 0; }
 
@@ -592,7 +593,7 @@ toolbar { padding: 4px 3px 3px 4px; }
 
 .osd toolbar { background-color: transparent; }
 
-toolbar.osd { padding: 13px; border: none; border-radius: 5px; background-color: rgba(37, 37, 38, 0.7); }
+toolbar.osd { padding: 13px; border: none; border-radius: 5px; background-color: rgba(38, 38, 38, 0.7); }
 
 toolbar.osd.left, toolbar.osd.right, toolbar.osd.top, toolbar.osd.bottom { border-radius: 0; }
 
@@ -615,7 +616,7 @@ searchbar > revealer > box { padding: 6px; border-width: 0 0 1px; }
 .inline-toolbar:backdrop, .location-bar:backdrop, searchbar > revealer > box:backdrop { border-color: 
#202020; background-color: #2e2e2e; box-shadow: none; transition: 200ms ease-out; }
 
 /*************** Header bars * */
-.titlebar:not(headerbar), headerbar { padding: 0 6px; min-height: 46px; border-width: 0 0 1px; border-style: 
solid; border-color: #070707; border-radius: 0; border-spacing: 6px; background: #1b1b1b linear-gradient(to 
top, #252526, #2b2b2b); box-shadow: inset 0 1px rgba(238, 238, 236, 0.07); /* Darken switchbuttons for 
headerbars. issue #1588 */ /* hide the close button separator */ }
+.titlebar:not(headerbar), headerbar { padding: 0 6px; min-height: 46px; border-width: 0 0 1px; border-style: 
solid; border-color: #070707; border-radius: 0; border-spacing: 6px; background: #1b1b1b linear-gradient(to 
top, #262626, #2b2b2b); box-shadow: inset 0 1px rgba(238, 238, 236, 0.07); /* Darken switchbuttons for 
headerbars. issue #1588 */ /* hide the close button separator */ }
 
 .titlebar:backdrop:not(headerbar), headerbar:backdrop { border-color: #202020; background-color: #353535; 
background-image: none; box-shadow: inset 0 1px rgba(238, 238, 236, 0.07); transition: 200ms ease-out; }
 
@@ -1149,7 +1150,7 @@ switch:backdrop:disabled slider label, switch:backdrop:disabled slider { color:
 
 .view.content-view.check:active:not(list), iconview.content-view.check:active:not(list), .content-view .tile 
check:active:not(list) { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; 
background-color: rgba(21, 83, 158, 0.95); border-radius: 5px; background-image: none; transition: 200ms; 
box-shadow: none; border-width: 0; -gtk-icon-source: none; -gtk-icon-shadow: none; }
 
-.view.content-view.check:backdrop:not(list), iconview.content-view.check:backdrop:not(list), .content-view 
.tile check:backdrop:not(list) { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; 
background-color: rgba(89, 89, 90, 0.95); border-radius: 5px; background-image: none; transition: 200ms; 
box-shadow: none; border-width: 0; -gtk-icon-source: none; -gtk-icon-shadow: none; }
+.view.content-view.check:backdrop:not(list), iconview.content-view.check:backdrop:not(list), .content-view 
.tile check:backdrop:not(list) { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; 
background-color: rgba(90, 90, 90, 0.95); border-radius: 5px; background-image: none; transition: 200ms; 
box-shadow: none; border-width: 0; -gtk-icon-source: none; -gtk-icon-shadow: none; }
 
 .view.content-view.check:checked:not(list), iconview.content-view.check:checked:not(list), .content-view 
.tile check:checked:not(list) { margin: 4px; min-width: 32px; min-height: 32px; color: #eeeeec; 
background-color: rgba(21, 83, 158, 0.95); border-radius: 5px; background-image: none; transition: 200ms; 
box-shadow: none; border-width: 0; -gtk-icon-source: -gtk-icontheme('object-select-symbolic'); 
-gtk-icon-shadow: none; }
 
@@ -1157,11 +1158,11 @@ switch:backdrop:disabled slider label, switch:backdrop:disabled slider { color:
 
 .view.content-view.check:checked:active:not(list), iconview.content-view.check:checked:active:not(list), 
.content-view .tile check:checked:active:not(list) { margin: 4px; min-width: 32px; min-height: 32px; color: 
#eeeeec; background-color: rgba(21, 83, 158, 0.95); border-radius: 5px; background-image: none; transition: 
200ms; box-shadow: none; border-width: 0; -gtk-icon-source: -gtk-icontheme('object-select-symbolic'); 
-gtk-icon-shadow: none; }
 
-.view.content-view.check:backdrop:checked:not(list), iconview.content-view.check:backdrop:checked:not(list), 
.content-view .tile check:backdrop:checked:not(list) { margin: 4px; min-width: 32px; min-height: 32px; color: 
rgba(238, 238, 236, 0.8); background-color: rgba(89, 89, 90, 0.95); border-radius: 5px; background-image: 
none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: 
-gtk-icontheme('object-select-symbolic'); -gtk-icon-shadow: none; }
+.view.content-view.check:backdrop:checked:not(list), iconview.content-view.check:backdrop:checked:not(list), 
.content-view .tile check:backdrop:checked:not(list) { margin: 4px; min-width: 32px; min-height: 32px; color: 
rgba(238, 238, 236, 0.8); background-color: rgba(90, 90, 90, 0.95); border-radius: 5px; background-image: 
none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: 
-gtk-icontheme('object-select-symbolic'); -gtk-icon-shadow: none; }
 
 checkbutton.text-button, radiobutton.text-button { padding: 2px 0; outline-offset: 0; border-spacing: 4px; }
 
-check, radio { margin: 0 4px; min-height: 14px; min-width: 14px; border: 1px solid; -gtk-icon-source: none; 
color: #eeeeec; outline-color: rgba(238, 238, 236, 0.3); border-color: #070707; text-shadow: 0 -1px rgba(0, 
0, 0, 0.834353); -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.834353); background-image: linear-gradient(to 
bottom, #2d2d2d 20%, #252526 90%); box-shadow: inset 0 1px rgba(255, 255, 255, 0.02), 0 1px rgba(0, 0, 0, 
0.1), 0 1px 2px rgba(0, 0, 0, 0.07); }
+check, radio { margin: 0 4px; min-height: 14px; min-width: 14px; border: 1px solid; -gtk-icon-source: none; }
 
 check:only-child, radio:only-child { margin: 0; }
 
@@ -1169,33 +1170,55 @@ popover check.left:dir(rtl), popover radio.left:dir(rtl) { margin-left: 0; margi
 
 popover check.right:dir(ltr), popover radio.right:dir(ltr) { margin-left: 12px; margin-right: 0; }
 
-check:hover, radio:hover { color: #ffffff; outline-color: rgba(255, 255, 255, 0.3); border-color: #092444; 
box-shadow: inset 0 1px rgba(255, 255, 255, 0.02), 0 1px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.07); 
background-image: linear-gradient(to bottom, #15539e 20%, #13498c 90%); }
+check, radio { border: 1px solid; }
 
-check:hover:not(:checked), radio:hover:not(:checked) { color: #eeeeec; outline-color: rgba(238, 238, 236, 
0.3); border-color: #070707; box-shadow: inset 0 1px rgba(255, 255, 255, 0.02), 0 1px rgba(0, 0, 0, 0.1), 0 
1px 2px rgba(0, 0, 0, 0.07); background-image: linear-gradient(to bottom, #353535 20%, #2b2b2b 90%); }
+check, radio { background-clip: padding-box; background-image: linear-gradient(to bottom, #424242 20%, 
#353535 90%); border-color: #070707; box-shadow: 0 1px rgba(0, 0, 0, 0.05); color: #ffffff; }
 
-check:active, radio:active { color: #ffffff; outline-color: rgba(255, 255, 255, 0.3); border-color: #0f3b71; 
background-image: image(#103e75); box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; 
-gtk-icon-shadow: none; }
+check:hover, radio:hover { -gtk-icon-effect: highlight; background-image: linear-gradient(to bottom, #4c4c4c 
10%, #3f3f3f 90%); }
 
-check:checked, radio:checked { color: #ffffff; outline-color: rgba(255, 255, 255, 0.3); border-color: 
#092444; text-shadow: 0 -1px rgba(0, 0, 0, 0.719216); -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.719216); 
background-image: linear-gradient(to bottom, #134c90 20%, #114583 90%); box-shadow: inset 0 1px rgba(255, 
255, 255, 0.02), 0 1px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.07); }
+check:hover:backdrop, radio:hover:backdrop { -gtk-icon-effect: highlight; background-image: #4c4c4c; }
 
-check:disabled, radio:disabled { border-color: #1b1b1b; background-image: image(#323232); text-shadow: none; 
-gtk-icon-shadow: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+check:active, radio:active { box-shadow: inset 0 1px 1px 0px black; }
 
-check:disabled label, check:disabled, radio:disabled label, radio:disabled { color: #919190; }
+check:disabled, radio:disabled { box-shadow: none; color: rgba(255, 255, 255, 0.7); }
 
-check:backdrop, radio:backdrop { border-color: #202020; background-image: image(#353535); text-shadow: none; 
-gtk-icon-shadow: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); transition: 200ms ease-out; }
+check:backdrop, radio:backdrop { -gtk-icon-effect: dim; background-image: #353535; box-shadow: none; color: 
#ffffff; }
 
-check:backdrop label, check:backdrop, radio:backdrop label, radio:backdrop { color: #919190; }
+check:backdrop:disabled, radio:backdrop:disabled { -gtk-icon-effect: dim; box-shadow: none; color: rgba(255, 
255, 255, 0.4); }
 
-check:backdrop:disabled, radio:backdrop:disabled { border-color: #202020; background-image: image(#323232); 
text-shadow: none; -gtk-icon-shadow: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+check:checked:not(:indeterminate), radio:checked:not(:indeterminate) { background-clip: border-box; 
background-image: linear-gradient(to bottom, #185fb4 20%, #15539e 90%); border-color: #15539e; box-shadow: 0 
1px rgba(0, 0, 0, 0.05); color: #ffffff; }
 
-check:backdrop:disabled label, check:backdrop:disabled, radio:backdrop:disabled label, 
radio:backdrop:disabled { color: #5b5b5b; }
+check:checked:not(:indeterminate):hover, radio:checked:not(:indeterminate):hover { -gtk-icon-effect: 
highlight; background-image: linear-gradient(to bottom, #1b68c6 10%, #185cb0 90%); }
 
-.osd check, .osd radio { color: #eeeeec; border-color: rgba(0, 0, 0, 0.7); background-color: transparent; 
background-image: image(rgba(37, 37, 38, 0.7)); background-clip: padding-box; box-shadow: inset 0 1px 
rgba(255, 255, 255, 0.1); text-shadow: none; -gtk-icon-shadow: none; outline-color: rgba(238, 238, 236, 0.3); 
}
+check:checked:not(:indeterminate):hover:backdrop, radio:checked:not(:indeterminate):hover:backdrop { 
-gtk-icon-effect: highlight; background-image: #1b68c6; }
 
-.osd check:hover, .osd radio:hover { color: #eeeeec; border-color: rgba(0, 0, 0, 0.7); background-color: 
transparent; background-image: image(rgba(37, 37, 38, 0.7)); background-clip: padding-box; box-shadow: inset 
0 1px rgba(255, 255, 255, 0.1); text-shadow: none; -gtk-icon-shadow: none; outline-color: rgba(238, 238, 236, 
0.3); }
+check:checked:not(:indeterminate):disabled, radio:checked:not(:indeterminate):disabled { box-shadow: none; 
color: rgba(255, 255, 255, 0.7); }
+
+check:checked:not(:indeterminate):backdrop, radio:checked:not(:indeterminate):backdrop { -gtk-icon-effect: 
dim; background-image: #1658a7; box-shadow: none; color: rgba(255, 255, 255, 0.7); }
+
+check:checked:not(:indeterminate):backdrop:disabled, radio:checked:not(:indeterminate):backdrop:disabled { 
-gtk-icon-effect: dim; box-shadow: none; color: rgba(255, 255, 255, 0.4); }
+
+check:indeterminate, radio:indeterminate { background-clip: border-box; background-image: linear-gradient(to 
bottom, #185fb4 20%, #15539e 90%); border-color: #15539e; box-shadow: 0 1px rgba(0, 0, 0, 0.05); color: 
#ffffff; }
+
+check:indeterminate:hover, radio:indeterminate:hover { -gtk-icon-effect: highlight; background-image: 
linear-gradient(to bottom, #1b68c6 10%, #185cb0 90%); }
+
+check:indeterminate:hover:backdrop, radio:indeterminate:hover:backdrop { -gtk-icon-effect: highlight; 
background-image: #1b68c6; }
+
+check:indeterminate:disabled, radio:indeterminate:disabled { box-shadow: none; color: rgba(255, 255, 255, 
0.7); }
+
+check:indeterminate:backdrop, radio:indeterminate:backdrop { -gtk-icon-effect: dim; background-image: 
#1658a7; box-shadow: none; color: rgba(255, 255, 255, 0.7); }
+
+check:indeterminate:backdrop:disabled, radio:indeterminate:backdrop:disabled { -gtk-icon-effect: dim; 
box-shadow: none; color: rgba(255, 255, 255, 0.4); }
+
+check:backdrop, radio:backdrop { transition: 200ms ease-out; }
+
+.osd check, .osd radio { color: #eeeeec; border-color: rgba(0, 0, 0, 0.7); background-color: transparent; 
background-image: image(rgba(38, 38, 38, 0.7)); background-clip: padding-box; box-shadow: inset 0 1px 
rgba(255, 255, 255, 0.1); text-shadow: none; -gtk-icon-shadow: none; outline-color: rgba(238, 238, 236, 0.3); 
}
+
+.osd check:hover, .osd radio:hover { color: #eeeeec; border-color: rgba(0, 0, 0, 0.7); background-color: 
transparent; background-image: image(rgba(38, 38, 38, 0.7)); background-clip: padding-box; box-shadow: inset 
0 1px rgba(255, 255, 255, 0.1); text-shadow: none; -gtk-icon-shadow: none; outline-color: rgba(238, 238, 236, 
0.3); }
 
 .osd check:active, .osd radio:active { color: white; border-color: rgba(0, 0, 0, 0.7); background-color: 
transparent; background-image: image(rgba(0, 0, 0, 0.7)); background-clip: padding-box; box-shadow: none; 
text-shadow: none; -gtk-icon-shadow: none; outline-color: rgba(238, 238, 236, 0.3); }
 
-.osd check:backdrop, .osd radio:backdrop { color: #eeeeec; border-color: rgba(0, 0, 0, 0.7); 
background-color: transparent; background-image: image(rgba(37, 37, 38, 0.7)); background-clip: padding-box; 
box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; }
+.osd check:backdrop, .osd radio:backdrop { color: #eeeeec; border-color: rgba(0, 0, 0, 0.7); 
background-color: transparent; background-image: image(rgba(38, 38, 38, 0.7)); background-clip: padding-box; 
box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; }
 
 .osd check:disabled, .osd radio:disabled { color: #8a8a89; border-color: rgba(0, 0, 0, 0.7); 
background-color: transparent; background-image: image(rgba(58, 58, 57, 0.5)); background-clip: padding-box; 
box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; }
 
@@ -1288,7 +1311,7 @@ scale fill:disabled:backdrop, scale fill:disabled { border-color: transparent; b
 
 .osd scale fill:disabled:backdrop, .osd scale fill:disabled { border-color: transparent; background-color: 
transparent; }
 
-scale slider { color: #eeeeec; outline-color: rgba(238, 238, 236, 0.3); border-color: #070707; text-shadow: 
0 -1px rgba(0, 0, 0, 0.834353); -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.834353); background-image: 
linear-gradient(to bottom, #2d2d2d 20%, #252526 90%); box-shadow: inset 0 1px rgba(255, 255, 255, 0.02), 0 
1px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.07); border: 1px solid black; border-radius: 100%; 
transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); transition-property: background, border, 
box-shadow; }
+scale slider { color: #eeeeec; outline-color: rgba(238, 238, 236, 0.3); border-color: #070707; text-shadow: 
0 -1px rgba(0, 0, 0, 0.834353); -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.834353); background-image: 
linear-gradient(to bottom, #2d2d2d 20%, #262626 90%); box-shadow: inset 0 1px rgba(255, 255, 255, 0.02), 0 
1px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.07); border: 1px solid black; border-radius: 100%; 
transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); transition-property: background, border, 
box-shadow; }
 
 scale slider:hover { color: #eeeeec; outline-color: rgba(238, 238, 236, 0.3); border-color: #070707; 
box-shadow: inset 0 1px rgba(255, 255, 255, 0.02), 0 1px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.07); 
background-image: linear-gradient(to bottom, #353535 20%, #2b2b2b 90%); }
 
@@ -1308,17 +1331,17 @@ scale slider:backdrop:disabled label, scale slider:backdrop:disabled { color: #5
 
 row:selected scale slider:disabled, row:selected scale slider { border-color: #030c17; }
 
-.osd scale slider { color: #eeeeec; border-color: rgba(0, 0, 0, 0.7); background-color: transparent; 
background-image: image(rgba(37, 37, 38, 0.7)); background-clip: padding-box; box-shadow: inset 0 1px 
rgba(255, 255, 255, 0.1); text-shadow: none; -gtk-icon-shadow: none; outline-color: rgba(238, 238, 236, 0.3); 
border-color: rgba(0, 0, 0, 0.7); background-color: #252526; }
+.osd scale slider { color: #eeeeec; border-color: rgba(0, 0, 0, 0.7); background-color: transparent; 
background-image: image(rgba(38, 38, 38, 0.7)); background-clip: padding-box; box-shadow: inset 0 1px 
rgba(255, 255, 255, 0.1); text-shadow: none; -gtk-icon-shadow: none; outline-color: rgba(238, 238, 236, 0.3); 
border-color: rgba(0, 0, 0, 0.7); background-color: #262626; }
 
-.osd scale slider:hover { color: white; border-color: rgba(0, 0, 0, 0.7); background-color: transparent; 
background-image: image(rgba(68, 68, 68, 0.7)); background-clip: padding-box; box-shadow: inset 0 1px 
rgba(255, 255, 255, 0.1); text-shadow: none; -gtk-icon-shadow: none; outline-color: rgba(238, 238, 236, 0.3); 
background-color: #252526; }
+.osd scale slider:hover { color: white; border-color: rgba(0, 0, 0, 0.7); background-color: transparent; 
background-image: image(rgba(68, 68, 68, 0.7)); background-clip: padding-box; box-shadow: inset 0 1px 
rgba(255, 255, 255, 0.1); text-shadow: none; -gtk-icon-shadow: none; outline-color: rgba(238, 238, 236, 0.3); 
background-color: #262626; }
 
-.osd scale slider:active { color: white; border-color: rgba(0, 0, 0, 0.7); background-color: transparent; 
background-image: image(rgba(0, 0, 0, 0.7)); background-clip: padding-box; box-shadow: none; text-shadow: 
none; -gtk-icon-shadow: none; outline-color: rgba(238, 238, 236, 0.3); background-color: #252526; }
+.osd scale slider:active { color: white; border-color: rgba(0, 0, 0, 0.7); background-color: transparent; 
background-image: image(rgba(0, 0, 0, 0.7)); background-clip: padding-box; box-shadow: none; text-shadow: 
none; -gtk-icon-shadow: none; outline-color: rgba(238, 238, 236, 0.3); background-color: #262626; }
 
-.osd scale slider:disabled { color: #8a8a89; border-color: rgba(0, 0, 0, 0.7); background-color: 
transparent; background-image: image(rgba(58, 58, 57, 0.5)); background-clip: padding-box; box-shadow: none; 
text-shadow: none; -gtk-icon-shadow: none; background-color: #252526; }
+.osd scale slider:disabled { color: #8a8a89; border-color: rgba(0, 0, 0, 0.7); background-color: 
transparent; background-image: image(rgba(58, 58, 57, 0.5)); background-clip: padding-box; box-shadow: none; 
text-shadow: none; -gtk-icon-shadow: none; background-color: #262626; }
 
-.osd scale slider:backdrop { color: #eeeeec; border-color: rgba(0, 0, 0, 0.7); background-color: 
transparent; background-image: image(rgba(37, 37, 38, 0.7)); background-clip: padding-box; box-shadow: none; 
text-shadow: none; -gtk-icon-shadow: none; background-color: #252526; }
+.osd scale slider:backdrop { color: #eeeeec; border-color: rgba(0, 0, 0, 0.7); background-color: 
transparent; background-image: image(rgba(38, 38, 38, 0.7)); background-clip: padding-box; box-shadow: none; 
text-shadow: none; -gtk-icon-shadow: none; background-color: #262626; }
 
-.osd scale slider:backdrop:disabled { background-color: #252526; }
+.osd scale slider:backdrop:disabled { background-color: #262626; }
 
 scale value { color: alpha(currentColor,0.55); }
 
@@ -1648,7 +1671,7 @@ row.activatable:selected.has-open-popup, row.activatable:selected:hover { backgr
 row.activatable:selected:backdrop { background-color: #15539e; }
 
 /********************* App Notifications * */
-.app-notification, .app-notification.frame { padding: 10px; border-radius: 0 0 5px 5px; background-color: 
rgba(37, 37, 38, 0.7); background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.2), transparent 2px); 
background-clip: padding-box; }
+.app-notification, .app-notification.frame { padding: 10px; border-radius: 0 0 5px 5px; background-color: 
rgba(38, 38, 38, 0.7); background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.2), transparent 2px); 
background-clip: padding-box; }
 
 .app-notification:backdrop, .app-notification.frame:backdrop { background-image: none; transition: 200ms 
ease-out; }
 
diff --git a/gtk/theme/Adwaita/gtk-contained.css b/gtk/theme/Adwaita/gtk-contained.css
index 15bbbf4959..c7fe7bb5ad 100644
--- a/gtk/theme/Adwaita/gtk-contained.css
+++ b/gtk/theme/Adwaita/gtk-contained.css
@@ -1,3 +1,4 @@
+/*************************** Check and Radio buttons * */
 * { padding: 0; -gtk-secondary-caret-color: #3584e4; }
 
 button:focus(visible), checkbutton:focus(visible), radiobutton:focus(visible), switch:focus(visible), 
scale:focus(visible), label:focus(visible), row:focus(visible), flowboxchild:focus(visible) { outline-color: 
alpha(currentColor,0.3); outline-style: dashed; outline-offset: -3px; outline-width: 1px; 
-gtk-outline-radius: 3px; }
@@ -1163,7 +1164,7 @@ row:selected switch slider:checked, row:selected switch slider { border-color: #
 
 .view.content-view.check:active:not(list), iconview.content-view.check:active:not(list), .content-view .tile 
check:active:not(list) { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; 
background-color: rgba(53, 132, 228, 0.95); border-radius: 5px; background-image: none; transition: 200ms; 
box-shadow: none; border-width: 0; -gtk-icon-source: none; -gtk-icon-shadow: none; }
 
-.view.content-view.check:backdrop:not(list), iconview.content-view.check:backdrop:not(list), .content-view 
.tile check:backdrop:not(list) { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; 
background-color: rgba(140, 140, 141, 0.95); border-radius: 5px; background-image: none; transition: 200ms; 
box-shadow: none; border-width: 0; -gtk-icon-source: none; -gtk-icon-shadow: none; }
+.view.content-view.check:backdrop:not(list), iconview.content-view.check:backdrop:not(list), .content-view 
.tile check:backdrop:not(list) { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; 
background-color: rgba(141, 141, 141, 0.95); border-radius: 5px; background-image: none; transition: 200ms; 
box-shadow: none; border-width: 0; -gtk-icon-source: none; -gtk-icon-shadow: none; }
 
 .view.content-view.check:checked:not(list), iconview.content-view.check:checked:not(list), .content-view 
.tile check:checked:not(list) { margin: 4px; min-width: 32px; min-height: 32px; color: #eeeeec; 
background-color: rgba(53, 132, 228, 0.95); border-radius: 5px; background-image: none; transition: 200ms; 
box-shadow: none; border-width: 0; -gtk-icon-source: -gtk-icontheme('object-select-symbolic'); 
-gtk-icon-shadow: none; }
 
@@ -1171,11 +1172,11 @@ row:selected switch slider:checked, row:selected switch slider { border-color: #
 
 .view.content-view.check:checked:active:not(list), iconview.content-view.check:checked:active:not(list), 
.content-view .tile check:checked:active:not(list) { margin: 4px; min-width: 32px; min-height: 32px; color: 
#eeeeec; background-color: rgba(53, 132, 228, 0.95); border-radius: 5px; background-image: none; transition: 
200ms; box-shadow: none; border-width: 0; -gtk-icon-source: -gtk-icontheme('object-select-symbolic'); 
-gtk-icon-shadow: none; }
 
-.view.content-view.check:backdrop:checked:not(list), iconview.content-view.check:backdrop:checked:not(list), 
.content-view .tile check:backdrop:checked:not(list) { margin: 4px; min-width: 32px; min-height: 32px; color: 
rgba(238, 238, 236, 0.8); background-color: rgba(140, 140, 141, 0.95); border-radius: 5px; background-image: 
none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: 
-gtk-icontheme('object-select-symbolic'); -gtk-icon-shadow: none; }
+.view.content-view.check:backdrop:checked:not(list), iconview.content-view.check:backdrop:checked:not(list), 
.content-view .tile check:backdrop:checked:not(list) { margin: 4px; min-width: 32px; min-height: 32px; color: 
rgba(238, 238, 236, 0.8); background-color: rgba(141, 141, 141, 0.95); border-radius: 5px; background-image: 
none; transition: 200ms; box-shadow: none; border-width: 0; -gtk-icon-source: 
-gtk-icontheme('object-select-symbolic'); -gtk-icon-shadow: none; }
 
 checkbutton.text-button, radiobutton.text-button { padding: 2px 0; outline-offset: 0; border-spacing: 4px; }
 
-check, radio { margin: 0 4px; min-height: 14px; min-width: 14px; border: 1px solid; -gtk-icon-source: none; 
color: #2e3436; outline-color: rgba(46, 52, 54, 0.3); border-color: #bfb8b1; text-shadow: 0 1px rgba(255, 
255, 255, 0.769231); -gtk-icon-shadow: 0 1px rgba(255, 255, 255, 0.769231); background-image: 
linear-gradient(to bottom, white 20%, #f6f5f4 90%); box-shadow: inset 0 1px white, 0 1px rgba(0, 0, 0, 0.1), 
0 1px 2px rgba(0, 0, 0, 0.07); }
+check, radio { margin: 0 4px; min-height: 14px; min-width: 14px; border: 1px solid; -gtk-icon-source: none; }
 
 check:only-child, radio:only-child { margin: 0; }
 
@@ -1183,25 +1184,47 @@ popover check.left:dir(rtl), popover radio.left:dir(rtl) { margin-left: 0; margi
 
 popover check.right:dir(ltr), popover radio.right:dir(ltr) { margin-left: 12px; margin-right: 0; }
 
-check:hover, radio:hover { color: #ffffff; outline-color: rgba(255, 255, 255, 0.3); border-color: #15539e; 
box-shadow: inset 0 1px rgba(255, 255, 255, 0.2), 0 1px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.07); 
background-image: linear-gradient(to bottom, #5d9de9 10%, #478fe6 90%); }
+check, radio { border: 1px solid; }
 
-check:hover:not(:checked), radio:hover:not(:checked) { color: #2e3436; outline-color: rgba(46, 52, 54, 0.3); 
border-color: #bfb8b1; box-shadow: inset 0 1px white, 0 1px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 
0.07); background-image: linear-gradient(to bottom, white 10%, white 90%); }
+check, radio { background-clip: padding-box; background-image: linear-gradient(to bottom, white 20%, white 
90%); border-color: #bfb8b1; box-shadow: 0 1px rgba(0, 0, 0, 0.05); color: #ffffff; }
 
-check:active, radio:active { color: #ffffff; outline-color: rgba(255, 255, 255, 0.3); border-color: #1b6acb; 
background-image: image(#1961b9); box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; 
-gtk-icon-shadow: none; }
+check:hover, radio:hover { -gtk-icon-effect: highlight; background-image: #f2f2f2; }
 
-check:checked, radio:checked { color: #ffffff; outline-color: rgba(255, 255, 255, 0.3); border-color: 
#15539e; text-shadow: 0 -1px rgba(0, 0, 0, 0.559216); -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.559216); 
background-image: linear-gradient(to bottom, #4b92e7 20%, #3584e4 90%); box-shadow: inset 0 1px rgba(255, 
255, 255, 0.2), 0 1px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.07); }
+check:hover:backdrop, radio:hover:backdrop { -gtk-icon-effect: highlight; background-image: #ededed; }
 
-check:disabled, radio:disabled { border-color: #cdc7c2; background-image: image(#faf9f8); text-shadow: none; 
-gtk-icon-shadow: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+check:active, radio:active { box-shadow: inset 0 1px 1px 0px rgba(0, 0, 0, 0.2); }
 
-check:disabled label, check:disabled, radio:disabled label, radio:disabled { color: #929595; }
+check:disabled, radio:disabled { box-shadow: none; color: rgba(255, 255, 255, 0.7); }
 
-check:backdrop, radio:backdrop { border-color: #d5d0cc; background-image: image(#f6f5f4); text-shadow: none; 
-gtk-icon-shadow: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); transition: 200ms ease-out; }
+check:backdrop, radio:backdrop { -gtk-icon-effect: dim; background-image: #f6f5f4; box-shadow: none; color: 
#ffffff; }
 
-check:backdrop label, check:backdrop, radio:backdrop label, radio:backdrop { color: #929595; }
+check:backdrop:disabled, radio:backdrop:disabled { -gtk-icon-effect: dim; box-shadow: none; color: rgba(255, 
255, 255, 0.4); }
 
-check:backdrop:disabled, radio:backdrop:disabled { border-color: #d5d0cc; background-image: image(#faf9f8); 
text-shadow: none; -gtk-icon-shadow: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+check:checked:not(:indeterminate), radio:checked:not(:indeterminate) { background-clip: border-box; 
background-image: linear-gradient(to bottom, #4b92e7 20%, #3584e4 90%); border-color: #3584e4; box-shadow: 0 
1px rgba(0, 0, 0, 0.05); color: #ffffff; }
 
-check:backdrop:disabled label, check:backdrop:disabled, radio:backdrop:disabled label, 
radio:backdrop:disabled { color: #d4cfca; }
+check:checked:not(:indeterminate):hover, radio:checked:not(:indeterminate):hover { -gtk-icon-effect: 
highlight; background-image: linear-gradient(to bottom, #5d9de9 10%, #478fe6 90%); }
+
+check:checked:not(:indeterminate):hover:backdrop, radio:checked:not(:indeterminate):hover:backdrop { 
-gtk-icon-effect: highlight; background-image: #5d9de9; }
+
+check:checked:not(:indeterminate):disabled, radio:checked:not(:indeterminate):disabled { box-shadow: none; 
color: rgba(255, 255, 255, 0.7); }
+
+check:checked:not(:indeterminate):backdrop, radio:checked:not(:indeterminate):backdrop { -gtk-icon-effect: 
dim; background-image: #3e89e5; box-shadow: none; color: rgba(255, 255, 255, 0.7); }
+
+check:checked:not(:indeterminate):backdrop:disabled, radio:checked:not(:indeterminate):backdrop:disabled { 
-gtk-icon-effect: dim; box-shadow: none; color: rgba(255, 255, 255, 0.4); }
+
+check:indeterminate, radio:indeterminate { background-clip: border-box; background-image: linear-gradient(to 
bottom, #4b92e7 20%, #3584e4 90%); border-color: #3584e4; box-shadow: 0 1px rgba(0, 0, 0, 0.05); color: 
#ffffff; }
+
+check:indeterminate:hover, radio:indeterminate:hover { -gtk-icon-effect: highlight; background-image: 
linear-gradient(to bottom, #5d9de9 10%, #478fe6 90%); }
+
+check:indeterminate:hover:backdrop, radio:indeterminate:hover:backdrop { -gtk-icon-effect: highlight; 
background-image: #5d9de9; }
+
+check:indeterminate:disabled, radio:indeterminate:disabled { box-shadow: none; color: rgba(255, 255, 255, 
0.7); }
+
+check:indeterminate:backdrop, radio:indeterminate:backdrop { -gtk-icon-effect: dim; background-image: 
#3e89e5; box-shadow: none; color: rgba(255, 255, 255, 0.7); }
+
+check:indeterminate:backdrop:disabled, radio:indeterminate:backdrop:disabled { -gtk-icon-effect: dim; 
box-shadow: none; color: rgba(255, 255, 255, 0.4); }
+
+check:backdrop, radio:backdrop { transition: 200ms ease-out; }
 
 row:selected check, row:selected radio { border-color: #185fb4; }
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]