diff --git a/gtk-3.0/assets/bullet-symbolic.svg b/gtk-3.0/assets/bullet-symbolic.svg
new file mode 100644
index 0000000..acf880a
--- /dev/null
+++ b/gtk-3.0/assets/bullet-symbolic.svg
@@ -0,0 +1,155 @@
+
+
+
+
diff --git a/gtk-3.0/assets/bullet-symbolic.symbolic.png b/gtk-3.0/assets/bullet-symbolic.symbolic.png
new file mode 100644
index 0000000..8e6925a
Binary files /dev/null and b/gtk-3.0/assets/bullet-symbolic.symbolic.png differ
diff --git a/gtk-3.0/assets/check-symbolic.svg b/gtk-3.0/assets/check-symbolic.svg
new file mode 100644
index 0000000..b04b5ad
--- /dev/null
+++ b/gtk-3.0/assets/check-symbolic.svg
@@ -0,0 +1,154 @@
+
+
+
+
diff --git a/gtk-3.0/assets/check-symbolic.symbolic.png b/gtk-3.0/assets/check-symbolic.symbolic.png
new file mode 100644
index 0000000..14bd626
Binary files /dev/null and b/gtk-3.0/assets/check-symbolic.symbolic.png differ
diff --git a/gtk-3.0/assets/dash-symbolic.svg b/gtk-3.0/assets/dash-symbolic.svg
new file mode 100644
index 0000000..7886d54
--- /dev/null
+++ b/gtk-3.0/assets/dash-symbolic.svg
@@ -0,0 +1,153 @@
+
+
+
+
diff --git a/gtk-3.0/assets/dash-symbolic.symbolic.png b/gtk-3.0/assets/dash-symbolic.symbolic.png
new file mode 100644
index 0000000..c20d4ba
Binary files /dev/null and b/gtk-3.0/assets/dash-symbolic.symbolic.png differ
diff --git a/gtk-3.0/assets/slider-horz-scale-has-marks-above-active-dark.png b/gtk-3.0/assets/slider-horz-scale-has-marks-above-active-dark.png
new file mode 100644
index 0000000..c02396e
Binary files /dev/null and b/gtk-3.0/assets/slider-horz-scale-has-marks-above-active-dark.png differ
diff --git a/gtk-3.0/assets/slider-horz-scale-has-marks-above-active-dark@2.png b/gtk-3.0/assets/slider-horz-scale-has-marks-above-active-dark@2.png
new file mode 100644
index 0000000..2ff6efe
Binary files /dev/null and b/gtk-3.0/assets/slider-horz-scale-has-marks-above-active-dark@2.png differ
diff --git a/gtk-3.0/assets/slider-horz-scale-has-marks-above-active.png b/gtk-3.0/assets/slider-horz-scale-has-marks-above-active.png
new file mode 100644
index 0000000..53729ec
Binary files /dev/null and b/gtk-3.0/assets/slider-horz-scale-has-marks-above-active.png differ
diff --git a/gtk-3.0/assets/slider-horz-scale-has-marks-above-active@2.png b/gtk-3.0/assets/slider-horz-scale-has-marks-above-active@2.png
new file mode 100644
index 0000000..d73ff53
Binary files /dev/null and b/gtk-3.0/assets/slider-horz-scale-has-marks-above-active@2.png differ
diff --git a/gtk-3.0/assets/slider-horz-scale-has-marks-above-backdrop-dark.png b/gtk-3.0/assets/slider-horz-scale-has-marks-above-backdrop-dark.png
new file mode 100644
index 0000000..d15a78c
Binary files /dev/null and b/gtk-3.0/assets/slider-horz-scale-has-marks-above-backdrop-dark.png differ
diff --git a/gtk-3.0/assets/slider-horz-scale-has-marks-above-backdrop-dark@2.png b/gtk-3.0/assets/slider-horz-scale-has-marks-above-backdrop-dark@2.png
new file mode 100644
index 0000000..268167a
Binary files /dev/null and b/gtk-3.0/assets/slider-horz-scale-has-marks-above-backdrop-dark@2.png differ
diff --git a/gtk-3.0/assets/slider-horz-scale-has-marks-above-backdrop-insensitive-dark.png b/gtk-3.0/assets/slider-horz-scale-has-marks-above-backdrop-insensitive-dark.png
new file mode 100644
index 0000000..d15a78c
Binary files /dev/null and b/gtk-3.0/assets/slider-horz-scale-has-marks-above-backdrop-insensitive-dark.png differ
diff --git a/gtk-3.0/assets/slider-horz-scale-has-marks-above-backdrop-insensitive-dark@2.png b/gtk-3.0/assets/slider-horz-scale-has-marks-above-backdrop-insensitive-dark@2.png
new file mode 100644
index 0000000..268167a
Binary files /dev/null and b/gtk-3.0/assets/slider-horz-scale-has-marks-above-backdrop-insensitive-dark@2.png differ
diff --git a/gtk-3.0/assets/slider-horz-scale-has-marks-above-backdrop-insensitive.png b/gtk-3.0/assets/slider-horz-scale-has-marks-above-backdrop-insensitive.png
new file mode 100644
index 0000000..921509f
Binary files /dev/null and b/gtk-3.0/assets/slider-horz-scale-has-marks-above-backdrop-insensitive.png differ
diff --git a/gtk-3.0/assets/slider-horz-scale-has-marks-above-backdrop-insensitive@2.png b/gtk-3.0/assets/slider-horz-scale-has-marks-above-backdrop-insensitive@2.png
new file mode 100644
index 0000000..d157e60
Binary files /dev/null and b/gtk-3.0/assets/slider-horz-scale-has-marks-above-backdrop-insensitive@2.png differ
diff --git a/gtk-3.0/assets/slider-horz-scale-has-marks-above-backdrop.png b/gtk-3.0/assets/slider-horz-scale-has-marks-above-backdrop.png
new file mode 100644
index 0000000..52aa71d
Binary files /dev/null and b/gtk-3.0/assets/slider-horz-scale-has-marks-above-backdrop.png differ
diff --git a/gtk-3.0/assets/slider-horz-scale-has-marks-above-backdrop@2.png b/gtk-3.0/assets/slider-horz-scale-has-marks-above-backdrop@2.png
new file mode 100644
index 0000000..100b0c3
Binary files /dev/null and b/gtk-3.0/assets/slider-horz-scale-has-marks-above-backdrop@2.png differ
diff --git a/gtk-3.0/assets/slider-horz-scale-has-marks-above-dark.png b/gtk-3.0/assets/slider-horz-scale-has-marks-above-dark.png
new file mode 100644
index 0000000..74d848d
Binary files /dev/null and b/gtk-3.0/assets/slider-horz-scale-has-marks-above-dark.png differ
diff --git a/gtk-3.0/assets/slider-horz-scale-has-marks-above-dark@2.png b/gtk-3.0/assets/slider-horz-scale-has-marks-above-dark@2.png
new file mode 100644
index 0000000..01e0e53
Binary files /dev/null and b/gtk-3.0/assets/slider-horz-scale-has-marks-above-dark@2.png differ
diff --git a/gtk-3.0/assets/slider-horz-scale-has-marks-above-hover-dark.png b/gtk-3.0/assets/slider-horz-scale-has-marks-above-hover-dark.png
new file mode 100644
index 0000000..070f181
Binary files /dev/null and b/gtk-3.0/assets/slider-horz-scale-has-marks-above-hover-dark.png differ
diff --git a/gtk-3.0/assets/slider-horz-scale-has-marks-above-hover-dark@2.png b/gtk-3.0/assets/slider-horz-scale-has-marks-above-hover-dark@2.png
new file mode 100644
index 0000000..d0b0441
Binary files /dev/null and b/gtk-3.0/assets/slider-horz-scale-has-marks-above-hover-dark@2.png differ
diff --git a/gtk-3.0/assets/slider-horz-scale-has-marks-above-hover.png b/gtk-3.0/assets/slider-horz-scale-has-marks-above-hover.png
new file mode 100644
index 0000000..f989dc6
Binary files /dev/null and b/gtk-3.0/assets/slider-horz-scale-has-marks-above-hover.png differ
diff --git a/gtk-3.0/assets/slider-horz-scale-has-marks-above-hover@2.png b/gtk-3.0/assets/slider-horz-scale-has-marks-above-hover@2.png
new file mode 100644
index 0000000..e1bec6f
Binary files /dev/null and b/gtk-3.0/assets/slider-horz-scale-has-marks-above-hover@2.png differ
diff --git a/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive-dark.png b/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive-dark.png
new file mode 100644
index 0000000..d15a78c
Binary files /dev/null and b/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive-dark.png differ
diff --git a/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive-dark@2.png b/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive-dark@2.png
new file mode 100644
index 0000000..268167a
Binary files /dev/null and b/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive-dark@2.png differ
diff --git a/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive.png b/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive.png
new file mode 100644
index 0000000..21c55c3
Binary files /dev/null and b/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive.png differ
diff --git a/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive@2.png b/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive@2.png
new file mode 100644
index 0000000..611ed7e
Binary files /dev/null and b/gtk-3.0/assets/slider-horz-scale-has-marks-above-insensitive@2.png differ
diff --git a/gtk-3.0/assets/slider-horz-scale-has-marks-above.png b/gtk-3.0/assets/slider-horz-scale-has-marks-above.png
new file mode 100644
index 0000000..de5300d
Binary files /dev/null and b/gtk-3.0/assets/slider-horz-scale-has-marks-above.png differ
diff --git a/gtk-3.0/assets/slider-horz-scale-has-marks-above@2.png b/gtk-3.0/assets/slider-horz-scale-has-marks-above@2.png
new file mode 100644
index 0000000..456f291
Binary files /dev/null and b/gtk-3.0/assets/slider-horz-scale-has-marks-above@2.png differ
diff --git a/gtk-3.0/assets/slider-horz-scale-has-marks-below-active-dark.png b/gtk-3.0/assets/slider-horz-scale-has-marks-below-active-dark.png
new file mode 100644
index 0000000..b6b677b
Binary files /dev/null and b/gtk-3.0/assets/slider-horz-scale-has-marks-below-active-dark.png differ
diff --git a/gtk-3.0/assets/slider-horz-scale-has-marks-below-active-dark@2.png b/gtk-3.0/assets/slider-horz-scale-has-marks-below-active-dark@2.png
new file mode 100644
index 0000000..9f5528d
Binary files /dev/null and b/gtk-3.0/assets/slider-horz-scale-has-marks-below-active-dark@2.png differ
diff --git a/gtk-3.0/assets/slider-horz-scale-has-marks-below-active.png b/gtk-3.0/assets/slider-horz-scale-has-marks-below-active.png
new file mode 100644
index 0000000..4e86277
Binary files /dev/null and b/gtk-3.0/assets/slider-horz-scale-has-marks-below-active.png differ
diff --git a/gtk-3.0/assets/slider-horz-scale-has-marks-below-active@2.png b/gtk-3.0/assets/slider-horz-scale-has-marks-below-active@2.png
new file mode 100644
index 0000000..de34cd2
Binary files /dev/null and b/gtk-3.0/assets/slider-horz-scale-has-marks-below-active@2.png differ
diff --git a/gtk-3.0/assets/slider-horz-scale-has-marks-below-backdrop-dark.png b/gtk-3.0/assets/slider-horz-scale-has-marks-below-backdrop-dark.png
new file mode 100644
index 0000000..4fe4dfa
Binary files /dev/null and b/gtk-3.0/assets/slider-horz-scale-has-marks-below-backdrop-dark.png differ
diff --git a/gtk-3.0/assets/slider-horz-scale-has-marks-below-backdrop-dark@2.png b/gtk-3.0/assets/slider-horz-scale-has-marks-below-backdrop-dark@2.png
new file mode 100644
index 0000000..074c0d6
Binary files /dev/null and b/gtk-3.0/assets/slider-horz-scale-has-marks-below-backdrop-dark@2.png differ
diff --git a/gtk-3.0/assets/slider-horz-scale-has-marks-below-backdrop-insensitive-dark.png b/gtk-3.0/assets/slider-horz-scale-has-marks-below-backdrop-insensitive-dark.png
new file mode 100644
index 0000000..4fe4dfa
Binary files /dev/null and b/gtk-3.0/assets/slider-horz-scale-has-marks-below-backdrop-insensitive-dark.png differ
diff --git a/gtk-3.0/assets/slider-horz-scale-has-marks-below-backdrop-insensitive-dark@2.png b/gtk-3.0/assets/slider-horz-scale-has-marks-below-backdrop-insensitive-dark@2.png
new file mode 100644
index 0000000..074c0d6
Binary files /dev/null and b/gtk-3.0/assets/slider-horz-scale-has-marks-below-backdrop-insensitive-dark@2.png differ
diff --git a/gtk-3.0/assets/slider-horz-scale-has-marks-below-backdrop-insensitive.png b/gtk-3.0/assets/slider-horz-scale-has-marks-below-backdrop-insensitive.png
new file mode 100644
index 0000000..4c69d36
Binary files /dev/null and b/gtk-3.0/assets/slider-horz-scale-has-marks-below-backdrop-insensitive.png differ
diff --git a/gtk-3.0/assets/slider-horz-scale-has-marks-below-backdrop-insensitive@2.png b/gtk-3.0/assets/slider-horz-scale-has-marks-below-backdrop-insensitive@2.png
new file mode 100644
index 0000000..6cef847
Binary files /dev/null and b/gtk-3.0/assets/slider-horz-scale-has-marks-below-backdrop-insensitive@2.png differ
diff --git a/gtk-3.0/assets/slider-horz-scale-has-marks-below-backdrop.png b/gtk-3.0/assets/slider-horz-scale-has-marks-below-backdrop.png
new file mode 100644
index 0000000..eabce2c
Binary files /dev/null and b/gtk-3.0/assets/slider-horz-scale-has-marks-below-backdrop.png differ
diff --git a/gtk-3.0/assets/slider-horz-scale-has-marks-below-backdrop@2.png b/gtk-3.0/assets/slider-horz-scale-has-marks-below-backdrop@2.png
new file mode 100644
index 0000000..1a68555
Binary files /dev/null and b/gtk-3.0/assets/slider-horz-scale-has-marks-below-backdrop@2.png differ
diff --git a/gtk-3.0/assets/slider-horz-scale-has-marks-below-dark.png b/gtk-3.0/assets/slider-horz-scale-has-marks-below-dark.png
new file mode 100644
index 0000000..194f018
Binary files /dev/null and b/gtk-3.0/assets/slider-horz-scale-has-marks-below-dark.png differ
diff --git a/gtk-3.0/assets/slider-horz-scale-has-marks-below-dark@2.png b/gtk-3.0/assets/slider-horz-scale-has-marks-below-dark@2.png
new file mode 100644
index 0000000..bb3ea01
Binary files /dev/null and b/gtk-3.0/assets/slider-horz-scale-has-marks-below-dark@2.png differ
diff --git a/gtk-3.0/assets/slider-horz-scale-has-marks-below-hover-dark.png b/gtk-3.0/assets/slider-horz-scale-has-marks-below-hover-dark.png
new file mode 100644
index 0000000..554a2c5
Binary files /dev/null and b/gtk-3.0/assets/slider-horz-scale-has-marks-below-hover-dark.png differ
diff --git a/gtk-3.0/assets/slider-horz-scale-has-marks-below-hover-dark@2.png b/gtk-3.0/assets/slider-horz-scale-has-marks-below-hover-dark@2.png
new file mode 100644
index 0000000..fb4389a
Binary files /dev/null and b/gtk-3.0/assets/slider-horz-scale-has-marks-below-hover-dark@2.png differ
diff --git a/gtk-3.0/assets/slider-horz-scale-has-marks-below-hover.png b/gtk-3.0/assets/slider-horz-scale-has-marks-below-hover.png
new file mode 100644
index 0000000..0c7657f
Binary files /dev/null and b/gtk-3.0/assets/slider-horz-scale-has-marks-below-hover.png differ
diff --git a/gtk-3.0/assets/slider-horz-scale-has-marks-below-hover@2.png b/gtk-3.0/assets/slider-horz-scale-has-marks-below-hover@2.png
new file mode 100644
index 0000000..7995532
Binary files /dev/null and b/gtk-3.0/assets/slider-horz-scale-has-marks-below-hover@2.png differ
diff --git a/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive-dark.png b/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive-dark.png
new file mode 100644
index 0000000..4fe4dfa
Binary files /dev/null and b/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive-dark.png differ
diff --git a/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive-dark@2.png b/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive-dark@2.png
new file mode 100644
index 0000000..074c0d6
Binary files /dev/null and b/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive-dark@2.png differ
diff --git a/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive.png b/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive.png
new file mode 100644
index 0000000..eabce2c
Binary files /dev/null and b/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive.png differ
diff --git a/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive@2.png b/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive@2.png
new file mode 100644
index 0000000..1a68555
Binary files /dev/null and b/gtk-3.0/assets/slider-horz-scale-has-marks-below-insensitive@2.png differ
diff --git a/gtk-3.0/assets/slider-horz-scale-has-marks-below.png b/gtk-3.0/assets/slider-horz-scale-has-marks-below.png
new file mode 100644
index 0000000..bdee580
Binary files /dev/null and b/gtk-3.0/assets/slider-horz-scale-has-marks-below.png differ
diff --git a/gtk-3.0/assets/slider-horz-scale-has-marks-below@2.png b/gtk-3.0/assets/slider-horz-scale-has-marks-below@2.png
new file mode 100644
index 0000000..5eaf319
Binary files /dev/null and b/gtk-3.0/assets/slider-horz-scale-has-marks-below@2.png differ
diff --git a/gtk-3.0/assets/slider-vert-scale-has-marks-above-active-dark.png b/gtk-3.0/assets/slider-vert-scale-has-marks-above-active-dark.png
new file mode 100644
index 0000000..b23980e
Binary files /dev/null and b/gtk-3.0/assets/slider-vert-scale-has-marks-above-active-dark.png differ
diff --git a/gtk-3.0/assets/slider-vert-scale-has-marks-above-active-dark@2.png b/gtk-3.0/assets/slider-vert-scale-has-marks-above-active-dark@2.png
new file mode 100644
index 0000000..65e0b5b
Binary files /dev/null and b/gtk-3.0/assets/slider-vert-scale-has-marks-above-active-dark@2.png differ
diff --git a/gtk-3.0/assets/slider-vert-scale-has-marks-above-active.png b/gtk-3.0/assets/slider-vert-scale-has-marks-above-active.png
new file mode 100644
index 0000000..c0e6d91
Binary files /dev/null and b/gtk-3.0/assets/slider-vert-scale-has-marks-above-active.png differ
diff --git a/gtk-3.0/assets/slider-vert-scale-has-marks-above-active@2.png b/gtk-3.0/assets/slider-vert-scale-has-marks-above-active@2.png
new file mode 100644
index 0000000..d4ae2b0
Binary files /dev/null and b/gtk-3.0/assets/slider-vert-scale-has-marks-above-active@2.png differ
diff --git a/gtk-3.0/assets/slider-vert-scale-has-marks-above-backdrop-dark.png b/gtk-3.0/assets/slider-vert-scale-has-marks-above-backdrop-dark.png
new file mode 100644
index 0000000..3c87524
Binary files /dev/null and b/gtk-3.0/assets/slider-vert-scale-has-marks-above-backdrop-dark.png differ
diff --git a/gtk-3.0/assets/slider-vert-scale-has-marks-above-backdrop-dark@2.png b/gtk-3.0/assets/slider-vert-scale-has-marks-above-backdrop-dark@2.png
new file mode 100644
index 0000000..b424d09
Binary files /dev/null and b/gtk-3.0/assets/slider-vert-scale-has-marks-above-backdrop-dark@2.png differ
diff --git a/gtk-3.0/assets/slider-vert-scale-has-marks-above-backdrop-insensitive-dark.png b/gtk-3.0/assets/slider-vert-scale-has-marks-above-backdrop-insensitive-dark.png
new file mode 100644
index 0000000..3c87524
Binary files /dev/null and b/gtk-3.0/assets/slider-vert-scale-has-marks-above-backdrop-insensitive-dark.png differ
diff --git a/gtk-3.0/assets/slider-vert-scale-has-marks-above-backdrop-insensitive-dark@2.png b/gtk-3.0/assets/slider-vert-scale-has-marks-above-backdrop-insensitive-dark@2.png
new file mode 100644
index 0000000..b424d09
Binary files /dev/null and b/gtk-3.0/assets/slider-vert-scale-has-marks-above-backdrop-insensitive-dark@2.png differ
diff --git a/gtk-3.0/assets/slider-vert-scale-has-marks-above-backdrop-insensitive.png b/gtk-3.0/assets/slider-vert-scale-has-marks-above-backdrop-insensitive.png
new file mode 100644
index 0000000..043cbfc
Binary files /dev/null and b/gtk-3.0/assets/slider-vert-scale-has-marks-above-backdrop-insensitive.png differ
diff --git a/gtk-3.0/assets/slider-vert-scale-has-marks-above-backdrop-insensitive@2.png b/gtk-3.0/assets/slider-vert-scale-has-marks-above-backdrop-insensitive@2.png
new file mode 100644
index 0000000..1d39dc4
Binary files /dev/null and b/gtk-3.0/assets/slider-vert-scale-has-marks-above-backdrop-insensitive@2.png differ
diff --git a/gtk-3.0/assets/slider-vert-scale-has-marks-above-backdrop.png b/gtk-3.0/assets/slider-vert-scale-has-marks-above-backdrop.png
new file mode 100644
index 0000000..cb33a8a
Binary files /dev/null and b/gtk-3.0/assets/slider-vert-scale-has-marks-above-backdrop.png differ
diff --git a/gtk-3.0/assets/slider-vert-scale-has-marks-above-backdrop@2.png b/gtk-3.0/assets/slider-vert-scale-has-marks-above-backdrop@2.png
new file mode 100644
index 0000000..65f43d8
Binary files /dev/null and b/gtk-3.0/assets/slider-vert-scale-has-marks-above-backdrop@2.png differ
diff --git a/gtk-3.0/assets/slider-vert-scale-has-marks-above-dark.png b/gtk-3.0/assets/slider-vert-scale-has-marks-above-dark.png
new file mode 100644
index 0000000..e13ef9f
Binary files /dev/null and b/gtk-3.0/assets/slider-vert-scale-has-marks-above-dark.png differ
diff --git a/gtk-3.0/assets/slider-vert-scale-has-marks-above-dark@2.png b/gtk-3.0/assets/slider-vert-scale-has-marks-above-dark@2.png
new file mode 100644
index 0000000..6478902
Binary files /dev/null and b/gtk-3.0/assets/slider-vert-scale-has-marks-above-dark@2.png differ
diff --git a/gtk-3.0/assets/slider-vert-scale-has-marks-above-hover-dark.png b/gtk-3.0/assets/slider-vert-scale-has-marks-above-hover-dark.png
new file mode 100644
index 0000000..0f0a1dc
Binary files /dev/null and b/gtk-3.0/assets/slider-vert-scale-has-marks-above-hover-dark.png differ
diff --git a/gtk-3.0/assets/slider-vert-scale-has-marks-above-hover-dark@2.png b/gtk-3.0/assets/slider-vert-scale-has-marks-above-hover-dark@2.png
new file mode 100644
index 0000000..818d99f
Binary files /dev/null and b/gtk-3.0/assets/slider-vert-scale-has-marks-above-hover-dark@2.png differ
diff --git a/gtk-3.0/assets/slider-vert-scale-has-marks-above-hover.png b/gtk-3.0/assets/slider-vert-scale-has-marks-above-hover.png
new file mode 100644
index 0000000..d7ce409
Binary files /dev/null and b/gtk-3.0/assets/slider-vert-scale-has-marks-above-hover.png differ
diff --git a/gtk-3.0/assets/slider-vert-scale-has-marks-above-hover@2.png b/gtk-3.0/assets/slider-vert-scale-has-marks-above-hover@2.png
new file mode 100644
index 0000000..42eb655
Binary files /dev/null and b/gtk-3.0/assets/slider-vert-scale-has-marks-above-hover@2.png differ
diff --git a/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive-dark.png b/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive-dark.png
new file mode 100644
index 0000000..3c87524
Binary files /dev/null and b/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive-dark.png differ
diff --git a/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive-dark@2.png b/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive-dark@2.png
new file mode 100644
index 0000000..b424d09
Binary files /dev/null and b/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive-dark@2.png differ
diff --git a/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive.png b/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive.png
new file mode 100644
index 0000000..253f354
Binary files /dev/null and b/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive.png differ
diff --git a/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive@2.png b/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive@2.png
new file mode 100644
index 0000000..0ad203e
Binary files /dev/null and b/gtk-3.0/assets/slider-vert-scale-has-marks-above-insensitive@2.png differ
diff --git a/gtk-3.0/assets/slider-vert-scale-has-marks-above.png b/gtk-3.0/assets/slider-vert-scale-has-marks-above.png
new file mode 100644
index 0000000..a367f6c
Binary files /dev/null and b/gtk-3.0/assets/slider-vert-scale-has-marks-above.png differ
diff --git a/gtk-3.0/assets/slider-vert-scale-has-marks-above@2.png b/gtk-3.0/assets/slider-vert-scale-has-marks-above@2.png
new file mode 100644
index 0000000..b0c6af5
Binary files /dev/null and b/gtk-3.0/assets/slider-vert-scale-has-marks-above@2.png differ
diff --git a/gtk-3.0/assets/slider-vert-scale-has-marks-below-active-dark.png b/gtk-3.0/assets/slider-vert-scale-has-marks-below-active-dark.png
new file mode 100644
index 0000000..99fcf80
Binary files /dev/null and b/gtk-3.0/assets/slider-vert-scale-has-marks-below-active-dark.png differ
diff --git a/gtk-3.0/assets/slider-vert-scale-has-marks-below-active-dark@2.png b/gtk-3.0/assets/slider-vert-scale-has-marks-below-active-dark@2.png
new file mode 100644
index 0000000..8a4b17f
Binary files /dev/null and b/gtk-3.0/assets/slider-vert-scale-has-marks-below-active-dark@2.png differ
diff --git a/gtk-3.0/assets/slider-vert-scale-has-marks-below-active.png b/gtk-3.0/assets/slider-vert-scale-has-marks-below-active.png
new file mode 100644
index 0000000..73f9625
Binary files /dev/null and b/gtk-3.0/assets/slider-vert-scale-has-marks-below-active.png differ
diff --git a/gtk-3.0/assets/slider-vert-scale-has-marks-below-active@2.png b/gtk-3.0/assets/slider-vert-scale-has-marks-below-active@2.png
new file mode 100644
index 0000000..3730223
Binary files /dev/null and b/gtk-3.0/assets/slider-vert-scale-has-marks-below-active@2.png differ
diff --git a/gtk-3.0/assets/slider-vert-scale-has-marks-below-backdrop-dark.png b/gtk-3.0/assets/slider-vert-scale-has-marks-below-backdrop-dark.png
new file mode 100644
index 0000000..9bb3990
Binary files /dev/null and b/gtk-3.0/assets/slider-vert-scale-has-marks-below-backdrop-dark.png differ
diff --git a/gtk-3.0/assets/slider-vert-scale-has-marks-below-backdrop-dark@2.png b/gtk-3.0/assets/slider-vert-scale-has-marks-below-backdrop-dark@2.png
new file mode 100644
index 0000000..a5d8987
Binary files /dev/null and b/gtk-3.0/assets/slider-vert-scale-has-marks-below-backdrop-dark@2.png differ
diff --git a/gtk-3.0/assets/slider-vert-scale-has-marks-below-backdrop-insensitive-dark.png b/gtk-3.0/assets/slider-vert-scale-has-marks-below-backdrop-insensitive-dark.png
new file mode 100644
index 0000000..9bb3990
Binary files /dev/null and b/gtk-3.0/assets/slider-vert-scale-has-marks-below-backdrop-insensitive-dark.png differ
diff --git a/gtk-3.0/assets/slider-vert-scale-has-marks-below-backdrop-insensitive-dark@2.png b/gtk-3.0/assets/slider-vert-scale-has-marks-below-backdrop-insensitive-dark@2.png
new file mode 100644
index 0000000..a5d8987
Binary files /dev/null and b/gtk-3.0/assets/slider-vert-scale-has-marks-below-backdrop-insensitive-dark@2.png differ
diff --git a/gtk-3.0/assets/slider-vert-scale-has-marks-below-backdrop-insensitive.png b/gtk-3.0/assets/slider-vert-scale-has-marks-below-backdrop-insensitive.png
new file mode 100644
index 0000000..1f4fcbd
Binary files /dev/null and b/gtk-3.0/assets/slider-vert-scale-has-marks-below-backdrop-insensitive.png differ
diff --git a/gtk-3.0/assets/slider-vert-scale-has-marks-below-backdrop-insensitive@2.png b/gtk-3.0/assets/slider-vert-scale-has-marks-below-backdrop-insensitive@2.png
new file mode 100644
index 0000000..7e7d4e3
Binary files /dev/null and b/gtk-3.0/assets/slider-vert-scale-has-marks-below-backdrop-insensitive@2.png differ
diff --git a/gtk-3.0/assets/slider-vert-scale-has-marks-below-backdrop.png b/gtk-3.0/assets/slider-vert-scale-has-marks-below-backdrop.png
new file mode 100644
index 0000000..bc0a391
Binary files /dev/null and b/gtk-3.0/assets/slider-vert-scale-has-marks-below-backdrop.png differ
diff --git a/gtk-3.0/assets/slider-vert-scale-has-marks-below-backdrop@2.png b/gtk-3.0/assets/slider-vert-scale-has-marks-below-backdrop@2.png
new file mode 100644
index 0000000..d114a49
Binary files /dev/null and b/gtk-3.0/assets/slider-vert-scale-has-marks-below-backdrop@2.png differ
diff --git a/gtk-3.0/assets/slider-vert-scale-has-marks-below-dark.png b/gtk-3.0/assets/slider-vert-scale-has-marks-below-dark.png
new file mode 100644
index 0000000..3e27d1d
Binary files /dev/null and b/gtk-3.0/assets/slider-vert-scale-has-marks-below-dark.png differ
diff --git a/gtk-3.0/assets/slider-vert-scale-has-marks-below-dark@2.png b/gtk-3.0/assets/slider-vert-scale-has-marks-below-dark@2.png
new file mode 100644
index 0000000..e875feb
Binary files /dev/null and b/gtk-3.0/assets/slider-vert-scale-has-marks-below-dark@2.png differ
diff --git a/gtk-3.0/assets/slider-vert-scale-has-marks-below-hover-dark.png b/gtk-3.0/assets/slider-vert-scale-has-marks-below-hover-dark.png
new file mode 100644
index 0000000..5e09e4f
Binary files /dev/null and b/gtk-3.0/assets/slider-vert-scale-has-marks-below-hover-dark.png differ
diff --git a/gtk-3.0/assets/slider-vert-scale-has-marks-below-hover-dark@2.png b/gtk-3.0/assets/slider-vert-scale-has-marks-below-hover-dark@2.png
new file mode 100644
index 0000000..00491aa
Binary files /dev/null and b/gtk-3.0/assets/slider-vert-scale-has-marks-below-hover-dark@2.png differ
diff --git a/gtk-3.0/assets/slider-vert-scale-has-marks-below-hover.png b/gtk-3.0/assets/slider-vert-scale-has-marks-below-hover.png
new file mode 100644
index 0000000..692a8e9
Binary files /dev/null and b/gtk-3.0/assets/slider-vert-scale-has-marks-below-hover.png differ
diff --git a/gtk-3.0/assets/slider-vert-scale-has-marks-below-hover@2.png b/gtk-3.0/assets/slider-vert-scale-has-marks-below-hover@2.png
new file mode 100644
index 0000000..25ce994
Binary files /dev/null and b/gtk-3.0/assets/slider-vert-scale-has-marks-below-hover@2.png differ
diff --git a/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive-dark.png b/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive-dark.png
new file mode 100644
index 0000000..9bb3990
Binary files /dev/null and b/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive-dark.png differ
diff --git a/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive-dark@2.png b/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive-dark@2.png
new file mode 100644
index 0000000..a5d8987
Binary files /dev/null and b/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive-dark@2.png differ
diff --git a/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive.png b/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive.png
new file mode 100644
index 0000000..bc0a391
Binary files /dev/null and b/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive.png differ
diff --git a/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive@2.png b/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive@2.png
new file mode 100644
index 0000000..9befc69
Binary files /dev/null and b/gtk-3.0/assets/slider-vert-scale-has-marks-below-insensitive@2.png differ
diff --git a/gtk-3.0/assets/slider-vert-scale-has-marks-below.png b/gtk-3.0/assets/slider-vert-scale-has-marks-below.png
new file mode 100644
index 0000000..c8141d9
Binary files /dev/null and b/gtk-3.0/assets/slider-vert-scale-has-marks-below.png differ
diff --git a/gtk-3.0/assets/slider-vert-scale-has-marks-below@2.png b/gtk-3.0/assets/slider-vert-scale-has-marks-below@2.png
new file mode 100644
index 0000000..7dce35e
Binary files /dev/null and b/gtk-3.0/assets/slider-vert-scale-has-marks-below@2.png differ
diff --git a/gtk-3.0/assets/text-select-end-active-dark.png b/gtk-3.0/assets/text-select-end-active-dark.png
new file mode 100644
index 0000000..7bfab5c
Binary files /dev/null and b/gtk-3.0/assets/text-select-end-active-dark.png differ
diff --git a/gtk-3.0/assets/text-select-end-active-dark@2.png b/gtk-3.0/assets/text-select-end-active-dark@2.png
new file mode 100644
index 0000000..0a827e4
Binary files /dev/null and b/gtk-3.0/assets/text-select-end-active-dark@2.png differ
diff --git a/gtk-3.0/assets/text-select-end-active.png b/gtk-3.0/assets/text-select-end-active.png
new file mode 100644
index 0000000..3b954a8
Binary files /dev/null and b/gtk-3.0/assets/text-select-end-active.png differ
diff --git a/gtk-3.0/assets/text-select-end-active@2.png b/gtk-3.0/assets/text-select-end-active@2.png
new file mode 100644
index 0000000..d405276
Binary files /dev/null and b/gtk-3.0/assets/text-select-end-active@2.png differ
diff --git a/gtk-3.0/assets/text-select-end-dark.png b/gtk-3.0/assets/text-select-end-dark.png
new file mode 100644
index 0000000..e2a49e1
Binary files /dev/null and b/gtk-3.0/assets/text-select-end-dark.png differ
diff --git a/gtk-3.0/assets/text-select-end-dark@2.png b/gtk-3.0/assets/text-select-end-dark@2.png
new file mode 100644
index 0000000..20e6f04
Binary files /dev/null and b/gtk-3.0/assets/text-select-end-dark@2.png differ
diff --git a/gtk-3.0/assets/text-select-end-hover-dark.png b/gtk-3.0/assets/text-select-end-hover-dark.png
new file mode 100644
index 0000000..d8565f3
Binary files /dev/null and b/gtk-3.0/assets/text-select-end-hover-dark.png differ
diff --git a/gtk-3.0/assets/text-select-end-hover-dark@2.png b/gtk-3.0/assets/text-select-end-hover-dark@2.png
new file mode 100644
index 0000000..552cc81
Binary files /dev/null and b/gtk-3.0/assets/text-select-end-hover-dark@2.png differ
diff --git a/gtk-3.0/assets/text-select-end-hover.png b/gtk-3.0/assets/text-select-end-hover.png
new file mode 100644
index 0000000..98f2c96
Binary files /dev/null and b/gtk-3.0/assets/text-select-end-hover.png differ
diff --git a/gtk-3.0/assets/text-select-end-hover@2.png b/gtk-3.0/assets/text-select-end-hover@2.png
new file mode 100644
index 0000000..951b6ef
Binary files /dev/null and b/gtk-3.0/assets/text-select-end-hover@2.png differ
diff --git a/gtk-3.0/assets/text-select-end.png b/gtk-3.0/assets/text-select-end.png
new file mode 100644
index 0000000..f1dfb6b
Binary files /dev/null and b/gtk-3.0/assets/text-select-end.png differ
diff --git a/gtk-3.0/assets/text-select-end@2.png b/gtk-3.0/assets/text-select-end@2.png
new file mode 100644
index 0000000..0f01173
Binary files /dev/null and b/gtk-3.0/assets/text-select-end@2.png differ
diff --git a/gtk-3.0/assets/text-select-start-active-dark.png b/gtk-3.0/assets/text-select-start-active-dark.png
new file mode 100644
index 0000000..b4fb025
Binary files /dev/null and b/gtk-3.0/assets/text-select-start-active-dark.png differ
diff --git a/gtk-3.0/assets/text-select-start-active-dark@2.png b/gtk-3.0/assets/text-select-start-active-dark@2.png
new file mode 100644
index 0000000..99e495e
Binary files /dev/null and b/gtk-3.0/assets/text-select-start-active-dark@2.png differ
diff --git a/gtk-3.0/assets/text-select-start-active.png b/gtk-3.0/assets/text-select-start-active.png
new file mode 100644
index 0000000..654c770
Binary files /dev/null and b/gtk-3.0/assets/text-select-start-active.png differ
diff --git a/gtk-3.0/assets/text-select-start-active@2.png b/gtk-3.0/assets/text-select-start-active@2.png
new file mode 100644
index 0000000..86f9e16
Binary files /dev/null and b/gtk-3.0/assets/text-select-start-active@2.png differ
diff --git a/gtk-3.0/assets/text-select-start-dark.png b/gtk-3.0/assets/text-select-start-dark.png
new file mode 100644
index 0000000..51fb98a
Binary files /dev/null and b/gtk-3.0/assets/text-select-start-dark.png differ
diff --git a/gtk-3.0/assets/text-select-start-dark@2.png b/gtk-3.0/assets/text-select-start-dark@2.png
new file mode 100644
index 0000000..ec6ceca
Binary files /dev/null and b/gtk-3.0/assets/text-select-start-dark@2.png differ
diff --git a/gtk-3.0/assets/text-select-start-hover-dark.png b/gtk-3.0/assets/text-select-start-hover-dark.png
new file mode 100644
index 0000000..4f56c37
Binary files /dev/null and b/gtk-3.0/assets/text-select-start-hover-dark.png differ
diff --git a/gtk-3.0/assets/text-select-start-hover-dark@2.png b/gtk-3.0/assets/text-select-start-hover-dark@2.png
new file mode 100644
index 0000000..3e5fecc
Binary files /dev/null and b/gtk-3.0/assets/text-select-start-hover-dark@2.png differ
diff --git a/gtk-3.0/assets/text-select-start-hover.png b/gtk-3.0/assets/text-select-start-hover.png
new file mode 100644
index 0000000..0fc7e6d
Binary files /dev/null and b/gtk-3.0/assets/text-select-start-hover.png differ
diff --git a/gtk-3.0/assets/text-select-start-hover@2.png b/gtk-3.0/assets/text-select-start-hover@2.png
new file mode 100644
index 0000000..11fdf08
Binary files /dev/null and b/gtk-3.0/assets/text-select-start-hover@2.png differ
diff --git a/gtk-3.0/assets/text-select-start.png b/gtk-3.0/assets/text-select-start.png
new file mode 100644
index 0000000..71a74d0
Binary files /dev/null and b/gtk-3.0/assets/text-select-start.png differ
diff --git a/gtk-3.0/assets/text-select-start@2.png b/gtk-3.0/assets/text-select-start@2.png
new file mode 100644
index 0000000..3a831f6
Binary files /dev/null and b/gtk-3.0/assets/text-select-start@2.png differ
diff --git a/gtk-3.0/gtk.css b/gtk-3.0/gtk.css
new file mode 100644
index 0000000..46e484b
--- /dev/null
+++ b/gtk-3.0/gtk.css
@@ -0,0 +1,1860 @@
+/*************************** Check and Radio buttons * */
+/*************************** Check and Radio buttons * */
+calendar:selected, row:selected, treeview.view:selected:focus, treeview.view:selected, modelbutton.flat:selected, .menuitem.button.flat:selected, spinbutton:not(.vertical) selection, entry selection, flowbox flowboxchild:selected, .view text selection:focus, iconview text selection:focus, .view text selection, iconview text selection, textview text selection:focus, textview text selection, .view:selected:focus, iconview:selected:focus, .view:selected, iconview:selected, .view text:selected:focus, iconview text:selected:focus, textview text:selected:focus, .view text:selected, iconview text:selected, textview text:selected { background-color: #386b00; }
+
+.selection-mode button.titlebutton, label:selected, calendar:selected, row:selected, treeview.view:selected:focus, treeview.view:selected, modelbutton.flat:selected, .menuitem.button.flat:selected, spinbutton:not(.vertical) selection, entry selection, flowbox flowboxchild:selected, .view text selection:focus, iconview text selection:focus, .view text selection, iconview text selection, textview text selection:focus, textview text selection, .view:selected:focus, iconview:selected:focus, .view:selected, iconview:selected, .view text:selected:focus, iconview text:selected:focus, textview text:selected:focus, .view text:selected, iconview text:selected, textview text:selected { color: #000000; }
+
+label:disabled selection, .selection-mode button.titlebutton:disabled, label:disabled:selected, calendar:disabled:selected, row:disabled:selected, treeview.view:disabled:selected, modelbutton.flat:disabled:selected, .menuitem.button.flat:disabled:selected, spinbutton:not(.vertical) selection:disabled, entry selection:disabled, flowbox flowboxchild:disabled:selected, .view text selection:disabled, iconview text selection:disabled, textview text selection:disabled:focus, textview text selection:disabled, .view:disabled:selected, iconview:disabled:selected, .view text:disabled:selected, iconview text:disabled:selected, textview text:disabled:selected { color: #1c3600; }
+
+label:backdrop selection, .selection-mode button.titlebutton:backdrop, label:backdrop:selected, calendar:backdrop:selected, row:backdrop:selected, treeview.view:backdrop:selected, modelbutton.flat:backdrop:selected, .menuitem.button.flat:backdrop:selected, spinbutton:not(.vertical) selection:backdrop, entry selection:backdrop, flowbox flowboxchild:backdrop:selected, .view text selection:backdrop, iconview text selection:backdrop, textview text selection:backdrop:focus, textview text selection:backdrop, .view:backdrop:selected, iconview:backdrop:selected, .view text:backdrop:selected, iconview text:backdrop:selected, textview text:backdrop:selected { color: #8d8c8a; }
+
+label:backdrop selection:disabled, .selection-mode button.titlebutton:backdrop:disabled, label:backdrop:disabled:selected, calendar:backdrop:disabled:selected, row:backdrop:disabled:selected, modelbutton.flat:backdrop:disabled:selected, .menuitem.button.flat:backdrop:disabled:selected, spinbutton:not(.vertical) selection:backdrop:disabled, entry selection:backdrop:disabled, flowbox flowboxchild:backdrop:disabled:selected, .view text selection:backdrop:disabled, iconview text selection:backdrop:disabled, textview text selection:backdrop:disabled, .view:backdrop:disabled:selected, iconview:backdrop:disabled:selected, .view text:backdrop:disabled:selected, iconview text:backdrop:disabled:selected, textview text:backdrop:disabled:selected { color: #52752a; }
+
+* { padding: 0; -GtkToolButton-icon-spacing: 4; -GtkTextView-error-underline-color: #990000; -GtkScrolledWindow-scrollbar-spacing: 0; -GtkToolItemGroup-expander-size: 11; -GtkWidget-text-handle-width: 20; -GtkWidget-text-handle-height: 24; -GtkDialog-button-spacing: 4; -GtkDialog-action-area-border: 0; outline-color: alpha(currentColor,0.3); outline-style: dashed; outline-offset: -3px; outline-width: 1px; -gtk-outline-radius: 3px; -gtk-secondary-caret-color: #386b00; }
+
+/*************** Base States * */
+.background { color: #241f31; background-color: #a7a7a7; }
+
+.background:backdrop { color: #66636c; background-color: #a7a7a7; text-shadow: none; -gtk-icon-shadow: none; }
+
+/* These wildcard seems unavoidable, need to investigate. Wildcards are bad and troublesome, use them with care, or better, just don't. Everytime a wildcard is used a kitten dies, painfully. */
+*:disabled { -gtk-icon-effect: dim; }
+
+.gtkstyle-fallback { color: #241f31; background-color: #a7a7a7; }
+
+.gtkstyle-fallback:hover { color: #241f31; background-color: #c1c1c1; }
+
+.gtkstyle-fallback:active { color: #241f31; background-color: #8e8e8e; }
+
+.gtkstyle-fallback:disabled { color: #552222; background-color: #938989; }
+
+.gtkstyle-fallback:selected { color: #000000; background-color: #386b00; }
+
+.view, iconview, .view text, iconview text, textview text { color: #241f31; background-color: #908f8d; }
+
+.view:backdrop, iconview:backdrop, .view text:backdrop, iconview text:backdrop, textview text:backdrop { color: #393543; background-color: #8d8c8a; }
+
+.view:backdrop:disabled, iconview:backdrop:disabled, .view text:backdrop:disabled, iconview text:backdrop:disabled, textview text:backdrop:disabled { color: #818181; }
+
+.view:disabled, iconview:disabled, .view text:disabled, iconview text:disabled, textview text:disabled { color: #552222; background-color: #938989; }
+
+.view:selected:focus, iconview:selected:focus, .view:selected, iconview:selected, .view text:selected:focus, iconview text:selected:focus, textview text:selected:focus, .view text:selected, iconview text:selected, textview text:selected { border-radius: 3px; }
+
+textview border { background-color: #9c9b9a; }
+
+.rubberband, rubberband, .content-view rubberband, .content-view .rubberband, treeview.view rubberband, flowbox rubberband { border: 1px solid #1d3800; background-color: rgba(29, 56, 0, 0.2); }
+
+flowbox flowboxchild { padding: 3px; }
+
+flowbox flowboxchild:selected { outline-offset: -2px; }
+
+.content-view .tile { margin: 2px; background-color: transparent; border-radius: 0; padding: 0; }
+
+.content-view .tile:backdrop { background-color: transparent; }
+
+.content-view .tile:active, .content-view .tile:selected { background-color: transparent; }
+
+.content-view .tile:disabled { background-color: transparent; }
+
+label { caret-color: currentColor; }
+
+label selection { background-color: #386b00; color: #000000; }
+
+label:disabled { color: #552222; }
+
+button label:disabled { color: inherit; }
+
+label:disabled:backdrop { color: #818181; }
+
+button label:disabled:backdrop { color: inherit; }
+
+label.error { color: #990000; }
+
+label.error:disabled { color: rgba(153, 0, 0, 0.5); }
+
+label.error:disabled:backdrop { color: rgba(153, 0, 0, 0.4); }
+
+.dim-label, .titlebar:not(headerbar) .subtitle, headerbar .subtitle, label.separator { opacity: 0.55; text-shadow: none; }
+
+assistant .sidebar { background-color: #908f8d; border-top: 1px solid #797979; }
+
+assistant .sidebar:backdrop { background-color: #8d8c8a; border-color: #828282; }
+
+assistant.csd .sidebar { border-top-style: none; }
+
+assistant .sidebar label { padding: 6px 12px; }
+
+assistant .sidebar label.highlight { background-color: #8d8c8f; }
+
+.osd .scale-popup, .app-notification, .app-notification.frame, .csd popover.background.osd, popover.background.osd, .csd popover.background.touch-selection, .csd popover.background.magnifier, popover.background.touch-selection, popover.background.magnifier, .osd { color: #002269; border: 1px solid #002269; background-color: rgba(103, 137, 180, 0.7); background-clip: padding-box; }
+
+/********************* Spinner Animation * */
+@keyframes spin { to { -gtk-icon-transform: rotate(1turn); } }
+
+spinner { background: none; opacity: 0.1; -gtk-icon-source: -gtk-icontheme("process-working-symbolic"); }
+
+spinner:backdrop { color: #66636c; }
+
+spinner:checked { opacity: 1; animation: spin 1s linear infinite; }
+
+spinner:checked:disabled { opacity: 0.5; color: #552222; }
+
+/********************** General Typography * */
+.large-title { font-weight: 300; font-size: 24pt; }
+
+.title-1 { font-weight: 800; font-size: 20pt; }
+
+.title-2 { font-weight: 800; font-size: 15pt; }
+
+.title-3 { font-weight: 700; font-size: 15pt; }
+
+.title-4 { font-weight: 700; font-size: 13pt; }
+
+.heading { font-weight: 700; font-size: 11pt; }
+
+.body { font-weight: 400; font-size: 11pt; }
+
+.caption-heading { font-weight: 700; font-size: 9pt; }
+
+.caption { font-weight: 400; font-size: 9pt; }
+
+/**************** Text Entries * */
+spinbutton:not(.vertical), entry { min-height: 28px; padding-left: 8px; padding-right: 8px; border: 1px solid; border-radius: 5px; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); color: #241f31; border-color: #797979; background-color: #908f8d; box-shadow: inset 0 0 0 1px rgba(56, 107, 0, 0), inset 0 1px 2px rgba(0, 0, 0, 0.4), 0 1px rgba(255, 255, 255, 0.5); }
+
+spinbutton:not(.vertical) image.left, entry image.left { margin-right: 6px; }
+
+spinbutton:not(.vertical) image.right, entry image.right { margin-left: 6px; }
+
+spinbutton.flat:not(.vertical), entry.flat:focus, entry.flat:backdrop, entry.flat:disabled, entry.flat { min-height: 0; padding: 2px; background-color: transparent; border-color: transparent; border-radius: 0; }
+
+spinbutton:focus:not(.vertical), entry:focus { box-shadow: inset 0 0 0 1px #386b00, inset 0 1px 2px rgba(0, 0, 0, 0.4), 0 1px rgba(255, 255, 255, 0.5); border-color: #386b00; }
+
+spinbutton:disabled:not(.vertical), entry:disabled { color: #552222; border-color: #552222; background-color: #938989; box-shadow: none; }
+
+spinbutton:backdrop:not(.vertical), entry:backdrop { color: #393543; border-color: #828282; background-color: #8d8c8a; box-shadow: none; transition: 200ms ease-out; }
+
+spinbutton:backdrop:disabled:not(.vertical), entry:backdrop:disabled { color: #818181; border-color: #828282; background-color: #938989; box-shadow: none; }
+
+spinbutton.error:not(.vertical), entry.error { color: #990000; border-color: #990000; }
+
+spinbutton.error:focus:not(.vertical), entry.error:focus { box-shadow: inset 0 0 0 1px #990000, inset 0 1px 2px rgba(0, 0, 0, 0.4), 0 1px rgba(255, 255, 255, 0.5); border-color: #990000; }
+
+spinbutton.error:not(.vertical) selection, entry.error selection { background-color: #990000; }
+
+spinbutton.warning:not(.vertical), entry.warning { color: #f57900; border-color: #f57900; }
+
+spinbutton.warning:focus:not(.vertical), entry.warning:focus { box-shadow: inset 0 0 0 1px #f57900, inset 0 1px 2px rgba(0, 0, 0, 0.4), 0 1px rgba(255, 255, 255, 0.5); border-color: #f57900; }
+
+spinbutton.warning:not(.vertical) selection, entry.warning selection { background-color: #f57900; }
+
+spinbutton:not(.vertical) image, entry image { color: #3a3543; }
+
+spinbutton:not(.vertical) image:hover, entry image:hover { color: #241f31; }
+
+spinbutton:not(.vertical) image:active, entry image:active { color: #386b00; }
+
+spinbutton:not(.vertical) image:backdrop, entry image:backdrop { color: #6e6b72; }
+
+spinbutton:drop(active):not(.vertical), entry:drop(active):focus, entry:drop(active) { border-color: #73d216; box-shadow: inset 0 0 0 1px #73d216; }
+
+.osd spinbutton:not(.vertical), .osd entry { color: #002269; border-color: #002269; background-color: rgba(0, 34, 105, 0.5); background-clip: padding-box; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4); text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; }
+
+.osd spinbutton:focus:not(.vertical), .osd entry:focus { color: #002269; border-color: #386b00; background-color: rgba(0, 34, 105, 0.5); background-clip: padding-box; box-shadow: inset 0 0 0 1px #386b00, 0 1px 2px rgba(0, 0, 0, 0.4); text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; }
+
+.osd spinbutton:backdrop:not(.vertical), .osd entry:backdrop { color: #002269; border-color: #002269; background-color: rgba(0, 34, 105, 0.5); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; }
+
+.osd spinbutton:disabled:not(.vertical), .osd entry:disabled { color: #34568f; border-color: #002269; background-color: rgba(93, 127, 173, 0.5); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; }
+
+spinbutton:not(.vertical) progress, entry progress { margin: 2px -6px; background-color: transparent; background-image: none; border-radius: 0; border-width: 0 0 2px; border-color: #386b00; border-style: solid; box-shadow: none; }
+
+spinbutton:not(.vertical) progress:backdrop, entry progress:backdrop { background-color: transparent; }
+
+.linked:not(.vertical) > spinbutton:focus:not(.vertical) + spinbutton:not(.vertical), .linked:not(.vertical) > spinbutton:focus:not(.vertical) + button, .linked:not(.vertical) > spinbutton:focus:not(.vertical) + combobox > box > button.combo, .linked:not(.vertical) > spinbutton:focus:not(.vertical) + entry, .linked:not(.vertical) > entry:focus + button, .linked:not(.vertical) > entry:focus + combobox > box > button.combo, .linked:not(.vertical) > entry:focus + spinbutton:not(.vertical), .linked:not(.vertical) > entry:focus + entry { border-left-color: #386b00; }
+
+.linked:not(.vertical) > spinbutton:focus.error:not(.vertical) + spinbutton:not(.vertical), .linked:not(.vertical) > spinbutton:focus.error:not(.vertical) + button, .linked:not(.vertical) > spinbutton:focus.error:not(.vertical) + combobox > box > button.combo, .linked:not(.vertical) > spinbutton:focus.error:not(.vertical) + entry, .linked:not(.vertical) > entry:focus.error + button, .linked:not(.vertical) > entry:focus.error + combobox > box > button.combo, .linked:not(.vertical) > entry:focus.error + spinbutton:not(.vertical), .linked:not(.vertical) > entry:focus.error + entry { border-left-color: #990000; }
+
+.linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + spinbutton:not(.vertical), .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + button, .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + combobox > box > button.combo, .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + entry, .linked:not(.vertical) > entry:drop(active) + button, .linked:not(.vertical) > entry:drop(active) + combobox > box > button.combo, .linked:not(.vertical) > entry:drop(active) + spinbutton:not(.vertical), .linked:not(.vertical) > entry:drop(active) + entry { border-left-color: #73d216; }
+
+.linked.vertical > spinbutton:not(:disabled):not(.vertical) + entry:not(:disabled), .linked.vertical > spinbutton:not(:disabled):not(.vertical) + spinbutton:not(:disabled):not(.vertical), .linked.vertical > entry:not(:disabled) + entry:not(:disabled), .linked.vertical > entry:not(:disabled) + spinbutton:not(:disabled):not(.vertical) { border-top-color: #898887; }
+
+.linked.vertical > spinbutton:not(:disabled):not(.vertical) + entry:not(:disabled):backdrop, .linked.vertical > spinbutton:not(:disabled):not(.vertical) + spinbutton:not(:disabled):backdrop:not(.vertical), .linked.vertical > entry:not(:disabled) + entry:not(:disabled):backdrop, .linked.vertical > entry:not(:disabled) + spinbutton:not(:disabled):backdrop:not(.vertical) { border-top-color: #8a8988; }
+
+.linked.vertical > spinbutton:disabled:not(.vertical) + spinbutton:disabled:not(.vertical), .linked.vertical > spinbutton:disabled:not(.vertical) + entry:disabled, .linked.vertical > entry:disabled + spinbutton:disabled:not(.vertical), .linked.vertical > entry:disabled + entry:disabled { border-top-color: #898887; }
+
+.linked.vertical > spinbutton:not(.vertical) + spinbutton:focus:not(:only-child):not(.vertical), .linked.vertical > spinbutton:not(.vertical) + entry:focus:not(:only-child), .linked.vertical > entry + spinbutton:focus:not(:only-child):not(.vertical), .linked.vertical > entry + entry:focus:not(:only-child) { border-top-color: #386b00; }
+
+.linked.vertical > spinbutton:not(.vertical) + spinbutton:focus.error:not(:only-child):not(.vertical), .linked.vertical > spinbutton:not(.vertical) + entry:focus.error:not(:only-child), .linked.vertical > entry + spinbutton:focus.error:not(:only-child):not(.vertical), .linked.vertical > entry + entry:focus.error:not(:only-child) { border-top-color: #990000; }
+
+.linked.vertical > spinbutton:not(.vertical) + spinbutton:drop(active):not(:only-child):not(.vertical), .linked.vertical > spinbutton:not(.vertical) + entry:drop(active):not(:only-child), .linked.vertical > entry + spinbutton:drop(active):not(:only-child):not(.vertical), .linked.vertical > entry + entry:drop(active):not(:only-child) { border-top-color: #73d216; }
+
+.linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + spinbutton:not(.vertical), .linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + entry, .linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + button, .linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + combobox > box > button.combo, .linked.vertical > entry:focus:not(:only-child) + spinbutton:not(.vertical), .linked.vertical > entry:focus:not(:only-child) + entry, .linked.vertical > entry:focus:not(:only-child) + button, .linked.vertical > entry:focus:not(:only-child) + combobox > box > button.combo { border-top-color: #386b00; }
+
+.linked.vertical > spinbutton:focus.error:not(:only-child):not(.vertical) + spinbutton:not(.vertical), .linked.vertical > spinbutton:focus.error:not(:only-child):not(.vertical) + entry, .linked.vertical > spinbutton:focus.error:not(:only-child):not(.vertical) + button, .linked.vertical > spinbutton:focus.error:not(:only-child):not(.vertical) + combobox > box > button.combo, .linked.vertical > entry:focus.error:not(:only-child) + spinbutton:not(.vertical), .linked.vertical > entry:focus.error:not(:only-child) + entry, .linked.vertical > entry:focus.error:not(:only-child) + button, .linked.vertical > entry:focus.error:not(:only-child) + combobox > box > button.combo { border-top-color: #990000; }
+
+.linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + spinbutton:not(.vertical), .linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + entry, .linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + button, .linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + combobox > box > button.combo, .linked.vertical > entry:drop(active):not(:only-child) + spinbutton:not(.vertical), .linked.vertical > entry:drop(active):not(:only-child) + entry, .linked.vertical > entry:drop(active):not(:only-child) + button, .linked.vertical > entry:drop(active):not(:only-child) + combobox > box > button.combo { border-top-color: #73d216; }
+
+spinbutton.error:not(.vertical), entry.error { color: #990000; }
+
+treeview entry:focus:dir(rtl), treeview entry:focus:dir(ltr) { background-color: #908f8d; transition-property: color, background; }
+
+treeview entry.flat, treeview entry { border-radius: 0; background-image: none; background-color: #908f8d; }
+
+treeview entry.flat:focus, treeview entry:focus { border-color: #386b00; }
+
+.entry-tag { padding: 5px; margin-top: 2px; margin-bottom: 2px; border-style: none; color: #000000; background-color: #386b00; }
+
+:dir(ltr) .entry-tag { margin-left: 8px; margin-right: -5px; }
+
+:dir(rtl) .entry-tag { margin-left: -5px; margin-right: 8px; }
+
+.entry-tag:hover { background-color: #539e00; }
+
+:backdrop .entry-tag { color: #8d8c8a; background-color: #386b00; }
+
+.entry-tag.button { background-color: transparent; color: rgba(0, 0, 0, 0.7); }
+
+:not(:backdrop) .entry-tag.button:hover { border: 1px solid #386b00; color: #000000; }
+
+:not(:backdrop) .entry-tag.button:active { background-color: #386b00; color: rgba(0, 0, 0, 0.7); }
+
+/****************************************************** Buttons * */
+@keyframes needs_attention { from { background-image: -gtk-gradient(radial, center center, 0, center center, 0.01, to(#386b00), to(transparent)); }
+ to { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(#386b00), to(transparent)); } }
+
+button.titlebutton, scrollbar slider, notebook > header > tabs > arrow, button { min-height: 24px; min-width: 16px; padding: 2px 6px; border: 1px solid; border-radius: 5px; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); color: #241f31; background-color: #bcbeb9; outline-color: rgba(56, 107, 0, 0.5); background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.15)); text-shadow: 0 1px rgba(255, 255, 255, 0.3); -gtk-icon-shadow: 0 1px rgba(255, 255, 255, 0.3); box-shadow: inset 0 1px rgba(255, 255, 255, 0.5), 0 1px 2px rgba(0, 0, 0, 0.4); }
+
+button.titlebutton:not(:hover):not(:active):not(:checked):not(:disabled), button.sidebar-button, notebook > header > tabs > arrow, scrollbar slider.flat:not(:hover):not(:active):not(:checked):not(:disabled), notebook > header > tabs > arrow.flat:not(:hover):not(:active):not(:checked):not(:disabled), button.flat:not(:hover):not(:active):not(:checked):not(:disabled) { 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; transition: none; }
+
+scrollbar slider:hover, notebook > header > tabs > arrow:hover, button:hover { background-color: shade(#bcbeb9, 1.1); -gtk-icon-effect: highlight; }
+
+scrollbar slider:active, notebook > header > tabs > arrow:active, button:active { box-shadow: 0 1px rgba(255, 255, 255, 0.5), inset 0 1px 2px rgba(0, 0, 0, 0.4); transition-duration: 50ms; }
+
+scrollbar slider:checked, notebook > header > tabs > arrow:checked, button:checked, button:checked:active { color: #000000; background-color: #386b00; text-shadow: 0 1px rgba(255, 255, 255, 0.3); -gtk-icon-shadow: 0 1px rgba(255, 255, 255, 0.3); box-shadow: 0 1px rgba(255, 255, 255, 0.5), inset 0 1px 2px rgba(0, 0, 0, 0.4); transition-duration: 50ms; }
+
+scrollbar slider:checked:hover:not(:active), notebook > header > tabs > arrow:checked:hover:not(:active), button:checked:hover:not(:active) { color: #000000; background-color: shade(#386b00, 1.1); text-shadow: 0 1px rgba(255, 255, 255, 0.3); -gtk-icon-shadow: 0 1px rgba(255, 255, 255, 0.3); box-shadow: 0 1px rgba(255, 255, 255, 0.5), inset 0 1px 2px rgba(0, 0, 0, 0.4); }
+
+scrollbar slider:backdrop, notebook > header > tabs > arrow:backdrop, button:backdrop.flat, button:backdrop { background-image: none; transition: 200ms ease-out; -gtk-icon-effect: none; }
+
+button.titlebutton:backdrop:not(:hover):not(:active):not(:checked):not(:disabled), button.sidebar-button:backdrop, notebook > header > tabs > arrow:backdrop, button.titlebutton:disabled:not(:hover):not(:active):not(:checked):not(:disabled), button.sidebar-button:disabled, notebook > header > tabs > arrow:disabled, scrollbar slider.flat:backdrop, scrollbar slider.flat:disabled, button.flat:backdrop, button.flat:disabled, button.flat:backdrop:disabled { 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; }
+
+scrollbar slider:disabled, notebook > header > tabs > arrow:disabled, button:disabled { color: #552222; background-color: #938989; background-image: none; }
+
+scrollbar slider:disabled:active, notebook > header > tabs > arrow:disabled:active, scrollbar slider:disabled:checked, notebook > header > tabs > arrow:disabled:checked, button:disabled:active, button:disabled:checked { color: #552222; background-color: #858574; }
+
+scrollbar slider.image-button, notebook > header > tabs > arrow.image-button, button.image-button { min-width: 24px; padding-left: 2px; padding-right: 2px; }
+
+scrollbar slider.text-button, notebook > header > tabs > arrow.text-button, button.text-button { padding-left: 16px; padding-right: 16px; }
+
+scrollbar slider.text-button.image-button, notebook > header > tabs > arrow.text-button.image-button, button.text-button.image-button { padding-left: 8px; padding-right: 8px; }
+
+scrollbar slider.text-button.image-button label, notebook > header > tabs > arrow.text-button.image-button label, button.text-button.image-button label { padding-left: 8px; padding-right: 8px; }
+
+combobox:drop(active) button.combo, scrollbar slider:drop(active), notebook > header > tabs > arrow:drop(active), button:drop(active) { color: #73d216; border-color: #73d216; box-shadow: inset 0 0 0 1px #73d216; }
+
+row:selected button { border-color: #101f00; }
+
+row:selected button.sidebar-button:not(:active):not(:checked):not(:hover):not(disabled), row:selected button.flat:not(:active):not(:checked):not(:hover):not(disabled) { color: #000000; border-color: transparent; }
+
+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: #8d8c8a; }
+
+button.osd { min-width: 26px; min-height: 32px; color: #002269; border-radius: 5px; border: none; box-shadow: none; }
+
+button.osd.image-button { min-width: 34px; }
+
+button.osd:hover { border: none; box-shadow: none; }
+
+button.osd:active, button.osd:checked { border: none; box-shadow: none; }
+
+button.osd:disabled:backdrop, button.osd:disabled { border: none; }
+
+button.osd:backdrop { border: none; }
+
+.app-notification button, .app-notification.frame button, .csd popover.background.touch-selection button, .csd popover.background.magnifier button, popover.background.touch-selection button, popover.background.magnifier button, .osd button { color: #002269; background-color: rgba(103, 137, 180, 0.7); outline-color: rgba(56, 107, 0, 0.5); background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.15)); text-shadow: 0 1px rgba(255, 255, 255, 0.3); -gtk-icon-shadow: 0 1px rgba(255, 255, 255, 0.3); box-shadow: inset 0 1px rgba(255, 255, 255, 0.5), 0 1px 2px rgba(0, 0, 0, 0.4); }
+
+.app-notification button:hover, popover.background.touch-selection button:hover, popover.background.magnifier button:hover, .osd button:hover { background-color: shade(rgba(103, 137, 180, 0.7), 1.1); }
+
+.app-notification button:active, popover.background.touch-selection button:active, popover.background.magnifier button:active, .app-notification button:checked, popover.background.touch-selection button:checked, popover.background.magnifier button:checked, .osd button:active:backdrop, .osd button:active, .osd button:checked:backdrop, .osd button:checked { box-shadow: 0 1px rgba(255, 255, 255, 0.5), inset 0 1px 2px rgba(0, 0, 0, 0.4); }
+
+.app-notification button:disabled, popover.background.touch-selection button:disabled, popover.background.magnifier button:disabled, .osd button:disabled:backdrop, .osd button:disabled { color: #552222; background-color: #938989; background-image: none; }
+
+.app-notification button:backdrop, popover.background.touch-selection button:backdrop, popover.background.magnifier button:backdrop, .osd button:backdrop { background-image: none; }
+
+.app-notification button.flat, popover.background.touch-selection button.flat, popover.background.magnifier button.flat, .osd button.flat { box-shadow: none; text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; }
+
+.app-notification button.flat:not(:hover):not(:active):not(:checked):not(:disabled), popover.background.touch-selection button.flat:not(:hover):not(:active):not(:checked):not(:disabled), popover.background.magnifier button.flat:not(:hover):not(:active):not(:checked):not(:disabled), .osd button.flat:not(:hover):not(:active):not(:checked):not(:disabled) { 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; }
+
+.app-notification button.flat:hover, popover.background.touch-selection button.flat:hover, popover.background.magnifier button.flat:hover, .osd button.flat:hover { background-color: shade(rgba(103, 137, 180, 0.7), 1.1); }
+
+.app-notification button.flat:disabled, popover.background.touch-selection button.flat:disabled, popover.background.magnifier button.flat:disabled, .osd button.flat:disabled { color: #552222; background-color: #938989; background-image: none; background-image: none; border-color: transparent; box-shadow: none; }
+
+.app-notification button.flat:backdrop, popover.background.touch-selection button.flat:backdrop, popover.background.magnifier button.flat:backdrop, .osd button.flat:backdrop { 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; }
+
+.app-notification button.flat:active, popover.background.touch-selection button.flat:active, popover.background.magnifier button.flat:active, .app-notification button.flat:checked, popover.background.touch-selection button.flat:checked, popover.background.magnifier button.flat:checked, .osd button.flat:active, .osd button.flat:checked { box-shadow: 0 1px rgba(255, 255, 255, 0.5), inset 0 1px 2px rgba(0, 0, 0, 0.4); }
+
+button.suggested-action { color: white; background-color: #386b00; outline-color: rgba(56, 107, 0, 0.5); background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.15)); text-shadow: 0 -1px rgba(0, 0, 0, 0.832157); -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.832157); box-shadow: inset 0 1px rgba(255, 255, 255, 0.3), 0 1px 2px rgba(0, 0, 0, 0.4); }
+
+button.suggested-action.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; color: #386b00; }
+
+button.suggested-action:hover { background-color: shade(#386b00, 1.1); }
+
+button.suggested-action:active, button.suggested-action:checked { box-shadow: 0 1px rgba(255, 255, 255, 0.3), inset 0 1px 2px rgba(0, 0, 0, 0.4); }
+
+button.suggested-action:backdrop, button.suggested-action.flat:backdrop { background-image: none; }
+
+button.suggested-action.flat:backdrop, button.suggested-action.flat:disabled, button.suggested-action.flat:backdrop:disabled { 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; color: rgba(56, 107, 0, 0.8); }
+
+button.suggested-action:disabled { color: #552222; background-color: #938989; background-image: none; }
+
+button.suggested-action:disabled:active, button.suggested-action:disabled:checked { color: #552222; background-color: #858574; }
+
+button.destructive-action { color: white; background-color: #990000; outline-color: rgba(56, 107, 0, 0.5); background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.15)); text-shadow: 0 -1px rgba(0, 0, 0, 0.76); -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.76); box-shadow: inset 0 1px rgba(255, 255, 255, 0.3), 0 1px 2px rgba(0, 0, 0, 0.4); }
+
+button.destructive-action.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; color: #990000; }
+
+button.destructive-action:hover { background-color: shade(#990000, 1.1); }
+
+button.destructive-action:active, button.destructive-action:checked { box-shadow: 0 1px rgba(255, 255, 255, 0.3), inset 0 1px 2px rgba(0, 0, 0, 0.4); }
+
+button.destructive-action:backdrop, button.destructive-action.flat:backdrop { background-image: none; }
+
+button.destructive-action.flat:backdrop, button.destructive-action.flat:disabled, button.destructive-action.flat:backdrop:disabled { 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; color: rgba(153, 0, 0, 0.8); }
+
+button.destructive-action:disabled { color: #552222; background-color: #938989; background-image: none; }
+
+button.destructive-action:disabled:active, button.destructive-action:disabled:checked { color: #552222; background-color: #858574; }
+
+.stack-switcher > button { outline-offset: -3px; }
+
+.stack-switcher > button > label { padding-left: 6px; padding-right: 6px; }
+
+.stack-switcher > button > image { padding-left: 6px; padding-right: 6px; padding-top: 3px; padding-bottom: 3px; }
+
+.stack-switcher > button.text-button { padding-left: 10px; padding-right: 10px; }
+
+.stack-switcher > button.image-button { padding-left: 2px; padding-right: 2px; }
+
+.stack-switcher > button.needs-attention:active > label, .stack-switcher > button.needs-attention:active > image, .stack-switcher > button.needs-attention:checked > label, .stack-switcher > button.needs-attention:checked > image { animation: none; background-image: none; }
+
+button.font separator, button.file separator { background-color: transparent; }
+
+button.font > box > box > label { font-weight: bold; }
+
+.primary-toolbar button { -gtk-icon-shadow: none; }
+
+button.circular { border-radius: 9999px; -gtk-outline-radius: 9999px; padding: 2px; /* circles instead of ellipses */ background-origin: padding-box, border-box; background-clip: padding-box, border-box; }
+
+button.circular label { padding: 0; }
+
+button.circular:not(.flat):not(.osd):not(:checked):not(:active):not(:disabled):not(:backdrop) { color: #241f31; background-color: #bcbeb9; outline-color: rgba(56, 107, 0, 0.5); background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.15)); text-shadow: 0 1px rgba(255, 255, 255, 0.3); -gtk-icon-shadow: 0 1px rgba(255, 255, 255, 0.3); box-shadow: inset 0 1px rgba(255, 255, 255, 0.5), 0 1px 2px rgba(0, 0, 0, 0.4); }
+
+button.circular:hover:not(.osd):not(:checked):not(:active):not(:disabled):not(:backdrop) { background-color: shade(#bcbeb9, 1.1); }
+
+stacksidebar row.needs-attention > label, .stack-switcher > button.needs-attention > label, .stack-switcher > button.needs-attention > image { animation: needs_attention 150ms ease-in; background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(#386b00), to(transparent)), -gtk-gradient(radial, center center, 0, center center, 0.5, to(rgba(255, 255, 255, 0.769231)), to(transparent)); background-size: 6px 6px, 6px 6px; background-repeat: no-repeat; background-position: right 3px, right 4px; }
+
+stacksidebar row.needs-attention > label:backdrop, .stack-switcher > button.needs-attention > label:backdrop, .stack-switcher > button.needs-attention > image:backdrop { background-size: 6px 6px, 0 0; }
+
+stacksidebar row.needs-attention > label:dir(rtl), .stack-switcher > button.needs-attention > label:dir(rtl), .stack-switcher > button.needs-attention > image:dir(rtl) { background-position: left 3px, left 4px; }
+
+.inline-toolbar toolbutton > button { color: #241f31; background-color: #bcbeb9; outline-color: rgba(56, 107, 0, 0.5); background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.15)); text-shadow: 0 1px rgba(255, 255, 255, 0.3); -gtk-icon-shadow: 0 1px rgba(255, 255, 255, 0.3); box-shadow: inset 0 1px rgba(255, 255, 255, 0.5), 0 1px 2px rgba(0, 0, 0, 0.4); }
+
+.inline-toolbar toolbutton > button:hover { background-color: shade(#bcbeb9, 1.1); }
+
+.inline-toolbar toolbutton > button:active, .inline-toolbar toolbutton > button:checked { box-shadow: 0 1px rgba(255, 255, 255, 0.5), inset 0 1px 2px rgba(0, 0, 0, 0.4); }
+
+.inline-toolbar toolbutton > button:disabled { color: #552222; background-color: #938989; background-image: none; }
+
+.inline-toolbar toolbutton > button:disabled:active, .inline-toolbar toolbutton > button:disabled:checked { color: #552222; background-color: #858574; }
+
+.inline-toolbar toolbutton > button:backdrop { background-image: none; }
+
+.linked:not(.vertical) > combobox > box > button.combo, filechooser .path-bar.linked > button, .linked:not(.vertical) > spinbutton:not(.vertical), .linked:not(.vertical) > entry, .inline-toolbar button, .linked > button, toolbar.inline-toolbar toolbutton > button.flat { border-right-style: none; border-radius: 0; -gtk-outline-radius: 0; }
+
+.linked:not(.vertical) > combobox:first-child > box > button.combo, combobox.linked button:nth-child(2):dir(rtl), filechooser .path-bar.linked > button:dir(rtl):last-child, filechooser .path-bar.linked > button:dir(ltr):first-child, .linked:not(.vertical) > spinbutton:first-child:not(.vertical), .linked:not(.vertical) > entry:first-child, .inline-toolbar button:first-child, .linked > button:first-child, toolbar.inline-toolbar toolbutton:first-child > button.flat { border-top-left-radius: 5px; border-bottom-left-radius: 5px; -gtk-outline-top-left-radius: 5px; -gtk-outline-bottom-left-radius: 5px; }
+
+.linked:not(.vertical) > combobox:last-child > box > button.combo, combobox.linked button:nth-child(2):dir(ltr), filechooser .path-bar.linked > button:dir(rtl):first-child, filechooser .path-bar.linked > button:dir(ltr):last-child, .linked:not(.vertical) > spinbutton:last-child:not(.vertical), .linked:not(.vertical) > entry:last-child, .inline-toolbar button:last-child, .linked > button:last-child, toolbar.inline-toolbar toolbutton:last-child > button.flat { border-right-style: solid; border-top-right-radius: 5px; border-bottom-right-radius: 5px; -gtk-outline-top-right-radius: 5px; -gtk-outline-bottom-right-radius: 5px; }
+
+.linked:not(.vertical) > combobox:only-child > box > button.combo, filechooser .path-bar.linked > button:only-child, .linked:not(.vertical) > spinbutton:only-child:not(.vertical), .linked:not(.vertical) > entry:only-child, .inline-toolbar button:only-child, .linked > button:only-child, toolbar.inline-toolbar toolbutton:only-child > button.flat { border-style: solid; border-radius: 5px; -gtk-outline-radius: 5px; }
+
+.linked.vertical > combobox > box > button.combo, .linked.vertical > spinbutton:not(.vertical), .linked.vertical > entry, .linked.vertical > button { border-style: solid solid none solid; border-radius: 0; -gtk-outline-radius: 0; }
+
+.linked.vertical > combobox:first-child > box > button.combo, .linked.vertical > spinbutton:first-child:not(.vertical), .linked.vertical > entry:first-child, .linked.vertical > button:first-child { border-top-left-radius: 5px; border-top-right-radius: 5px; -gtk-outline-top-left-radius: 5px; -gtk-outline-top-right-radius: 5px; }
+
+.linked.vertical > combobox:last-child > box > button.combo, .linked.vertical > spinbutton:last-child:not(.vertical), .linked.vertical > entry:last-child, .linked.vertical > button:last-child { border-bottom-style: solid; border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; -gtk-outline-bottom-left-radius: 5px; -gtk-outline-bottom-right-radius: 5px; }
+
+.linked.vertical > combobox:only-child > box > button.combo, .linked.vertical > spinbutton:only-child:not(.vertical), .linked.vertical > entry:only-child, .linked.vertical > button:only-child { border-style: solid; border-radius: 5px; -gtk-outline-radius: 5px; }
+
+.scale-popup button:backdrop:hover, .scale-popup button:backdrop:disabled, .scale-popup button:backdrop, .scale-popup button:hover, calendar.button, button:link:hover, button:link:active, button:link:checked, button:visited:hover, button:visited:active, button:visited:checked, button:link, button:visited, list row button.image-button:not(.flat), modelbutton.flat:backdrop, modelbutton.flat:backdrop:hover, .menuitem.button.flat:backdrop, .menuitem.button.flat:backdrop:hover, modelbutton.flat:not(:hover):not(:active):not(:checked):not(:disabled), .menuitem.button.flat:not(:hover):not(:active):not(:checked):not(:disabled) { background-color: transparent; background-image: none; border-color: transparent; box-shadow: inset 0 1px rgba(255, 255, 255, 0), 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; }
+
+/* menu buttons */
+modelbutton.flat, .menuitem.button.flat { min-height: 26px; padding-left: 5px; padding-right: 5px; border-radius: 5px; outline-offset: -2px; }
+
+modelbutton.flat:hover, .menuitem.button.flat:hover { background-color: #b4b4b4; }
+
+modelbutton.flat arrow { background: none; }
+
+modelbutton.flat arrow:hover { background: none; }
+
+modelbutton.flat arrow.left { -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); }
+
+modelbutton.flat arrow.right { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); }
+
+button.color { padding: 4px; }
+
+button.color colorswatch:only-child { box-shadow: 0 1px rgba(255, 255, 255, 0.769231); }
+
+button.color colorswatch:only-child, button.color colorswatch:only-child overlay { border-radius: 0; }
+
+.osd button.color colorswatch:only-child { box-shadow: none; }
+
+.osd button.color:disabled colorswatch:only-child, .osd button.color:backdrop colorswatch:only-child, .osd button.color:active colorswatch:only-child, .osd button.color:checked colorswatch:only-child, button.color:disabled colorswatch:only-child, button.color:backdrop colorswatch:only-child, button.color:active colorswatch:only-child, button.color:checked colorswatch:only-child { box-shadow: none; }
+
+/* list buttons */
+/* tone down as per new designs, see issue #1473, #1748 */
+list row button.image-button:not(.flat) { border: 1px solid rgba(121, 121, 121, 0.5); }
+
+list row button.image-button:not(.flat):hover { background-color: shade(#bcbeb9, 1.1); }
+
+list row button.image-button:not(.flat):active, list row button.image-button:not(.flat):checked { box-shadow: 0 1px rgba(255, 255, 255, 0.5), inset 0 1px 2px rgba(0, 0, 0, 0.4); }
+
+/********* Links * */
+button:link > label, button:visited > label, button:link, button:visited, *:link { color: #1d3800; }
+
+button:link > label:visited, button:visited > label:visited, button:visited, *:link:visited { color: #030500; }
+
+*:selected button:link > label:visited, *:selected button:visited > label:visited, *:selected button:visited, *:selected *:link:visited { color: #010200; }
+
+button:link > label:hover, button:visited > label:hover, button:hover:link, button:hover:visited, *:link:hover { color: #386b00; }
+
+*:selected button:link > label:hover, *:selected button:visited > label:hover, *:selected button:hover:link, *:selected button:hover:visited, *:selected *:link:hover { color: #060b00; }
+
+button:link > label:active, button:visited > label:active, button:active:link, button:active:visited, *:link:active { color: #1d3800; }
+
+*:selected button:link > label:active, *:selected button:visited > label:active, *:selected button:active:link, *:selected button:active:visited, *:selected *:link:active { color: #060b00; }
+
+button:link > label:disabled, button:visited > label:disabled, button:disabled:link, button:disabled:visited, *:link:disabled, *:link:disabled:backdrop { color: rgba(28, 28, 28, 0.8); }
+
+button:link > label:backdrop, button:visited > label:backdrop, button:backdrop:link, button:backdrop:visited, *:link:backdrop:backdrop:hover, *:link:backdrop:backdrop:hover:selected, *:link:backdrop { color: rgba(29, 56, 0, 0.9); }
+
+.selection-mode .titlebar:not(headerbar) .subtitle:link, .selection-mode.titlebar:not(headerbar) .subtitle:link, .selection-mode headerbar .subtitle:link, headerbar.selection-mode .subtitle:link, button:link > label:selected, button:visited > label:selected, button:selected:link, button:selected:visited, *:selected button:link > label, *:selected button:visited > label, *:selected button:link, *:selected button:visited, *:link:selected, *:selected *:link { color: #060b00; }
+
+button:link, button:visited { text-shadow: none; }
+
+button:link:hover, button:link:active, button:link:checked, button:visited:hover, button:visited:active, button:visited:checked { text-shadow: none; }
+
+button:link > label, button:visited > label { text-decoration-line: underline; }
+
+/***************** GtkSpinButton * */
+spinbutton { font-feature-settings: "tnum"; }
+
+spinbutton:not(.vertical) { padding: 0; }
+
+.osd spinbutton:not(.vertical) entry, spinbutton:not(.vertical) entry { min-width: 28px; margin: 0; background: none; background-color: transparent; border: none; border-radius: 0; box-shadow: none; }
+
+spinbutton:not(.vertical) entry:backdrop:disabled { background-color: transparent; }
+
+spinbutton:not(.vertical) button { padding: 0; }
+
+.osd spinbutton:not(.vertical) button { 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; color: #002269; border-style: none none none solid; border-color: rgba(0, 34, 105, 0.7); border-radius: 0; box-shadow: none; -gtk-icon-shadow: 0 1px black; }
+
+.osd spinbutton:not(.vertical) button:dir(rtl) { border-style: none solid none none; }
+
+.osd spinbutton:not(.vertical) button:hover { 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; color: #002269; border-color: rgba(0, 34, 105, 0.5); background-color: rgba(0, 34, 105, 0.1); -gtk-icon-shadow: 0 1px black; box-shadow: none; }
+
+.osd spinbutton:not(.vertical) button:backdrop { 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; color: #002269; border-color: rgba(0, 34, 105, 0.5); -gtk-icon-shadow: none; box-shadow: none; }
+
+.osd spinbutton:not(.vertical) button:disabled { 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; color: #34568f; border-color: rgba(0, 34, 105, 0.5); -gtk-icon-shadow: none; box-shadow: none; }
+
+.osd spinbutton:not(.vertical) button:dir(ltr):last-child { border-radius: 0 5px 5px 0; }
+
+.osd spinbutton:not(.vertical) button:dir(rtl):first-child { border-radius: 5px 0 0 5px; }
+
+spinbutton.vertical:disabled { color: #552222; }
+
+spinbutton.vertical:backdrop:disabled { color: #818181; }
+
+spinbutton.vertical:drop(active) { border-color: transparent; box-shadow: none; }
+
+spinbutton.vertical entry { min-height: 32px; min-width: 32px; padding: 0; border-radius: 0; }
+
+spinbutton.vertical button { min-height: 32px; min-width: 32px; padding: 0; }
+
+spinbutton.vertical button.up { border-radius: 5px 5px 0 0; border-style: solid solid none solid; }
+
+spinbutton.vertical button.down { border-radius: 0 0 5px 5px; border-style: none solid solid solid; }
+
+treeview spinbutton:not(.vertical) { min-height: 0; border-style: none; border-radius: 0; }
+
+treeview spinbutton:not(.vertical) entry { min-height: 0; padding: 1px 2px; }
+
+/************** ComboBoxes * */
+combobox arrow { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); min-height: 16px; min-width: 16px; }
+
+combobox:drop(active) { box-shadow: none; }
+
+/************ Toolbars * */
+searchbar > revealer > box, .location-bar, .inline-toolbar, toolbar { -GtkWidget-window-dragging: true; padding: 4px; background-color: #a7a7a7; }
+
+toolbar { padding: 4px 3px 3px 4px; }
+
+.osd toolbar { background-color: transparent; }
+
+toolbar.osd { padding: 13px; border: none; border-radius: 5px; background-color: rgba(103, 137, 180, 0.7); }
+
+toolbar.osd.left, toolbar.osd.right, toolbar.osd.top, toolbar.osd.bottom { border-radius: 0; }
+
+toolbar.horizontal separator { margin: 0 7px 1px 6px; }
+
+toolbar.vertical separator { margin: 6px 1px 7px 0; }
+
+toolbar:not(.inline-toolbar):not(.osd) > *:not(.toggle):not(.popup) > * { margin-right: 1px; margin-bottom: 1px; }
+
+.inline-toolbar { padding: 3px; border-width: 0 1px 1px; border-radius: 0 0 5px 5px; }
+
+searchbar > revealer > box, .location-bar { border-width: 0 0 1px; padding: 3px; }
+
+searchbar > revealer > box { margin: -6px; padding: 6px; }
+
+.inline-toolbar, searchbar > revealer > box, .location-bar { border-style: solid; border-color: #797979; background-color: #999999; }
+
+.inline-toolbar:backdrop, searchbar > revealer > box:backdrop, .location-bar:backdrop { border-color: #828282; background-color: #9a9a9a; box-shadow: none; transition: 200ms ease-out; }
+
+/*************** Header bars * */
+.titlebar:not(headerbar), headerbar { padding: 0 6px; min-height: 40px; border-width: 0 0 1px; border-style: solid; border-color: #6a6a6a; border-radius: 0; background: #8e8e8e linear-gradient(to top, #888888, #909090); box-shadow: inset 0 1px rgba(255, 255, 255, 0.8); /* Darken switchbuttons for headerbars. issue #1588 */ /* hide the close button separator */ }
+
+.titlebar:backdrop:not(headerbar), headerbar:backdrop { border-color: #828282; background-color: #a7a7a7; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0.8); transition: 200ms ease-out; }
+
+.titlebar:not(headerbar) .title, headerbar .title { padding-left: 12px; padding-right: 12px; font-weight: bold; }
+
+.titlebar:not(headerbar) .subtitle, headerbar .subtitle { font-size: smaller; padding-left: 12px; padding-right: 12px; }
+
+.selection-mode .titlebar:not(headerbar), .selection-mode.titlebar:not(headerbar), .selection-mode headerbar, headerbar.selection-mode { color: #000000; border-color: #101f00; text-shadow: 0 -1px rgba(0, 0, 0, 0.5); background: #386b00 linear-gradient(to top, #336100, #3b7000); box-shadow: inset 0 1px rgba(136, 166, 102, 0.9); }
+
+.selection-mode .titlebar:backdrop:not(headerbar), .selection-mode.titlebar:backdrop:not(headerbar), .selection-mode headerbar:backdrop, headerbar.selection-mode:backdrop { background-color: #386b00; background-image: none; box-shadow: inset 0 1px rgba(156, 181, 128, 0.88); }
+
+.selection-mode .titlebar:backdrop:not(headerbar) label, .selection-mode.titlebar:backdrop:not(headerbar) label, .selection-mode headerbar:backdrop label, headerbar.selection-mode:backdrop label { text-shadow: none; color: #000000; }
+
+.selection-mode .titlebar:not(headerbar) button, .selection-mode.titlebar:not(headerbar) button, .selection-mode headerbar button, headerbar.selection-mode button { color: #000000; background-color: #386b00; outline-color: rgba(56, 107, 0, 0.5); background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.15)); text-shadow: 0 1px rgba(255, 255, 255, 0.3); -gtk-icon-shadow: 0 1px rgba(255, 255, 255, 0.3); box-shadow: inset 0 1px rgba(255, 255, 255, 0.3), 0 1px 2px rgba(0, 0, 0, 0.4); }
+
+.selection-mode button.titlebutton, .selection-mode .titlebar:not(headerbar) button.flat, .selection-mode.titlebar:not(headerbar) button.flat, .selection-mode headerbar button.flat, headerbar.selection-mode 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; }
+
+.selection-mode .titlebar:not(headerbar) button:hover, .selection-mode.titlebar:not(headerbar) button:hover, .selection-mode headerbar button:hover, headerbar.selection-mode button:hover { background-color: shade(#386b00, 1.1); }
+
+.selection-mode .titlebar:not(headerbar) button:active, .selection-mode .titlebar:not(headerbar) button:checked, .selection-mode.titlebar:not(headerbar) button:active, .selection-mode.titlebar:not(headerbar) button:checked, .selection-mode headerbar button:active, .selection-mode headerbar button:checked, .selection-mode headerbar button.toggle:checked, .selection-mode headerbar button.toggle:active, headerbar.selection-mode button:active, headerbar.selection-mode button:checked, headerbar.selection-mode button.toggle:checked, headerbar.selection-mode button.toggle:active { box-shadow: 0 1px rgba(255, 255, 255, 0.3), inset 0 1px 2px rgba(0, 0, 0, 0.4); }
+
+.selection-mode .titlebar:not(headerbar) button:backdrop, .selection-mode.titlebar:not(headerbar) button:backdrop, .selection-mode headerbar button:backdrop.flat, .selection-mode headerbar button:backdrop, headerbar.selection-mode button:backdrop.flat, headerbar.selection-mode button:backdrop { background-image: none; -gtk-icon-effect: none; border-color: #101f00; }
+
+.selection-mode .titlebar:not(headerbar) button:backdrop:active, .selection-mode .titlebar:not(headerbar) button:backdrop:checked, .selection-mode.titlebar:not(headerbar) button:backdrop:active, .selection-mode.titlebar:not(headerbar) button:backdrop:checked, .selection-mode headerbar button:backdrop.flat:active, .selection-mode headerbar button:backdrop.flat:checked, .selection-mode headerbar button:backdrop:active, .selection-mode headerbar button:backdrop:checked, headerbar.selection-mode button:backdrop.flat:active, headerbar.selection-mode button:backdrop.flat:checked, headerbar.selection-mode button:backdrop:active, headerbar.selection-mode button:backdrop:checked { border-color: #101f00; }
+
+.selection-mode .titlebar:not(headerbar) button:backdrop:disabled, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled, .selection-mode headerbar button:backdrop.flat:disabled, .selection-mode headerbar button:backdrop:disabled, headerbar.selection-mode button:backdrop.flat:disabled, headerbar.selection-mode button:backdrop:disabled { border-color: #101f00; }
+
+.selection-mode .titlebar:not(headerbar) button:backdrop:disabled:active, .selection-mode .titlebar:not(headerbar) button:backdrop:disabled:checked, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled:active, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled:checked, .selection-mode headerbar button:backdrop:disabled:active, .selection-mode headerbar button:backdrop:disabled:checked, headerbar.selection-mode button:backdrop:disabled:active, headerbar.selection-mode button:backdrop:disabled:checked { border-color: #101f00; }
+
+.selection-mode button.titlebutton:backdrop, .selection-mode button.titlebutton:disabled, .selection-mode .titlebar:not(headerbar) button.flat:backdrop, .selection-mode .titlebar:not(headerbar) button.flat:disabled, .selection-mode.titlebar:not(headerbar) button.flat:backdrop, .selection-mode.titlebar:not(headerbar) button.flat:disabled, .selection-mode headerbar button.flat:backdrop, .selection-mode headerbar button.flat:disabled, .selection-mode headerbar button.flat:backdrop:disabled, headerbar.selection-mode button.flat:backdrop, headerbar.selection-mode button.flat:disabled, headerbar.selection-mode button.flat:backdrop:disabled { 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; }
+
+.selection-mode .titlebar:not(headerbar) button:disabled, .selection-mode.titlebar:not(headerbar) button:disabled, .selection-mode headerbar button:disabled, headerbar.selection-mode button:disabled { color: #552222; background-color: #938989; background-image: none; }
+
+.selection-mode .titlebar:not(headerbar) button:disabled:active, .selection-mode .titlebar:not(headerbar) button:disabled:checked, .selection-mode.titlebar:not(headerbar) button:disabled:active, .selection-mode.titlebar:not(headerbar) button:disabled:checked, .selection-mode headerbar button:disabled:active, .selection-mode headerbar button:disabled:checked, headerbar.selection-mode button:disabled:active, headerbar.selection-mode button:disabled:checked { color: #552222; background-color: #858574; }
+
+.selection-mode .titlebar:not(headerbar) button.suggested-action, .selection-mode.titlebar:not(headerbar) button.suggested-action, .selection-mode headerbar button.suggested-action, headerbar.selection-mode button.suggested-action { color: #241f31; background-color: #bcbeb9; outline-color: rgba(56, 107, 0, 0.5); background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.15)); text-shadow: 0 1px rgba(255, 255, 255, 0.3); -gtk-icon-shadow: 0 1px rgba(255, 255, 255, 0.3); box-shadow: inset 0 1px rgba(255, 255, 255, 0.5), 0 1px 2px rgba(0, 0, 0, 0.4); border-color: #101f00; }
+
+.selection-mode .titlebar:not(headerbar) button.suggested-action:hover, .selection-mode.titlebar:not(headerbar) button.suggested-action:hover, .selection-mode headerbar button.suggested-action:hover, headerbar.selection-mode button.suggested-action:hover { background-color: shade(#bcbeb9, 1.1); border-color: #101f00; }
+
+.selection-mode .titlebar:not(headerbar) button.suggested-action:active, .selection-mode.titlebar:not(headerbar) button.suggested-action:active, .selection-mode headerbar button.suggested-action:active, headerbar.selection-mode button.suggested-action:active { box-shadow: 0 1px rgba(255, 255, 255, 0.5), inset 0 1px 2px rgba(0, 0, 0, 0.4); border-color: #101f00; }
+
+.selection-mode .titlebar:not(headerbar) button.suggested-action:disabled, .selection-mode.titlebar:not(headerbar) button.suggested-action:disabled, .selection-mode headerbar button.suggested-action:disabled, headerbar.selection-mode button.suggested-action:disabled { color: #552222; background-color: #938989; background-image: none; border-color: #101f00; }
+
+.selection-mode .titlebar:not(headerbar) button.suggested-action:backdrop, .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop, .selection-mode headerbar button.suggested-action:backdrop, headerbar.selection-mode button.suggested-action:backdrop { background-image: none; border-color: #101f00; }
+
+.selection-mode .titlebar:not(headerbar) button.suggested-action:backdrop:disabled, .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop:disabled, .selection-mode headerbar button.suggested-action:backdrop:disabled, headerbar.selection-mode button.suggested-action:backdrop:disabled { border-color: #101f00; }
+
+.selection-mode .titlebar:not(headerbar) .selection-menu, .selection-mode.titlebar:not(headerbar) .selection-menu, .selection-mode headerbar .selection-menu:backdrop, .selection-mode headerbar .selection-menu, headerbar.selection-mode .selection-menu:backdrop, headerbar.selection-mode .selection-menu { border-color: rgba(56, 107, 0, 0); background-color: rgba(56, 107, 0, 0); background-image: none; box-shadow: none; min-height: 20px; padding: 4px 10px; }
+
+.selection-mode .titlebar:not(headerbar) .selection-menu arrow, .selection-mode.titlebar:not(headerbar) .selection-menu arrow, .selection-mode headerbar .selection-menu:backdrop arrow, .selection-mode headerbar .selection-menu arrow, headerbar.selection-mode .selection-menu:backdrop arrow, headerbar.selection-mode .selection-menu arrow { -GtkArrow-arrow-scaling: 1; }
+
+.selection-mode .titlebar:not(headerbar) .selection-menu .arrow, .selection-mode.titlebar:not(headerbar) .selection-menu .arrow, .selection-mode headerbar .selection-menu:backdrop .arrow, .selection-mode headerbar .selection-menu .arrow, headerbar.selection-mode .selection-menu:backdrop .arrow, headerbar.selection-mode .selection-menu .arrow { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); color: rgba(0, 0, 0, 0.5); -gtk-icon-shadow: none; }
+
+.tiled .titlebar:not(headerbar), .tiled-top .titlebar:not(headerbar), .tiled-right .titlebar:not(headerbar), .tiled-bottom .titlebar:not(headerbar), .tiled-left .titlebar:not(headerbar), .maximized .titlebar:not(headerbar), .fullscreen .titlebar:not(headerbar), .tiled headerbar, .tiled-top headerbar, .tiled-right headerbar, .tiled-bottom headerbar, .tiled-left headerbar, .maximized headerbar, .fullscreen headerbar { border-radius: 0; }
+
+.default-decoration.titlebar:not(headerbar), headerbar.default-decoration { min-height: 28px; padding: 4px; }
+
+.default-decoration.titlebar:not(headerbar) button.titlebutton, headerbar.default-decoration button.titlebutton { min-height: 26px; min-width: 26px; margin: 0; padding: 0; }
+
+.titlebar:not(headerbar) separator.titlebutton, headerbar separator.titlebutton { opacity: 0; }
+
+.solid-csd .titlebar:dir(rtl):not(headerbar), .solid-csd .titlebar:dir(ltr):not(headerbar), .solid-csd headerbar:backdrop:dir(rtl), .solid-csd headerbar:backdrop:dir(ltr), .solid-csd headerbar:dir(rtl), .solid-csd headerbar:dir(ltr) { margin-left: -1px; margin-right: -1px; margin-top: -1px; border-radius: 0; box-shadow: none; }
+
+headerbar entry, headerbar spinbutton, headerbar separator:not(.sidebar), headerbar button { margin-top: 5px; margin-bottom: 5px; }
+
+headerbar switch { margin-top: 7px; margin-bottom: 7px; }
+
+headerbar.titlebar headerbar:not(.titlebar) { background: none; box-shadow: none; }
+
+.background .titlebar:backdrop, .background .titlebar { border-top-left-radius: 8px; border-top-right-radius: 8px; }
+
+.background.tiled .titlebar:backdrop, .background.tiled .titlebar, .background.tiled-top .titlebar:backdrop, .background.tiled-top .titlebar, .background.tiled-right .titlebar:backdrop, .background.tiled-right .titlebar, .background.tiled-bottom .titlebar:backdrop, .background.tiled-bottom .titlebar, .background.tiled-left .titlebar:backdrop, .background.tiled-left .titlebar, .background.maximized .titlebar:backdrop, .background.maximized .titlebar, .background.solid-csd .titlebar:backdrop, .background.solid-csd .titlebar { border-top-left-radius: 0; border-top-right-radius: 0; }
+
+window separator:first-child + headerbar:backdrop, window separator:first-child + headerbar, window headerbar:first-child:backdrop, window headerbar:first-child { border-top-left-radius: 7px; }
+
+window headerbar:last-child:backdrop, window headerbar:last-child { border-top-right-radius: 7px; }
+
+window stack headerbar:first-child:backdrop, window stack headerbar:first-child, window stack headerbar:last-child:backdrop, window stack headerbar:last-child { border-top-left-radius: 7px; border-top-right-radius: 7px; }
+
+window.tiled headerbar, window.tiled headerbar:first-child, window.tiled headerbar:last-child, window.tiled headerbar:only-child, window.tiled headerbar:backdrop, window.tiled headerbar:backdrop:first-child, window.tiled headerbar:backdrop:last-child, window.tiled headerbar:backdrop:only-child, window.tiled-top headerbar, window.tiled-top headerbar:first-child, window.tiled-top headerbar:last-child, window.tiled-top headerbar:only-child, window.tiled-top headerbar:backdrop, window.tiled-top headerbar:backdrop:first-child, window.tiled-top headerbar:backdrop:last-child, window.tiled-top headerbar:backdrop:only-child, window.tiled-right headerbar, window.tiled-right headerbar:first-child, window.tiled-right headerbar:last-child, window.tiled-right headerbar:only-child, window.tiled-right headerbar:backdrop, window.tiled-right headerbar:backdrop:first-child, window.tiled-right headerbar:backdrop:last-child, window.tiled-right headerbar:backdrop:only-child, window.tiled-bottom headerbar, window.tiled-bottom headerbar:first-child, window.tiled-bottom headerbar:last-child, window.tiled-bottom headerbar:only-child, window.tiled-bottom headerbar:backdrop, window.tiled-bottom headerbar:backdrop:first-child, window.tiled-bottom headerbar:backdrop:last-child, window.tiled-bottom headerbar:backdrop:only-child, window.tiled-left headerbar, window.tiled-left headerbar:first-child, window.tiled-left headerbar:last-child, window.tiled-left headerbar:only-child, window.tiled-left headerbar:backdrop, window.tiled-left headerbar:backdrop:first-child, window.tiled-left headerbar:backdrop:last-child, window.tiled-left headerbar:backdrop:only-child, window.maximized headerbar, window.maximized headerbar:first-child, window.maximized headerbar:last-child, window.maximized headerbar:only-child, window.maximized headerbar:backdrop, window.maximized headerbar:backdrop:first-child, window.maximized headerbar:backdrop:last-child, window.maximized headerbar:backdrop:only-child, window.fullscreen headerbar, window.fullscreen headerbar:first-child, window.fullscreen headerbar:last-child, window.fullscreen headerbar:only-child, window.fullscreen headerbar:backdrop, window.fullscreen headerbar:backdrop:first-child, window.fullscreen headerbar:backdrop:last-child, window.fullscreen headerbar:backdrop:only-child, window.solid-csd headerbar, window.solid-csd headerbar:first-child, window.solid-csd headerbar:last-child, window.solid-csd headerbar:only-child, window.solid-csd headerbar:backdrop, window.solid-csd headerbar:backdrop:first-child, window.solid-csd headerbar:backdrop:last-child, window.solid-csd headerbar:backdrop:only-child { border-top-left-radius: 0; border-top-right-radius: 0; }
+
+window.csd > .titlebar:not(headerbar) { padding: 0; background-color: transparent; background-image: none; border-style: none; border-color: transparent; box-shadow: none; }
+
+.titlebar:not(headerbar) separator { background-color: #797979; }
+
+window.devel headerbar.titlebar:not(.selection-mode) { background: #a7a7a7 cross-fade(10% -gtk-icontheme("system-run-symbolic"), image(transparent)) 90% 0/256px 256px no-repeat, linear-gradient(to right, transparent 65%, rgba(56, 107, 0, 0.2)), linear-gradient(to top, #868686, #8e8e8e 3px, #9d9d9d); }
+
+window.devel headerbar.titlebar:not(.selection-mode):backdrop { background: #a7a7a7 cross-fade(10% -gtk-icontheme("system-run-symbolic"), image(transparent)) 90% 0/256px 256px no-repeat, image(#a7a7a7); /* background-color would flash */ }
+
+/************ Pathbars * */
+.path-bar button.text-button, .path-bar button.image-button, .path-bar button { padding-left: 4px; padding-right: 4px; }
+
+.path-bar button.text-button.image-button label { padding-left: 0; padding-right: 0; }
+
+.path-bar button.text-button.image-button label:last-child, .path-bar button label:last-child { padding-right: 8px; }
+
+.path-bar button.text-button.image-button label:first-child, .path-bar button label:first-child { padding-left: 8px; }
+
+.path-bar button image { padding-left: 4px; padding-right: 4px; }
+
+.path-bar button.slider-button { padding-left: 0; padding-right: 0; }
+
+/************** Tree Views * */
+treeview.view { border-left-color: #5a575f; border-top-color: #a7a7a7; }
+
+* { -GtkTreeView-horizontal-separator: 4; -GtkTreeView-grid-line-width: 1; -GtkTreeView-grid-line-pattern: ''; -GtkTreeView-tree-line-width: 1; -GtkTreeView-tree-line-pattern: ''; -GtkTreeView-expander-size: 16; }
+
+treeview.view:selected:focus, treeview.view:selected { border-radius: 0; }
+
+treeview.view:selected:backdrop, treeview.view:selected { border-left-color: #1c3600; border-top-color: rgba(36, 31, 49, 0.1); }
+
+treeview.view:disabled { color: #552222; }
+
+treeview.view:disabled:selected { color: #224000; }
+
+treeview.view:disabled:selected:backdrop { color: #52752a; }
+
+treeview.view:disabled:backdrop { color: #818181; }
+
+treeview.view.separator { min-height: 2px; color: #a7a7a7; }
+
+treeview.view.separator:backdrop { color: rgba(167, 167, 167, 0.1); }
+
+treeview.view:backdrop { border-left-color: #87858a; border-top: #a7a7a7; }
+
+treeview.view:drop(active) { border-style: solid none; border-width: 1px; border-color: #101f00; }
+
+treeview.view:drop(active).after { border-top-style: none; }
+
+treeview.view:drop(active).before { border-bottom-style: none; }
+
+treeview.view.expander { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); color: #44414d; }
+
+treeview.view.expander:dir(rtl) { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); }
+
+treeview.view.expander:hover { color: #241f31; }
+
+treeview.view.expander:selected { color: #112000; }
+
+treeview.view.expander:selected:hover { color: #000000; }
+
+treeview.view.expander:selected:backdrop { color: #748261; }
+
+treeview.view.expander:checked { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); }
+
+treeview.view.expander:backdrop { color: #726f75; }
+
+treeview.view.progressbar { color: #908f8d; background-color: #386b00; background-image: image(#386b00); box-shadow: none; }
+
+treeview.view.progressbar:selected:focus, treeview.view.progressbar:selected { color: #386b00; background-image: image(#908f8d); }
+
+treeview.view.progressbar:selected:focus:backdrop, treeview.view.progressbar:selected:backdrop { color: #386b00; background-color: #8d8c8a; }
+
+treeview.view.progressbar:backdrop { color: #8d8c8a; background-image: none; box-shadow: none; }
+
+treeview.view.trough { background-color: rgba(36, 31, 49, 0.1); }
+
+treeview.view.trough:selected:focus, treeview.view.trough:selected { background-color: rgba(0, 0, 0, 0.3); }
+
+treeview.view header button { color: #5a575f; background-color: #908f8d; font-weight: bold; text-shadow: none; box-shadow: none; }
+
+treeview.view header button:hover { color: #3f3b48; box-shadow: none; transition: none; }
+
+treeview.view header button:active { color: #241f31; transition: none; }
+
+treeview.view button.dnd:active, treeview.view button.dnd:selected, treeview.view button.dnd:hover, treeview.view button.dnd, treeview.view header.button.dnd:active, treeview.view header.button.dnd:selected, treeview.view header.button.dnd:hover, treeview.view header.button.dnd { padding: 0 6px; color: #908f8d; background-image: none; background-color: #386b00; border-style: none; border-radius: 0; box-shadow: inset 0 0 0 1px #908f8d; text-shadow: none; transition: none; }
+
+treeview.view acceleditor > label { background-color: #386b00; }
+
+treeview.view header button, treeview.view header button:hover, treeview.view header button:active { padding: 0 6px; background-image: none; border-style: none solid solid none; border-color: #7e7d7d; border-radius: 0; text-shadow: none; }
+
+treeview.view header button:disabled { border-color: #a7a7a7; background-image: none; background-color: #938989; color: #552222; }
+
+treeview.view header button:backdrop { border-color: #a7a7a7; border-style: none solid solid none; background-image: none; background-color: #8d8c8a; }
+
+treeview.view header button:backdrop:disabled { border-color: #a7a7a7; background-image: none; background-color: #938989; color: #552222; }
+
+treeview.view header button:last-child { border-right-style: none; }
+
+/********* Menus * */
+menubar, .menubar { -GtkWidget-window-dragging: true; padding: 0px; box-shadow: inset 0 -1px rgba(0, 0, 0, 0.1); }
+
+menubar:backdrop, .menubar:backdrop { background-color: #a7a7a7; }
+
+menubar > menuitem, .menubar > menuitem { min-height: 16px; padding: 4px 8px; }
+
+menubar > menuitem menu:dir(rtl), menubar > menuitem menu:dir(ltr), .menubar > menuitem menu:dir(rtl), .menubar > menuitem menu:dir(ltr) { border-radius: 0; padding: 0; }
+
+menubar > menuitem:hover, .menubar > menuitem:hover { box-shadow: inset 0 -3px #386b00; color: #1d3800; }
+
+menubar > menuitem:disabled, .menubar > menuitem:disabled { color: #552222; box-shadow: none; }
+
+menubar .csd.popup decoration, .menubar .csd.popup decoration { border-radius: 0; }
+
+.background.popup { background-color: transparent; }
+
+menu, .menu, .context-menu { margin: 4px; padding: 4px 0px; background-color: #908f8d; border: 1px solid #797979; }
+
+.csd menu, .csd .menu, .csd .context-menu { border: none; border-radius: 5px; }
+
+menu:backdrop, .menu:backdrop, .context-menu:backdrop { background-color: #8d8c8a; }
+
+menu menuitem, .menu menuitem, .context-menu menuitem { min-height: 16px; min-width: 40px; padding: 4px 6px; text-shadow: none; }
+
+menu menuitem:hover, .menu menuitem:hover, .context-menu menuitem:hover { color: #000000; background-color: #386b00; }
+
+menu menuitem:disabled, .menu menuitem:disabled, .context-menu menuitem:disabled { color: #552222; }
+
+menu menuitem:disabled:backdrop, .menu menuitem:disabled:backdrop, .context-menu menuitem:disabled:backdrop { color: #818181; }
+
+menu menuitem:backdrop, menu menuitem:backdrop:hover, .menu menuitem:backdrop, .menu menuitem:backdrop:hover, .context-menu menuitem:backdrop, .context-menu menuitem:backdrop:hover { color: #66636c; background-color: transparent; }
+
+menu menuitem arrow, .menu menuitem arrow, .context-menu menuitem arrow { min-height: 16px; min-width: 16px; }
+
+menu menuitem arrow:dir(ltr), .menu menuitem arrow:dir(ltr), .context-menu menuitem arrow:dir(ltr) { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); margin-left: 10px; }
+
+menu menuitem arrow:dir(rtl), .menu menuitem arrow:dir(rtl), .context-menu menuitem arrow:dir(rtl) { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); margin-right: 10px; }
+
+menu menuitem label:dir(rtl), menu menuitem label:dir(ltr), .menu menuitem label:dir(rtl), .menu menuitem label:dir(ltr), .context-menu menuitem label:dir(rtl), .context-menu menuitem label:dir(ltr) { color: inherit; }
+
+menu > arrow, .menu > arrow, .context-menu > arrow { 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; min-height: 16px; min-width: 16px; padding: 4px; background-color: #908f8d; border-radius: 0; }
+
+menu > arrow.top, .menu > arrow.top, .context-menu > arrow.top { margin-top: -4px; border-bottom: 1px solid #858484; border-top-right-radius: 5px; border-top-left-radius: 5px; -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); }
+
+menu > arrow.bottom, .menu > arrow.bottom, .context-menu > arrow.bottom { margin-top: 8px; margin-bottom: -12px; border-top: 1px solid #858484; border-bottom-right-radius: 5px; border-bottom-left-radius: 5px; -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); }
+
+menu > arrow:hover, .menu > arrow:hover, .context-menu > arrow:hover { background-color: #858484; }
+
+menu > arrow:backdrop, .menu > arrow:backdrop, .context-menu > arrow:backdrop { background-color: #8d8c8a; }
+
+menu > arrow:disabled, .menu > arrow:disabled, .context-menu > arrow:disabled { color: transparent; background-color: transparent; border-color: transparent; }
+
+menuitem accelerator { color: alpha(currentColor,0.55); }
+
+menuitem check, menuitem radio { min-height: 16px; min-width: 16px; }
+
+menuitem check:dir(ltr), menuitem radio:dir(ltr) { margin-right: 7px; }
+
+menuitem check:dir(rtl), menuitem radio:dir(rtl) { margin-left: 7px; }
+
+/*************** Popovers * */
+popover.background { padding: 2px; background-color: #a7a7a7; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3); }
+
+.csd popover.background, popover.background { border: 1px solid #797979; border-radius: 9px; }
+
+.csd popover.background { background-clip: padding-box; border-color: rgba(0, 0, 0, 0.23); }
+
+popover.background:backdrop { background-color: #a7a7a7; box-shadow: none; }
+
+popover.background > list, popover.background > .view, popover.background > iconview, popover.background > toolbar { border-style: none; background-color: transparent; }
+
+.csd popover.background.touch-selection, .csd popover.background.magnifier, popover.background.touch-selection, popover.background.magnifier { border: 1px solid rgba(255, 255, 255, 0.1); }
+
+popover.background separator { margin: 3px; }
+
+popover.background list separator { margin: 0px; }
+
+/************* Notebooks * */
+notebook > header { padding: 1px; border-color: #797979; border-width: 1px; background-color: #909090; }
+
+notebook > header:backdrop { border-color: #828282; background-color: #9a9a9a; }
+
+notebook > header tabs { margin: -1px; }
+
+notebook > header.top { border-bottom-style: solid; }
+
+notebook > header.top > tabs { margin-bottom: -2px; }
+
+notebook > header.top > tabs > tab:hover { box-shadow: inset 0 -4px #797979; }
+
+notebook > header.top > tabs > tab:backdrop { box-shadow: none; }
+
+notebook > header.top > tabs > tab:checked { box-shadow: inset 0 -4px #386b00; }
+
+notebook > header.bottom { border-top-style: solid; }
+
+notebook > header.bottom > tabs { margin-top: -2px; }
+
+notebook > header.bottom > tabs > tab:hover { box-shadow: inset 0 4px #797979; }
+
+notebook > header.bottom > tabs > tab:backdrop { box-shadow: none; }
+
+notebook > header.bottom > tabs > tab:checked { box-shadow: inset 0 4px #386b00; }
+
+notebook > header.left { border-right-style: solid; }
+
+notebook > header.left > tabs { margin-right: -2px; }
+
+notebook > header.left > tabs > tab:hover { box-shadow: inset -4px 0 #797979; }
+
+notebook > header.left > tabs > tab:backdrop { box-shadow: none; }
+
+notebook > header.left > tabs > tab:checked { box-shadow: inset -4px 0 #386b00; }
+
+notebook > header.right { border-left-style: solid; }
+
+notebook > header.right > tabs { margin-left: -2px; }
+
+notebook > header.right > tabs > tab:hover { box-shadow: inset 4px 0 #797979; }
+
+notebook > header.right > tabs > tab:backdrop { box-shadow: none; }
+
+notebook > header.right > tabs > tab:checked { box-shadow: inset 4px 0 #386b00; }
+
+notebook > header.top > tabs > arrow { border-top-style: none; }
+
+notebook > header.bottom > tabs > arrow { border-bottom-style: none; }
+
+notebook > header.top > tabs > arrow, notebook > header.bottom > tabs > arrow { margin-left: -5px; margin-right: -5px; padding-left: 4px; padding-right: 4px; }
+
+notebook > header.top > tabs > arrow.down, notebook > header.bottom > tabs > arrow.down { -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); }
+
+notebook > header.top > tabs > arrow.up, notebook > header.bottom > tabs > arrow.up { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); }
+
+notebook > header.left > tabs > arrow { border-left-style: none; }
+
+notebook > header.right > tabs > arrow { border-right-style: none; }
+
+notebook > header.left > tabs > arrow, notebook > header.right > tabs > arrow { margin-top: -5px; margin-bottom: -5px; padding-top: 4px; padding-bottom: 4px; }
+
+notebook > header.left > tabs > arrow.down, notebook > header.right > tabs > arrow.down { -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); }
+
+notebook > header.left > tabs > arrow.up, notebook > header.right > tabs > arrow.up { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); }
+
+notebook > header > tabs > arrow { min-height: 16px; min-width: 16px; border-radius: 0; }
+
+notebook > header > tabs > arrow:hover:not(:active):not(:backdrop) { background-clip: padding-box; background-image: none; background-color: rgba(255, 255, 255, 0.3); border-color: transparent; box-shadow: none; }
+
+notebook > header > tabs > arrow:disabled { 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; }
+
+notebook > header tab { min-height: 30px; min-width: 30px; padding: 3px 12px; outline-offset: -5px; color: #241f31; font-weight: normal; border-width: 1px; border-color: transparent; }
+
+notebook > header tab:hover { color: #241f31; background-color: #9d9d9d; }
+
+notebook > header tab:hover.reorderable-page { border-color: rgba(121, 121, 121, 0.3); background-color: rgba(167, 167, 167, 0.2); }
+
+notebook > header tab:backdrop { color: #807e84; }
+
+notebook > header tab:backdrop.reorderable-page { border-color: transparent; background-color: transparent; }
+
+notebook > header tab:checked { color: #241f31; }
+
+notebook > header tab:checked.reorderable-page { border-color: rgba(121, 121, 121, 0.5); background-color: rgba(167, 167, 167, 0.5); }
+
+notebook > header tab:checked.reorderable-page:hover { background-color: rgba(167, 167, 167, 0.7); }
+
+notebook > header tab:backdrop:checked { color: #66636c; }
+
+notebook > header tab:backdrop:checked.reorderable-page { border-color: #828282; background-color: #a7a7a7; }
+
+notebook > header tab button.flat { padding: 0; margin-top: 4px; margin-bottom: 4px; min-width: 20px; min-height: 20px; }
+
+notebook > header tab button.flat:hover { color: currentColor; }
+
+notebook > header tab button.flat, notebook > header tab button.flat:backdrop { color: alpha(currentColor,0.3); }
+
+notebook > header tab button.flat:last-child { margin-left: 4px; margin-right: -4px; }
+
+notebook > header tab button.flat:first-child { margin-left: -4px; margin-right: 4px; }
+
+notebook > header.top tabs, notebook > header.bottom tabs { padding-left: 4px; padding-right: 4px; }
+
+notebook > header.top tabs:not(:only-child), notebook > header.bottom tabs:not(:only-child) { margin-left: 3px; margin-right: 3px; }
+
+notebook > header.top tabs:not(:only-child):first-child, notebook > header.bottom tabs:not(:only-child):first-child { margin-left: -1px; }
+
+notebook > header.top tabs:not(:only-child):last-child, notebook > header.bottom tabs:not(:only-child):last-child { margin-right: -1px; }
+
+notebook > header.top tabs tab, notebook > header.bottom tabs tab { margin-left: 4px; margin-right: 4px; }
+
+notebook > header.top tabs tab.reorderable-page, notebook > header.bottom tabs tab.reorderable-page { border-style: none solid; }
+
+notebook > header.left tabs, notebook > header.right tabs { padding-top: 4px; padding-bottom: 4px; }
+
+notebook > header.left tabs:not(:only-child), notebook > header.right tabs:not(:only-child) { margin-top: 3px; margin-bottom: 3px; }
+
+notebook > header.left tabs:not(:only-child):first-child, notebook > header.right tabs:not(:only-child):first-child { margin-top: -1px; }
+
+notebook > header.left tabs:not(:only-child):last-child, notebook > header.right tabs:not(:only-child):last-child { margin-bottom: -1px; }
+
+notebook > header.left tabs tab, notebook > header.right tabs tab { margin-top: 4px; margin-bottom: 4px; }
+
+notebook > header.left tabs tab.reorderable-page, notebook > header.right tabs tab.reorderable-page { border-style: solid none; }
+
+notebook > header.top tab { padding-bottom: 4px; }
+
+notebook > header.bottom tab { padding-top: 4px; }
+
+notebook > stack:not(:only-child) { background-color: #908f8d; }
+
+notebook > stack:not(:only-child):backdrop { background-color: #8d8c8a; }
+
+/************** Scrollbars * */
+scrollbar { background-color: #8d8c8f; transition: all 300ms cubic-bezier(0.25, 0.46, 0.45, 0.94); }
+
+* { -GtkScrollbar-has-backward-stepper: false; -GtkScrollbar-has-forward-stepper: false; }
+
+scrollbar.top { border-bottom: 1px solid #797979; }
+
+scrollbar.bottom { border-top: 1px solid #797979; }
+
+scrollbar.left { border-right: 1px solid #797979; }
+
+scrollbar.right { border-left: 1px solid #797979; }
+
+scrollbar:backdrop { background-color: #9f9f9f; border-color: #828282; transition: 200ms ease-out; }
+
+scrollbar slider { padding: 0; background-image: none; min-width: 8px; min-height: 8px; margin: 3px; border-radius: 10px; background-clip: padding-box; background-color: #585560; transition: all 300ms cubic-bezier(0.25, 0.46, 0.45, 0.94); }
+
+scrollbar slider:hover { background-color: #3e3a49; }
+
+scrollbar slider:hover:active { background-color: #1d3800; }
+
+scrollbar slider:backdrop { background-color: #8d8c8f; }
+
+scrollbar slider:disabled { background-color: transparent; }
+
+scrollbar.fine-tune slider, scrollbar.fine-tune slider:hover, scrollbar.fine-tune slider:active { background-color: #6789b4; }
+
+scrollbar.horizontal slider { min-width: 40px; }
+
+scrollbar.vertical slider { min-height: 40px; }
+
+scrollbar button { padding: 0; min-width: 12px; min-height: 12px; border-style: none; border-radius: 0; transition-property: min-height, min-width, color; 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; color: #585560; }
+
+scrollbar button:hover { 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; color: #3e3a49; }
+
+scrollbar button:active, scrollbar button:checked { 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; color: #1d3800; }
+
+scrollbar button:disabled { 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; color: rgba(88, 85, 96, 0.2); }
+
+scrollbar button:backdrop { 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; color: #8d8c8f; }
+
+scrollbar button:backdrop:disabled { 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; color: rgba(141, 140, 143, 0.2); }
+
+scrollbar.vertical button.down { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); }
+
+scrollbar.vertical button.up { -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); }
+
+scrollbar.horizontal button.down { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); }
+
+scrollbar.horizontal button.up { -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); }
+
+treeview ~ scrollbar.vertical { border-top: 1px solid #797979; margin-top: -1px; }
+
+/********** Switch * */
+switch { outline-offset: -4px; border: 1px solid #797979; border-radius: 14px; color: #241f31; background-color: #909090; text-shadow: 0 1px rgba(0, 0, 0, 0.1); /* only show i / o for the accessible theme */ }
+
+switch:checked { color: #000000; border-color: #030500; background-color: #386b00; text-shadow: 0 1px rgba(16, 31, 0, 0.5), 0 0 2px rgba(255, 255, 255, 0.6); }
+
+switch:disabled { color: #552222; border-color: #797979; background-color: #938989; text-shadow: none; }
+
+switch:backdrop { color: #66636c; border-color: #828282; background-color: #9a9a9a; text-shadow: none; transition: 200ms ease-out; }
+
+switch:backdrop:checked { color: #a7a7a7; border-color: #030500; background-color: #386b00; }
+
+switch:backdrop:disabled { color: #818181; border-color: #828282; background-color: #938989; }
+
+switch slider { margin: -1px; min-width: 24px; min-height: 24px; border: 1px solid; border-radius: 50%; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); -gtk-outline-radius: 20px; color: #241f31; background-color: #bcbeb9; outline-color: rgba(56, 107, 0, 0.5); background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.15)); text-shadow: 0 1px rgba(255, 255, 255, 0.3); -gtk-icon-shadow: 0 1px rgba(255, 255, 255, 0.3); box-shadow: inset 0 1px rgba(255, 255, 255, 0.5), 0 1px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.4); }
+
+switch image { color: transparent; }
+
+switch:hover slider { background-color: shade(#bcbeb9, 1.1); }
+
+switch:checked > slider { border: 1px solid #030500; }
+
+switch:disabled slider { color: #552222; background-color: #938989; background-image: none; }
+
+switch:backdrop slider { transition: 200ms ease-out; background-image: none; }
+
+switch:backdrop:checked > slider { border-color: #030500; }
+
+row:selected switch { box-shadow: none; border-color: #030500; }
+
+row:selected switch:backdrop { border-color: #030500; }
+
+row:selected switch > slider:checked, row:selected switch > slider { border-color: #030500; }
+
+/************************* Check and Radio items * */
+.view.content-view.check:not(list), iconview.content-view.check:not(list), .content-view:not(list) check { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; background-color: #386b00; 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:hover:not(list), iconview.content-view.check:hover:not(list), .content-view:not(list) check:hover { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; background-color: #386b00; 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:active:not(list), iconview.content-view.check:active:not(list), .content-view:not(list) check:active { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; background-color: #386b00; 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:not(list) check:backdrop { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; background-color: #363636; 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:not(list) check:checked { margin: 4px; min-width: 32px; min-height: 32px; color: #002269; background-color: #386b00; 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:checked:hover:not(list), iconview.content-view.check:checked:hover:not(list), .content-view:not(list) check:checked:hover { margin: 4px; min-width: 32px; min-height: 32px; color: #002269; background-color: #386b00; 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:checked:active:not(list), iconview.content-view.check:checked:active:not(list), .content-view:not(list) check:checked:active { margin: 4px; min-width: 32px; min-height: 32px; color: #002269; background-color: #386b00; 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:not(list) check:backdrop:checked { margin: 4px; min-width: 32px; min-height: 32px; color: rgba(0, 34, 105, 0.8); background-color: #363636; 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; }
+
+checkbutton.text-button label:not(:only-child):first-child, radiobutton.text-button label:not(:only-child):first-child { margin-left: 4px; }
+
+checkbutton.text-button label:not(:only-child):last-child, radiobutton.text-button label:not(:only-child):last-child { margin-right: 4px; }
+
+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; }
+
+popover check.left:dir(rtl), popover radio.left:dir(rtl) { margin-left: 0; margin-right: 12px; }
+
+popover check.right:dir(ltr), popover radio.right:dir(ltr) { margin-left: 12px; margin-right: 0; }
+
+check, radio { background-clip: padding-box; background-image: linear-gradient(to bottom, #c9cac6 20%, #bcbeb9 90%); border-color: #6a6a6a; box-shadow: 0 1px rgba(0, 0, 0, 0.05); color: #000000; }
+
+check:hover, radio:hover { background-image: linear-gradient(to bottom, #d3d4d1 10%, #c6c8c4 90%); }
+
+check:active, radio:active { box-shadow: inset 0 1px rgba(0, 0, 0, 0.2); background-image: image(#afb2ac); }
+
+check:disabled, radio:disabled { box-shadow: none; color: #552222; }
+
+check:backdrop, radio:backdrop { background-image: image(#bcbeb9); box-shadow: none; color: #000000; }
+
+check:backdrop:disabled, radio:backdrop:disabled { box-shadow: none; color: #552222; }
+
+check:checked, radio:checked { background-clip: border-box; background-image: linear-gradient(to bottom, #458500 20%, #386b00 90%); border-color: #030500; box-shadow: 0 1px rgba(0, 0, 0, 0.05); color: #000000; }
+
+check:checked:hover, radio:checked:hover { background-image: linear-gradient(to bottom, #509900 10%, #437f00 90%); }
+
+check:checked:active, radio:checked:active { box-shadow: inset 0 1px rgba(0, 0, 0, 0.2); background-image: image(#2b5200); }
+
+check:checked:disabled, radio:checked:disabled { box-shadow: none; color: #552222; }
+
+check:checked:backdrop, radio:checked:backdrop { background-image: image(#386b00); box-shadow: none; color: #000000; }
+
+check:checked:backdrop:disabled, radio:checked:backdrop:disabled { box-shadow: none; color: #552222; }
+
+check:indeterminate, radio:indeterminate { background-clip: border-box; background-image: linear-gradient(to bottom, #458500 20%, #386b00 90%); border-color: #030500; box-shadow: 0 1px rgba(0, 0, 0, 0.05); color: #000000; }
+
+check:indeterminate:hover, radio:indeterminate:hover { background-image: linear-gradient(to bottom, #509900 10%, #437f00 90%); }
+
+check:indeterminate:active, radio:indeterminate:active { box-shadow: inset 0 1px rgba(0, 0, 0, 0.2); background-image: image(#2b5200); }
+
+check:indeterminate:disabled, radio:indeterminate:disabled { box-shadow: none; color: #552222; }
+
+check:indeterminate:backdrop, radio:indeterminate:backdrop { background-image: image(#386b00); box-shadow: none; color: #000000; }
+
+check:indeterminate:backdrop:disabled, radio:indeterminate:backdrop:disabled { box-shadow: none; color: #552222; }
+
+check:backdrop, radio:backdrop { transition: 200ms ease-out; }
+
+check:disabled, radio:disabled { color: #552222; border-color: #552222; }
+
+row:selected check, row:selected radio { border-color: #030500; }
+
+menu menuitem check, menu menuitem radio { margin: 0; }
+
+menu menuitem check, menu menuitem check:hover, menu menuitem check:disabled, menu menuitem check:checked, menu menuitem check:checked:hover, menu menuitem check:checked:disabled, menu menuitem check:indeterminate, menu menuitem check:indeterminate:hover, menu menuitem check:indeterminate:disabled, menu menuitem radio, menu menuitem radio:hover, menu menuitem radio:disabled, menu menuitem radio:checked, menu menuitem radio:checked:hover, menu menuitem radio:checked:disabled, menu menuitem radio:indeterminate, menu menuitem radio:indeterminate:hover, menu menuitem radio:indeterminate:disabled { min-height: 14px; min-width: 14px; background-image: none; background-color: transparent; box-shadow: none; -gtk-icon-shadow: none; color: inherit; border-color: currentColor; }
+
+check { border-radius: 3px; }
+
+check:checked { -gtk-icon-source: image(-gtk-recolor(url("assets/check-symbolic.svg")), -gtk-recolor(url("assets/check-symbolic.symbolic.png"))); }
+
+check:indeterminate { -gtk-icon-source: image(-gtk-recolor(url("assets/dash-symbolic.svg")), -gtk-recolor(url("assets/dash-symbolic.symbolic.png"))); }
+
+treeview.view radio:selected:focus, treeview.view radio:selected, radio { border-radius: 100%; }
+
+treeview.view radio:checked:selected, radio:checked { -gtk-icon-source: image(-gtk-recolor(url("assets/bullet-symbolic.svg")), -gtk-recolor(url("assets/bullet-symbolic.symbolic.png"))); }
+
+treeview.view radio:indeterminate:selected, radio:indeterminate { -gtk-icon-source: image(-gtk-recolor(url("assets/dash-symbolic.svg")), -gtk-recolor(url("assets/dash-symbolic.symbolic.png"))); }
+
+radio:not(:indeterminate):not(:checked):active:not(:backdrop) { -gtk-icon-transform: scale(0); }
+
+check:not(:indeterminate):not(:checked):active:not(:backdrop) { -gtk-icon-transform: translate(6px, -3px) rotate(-45deg) scaleY(0.2) rotate(45deg) scaleX(0); }
+
+radio:active, check:active { -gtk-icon-transform: scale(0, 1); }
+
+radio:checked:not(:backdrop), radio:indeterminate:not(:backdrop), check:checked:not(:backdrop), check:indeterminate:not(:backdrop) { -gtk-icon-transform: unset; transition: 400ms; }
+
+menu menuitem radio:checked:not(:backdrop), menu menuitem radio:indeterminate:not(:backdrop), menu menuitem check:checked:not(:backdrop), menu menuitem check:indeterminate:not(:backdrop) { transition: none; }
+
+treeview.view check:selected:focus, treeview.view check:selected, treeview.view radio:selected:focus, treeview.view radio:selected { color: #000000; border-color: #101f00; }
+
+/************ GtkScale * */
+progressbar trough, scale fill, scale trough { border: 1px solid #797979; border-radius: 3px; background-color: #909090; }
+
+progressbar trough:disabled, scale fill:disabled, scale trough:disabled { background-color: #938989; }
+
+progressbar trough:backdrop, scale fill:backdrop, scale trough:backdrop { background-color: #9a9a9a; border-color: #828282; transition: 200ms ease-out; }
+
+progressbar trough:backdrop:disabled, scale fill:backdrop:disabled, scale trough:backdrop:disabled { background-color: #938989; }
+
+row:selected progressbar trough, progressbar row:selected trough, row:selected scale fill, scale row:selected fill, row:selected scale trough, scale row:selected trough { border-color: #101f00; }
+
+.osd progressbar trough, progressbar .osd trough, .osd scale fill, scale .osd fill, .osd scale trough, scale .osd trough { border-color: #002269; background-color: rgba(0, 34, 105, 0.8); }
+
+.osd progressbar trough:disabled, progressbar .osd trough:disabled, .osd scale fill:disabled, scale .osd fill:disabled, .osd scale trough:disabled, scale .osd trough:disabled { background-color: rgba(93, 127, 173, 0.5); }
+
+progressbar progress, scale highlight { border: 1px solid #101f00; border-radius: 3px; background-color: #386b00; }
+
+progressbar progress:disabled, scale highlight:disabled { background-color: #877474; border-color: transparent; }
+
+progressbar progress:backdrop, scale highlight:backdrop { border-color: #386b00; }
+
+progressbar progress:backdrop:disabled, scale highlight:backdrop:disabled { background-color: transparent; border-color: transparent; }
+
+row:selected progressbar progress, progressbar row:selected progress, row:selected scale highlight, scale row:selected highlight { border-color: #101f00; }
+
+.osd progressbar progress, progressbar .osd progress, .osd scale highlight, scale .osd highlight { border-color: #002269; }
+
+.osd progressbar progress:disabled, progressbar .osd progress:disabled, .osd scale highlight:disabled, scale .osd highlight:disabled { border-color: transparent; }
+
+scale { min-height: 10px; min-width: 10px; padding: 12px; }
+
+scale fill, scale highlight { margin: -1px; }
+
+scale slider { min-height: 18px; min-width: 18px; margin: -9px; }
+
+scale.fine-tune.horizontal { padding-top: 9px; padding-bottom: 9px; min-height: 16px; }
+
+scale.fine-tune.vertical { padding-left: 9px; padding-right: 9px; min-width: 16px; }
+
+scale.fine-tune slider { margin: -6px; }
+
+scale.fine-tune fill, scale.fine-tune highlight, scale.fine-tune trough { border-radius: 5px; -gtk-outline-radius: 7px; }
+
+scale trough { outline-offset: 2px; -gtk-outline-radius: 5px; }
+
+scale fill:backdrop, scale fill { background-color: #797979; }
+
+scale fill:disabled:backdrop, scale fill:disabled { border-color: transparent; background-color: transparent; }
+
+.osd scale fill { background-color: #002269; }
+
+.osd scale fill:disabled:backdrop, .osd scale fill:disabled { border-color: transparent; background-color: transparent; }
+
+scale slider { color: #241f31; background-color: #bcbeb9; outline-color: rgba(56, 107, 0, 0.5); background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.15)); text-shadow: 0 1px rgba(255, 255, 255, 0.3); -gtk-icon-shadow: 0 1px rgba(255, 255, 255, 0.3); box-shadow: inset 0 1px rgba(255, 255, 255, 0.5), 0 1px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.4); border: 1px solid #626262; 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 { background-color: shade(#bcbeb9, 1.1); }
+
+scale slider:active { border-color: #101f00; }
+
+scale slider:disabled { color: #552222; background-color: #938989; background-image: none; }
+
+scale slider:backdrop { transition: 200ms ease-out; background-image: none; }
+
+row:selected scale slider:disabled, row:selected scale slider { border-color: #101f00; }
+
+.osd scale slider { border-color: #001d5a; background-color: #6789b4; }
+
+.osd scale slider:hover { background-color: #6789b4; }
+
+.osd scale slider:active { background-color: #6789b4; }
+
+.osd scale slider:disabled { background-color: #6789b4; }
+
+.osd scale slider:backdrop { background-color: #6789b4; }
+
+.osd scale slider:backdrop:disabled { background-color: #6789b4; }
+
+scale marks, scale value { color: alpha(currentColor,0.55); font-feature-settings: "tnum"; }
+
+scale.horizontal marks.top { margin-bottom: 6px; margin-top: -12px; }
+
+scale.horizontal.fine-tune marks.top { margin-bottom: 6px; margin-top: -9px; }
+
+scale.horizontal marks.bottom { margin-top: 6px; margin-bottom: -12px; }
+
+scale.horizontal.fine-tune marks.bottom { margin-top: 6px; margin-bottom: -9px; }
+
+scale.vertical marks.top { margin-right: 6px; margin-left: -12px; }
+
+scale.vertical.fine-tune marks.top { margin-right: 6px; margin-left: -9px; }
+
+scale.vertical marks.bottom { margin-left: 6px; margin-right: -12px; }
+
+scale.vertical.fine-tune marks.bottom { margin-left: 6px; margin-right: -9px; }
+
+scale.horizontal indicator { min-height: 6px; min-width: 1px; }
+
+scale.horizontal.fine-tune indicator { min-height: 3px; }
+
+scale.horizontal.marks-after slider { border-radius: 5px 5px 100% 100%; }
+
+scale.horizontal.marks-before slider { border-radius: 100% 100% 5px 5px; }
+
+scale.vertical indicator { min-height: 1px; min-width: 6px; }
+
+scale.vertical.fine-tune indicator { min-width: 3px; }
+
+scale.vertical.marks-after slider { border-radius: 5px 100% 100% 5px; }
+
+scale.vertical.marks-before slider { border-radius: 100% 5px 5px 100%; }
+
+scale.color { min-height: 0; min-width: 0; }
+
+scale.color trough { background-image: image(#797979); background-repeat: no-repeat; }
+
+scale.color.horizontal { padding: 0 0 15px 0; }
+
+scale.color.horizontal trough { padding-bottom: 4px; background-position: 0 -3px; border-top-left-radius: 0; border-top-right-radius: 0; }
+
+scale.color.horizontal slider:dir(ltr):hover, scale.color.horizontal slider:dir(ltr):backdrop, scale.color.horizontal slider:dir(ltr):disabled, scale.color.horizontal slider:dir(ltr):backdrop:disabled, scale.color.horizontal slider:dir(ltr), scale.color.horizontal slider:dir(rtl):hover, scale.color.horizontal slider:dir(rtl):backdrop, scale.color.horizontal slider:dir(rtl):disabled, scale.color.horizontal slider:dir(rtl):backdrop:disabled, scale.color.horizontal slider:dir(rtl) { margin-bottom: -15px; margin-top: 6px; }
+
+scale.color.vertical:dir(ltr) { padding: 0 0 0 15px; }
+
+scale.color.vertical:dir(ltr) trough { padding-left: 4px; background-position: 3px 0; border-bottom-right-radius: 0; border-top-right-radius: 0; }
+
+scale.color.vertical:dir(ltr) slider:hover, scale.color.vertical:dir(ltr) slider:backdrop, scale.color.vertical:dir(ltr) slider:disabled, scale.color.vertical:dir(ltr) slider:backdrop:disabled, scale.color.vertical:dir(ltr) slider { margin-left: -15px; margin-right: 6px; }
+
+scale.color.vertical:dir(rtl) { padding: 0 15px 0 0; }
+
+scale.color.vertical:dir(rtl) trough { padding-right: 4px; background-position: -3px 0; border-bottom-left-radius: 0; border-top-left-radius: 0; }
+
+scale.color.vertical:dir(rtl) slider:hover, scale.color.vertical:dir(rtl) slider:backdrop, scale.color.vertical:dir(rtl) slider:disabled, scale.color.vertical:dir(rtl) slider:backdrop:disabled, scale.color.vertical:dir(rtl) slider { margin-right: -15px; margin-left: 6px; }
+
+scale.color.fine-tune.horizontal:dir(ltr), scale.color.fine-tune.horizontal:dir(rtl) { padding: 0 0 12px 0; }
+
+scale.color.fine-tune.horizontal:dir(ltr) trough, scale.color.fine-tune.horizontal:dir(rtl) trough { padding-bottom: 7px; background-position: 0 -6px; }
+
+scale.color.fine-tune.horizontal:dir(ltr) slider, scale.color.fine-tune.horizontal:dir(rtl) slider { margin-bottom: -15px; margin-top: 6px; }
+
+scale.color.fine-tune.vertical:dir(ltr) { padding: 0 0 0 12px; }
+
+scale.color.fine-tune.vertical:dir(ltr) trough { padding-left: 7px; background-position: 6px 0; }
+
+scale.color.fine-tune.vertical:dir(ltr) slider { margin-left: -15px; margin-right: 6px; }
+
+scale.color.fine-tune.vertical:dir(rtl) { padding: 0 12px 0 0; }
+
+scale.color.fine-tune.vertical:dir(rtl) trough { padding-right: 7px; background-position: -6px 0; }
+
+scale.color.fine-tune.vertical:dir(rtl) slider { margin-right: -15px; margin-left: 6px; }
+
+/***************** Progress bars * */
+progressbar { font-size: smaller; color: rgba(36, 31, 49, 0.4); font-feature-settings: "tnum"; }
+
+progressbar.horizontal trough, progressbar.horizontal progress { min-height: 2px; }
+
+progressbar.vertical trough, progressbar.vertical progress { min-width: 2px; }
+
+progressbar.horizontal progress { margin: 0 -1px; }
+
+progressbar.vertical progress { margin: -1px 0; }
+
+progressbar:backdrop { box-shadow: none; transition: 200ms ease-out; }
+
+progressbar progress { border-radius: 1.5px; }
+
+progressbar progress.left { border-top-left-radius: 2px; border-bottom-left-radius: 2px; }
+
+progressbar progress.right { border-top-right-radius: 2px; border-bottom-right-radius: 2px; }
+
+progressbar progress.top { border-top-right-radius: 2px; border-top-left-radius: 2px; }
+
+progressbar progress.bottom { border-bottom-right-radius: 2px; border-bottom-left-radius: 2px; }
+
+progressbar.osd { min-width: 3px; min-height: 3px; background-color: transparent; }
+
+progressbar.osd trough { border-style: none; border-radius: 0; background-color: transparent; box-shadow: none; }
+
+progressbar.osd progress { border-style: none; border-radius: 0; }
+
+progressbar trough.empty progress { all: unset; }
+
+/************* Level Bar * */
+levelbar.horizontal block { min-height: 3px; }
+
+levelbar.horizontal.discrete block { margin: 0 1px; min-width: 32px; }
+
+levelbar.vertical block { min-width: 3px; }
+
+levelbar.vertical.discrete block { margin: 1px 0; min-height: 32px; }
+
+levelbar:backdrop { transition: 200ms ease-out; }
+
+levelbar trough { border: 1px solid; padding: 1px; border-radius: 3px; color: #241f31; border-color: #797979; background-color: #908f8d; box-shadow: inset 0 0 0 1px rgba(56, 107, 0, 0), inset 0 1px 2px rgba(0, 0, 0, 0.4), 0 1px rgba(255, 255, 255, 0.5); }
+
+levelbar trough:backdrop { color: #393543; border-color: #828282; background-color: #8d8c8a; box-shadow: none; }
+
+levelbar block { border: 1px solid; border-radius: 1px; }
+
+levelbar block.low { border-color: #8f4700; background-color: #f57900; }
+
+levelbar block.low:backdrop { border-color: #f57900; }
+
+levelbar block.high, levelbar block:not(.empty) { border-color: #030500; background-color: #386b00; }
+
+levelbar block.high:backdrop, levelbar block:not(.empty):backdrop { border-color: #386b00; }
+
+levelbar block.full { border-color: #40760c; background-color: #73d216; }
+
+levelbar block.full:backdrop { border-color: #73d216; }
+
+levelbar block.empty { background-color: transparent; border-color: rgba(36, 31, 49, 0.2); }
+
+levelbar block.empty:backdrop { border-color: rgba(102, 99, 108, 0.15); }
+
+/**************** Print dialog * */
+printdialog paper { color: #241f31; border: 1px solid #797979; background: white; padding: 0; }
+
+printdialog paper:backdrop { color: #66636c; border-color: #828282; }
+
+printdialog .dialog-action-box { margin: 12px; }
+
+/********** Frames * */
+frame > border, .frame { box-shadow: none; margin: 0; padding: 0; border-radius: 0; border: 1px solid #797979; }
+
+frame > border.flat, .frame.flat { border-style: none; }
+
+frame > border:backdrop, .frame:backdrop { border-color: #828282; }
+
+actionbar > revealer > box { padding: 6px; border-top: 1px solid #797979; }
+
+actionbar > revealer > box:backdrop { border-color: #828282; }
+
+scrolledwindow viewport.frame { border-style: none; }
+
+scrolledwindow overshoot.top { background-image: -gtk-gradient(radial, center top, 0, center top, 0.5, to(#606060), to(rgba(96, 96, 96, 0))), -gtk-gradient(radial, center top, 0, center top, 0.6, from(rgba(36, 31, 49, 0.07)), to(rgba(36, 31, 49, 0))); background-size: 100% 5%, 100% 100%; background-repeat: no-repeat; background-position: center top; background-color: transparent; border: none; box-shadow: none; }
+
+scrolledwindow overshoot.top:backdrop { background-image: -gtk-gradient(radial, center top, 0, center top, 0.5, to(#828282), to(rgba(130, 130, 130, 0))); background-size: 100% 5%; background-repeat: no-repeat; background-position: center top; background-color: transparent; border: none; box-shadow: none; }
+
+scrolledwindow overshoot.bottom { background-image: -gtk-gradient(radial, center bottom, 0, center bottom, 0.5, to(#606060), to(rgba(96, 96, 96, 0))), -gtk-gradient(radial, center bottom, 0, center bottom, 0.6, from(rgba(36, 31, 49, 0.07)), to(rgba(36, 31, 49, 0))); background-size: 100% 5%, 100% 100%; background-repeat: no-repeat; background-position: center bottom; background-color: transparent; border: none; box-shadow: none; }
+
+scrolledwindow overshoot.bottom:backdrop { background-image: -gtk-gradient(radial, center bottom, 0, center bottom, 0.5, to(#828282), to(rgba(130, 130, 130, 0))); background-size: 100% 5%; background-repeat: no-repeat; background-position: center bottom; background-color: transparent; border: none; box-shadow: none; }
+
+scrolledwindow overshoot.left { background-image: -gtk-gradient(radial, left center, 0, left center, 0.5, to(#606060), to(rgba(96, 96, 96, 0))), -gtk-gradient(radial, left center, 0, left center, 0.6, from(rgba(36, 31, 49, 0.07)), to(rgba(36, 31, 49, 0))); background-size: 5% 100%, 100% 100%; background-repeat: no-repeat; background-position: left center; background-color: transparent; border: none; box-shadow: none; }
+
+scrolledwindow overshoot.left:backdrop { background-image: -gtk-gradient(radial, left center, 0, left center, 0.5, to(#828282), to(rgba(130, 130, 130, 0))); background-size: 5% 100%; background-repeat: no-repeat; background-position: left center; background-color: transparent; border: none; box-shadow: none; }
+
+scrolledwindow overshoot.right { background-image: -gtk-gradient(radial, right center, 0, right center, 0.5, to(#606060), to(rgba(96, 96, 96, 0))), -gtk-gradient(radial, right center, 0, right center, 0.6, from(rgba(36, 31, 49, 0.07)), to(rgba(36, 31, 49, 0))); background-size: 5% 100%, 100% 100%; background-repeat: no-repeat; background-position: right center; background-color: transparent; border: none; box-shadow: none; }
+
+scrolledwindow overshoot.right:backdrop { background-image: -gtk-gradient(radial, right center, 0, right center, 0.5, to(#828282), to(rgba(130, 130, 130, 0))); background-size: 5% 100%; background-repeat: no-repeat; background-position: right center; background-color: transparent; border: none; box-shadow: none; }
+
+scrolledwindow junction { border-color: transparent; border-image: linear-gradient(to bottom, #797979 1px, transparent 1px) 0 0 0 1/0 1px stretch; background-color: #8d8c8f; }
+
+scrolledwindow junction:dir(rtl) { border-image-slice: 0 1 0 0; }
+
+scrolledwindow junction:backdrop { border-image-source: linear-gradient(to bottom, #828282 1px, transparent 1px); background-color: #9f9f9f; transition: 200ms ease-out; }
+
+separator { background: rgba(0, 0, 0, 0.1); min-width: 1px; min-height: 1px; }
+
+/********* Lists * */
+list { color: #241f31; background-color: #908f8d; border-color: #797979; }
+
+list:backdrop { color: #393543; background-color: #8d8c8a; border-color: #828282; }
+
+list row { padding: 2px; }
+
+row { transition: all 150ms cubic-bezier(0.25, 0.46, 0.45, 0.94); }
+
+row:hover { transition: none; }
+
+row:backdrop { transition: 200ms ease-out; }
+
+row.activatable.has-open-popup, row.activatable:hover { background-color: rgba(36, 31, 49, 0.05); }
+
+row.activatable:active { box-shadow: inset 0 2px 2px -2px rgba(0, 0, 0, 0.2); }
+
+row.activatable:backdrop:hover { background-color: transparent; }
+
+row.activatable:selected:active { box-shadow: inset 0 2px 3px -1px rgba(0, 0, 0, 0.5); }
+
+row.activatable:selected.has-open-popup, row.activatable:selected:hover { background-color: #366305; }
+
+row.activatable:selected:backdrop { background-color: #386b00; }
+
+/********************* App Notifications * */
+.app-notification, .app-notification.frame { padding: 10px; border-radius: 0 0 5px 5px; background-color: rgba(103, 137, 180, 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; }
+
+.app-notification border, .app-notification.frame border { border: none; }
+
+/************* Expanders * */
+expander title > arrow { min-width: 16px; min-height: 16px; -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); }
+
+expander title > arrow:dir(rtl) { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); }
+
+expander title > arrow:hover { color: #695a8f; }
+
+expander title > arrow:disabled { color: #552222; }
+
+expander title > arrow:disabled:backdrop { color: #818181; }
+
+expander title > arrow:checked { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); }
+
+/************ Calendar * */
+calendar { color: #241f31; border: 1px solid #797979; }
+
+calendar:selected { border-radius: 3px; }
+
+calendar.header { border-bottom-color: rgba(0, 0, 0, 0.1); }
+
+calendar.header:backdrop { border-bottom-color: rgba(0, 0, 0, 0.1); }
+
+calendar.button { color: rgba(36, 31, 49, 0.45); }
+
+calendar.button:hover { color: #241f31; }
+
+calendar.button:backdrop { color: rgba(102, 99, 108, 0.45); }
+
+calendar.button:disabled { color: rgba(85, 34, 34, 0.45); }
+
+calendar.highlight { color: #552222; }
+
+calendar.highlight:backdrop { color: #818181; }
+
+calendar:backdrop { color: #393543; border-color: #828282; }
+
+calendar:indeterminate { color: alpha(currentColor,0.1); }
+
+/*********** Dialogs * */
+messagedialog .titlebar { min-height: 20px; background-image: none; background-color: #a7a7a7; border-style: none; border-top-left-radius: 7px; border-top-right-radius: 7px; }
+
+messagedialog.csd.background { border-bottom-left-radius: 9px; border-bottom-right-radius: 9px; }
+
+messagedialog.csd .dialog-action-area button { padding: 10px 14px; border-right-style: none; border-bottom-style: none; border-radius: 0; -gtk-outline-radius: 0; }
+
+messagedialog.csd .dialog-action-area button:first-child { border-left-style: none; border-bottom-left-radius: 7px; -gtk-outline-bottom-left-radius: 7px; }
+
+messagedialog.csd .dialog-action-area button:last-child { border-bottom-right-radius: 7px; -gtk-outline-bottom-right-radius: 7px; }
+
+filechooser .dialog-action-box { border-top: 1px solid #797979; }
+
+filechooser .dialog-action-box:backdrop { border-top-color: #828282; }
+
+filechooser #pathbarbox { border-bottom: 1px solid #a7a7a7; }
+
+filechooserbutton:drop(active) { box-shadow: none; border-color: transparent; }
+
+/*********** Sidebar * */
+.sidebar { border-style: none; background-color: #9c9b9a; }
+
+stacksidebar.sidebar:dir(ltr) list, stacksidebar.sidebar.left list, stacksidebar.sidebar.left:dir(rtl) list, .sidebar:not(separator):dir(ltr), .sidebar:not(separator).left { border-right: 1px solid #797979; border-left-style: none; }
+
+stacksidebar.sidebar:dir(rtl) list, stacksidebar.sidebar.right list, .sidebar:not(separator):dir(rtl), .sidebar:not(separator).right { border-left: 1px solid #797979; border-right-style: none; }
+
+.sidebar:backdrop { background-color: #9a9a99; border-color: #828282; transition: 200ms ease-out; }
+
+.sidebar list { background-color: transparent; }
+
+paned .sidebar.left, paned .sidebar.right, paned .sidebar.left:dir(rtl), paned .sidebar:dir(rtl), paned .sidebar:dir(ltr), paned .sidebar { border-style: none; }
+
+stacksidebar row { padding: 10px 4px; }
+
+stacksidebar row > label { padding-left: 6px; padding-right: 6px; }
+
+stacksidebar row.needs-attention > label { background-size: 6px 6px, 0 0; }
+
+separator.sidebar { background-color: #797979; }
+
+separator.sidebar:backdrop { background-color: #828282; }
+
+separator.sidebar.selection-mode, .selection-mode separator.sidebar { background-color: #030500; }
+
+/**************** File chooser * */
+row image.sidebar-icon { opacity: 1; }
+
+placessidebar > viewport.frame { border-style: none; }
+
+placessidebar row { min-height: 36px; padding: 0px; }
+
+placessidebar row > revealer { padding: 0 14px; }
+
+placessidebar row:selected { color: #000000; }
+
+placessidebar row:disabled { color: #552222; }
+
+placessidebar row:backdrop { color: #66636c; }
+
+placessidebar row:backdrop:selected { color: #8d8c8a; }
+
+placessidebar row:backdrop:disabled { color: #818181; }
+
+placessidebar row image.sidebar-icon:dir(ltr) { padding-right: 8px; }
+
+placessidebar row image.sidebar-icon:dir(rtl) { padding-left: 8px; }
+
+placessidebar row label.sidebar-label:dir(ltr) { padding-right: 2px; }
+
+placessidebar row label.sidebar-label:dir(rtl) { padding-left: 2px; }
+
+button.sidebar-button { min-height: 26px; min-width: 26px; margin-top: 3px; margin-bottom: 3px; padding: 0; border-radius: 100%; -gtk-outline-radius: 100%; }
+
+button.sidebar-button:not(:hover):not(:active) > image, button.sidebar-button:backdrop > image { opacity: 1; }
+
+placessidebar row:selected:active { box-shadow: none; }
+
+placessidebar row.sidebar-placeholder-row { padding: 0 8px; min-height: 2px; background-image: image(#73d216); background-clip: content-box; }
+
+placessidebar row.sidebar-new-bookmark-row { color: #386b00; }
+
+placessidebar row:drop(active):not(:disabled) { color: #73d216; box-shadow: inset 0 1px #73d216, inset 0 -1px #73d216; }
+
+placessidebar row:drop(active):not(:disabled):selected { color: #000000; background-color: #73d216; }
+
+placesview .server-list-button > image { transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); -gtk-icon-transform: rotate(0turn); }
+
+placesview .server-list-button:checked > image { transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); -gtk-icon-transform: rotate(-0.5turn); }
+
+placesview row.activatable:hover { background-color: transparent; }
+
+placesview > actionbar > revealer > box > label { padding-left: 8px; padding-right: 8px; }
+
+/********* Paned * */
+paned > separator { min-width: 1px; min-height: 1px; -gtk-icon-source: none; border-style: none; background-color: transparent; background-image: image(#797979); background-size: 1px 1px; }
+
+paned > separator:selected { background-image: image(#386b00); }
+
+paned > separator:backdrop { background-image: image(#828282); }
+
+paned > separator.wide { min-width: 5px; min-height: 5px; background-color: #a7a7a7; background-image: image(#797979), image(#797979); background-size: 1px 1px, 1px 1px; }
+
+paned > separator.wide:backdrop { background-color: #a7a7a7; background-image: image(#828282), image(#828282); }
+
+paned.horizontal > separator { background-repeat: repeat-y; }
+
+paned.horizontal > separator:dir(ltr) { margin: 0 -8px 0 0; padding: 0 8px 0 0; background-position: left; }
+
+paned.horizontal > separator:dir(rtl) { margin: 0 0 0 -8px; padding: 0 0 0 8px; background-position: right; }
+
+paned.horizontal > separator.wide { margin: 0; padding: 0; background-repeat: repeat-y, repeat-y; background-position: left, right; }
+
+paned.vertical > separator { margin: 0 0 -8px 0; padding: 0 0 8px 0; background-repeat: repeat-x; background-position: top; }
+
+paned.vertical > separator.wide { margin: 0; padding: 0; background-repeat: repeat-x, repeat-x; background-position: bottom, top; }
+
+/************** GtkInfoBar * */
+infobar { border-style: none; }
+
+infobar.action:hover > revealer > box { background-color: white; border-bottom: 1px solid #868686; }
+
+infobar.info, infobar.question, infobar.warning, infobar.error { text-shadow: none; }
+
+infobar.info:backdrop > revealer > box, infobar.info > revealer > box, infobar.question:backdrop > revealer > box, infobar.question > revealer > box, infobar.warning:backdrop > revealer > box, infobar.warning > revealer > box, infobar.error:backdrop > revealer > box, infobar.error > revealer > box { background-color: white; border-bottom: 1px solid #868686; }
+
+infobar.info:backdrop > revealer > box label, infobar.info:backdrop > revealer > box, infobar.info > revealer > box label, infobar.info > revealer > box, infobar.question:backdrop > revealer > box label, infobar.question:backdrop > revealer > box, infobar.question > revealer > box label, infobar.question > revealer > box, infobar.warning:backdrop > revealer > box label, infobar.warning:backdrop > revealer > box, infobar.warning > revealer > box label, infobar.warning > revealer > box, infobar.error:backdrop > revealer > box label, infobar.error:backdrop > revealer > box, infobar.error > revealer > box label, infobar.error > revealer > box { color: #241f31; }
+
+infobar.info:backdrop, infobar.question:backdrop, infobar.warning:backdrop, infobar.error:backdrop { text-shadow: none; }
+
+infobar.info button, infobar.question button, infobar.warning button, infobar.error button { color: #241f31; background-color: #a7a7a7; outline-color: rgba(56, 107, 0, 0.5); background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.15)); text-shadow: 0 1px rgba(255, 255, 255, 0.3); -gtk-icon-shadow: 0 1px rgba(255, 255, 255, 0.3); box-shadow: inset 0 1px rgba(255, 255, 255, 0.5), 0 1px 2px rgba(0, 0, 0, 0.4); }
+
+infobar.info button:hover, infobar.question button:hover, infobar.warning button:hover, infobar.error button:hover { background-color: shade(#a7a7a7, 1.1); }
+
+infobar.info button:active, infobar.info button:checked, infobar.question button:active, infobar.question button:checked, infobar.warning button:active, infobar.warning button:checked, infobar.error button:active, infobar.error button:checked { box-shadow: 0 1px rgba(255, 255, 255, 0.5), inset 0 1px 2px rgba(0, 0, 0, 0.4); }
+
+infobar.info button:disabled, infobar.question button:disabled, infobar.warning button:disabled, infobar.error button:disabled { color: #552222; background-color: #938989; background-image: none; }
+
+infobar.info button:backdrop, infobar.question button:backdrop, infobar.warning button:backdrop, infobar.error button:backdrop { background-image: none; border-color: #8e8e8e; }
+
+infobar.info button:backdrop:disabled, infobar.question button:backdrop:disabled, infobar.warning button:backdrop:disabled, infobar.error button:backdrop:disabled { border-color: #8e8e8e; }
+
+infobar.info button:backdrop label, infobar.info button:backdrop, infobar.info button label, infobar.info button, infobar.question button:backdrop label, infobar.question button:backdrop, infobar.question button label, infobar.question button, infobar.warning button:backdrop label, infobar.warning button:backdrop, infobar.warning button label, infobar.warning button, infobar.error button:backdrop label, infobar.error button:backdrop, infobar.error button label, infobar.error button { color: #241f31; }
+
+infobar.info selection, infobar.question selection, infobar.warning selection, infobar.error selection { background-color: #8e8e8e; }
+
+infobar.info *:link, infobar.question *:link, infobar.warning *:link, infobar.error *:link { color: #1d3800; }
+
+/************ Tooltips * */
+tooltip { padding: 4px; /* not working */ border-radius: 5px; text-shadow: none; }
+
+tooltip.background { background-color: rgba(103, 137, 180, 0.8); background-clip: padding-box; border: 1px solid #002269; }
+
+tooltip decoration { background-color: transparent; }
+
+tooltip * { padding: 4px; background-color: transparent; color: #002269; }
+
+/***************** Color Chooser * */
+colorswatch:drop(active), colorswatch { border-style: none; }
+
+colorswatch.top { border-top-left-radius: 5.5px; border-top-right-radius: 5.5px; }
+
+colorswatch.top overlay { border-top-left-radius: 5px; border-top-right-radius: 5px; }
+
+colorswatch.bottom { border-bottom-left-radius: 5.5px; border-bottom-right-radius: 5.5px; }
+
+colorswatch.bottom overlay { border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; }
+
+colorswatch.left, colorswatch:first-child:not(.top) { border-top-left-radius: 5.5px; border-bottom-left-radius: 5.5px; }
+
+colorswatch.left overlay, colorswatch:first-child:not(.top) overlay { border-top-left-radius: 5px; border-bottom-left-radius: 5px; }
+
+colorswatch.right, colorswatch:last-child:not(.bottom) { border-top-right-radius: 5.5px; border-bottom-right-radius: 5.5px; }
+
+colorswatch.right overlay, colorswatch:last-child:not(.bottom) overlay { border-top-right-radius: 5px; border-bottom-right-radius: 5px; }
+
+colorswatch.dark { outline-color: rgba(255, 255, 255, 0.6); }
+
+colorswatch.dark overlay { color: white; }
+
+colorswatch.dark overlay:hover { border-color: rgba(0, 0, 0, 0.8); }
+
+colorswatch.dark overlay:backdrop { color: rgba(255, 255, 255, 0.5); }
+
+colorswatch.light { outline-color: rgba(0, 0, 0, 0.6); }
+
+colorswatch.light overlay { color: black; }
+
+colorswatch.light overlay:hover { border-color: rgba(0, 0, 0, 0.5); }
+
+colorswatch.light overlay:backdrop { color: rgba(0, 0, 0, 0.5); }
+
+colorswatch:drop(active) { box-shadow: none; }
+
+colorswatch:drop(active).light overlay { border-color: #73d216; box-shadow: inset 0 0 0 2px #61b213, inset 0 0 0 1px #73d216; }
+
+colorswatch:drop(active).dark overlay { border-color: #73d216; box-shadow: inset 0 0 0 2px rgba(0, 0, 0, 0.3), inset 0 0 0 1px #73d216; }
+
+colorswatch overlay { border: 1px solid rgba(0, 0, 0, 0.3); }
+
+colorswatch overlay:hover { box-shadow: inset 0 1px rgba(255, 255, 255, 0.4), inset 0 -1px rgba(0, 0, 0, 0.2); }
+
+colorswatch overlay:backdrop, colorswatch overlay:backdrop:hover { border-color: rgba(0, 0, 0, 0.3); box-shadow: none; }
+
+colorswatch#add-color-button { border-radius: 5px 5px 0 0; }
+
+colorswatch#add-color-button:only-child { border-radius: 5px; }
+
+colorswatch#add-color-button overlay { color: #241f31; background-color: #bcbeb9; outline-color: rgba(56, 107, 0, 0.5); background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.15)); text-shadow: 0 1px rgba(255, 255, 255, 0.3); -gtk-icon-shadow: 0 1px rgba(255, 255, 255, 0.3); box-shadow: inset 0 1px rgba(255, 255, 255, 0.5), 0 1px 2px rgba(0, 0, 0, 0.4); }
+
+colorswatch#add-color-button overlay:hover { background-color: shade(#bcbeb9, 1.1); }
+
+colorswatch#add-color-button overlay:backdrop { background-image: none; }
+
+colorswatch:disabled { opacity: 0.5; }
+
+colorswatch:disabled overlay { border-color: rgba(0, 0, 0, 0.6); box-shadow: none; }
+
+row:selected colorswatch { box-shadow: 0 0 0 2px #000000; }
+
+colorswatch#editor-color-sample { border-radius: 4px; }
+
+colorswatch#editor-color-sample overlay { border-radius: 4.5px; }
+
+colorchooser .popover.osd { border-radius: 5px; }
+
+/******** Misc * */
+.content-view { background-color: #959595; }
+
+.content-view:hover { -gtk-icon-effect: highlight; }
+
+.content-view:backdrop { background-color: #959595; }
+
+.osd .scale-popup button.flat { border-style: none; border-radius: 5px; }
+
+.scale-popup button:hover { background-color: rgba(36, 31, 49, 0.1); border-radius: 5px; }
+
+/********************** Window Decorations * */
+decoration { border-radius: 8px 8px 0 0; border-width: 0px; box-shadow: 0 3px 9px 1px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(0, 0, 0, 0.23); margin: 10px; }
+
+decoration:backdrop { box-shadow: 0 3px 9px 1px transparent, 0 2px 6px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(0, 0, 0, 0.18); transition: 200ms ease-out; }
+
+.maximized decoration, .fullscreen decoration { border-radius: 0; box-shadow: none; }
+
+.tiled decoration, .tiled-top decoration, .tiled-right decoration, .tiled-bottom decoration, .tiled-left decoration { border-radius: 0; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.18), 0 0 0 20px transparent; }
+
+.tiled decoration:backdrop, .tiled-top decoration:backdrop, .tiled-right decoration:backdrop, .tiled-bottom decoration:backdrop, .tiled-left decoration:backdrop { box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.18), 0 0 0 20px transparent; }
+
+.popup decoration { box-shadow: none; }
+
+.ssd decoration { box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.23); }
+
+.ssd decoration:backdrop { box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.18); }
+
+.csd.popup decoration { border-radius: 5px; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(0, 0, 0, 0.13); }
+
+tooltip.csd decoration { border-radius: 5px; box-shadow: none; }
+
+messagedialog.csd decoration { border-radius: 8px; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(0, 0, 0, 0.13); }
+
+.solid-csd decoration { margin: 0; padding: 4px; background-color: #797979; border: solid 1px #797979; border-radius: 0; box-shadow: inset 0 0 0 3px #b4b4b4, inset 0 1px rgba(255, 255, 255, 0.8); }
+
+.solid-csd decoration:backdrop { box-shadow: inset 0 0 0 3px #a7a7a7, inset 0 1px rgba(255, 255, 255, 0.8); }
+
+button.titlebutton { text-shadow: 0 1px rgba(255, 255, 255, 0.3); -gtk-icon-shadow: 0 1px rgba(255, 255, 255, 0.3); }
+
+button.titlebutton:not(.appmenu) { border-radius: 9999px; padding: 5px; margin: 0 2px; min-width: 0; min-height: 0; }
+
+button.titlebutton.close { background-color: #990000; color: white; }
+
+button.titlebutton:backdrop { -gtk-icon-shadow: none; }
+
+.selection-mode headerbar button.titlebutton, .selection-mode .titlebar button.titlebutton, headerbar.selection-mode button.titlebutton, .titlebar.selection-mode button.titlebutton { text-shadow: 0 -1px rgba(0, 0, 0, 0.832157); -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.832157); }
+
+.selection-mode headerbar button.titlebutton:backdrop, .selection-mode .titlebar button.titlebutton:backdrop, headerbar.selection-mode button.titlebutton:backdrop, .titlebar.selection-mode button.titlebutton:backdrop { -gtk-icon-shadow: none; }
+
+.monospace { font-family: monospace; }
+
+/********************** Touch Copy & Paste * */
+cursor-handle { background-color: transparent; background-image: none; box-shadow: none; border-style: none; }
+
+cursor-handle.top:dir(ltr), cursor-handle.bottom:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-start.png"), url("assets/text-select-start@2.png")); padding-left: 10px; }
+
+cursor-handle.bottom:dir(ltr), cursor-handle.top:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-end.png"), url("assets/text-select-end@2.png")); padding-right: 10px; }
+
+cursor-handle.insertion-cursor:dir(ltr), cursor-handle.insertion-cursor:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above.png"), url("assets/slider-horz-scale-has-marks-above@2.png")); }
+
+cursor-handle.top:hover:dir(ltr), cursor-handle.bottom:hover:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-start-hover.png"), url("assets/text-select-start-hover@2.png")); padding-left: 10px; }
+
+cursor-handle.bottom:hover:dir(ltr), cursor-handle.top:hover:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-end-hover.png"), url("assets/text-select-end-hover@2.png")); padding-right: 10px; }
+
+cursor-handle.insertion-cursor:hover:dir(ltr), cursor-handle.insertion-cursor:hover:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-hover.png"), url("assets/slider-horz-scale-has-marks-above-hover@2.png")); }
+
+cursor-handle.top:active:dir(ltr), cursor-handle.bottom:active:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-start-active.png"), url("assets/text-select-start-active@2.png")); padding-left: 10px; }
+
+cursor-handle.bottom:active:dir(ltr), cursor-handle.top:active:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-end-active.png"), url("assets/text-select-end-active@2.png")); padding-right: 10px; }
+
+cursor-handle.insertion-cursor:active:dir(ltr), cursor-handle.insertion-cursor:active:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-active.png"), url("assets/slider-horz-scale-has-marks-above-active@2.png")); }
+
+.context-menu { font: initial; }
+
+.keycap { min-width: 20px; min-height: 25px; margin-top: 2px; padding-bottom: 3px; padding-left: 6px; padding-right: 6px; color: #241f31; background-color: #908f8d; border: 1px solid; border-color: #909090; border-radius: 5px; box-shadow: inset 0 -3px #a2a2a2; font-size: smaller; }
+
+.keycap:backdrop { background-color: #8d8c8a; color: #66636c; transition: 200ms ease-out; }
+
+:not(decoration):not(window):drop(active):focus, :not(decoration):not(window):drop(active) { border-color: #73d216; box-shadow: inset 0 0 0 1px #73d216; caret-color: #73d216; }
+
+stackswitcher button.text-button { min-width: 100px; }
+
+stackswitcher button.circular, stackswitcher button.text-button.circular { min-width: 32px; min-height: 32px; padding: 0; }
+
+/************* App Icons * */
+/* Outline for low res icons */
+.lowres-icon { -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.05), 1px 0 rgba(0, 0, 0, 0.1), 0 1px rgba(0, 0, 0, 0.3), -1px 0 rgba(0, 0, 0, 0.1); }
+
+/* Dropshadow for large icons */
+.icon-dropshadow { -gtk-icon-shadow: 0 1px 12px rgba(0, 0, 0, 0.05), 0 -1px rgba(0, 0, 0, 0.05), 1px 0 rgba(0, 0, 0, 0.1), 0 1px rgba(0, 0, 0, 0.3), -1px 0 rgba(0, 0, 0, 0.1); }
+
+/********* Emoji * */
+popover.emoji-picker { padding-left: 0; padding-right: 0; }
+
+popover.emoji-picker entry.search { margin: 3px 5px 5px 5px; }
+
+button.emoji-section { border-color: transparent; border-width: 3px; border-style: none none solid; border-radius: 0; margin: 2px 4px 2px 4px; padding: 3px 0 0; min-width: 32px; min-height: 28px; /* reset props inherited from the button style */ background: none; box-shadow: none; text-shadow: none; outline-offset: -5px; }
+
+button.emoji-section:first-child { margin-left: 7px; }
+
+button.emoji-section:last-child { margin-right: 7px; }
+
+button.emoji-section:backdrop:not(:checked) { border-color: transparent; }
+
+button.emoji-section:hover { border-color: #797979; }
+
+button.emoji-section:checked { border-color: #386b00; }
+
+button.emoji-section label { padding: 0; opacity: 0.55; }
+
+button.emoji-section:hover label { opacity: 0.775; }
+
+button.emoji-section:checked label { opacity: 1; }
+
+popover.emoji-picker .emoji { font-size: x-large; padding: 6px; }
+
+popover.emoji-picker .emoji :hover { background: #386b00; border-radius: 6px; }
+
+popover.emoji-completion arrow { border: none; background: none; }
+
+popover.emoji-completion contents row box { padding: 2px 10px; }
+
+popover.emoji-completion .emoji:hover { background: #b4b4b4; }
+
+/* GTK NAMED COLORS ---------------- use responsibly! */
+/*
+widget text/foreground color */
+@define-color theme_fg_color #241f31;
+/*
+text color for entries, views and content in general */
+@define-color theme_text_color #241f31;
+/*
+widget base background color */
+@define-color theme_bg_color #a7a7a7;
+/*
+text widgets and the like base background color */
+@define-color theme_base_color #908f8d;
+/*
+base background color of selections */
+@define-color theme_selected_bg_color #386b00;
+/*
+text/foreground color of selections */
+@define-color theme_selected_fg_color #000000;
+/*
+base background color of insensitive widgets */
+@define-color insensitive_bg_color #938989;
+/*
+text foreground color of insensitive widgets */
+@define-color insensitive_fg_color #552222;
+/*
+insensitive text widgets and the like base background color */
+@define-color insensitive_base_color #908f8d;
+/*
+widget text/foreground color on backdrop windows */
+@define-color theme_unfocused_fg_color #66636c;
+/*
+text color for entries, views and content in general on backdrop windows */
+@define-color theme_unfocused_text_color #241f31;
+/*
+widget base background color on backdrop windows */
+@define-color theme_unfocused_bg_color #a7a7a7;
+/*
+text widgets and the like base background color on backdrop windows */
+@define-color theme_unfocused_base_color #8d8c8a;
+/*
+base background color of selections on backdrop windows */
+@define-color theme_unfocused_selected_bg_color #386b00;
+/*
+text/foreground color of selections on backdrop windows */
+@define-color theme_unfocused_selected_fg_color #000000;
+/*
+insensitive color on backdrop windows*/
+@define-color unfocused_insensitive_color #818181;
+/*
+widgets main borders color */
+@define-color borders #797979;
+/*
+widgets main borders color on backdrop windows */
+@define-color unfocused_borders #828282;
+/*
+these are pretty self explicative */
+@define-color warning_color #f57900;
+@define-color error_color #990000;
+@define-color success_color #73d216;
+/*
+these colors are exported for the window manager and shouldn't be used in applications,
+read if you used those and something break with a version upgrade you're on your own... */
+@define-color wm_title shade(#241f31, 1.8);
+@define-color wm_unfocused_title #66636c;
+@define-color wm_highlight rgba(255, 255, 255, 0.8);
+@define-color wm_borders_edge rgba(255, 255, 255, 0.8);
+@define-color wm_bg_a shade(#a7a7a7, 1.2);
+@define-color wm_bg_b #a7a7a7;
+@define-color wm_shadow alpha(black, 0.35);
+@define-color wm_border alpha(black, 0.18);
+@define-color wm_button_hover_color_a shade(#a7a7a7, 1.3);
+@define-color wm_button_hover_color_b #a7a7a7;
+@define-color wm_button_active_color_a shade(#a7a7a7, 0.85);
+@define-color wm_button_active_color_b shade(#a7a7a7, 0.89);
+@define-color wm_button_active_color_c shade(#a7a7a7, 0.9);
+/* content view background such as thumbnails view in Photos or Boxes */
+@define-color content_view_bg #908f8d;
+/* Very contrasty background for text views (@theme_text_color foreground) */
+@define-color text_view_bg #908f8d;
diff --git a/gtk-4.0/assets/bullet-symbolic.svg b/gtk-4.0/assets/bullet-symbolic.svg
new file mode 100644
index 0000000..acf880a
--- /dev/null
+++ b/gtk-4.0/assets/bullet-symbolic.svg
@@ -0,0 +1,155 @@
+
+
+
+
diff --git a/gtk-4.0/assets/bullet-symbolic.symbolic.png b/gtk-4.0/assets/bullet-symbolic.symbolic.png
new file mode 100644
index 0000000..8e6925a
Binary files /dev/null and b/gtk-4.0/assets/bullet-symbolic.symbolic.png differ
diff --git a/gtk-4.0/assets/bullet@2-symbolic.symbolic.png b/gtk-4.0/assets/bullet@2-symbolic.symbolic.png
new file mode 100644
index 0000000..e9df425
Binary files /dev/null and b/gtk-4.0/assets/bullet@2-symbolic.symbolic.png differ
diff --git a/gtk-4.0/assets/check-symbolic.svg b/gtk-4.0/assets/check-symbolic.svg
new file mode 100644
index 0000000..b04b5ad
--- /dev/null
+++ b/gtk-4.0/assets/check-symbolic.svg
@@ -0,0 +1,154 @@
+
+
+
+
diff --git a/gtk-4.0/assets/check-symbolic.symbolic.png b/gtk-4.0/assets/check-symbolic.symbolic.png
new file mode 100644
index 0000000..14bd626
Binary files /dev/null and b/gtk-4.0/assets/check-symbolic.symbolic.png differ
diff --git a/gtk-4.0/assets/check@2-symbolic.symbolic.png b/gtk-4.0/assets/check@2-symbolic.symbolic.png
new file mode 100644
index 0000000..994ce3a
Binary files /dev/null and b/gtk-4.0/assets/check@2-symbolic.symbolic.png differ
diff --git a/gtk-4.0/assets/dash-symbolic.svg b/gtk-4.0/assets/dash-symbolic.svg
new file mode 100644
index 0000000..7886d54
--- /dev/null
+++ b/gtk-4.0/assets/dash-symbolic.svg
@@ -0,0 +1,153 @@
+
+
+
+
diff --git a/gtk-4.0/assets/dash-symbolic.symbolic.png b/gtk-4.0/assets/dash-symbolic.symbolic.png
new file mode 100644
index 0000000..c20d4ba
Binary files /dev/null and b/gtk-4.0/assets/dash-symbolic.symbolic.png differ
diff --git a/gtk-4.0/assets/dash@2-symbolic.symbolic.png b/gtk-4.0/assets/dash@2-symbolic.symbolic.png
new file mode 100644
index 0000000..d2b3385
Binary files /dev/null and b/gtk-4.0/assets/dash@2-symbolic.symbolic.png differ
diff --git a/gtk-4.0/assets/slider-horz-scale-has-marks-above-active-dark.png b/gtk-4.0/assets/slider-horz-scale-has-marks-above-active-dark.png
new file mode 100644
index 0000000..6340b2e
Binary files /dev/null and b/gtk-4.0/assets/slider-horz-scale-has-marks-above-active-dark.png differ
diff --git a/gtk-4.0/assets/slider-horz-scale-has-marks-above-active-dark@2.png b/gtk-4.0/assets/slider-horz-scale-has-marks-above-active-dark@2.png
new file mode 100644
index 0000000..ac5218d
Binary files /dev/null and b/gtk-4.0/assets/slider-horz-scale-has-marks-above-active-dark@2.png differ
diff --git a/gtk-4.0/assets/slider-horz-scale-has-marks-above-active.png b/gtk-4.0/assets/slider-horz-scale-has-marks-above-active.png
new file mode 100644
index 0000000..1731cb3
Binary files /dev/null and b/gtk-4.0/assets/slider-horz-scale-has-marks-above-active.png differ
diff --git a/gtk-4.0/assets/slider-horz-scale-has-marks-above-active@2.png b/gtk-4.0/assets/slider-horz-scale-has-marks-above-active@2.png
new file mode 100644
index 0000000..9431dad
Binary files /dev/null and b/gtk-4.0/assets/slider-horz-scale-has-marks-above-active@2.png differ
diff --git a/gtk-4.0/assets/slider-horz-scale-has-marks-above-dark.png b/gtk-4.0/assets/slider-horz-scale-has-marks-above-dark.png
new file mode 100644
index 0000000..3f5b203
Binary files /dev/null and b/gtk-4.0/assets/slider-horz-scale-has-marks-above-dark.png differ
diff --git a/gtk-4.0/assets/slider-horz-scale-has-marks-above-dark@2.png b/gtk-4.0/assets/slider-horz-scale-has-marks-above-dark@2.png
new file mode 100644
index 0000000..c3b5344
Binary files /dev/null and b/gtk-4.0/assets/slider-horz-scale-has-marks-above-dark@2.png differ
diff --git a/gtk-4.0/assets/slider-horz-scale-has-marks-above-hover-dark.png b/gtk-4.0/assets/slider-horz-scale-has-marks-above-hover-dark.png
new file mode 100644
index 0000000..9f7d932
Binary files /dev/null and b/gtk-4.0/assets/slider-horz-scale-has-marks-above-hover-dark.png differ
diff --git a/gtk-4.0/assets/slider-horz-scale-has-marks-above-hover-dark@2.png b/gtk-4.0/assets/slider-horz-scale-has-marks-above-hover-dark@2.png
new file mode 100644
index 0000000..8a42a02
Binary files /dev/null and b/gtk-4.0/assets/slider-horz-scale-has-marks-above-hover-dark@2.png differ
diff --git a/gtk-4.0/assets/slider-horz-scale-has-marks-above-hover.png b/gtk-4.0/assets/slider-horz-scale-has-marks-above-hover.png
new file mode 100644
index 0000000..180aec8
Binary files /dev/null and b/gtk-4.0/assets/slider-horz-scale-has-marks-above-hover.png differ
diff --git a/gtk-4.0/assets/slider-horz-scale-has-marks-above-hover@2.png b/gtk-4.0/assets/slider-horz-scale-has-marks-above-hover@2.png
new file mode 100644
index 0000000..842af38
Binary files /dev/null and b/gtk-4.0/assets/slider-horz-scale-has-marks-above-hover@2.png differ
diff --git a/gtk-4.0/assets/slider-horz-scale-has-marks-above-insensitive-dark.png b/gtk-4.0/assets/slider-horz-scale-has-marks-above-insensitive-dark.png
new file mode 100644
index 0000000..5d5bc7d
Binary files /dev/null and b/gtk-4.0/assets/slider-horz-scale-has-marks-above-insensitive-dark.png differ
diff --git a/gtk-4.0/assets/slider-horz-scale-has-marks-above-insensitive-dark@2.png b/gtk-4.0/assets/slider-horz-scale-has-marks-above-insensitive-dark@2.png
new file mode 100644
index 0000000..4603029
Binary files /dev/null and b/gtk-4.0/assets/slider-horz-scale-has-marks-above-insensitive-dark@2.png differ
diff --git a/gtk-4.0/assets/slider-horz-scale-has-marks-above-insensitive.png b/gtk-4.0/assets/slider-horz-scale-has-marks-above-insensitive.png
new file mode 100644
index 0000000..e0faaf0
Binary files /dev/null and b/gtk-4.0/assets/slider-horz-scale-has-marks-above-insensitive.png differ
diff --git a/gtk-4.0/assets/slider-horz-scale-has-marks-above-insensitive@2.png b/gtk-4.0/assets/slider-horz-scale-has-marks-above-insensitive@2.png
new file mode 100644
index 0000000..75217d2
Binary files /dev/null and b/gtk-4.0/assets/slider-horz-scale-has-marks-above-insensitive@2.png differ
diff --git a/gtk-4.0/assets/slider-horz-scale-has-marks-above.png b/gtk-4.0/assets/slider-horz-scale-has-marks-above.png
new file mode 100644
index 0000000..87128e2
Binary files /dev/null and b/gtk-4.0/assets/slider-horz-scale-has-marks-above.png differ
diff --git a/gtk-4.0/assets/slider-horz-scale-has-marks-above@2.png b/gtk-4.0/assets/slider-horz-scale-has-marks-above@2.png
new file mode 100644
index 0000000..83ff84e
Binary files /dev/null and b/gtk-4.0/assets/slider-horz-scale-has-marks-above@2.png differ
diff --git a/gtk-4.0/assets/slider-horz-scale-has-marks-below-active-dark.png b/gtk-4.0/assets/slider-horz-scale-has-marks-below-active-dark.png
new file mode 100644
index 0000000..502493d
Binary files /dev/null and b/gtk-4.0/assets/slider-horz-scale-has-marks-below-active-dark.png differ
diff --git a/gtk-4.0/assets/slider-horz-scale-has-marks-below-active-dark@2.png b/gtk-4.0/assets/slider-horz-scale-has-marks-below-active-dark@2.png
new file mode 100644
index 0000000..42ababe
Binary files /dev/null and b/gtk-4.0/assets/slider-horz-scale-has-marks-below-active-dark@2.png differ
diff --git a/gtk-4.0/assets/slider-horz-scale-has-marks-below-active.png b/gtk-4.0/assets/slider-horz-scale-has-marks-below-active.png
new file mode 100644
index 0000000..39b1c21
Binary files /dev/null and b/gtk-4.0/assets/slider-horz-scale-has-marks-below-active.png differ
diff --git a/gtk-4.0/assets/slider-horz-scale-has-marks-below-active@2.png b/gtk-4.0/assets/slider-horz-scale-has-marks-below-active@2.png
new file mode 100644
index 0000000..f9c144e
Binary files /dev/null and b/gtk-4.0/assets/slider-horz-scale-has-marks-below-active@2.png differ
diff --git a/gtk-4.0/assets/slider-horz-scale-has-marks-below-dark.png b/gtk-4.0/assets/slider-horz-scale-has-marks-below-dark.png
new file mode 100644
index 0000000..438102d
Binary files /dev/null and b/gtk-4.0/assets/slider-horz-scale-has-marks-below-dark.png differ
diff --git a/gtk-4.0/assets/slider-horz-scale-has-marks-below-dark@2.png b/gtk-4.0/assets/slider-horz-scale-has-marks-below-dark@2.png
new file mode 100644
index 0000000..dc88ed4
Binary files /dev/null and b/gtk-4.0/assets/slider-horz-scale-has-marks-below-dark@2.png differ
diff --git a/gtk-4.0/assets/slider-horz-scale-has-marks-below-hover-dark.png b/gtk-4.0/assets/slider-horz-scale-has-marks-below-hover-dark.png
new file mode 100644
index 0000000..7dd3b53
Binary files /dev/null and b/gtk-4.0/assets/slider-horz-scale-has-marks-below-hover-dark.png differ
diff --git a/gtk-4.0/assets/slider-horz-scale-has-marks-below-hover-dark@2.png b/gtk-4.0/assets/slider-horz-scale-has-marks-below-hover-dark@2.png
new file mode 100644
index 0000000..84893b7
Binary files /dev/null and b/gtk-4.0/assets/slider-horz-scale-has-marks-below-hover-dark@2.png differ
diff --git a/gtk-4.0/assets/slider-horz-scale-has-marks-below-hover.png b/gtk-4.0/assets/slider-horz-scale-has-marks-below-hover.png
new file mode 100644
index 0000000..3052b51
Binary files /dev/null and b/gtk-4.0/assets/slider-horz-scale-has-marks-below-hover.png differ
diff --git a/gtk-4.0/assets/slider-horz-scale-has-marks-below-hover@2.png b/gtk-4.0/assets/slider-horz-scale-has-marks-below-hover@2.png
new file mode 100644
index 0000000..bcc5328
Binary files /dev/null and b/gtk-4.0/assets/slider-horz-scale-has-marks-below-hover@2.png differ
diff --git a/gtk-4.0/assets/slider-horz-scale-has-marks-below-insensitive-dark.png b/gtk-4.0/assets/slider-horz-scale-has-marks-below-insensitive-dark.png
new file mode 100644
index 0000000..12f249a
Binary files /dev/null and b/gtk-4.0/assets/slider-horz-scale-has-marks-below-insensitive-dark.png differ
diff --git a/gtk-4.0/assets/slider-horz-scale-has-marks-below-insensitive-dark@2.png b/gtk-4.0/assets/slider-horz-scale-has-marks-below-insensitive-dark@2.png
new file mode 100644
index 0000000..29c21fb
Binary files /dev/null and b/gtk-4.0/assets/slider-horz-scale-has-marks-below-insensitive-dark@2.png differ
diff --git a/gtk-4.0/assets/slider-horz-scale-has-marks-below-insensitive.png b/gtk-4.0/assets/slider-horz-scale-has-marks-below-insensitive.png
new file mode 100644
index 0000000..93cc0a6
Binary files /dev/null and b/gtk-4.0/assets/slider-horz-scale-has-marks-below-insensitive.png differ
diff --git a/gtk-4.0/assets/slider-horz-scale-has-marks-below-insensitive@2.png b/gtk-4.0/assets/slider-horz-scale-has-marks-below-insensitive@2.png
new file mode 100644
index 0000000..56d01a7
Binary files /dev/null and b/gtk-4.0/assets/slider-horz-scale-has-marks-below-insensitive@2.png differ
diff --git a/gtk-4.0/assets/slider-horz-scale-has-marks-below.png b/gtk-4.0/assets/slider-horz-scale-has-marks-below.png
new file mode 100644
index 0000000..05364ce
Binary files /dev/null and b/gtk-4.0/assets/slider-horz-scale-has-marks-below.png differ
diff --git a/gtk-4.0/assets/slider-horz-scale-has-marks-below@2.png b/gtk-4.0/assets/slider-horz-scale-has-marks-below@2.png
new file mode 100644
index 0000000..cde1392
Binary files /dev/null and b/gtk-4.0/assets/slider-horz-scale-has-marks-below@2.png differ
diff --git a/gtk-4.0/assets/slider-vert-scale-has-marks-above-active-dark.png b/gtk-4.0/assets/slider-vert-scale-has-marks-above-active-dark.png
new file mode 100644
index 0000000..8457c1b
Binary files /dev/null and b/gtk-4.0/assets/slider-vert-scale-has-marks-above-active-dark.png differ
diff --git a/gtk-4.0/assets/slider-vert-scale-has-marks-above-active-dark@2.png b/gtk-4.0/assets/slider-vert-scale-has-marks-above-active-dark@2.png
new file mode 100644
index 0000000..fc3962f
Binary files /dev/null and b/gtk-4.0/assets/slider-vert-scale-has-marks-above-active-dark@2.png differ
diff --git a/gtk-4.0/assets/slider-vert-scale-has-marks-above-active.png b/gtk-4.0/assets/slider-vert-scale-has-marks-above-active.png
new file mode 100644
index 0000000..5cca0f8
Binary files /dev/null and b/gtk-4.0/assets/slider-vert-scale-has-marks-above-active.png differ
diff --git a/gtk-4.0/assets/slider-vert-scale-has-marks-above-active@2.png b/gtk-4.0/assets/slider-vert-scale-has-marks-above-active@2.png
new file mode 100644
index 0000000..971c35a
Binary files /dev/null and b/gtk-4.0/assets/slider-vert-scale-has-marks-above-active@2.png differ
diff --git a/gtk-4.0/assets/slider-vert-scale-has-marks-above-dark.png b/gtk-4.0/assets/slider-vert-scale-has-marks-above-dark.png
new file mode 100644
index 0000000..0bf1bf3
Binary files /dev/null and b/gtk-4.0/assets/slider-vert-scale-has-marks-above-dark.png differ
diff --git a/gtk-4.0/assets/slider-vert-scale-has-marks-above-dark@2.png b/gtk-4.0/assets/slider-vert-scale-has-marks-above-dark@2.png
new file mode 100644
index 0000000..bbc3398
Binary files /dev/null and b/gtk-4.0/assets/slider-vert-scale-has-marks-above-dark@2.png differ
diff --git a/gtk-4.0/assets/slider-vert-scale-has-marks-above-hover-dark.png b/gtk-4.0/assets/slider-vert-scale-has-marks-above-hover-dark.png
new file mode 100644
index 0000000..ce9467b
Binary files /dev/null and b/gtk-4.0/assets/slider-vert-scale-has-marks-above-hover-dark.png differ
diff --git a/gtk-4.0/assets/slider-vert-scale-has-marks-above-hover-dark@2.png b/gtk-4.0/assets/slider-vert-scale-has-marks-above-hover-dark@2.png
new file mode 100644
index 0000000..3562fd5
Binary files /dev/null and b/gtk-4.0/assets/slider-vert-scale-has-marks-above-hover-dark@2.png differ
diff --git a/gtk-4.0/assets/slider-vert-scale-has-marks-above-hover.png b/gtk-4.0/assets/slider-vert-scale-has-marks-above-hover.png
new file mode 100644
index 0000000..d24aced
Binary files /dev/null and b/gtk-4.0/assets/slider-vert-scale-has-marks-above-hover.png differ
diff --git a/gtk-4.0/assets/slider-vert-scale-has-marks-above-hover@2.png b/gtk-4.0/assets/slider-vert-scale-has-marks-above-hover@2.png
new file mode 100644
index 0000000..191e4e8
Binary files /dev/null and b/gtk-4.0/assets/slider-vert-scale-has-marks-above-hover@2.png differ
diff --git a/gtk-4.0/assets/slider-vert-scale-has-marks-above-insensitive-dark.png b/gtk-4.0/assets/slider-vert-scale-has-marks-above-insensitive-dark.png
new file mode 100644
index 0000000..5d0b5bd
Binary files /dev/null and b/gtk-4.0/assets/slider-vert-scale-has-marks-above-insensitive-dark.png differ
diff --git a/gtk-4.0/assets/slider-vert-scale-has-marks-above-insensitive-dark@2.png b/gtk-4.0/assets/slider-vert-scale-has-marks-above-insensitive-dark@2.png
new file mode 100644
index 0000000..343e53d
Binary files /dev/null and b/gtk-4.0/assets/slider-vert-scale-has-marks-above-insensitive-dark@2.png differ
diff --git a/gtk-4.0/assets/slider-vert-scale-has-marks-above-insensitive.png b/gtk-4.0/assets/slider-vert-scale-has-marks-above-insensitive.png
new file mode 100644
index 0000000..598a9f0
Binary files /dev/null and b/gtk-4.0/assets/slider-vert-scale-has-marks-above-insensitive.png differ
diff --git a/gtk-4.0/assets/slider-vert-scale-has-marks-above-insensitive@2.png b/gtk-4.0/assets/slider-vert-scale-has-marks-above-insensitive@2.png
new file mode 100644
index 0000000..47d7bf7
Binary files /dev/null and b/gtk-4.0/assets/slider-vert-scale-has-marks-above-insensitive@2.png differ
diff --git a/gtk-4.0/assets/slider-vert-scale-has-marks-above.png b/gtk-4.0/assets/slider-vert-scale-has-marks-above.png
new file mode 100644
index 0000000..4e880ad
Binary files /dev/null and b/gtk-4.0/assets/slider-vert-scale-has-marks-above.png differ
diff --git a/gtk-4.0/assets/slider-vert-scale-has-marks-above@2.png b/gtk-4.0/assets/slider-vert-scale-has-marks-above@2.png
new file mode 100644
index 0000000..2bfa8c7
Binary files /dev/null and b/gtk-4.0/assets/slider-vert-scale-has-marks-above@2.png differ
diff --git a/gtk-4.0/assets/slider-vert-scale-has-marks-below-active-dark.png b/gtk-4.0/assets/slider-vert-scale-has-marks-below-active-dark.png
new file mode 100644
index 0000000..ef21ab0
Binary files /dev/null and b/gtk-4.0/assets/slider-vert-scale-has-marks-below-active-dark.png differ
diff --git a/gtk-4.0/assets/slider-vert-scale-has-marks-below-active-dark@2.png b/gtk-4.0/assets/slider-vert-scale-has-marks-below-active-dark@2.png
new file mode 100644
index 0000000..df1675e
Binary files /dev/null and b/gtk-4.0/assets/slider-vert-scale-has-marks-below-active-dark@2.png differ
diff --git a/gtk-4.0/assets/slider-vert-scale-has-marks-below-active.png b/gtk-4.0/assets/slider-vert-scale-has-marks-below-active.png
new file mode 100644
index 0000000..204f324
Binary files /dev/null and b/gtk-4.0/assets/slider-vert-scale-has-marks-below-active.png differ
diff --git a/gtk-4.0/assets/slider-vert-scale-has-marks-below-active@2.png b/gtk-4.0/assets/slider-vert-scale-has-marks-below-active@2.png
new file mode 100644
index 0000000..8c499ed
Binary files /dev/null and b/gtk-4.0/assets/slider-vert-scale-has-marks-below-active@2.png differ
diff --git a/gtk-4.0/assets/slider-vert-scale-has-marks-below-dark.png b/gtk-4.0/assets/slider-vert-scale-has-marks-below-dark.png
new file mode 100644
index 0000000..248a089
Binary files /dev/null and b/gtk-4.0/assets/slider-vert-scale-has-marks-below-dark.png differ
diff --git a/gtk-4.0/assets/slider-vert-scale-has-marks-below-dark@2.png b/gtk-4.0/assets/slider-vert-scale-has-marks-below-dark@2.png
new file mode 100644
index 0000000..8e3263a
Binary files /dev/null and b/gtk-4.0/assets/slider-vert-scale-has-marks-below-dark@2.png differ
diff --git a/gtk-4.0/assets/slider-vert-scale-has-marks-below-hover-dark.png b/gtk-4.0/assets/slider-vert-scale-has-marks-below-hover-dark.png
new file mode 100644
index 0000000..62bb100
Binary files /dev/null and b/gtk-4.0/assets/slider-vert-scale-has-marks-below-hover-dark.png differ
diff --git a/gtk-4.0/assets/slider-vert-scale-has-marks-below-hover-dark@2.png b/gtk-4.0/assets/slider-vert-scale-has-marks-below-hover-dark@2.png
new file mode 100644
index 0000000..ab71962
Binary files /dev/null and b/gtk-4.0/assets/slider-vert-scale-has-marks-below-hover-dark@2.png differ
diff --git a/gtk-4.0/assets/slider-vert-scale-has-marks-below-hover.png b/gtk-4.0/assets/slider-vert-scale-has-marks-below-hover.png
new file mode 100644
index 0000000..ba9521a
Binary files /dev/null and b/gtk-4.0/assets/slider-vert-scale-has-marks-below-hover.png differ
diff --git a/gtk-4.0/assets/slider-vert-scale-has-marks-below-hover@2.png b/gtk-4.0/assets/slider-vert-scale-has-marks-below-hover@2.png
new file mode 100644
index 0000000..87e1923
Binary files /dev/null and b/gtk-4.0/assets/slider-vert-scale-has-marks-below-hover@2.png differ
diff --git a/gtk-4.0/assets/slider-vert-scale-has-marks-below-insensitive-dark.png b/gtk-4.0/assets/slider-vert-scale-has-marks-below-insensitive-dark.png
new file mode 100644
index 0000000..69e56a9
Binary files /dev/null and b/gtk-4.0/assets/slider-vert-scale-has-marks-below-insensitive-dark.png differ
diff --git a/gtk-4.0/assets/slider-vert-scale-has-marks-below-insensitive-dark@2.png b/gtk-4.0/assets/slider-vert-scale-has-marks-below-insensitive-dark@2.png
new file mode 100644
index 0000000..612ad7e
Binary files /dev/null and b/gtk-4.0/assets/slider-vert-scale-has-marks-below-insensitive-dark@2.png differ
diff --git a/gtk-4.0/assets/slider-vert-scale-has-marks-below-insensitive.png b/gtk-4.0/assets/slider-vert-scale-has-marks-below-insensitive.png
new file mode 100644
index 0000000..42cc778
Binary files /dev/null and b/gtk-4.0/assets/slider-vert-scale-has-marks-below-insensitive.png differ
diff --git a/gtk-4.0/assets/slider-vert-scale-has-marks-below-insensitive@2.png b/gtk-4.0/assets/slider-vert-scale-has-marks-below-insensitive@2.png
new file mode 100644
index 0000000..376affc
Binary files /dev/null and b/gtk-4.0/assets/slider-vert-scale-has-marks-below-insensitive@2.png differ
diff --git a/gtk-4.0/assets/slider-vert-scale-has-marks-below.png b/gtk-4.0/assets/slider-vert-scale-has-marks-below.png
new file mode 100644
index 0000000..705f4e6
Binary files /dev/null and b/gtk-4.0/assets/slider-vert-scale-has-marks-below.png differ
diff --git a/gtk-4.0/assets/slider-vert-scale-has-marks-below@2.png b/gtk-4.0/assets/slider-vert-scale-has-marks-below@2.png
new file mode 100644
index 0000000..26a43e0
Binary files /dev/null and b/gtk-4.0/assets/slider-vert-scale-has-marks-below@2.png differ
diff --git a/gtk-4.0/assets/text-select-end-active-dark.png b/gtk-4.0/assets/text-select-end-active-dark.png
new file mode 100644
index 0000000..964afea
Binary files /dev/null and b/gtk-4.0/assets/text-select-end-active-dark.png differ
diff --git a/gtk-4.0/assets/text-select-end-active-dark@2.png b/gtk-4.0/assets/text-select-end-active-dark@2.png
new file mode 100644
index 0000000..167fdc8
Binary files /dev/null and b/gtk-4.0/assets/text-select-end-active-dark@2.png differ
diff --git a/gtk-4.0/assets/text-select-end-active.png b/gtk-4.0/assets/text-select-end-active.png
new file mode 100644
index 0000000..59a955a
Binary files /dev/null and b/gtk-4.0/assets/text-select-end-active.png differ
diff --git a/gtk-4.0/assets/text-select-end-active@2.png b/gtk-4.0/assets/text-select-end-active@2.png
new file mode 100644
index 0000000..5aa6c77
Binary files /dev/null and b/gtk-4.0/assets/text-select-end-active@2.png differ
diff --git a/gtk-4.0/assets/text-select-end-dark.png b/gtk-4.0/assets/text-select-end-dark.png
new file mode 100644
index 0000000..3545bc7
Binary files /dev/null and b/gtk-4.0/assets/text-select-end-dark.png differ
diff --git a/gtk-4.0/assets/text-select-end-dark@2.png b/gtk-4.0/assets/text-select-end-dark@2.png
new file mode 100644
index 0000000..e29a86a
Binary files /dev/null and b/gtk-4.0/assets/text-select-end-dark@2.png differ
diff --git a/gtk-4.0/assets/text-select-end-hover-dark.png b/gtk-4.0/assets/text-select-end-hover-dark.png
new file mode 100644
index 0000000..66daba1
Binary files /dev/null and b/gtk-4.0/assets/text-select-end-hover-dark.png differ
diff --git a/gtk-4.0/assets/text-select-end-hover-dark@2.png b/gtk-4.0/assets/text-select-end-hover-dark@2.png
new file mode 100644
index 0000000..fd4ced6
Binary files /dev/null and b/gtk-4.0/assets/text-select-end-hover-dark@2.png differ
diff --git a/gtk-4.0/assets/text-select-end-hover.png b/gtk-4.0/assets/text-select-end-hover.png
new file mode 100644
index 0000000..f9f5d1d
Binary files /dev/null and b/gtk-4.0/assets/text-select-end-hover.png differ
diff --git a/gtk-4.0/assets/text-select-end-hover@2.png b/gtk-4.0/assets/text-select-end-hover@2.png
new file mode 100644
index 0000000..0eaa261
Binary files /dev/null and b/gtk-4.0/assets/text-select-end-hover@2.png differ
diff --git a/gtk-4.0/assets/text-select-end.png b/gtk-4.0/assets/text-select-end.png
new file mode 100644
index 0000000..aceb8ea
Binary files /dev/null and b/gtk-4.0/assets/text-select-end.png differ
diff --git a/gtk-4.0/assets/text-select-end@2.png b/gtk-4.0/assets/text-select-end@2.png
new file mode 100644
index 0000000..6da7b66
Binary files /dev/null and b/gtk-4.0/assets/text-select-end@2.png differ
diff --git a/gtk-4.0/assets/text-select-start-active-dark.png b/gtk-4.0/assets/text-select-start-active-dark.png
new file mode 100644
index 0000000..a6f3372
Binary files /dev/null and b/gtk-4.0/assets/text-select-start-active-dark.png differ
diff --git a/gtk-4.0/assets/text-select-start-active-dark@2.png b/gtk-4.0/assets/text-select-start-active-dark@2.png
new file mode 100644
index 0000000..1eb3d8e
Binary files /dev/null and b/gtk-4.0/assets/text-select-start-active-dark@2.png differ
diff --git a/gtk-4.0/assets/text-select-start-active.png b/gtk-4.0/assets/text-select-start-active.png
new file mode 100644
index 0000000..765e60c
Binary files /dev/null and b/gtk-4.0/assets/text-select-start-active.png differ
diff --git a/gtk-4.0/assets/text-select-start-active@2.png b/gtk-4.0/assets/text-select-start-active@2.png
new file mode 100644
index 0000000..44d582b
Binary files /dev/null and b/gtk-4.0/assets/text-select-start-active@2.png differ
diff --git a/gtk-4.0/assets/text-select-start-dark.png b/gtk-4.0/assets/text-select-start-dark.png
new file mode 100644
index 0000000..75fa6b4
Binary files /dev/null and b/gtk-4.0/assets/text-select-start-dark.png differ
diff --git a/gtk-4.0/assets/text-select-start-dark@2.png b/gtk-4.0/assets/text-select-start-dark@2.png
new file mode 100644
index 0000000..3a43e2e
Binary files /dev/null and b/gtk-4.0/assets/text-select-start-dark@2.png differ
diff --git a/gtk-4.0/assets/text-select-start-hover-dark.png b/gtk-4.0/assets/text-select-start-hover-dark.png
new file mode 100644
index 0000000..cf4b9c1
Binary files /dev/null and b/gtk-4.0/assets/text-select-start-hover-dark.png differ
diff --git a/gtk-4.0/assets/text-select-start-hover-dark@2.png b/gtk-4.0/assets/text-select-start-hover-dark@2.png
new file mode 100644
index 0000000..76312d5
Binary files /dev/null and b/gtk-4.0/assets/text-select-start-hover-dark@2.png differ
diff --git a/gtk-4.0/assets/text-select-start-hover.png b/gtk-4.0/assets/text-select-start-hover.png
new file mode 100644
index 0000000..539379d
Binary files /dev/null and b/gtk-4.0/assets/text-select-start-hover.png differ
diff --git a/gtk-4.0/assets/text-select-start-hover@2.png b/gtk-4.0/assets/text-select-start-hover@2.png
new file mode 100644
index 0000000..6ba8f51
Binary files /dev/null and b/gtk-4.0/assets/text-select-start-hover@2.png differ
diff --git a/gtk-4.0/assets/text-select-start.png b/gtk-4.0/assets/text-select-start.png
new file mode 100644
index 0000000..9127425
Binary files /dev/null and b/gtk-4.0/assets/text-select-start.png differ
diff --git a/gtk-4.0/assets/text-select-start@2.png b/gtk-4.0/assets/text-select-start@2.png
new file mode 100644
index 0000000..b9b0aa1
Binary files /dev/null and b/gtk-4.0/assets/text-select-start@2.png differ
diff --git a/gtk-4.0/gtk.css b/gtk-4.0/gtk.css
new file mode 100644
index 0000000..a963243
--- /dev/null
+++ b/gtk-4.0/gtk.css
@@ -0,0 +1,1769 @@
+/*$base_color: if($variant == 'light', #ffffff, lighten(desaturate(#241f31, 100%), 2%));
+$text_color: if($variant == 'light', black, white);
+$bg_color: if($variant == 'light', #f6f5f4, darken(desaturate(#3d3846, 100%), 4%));
+$fg_color: if($variant == 'light', #2e3436, #eeeeec);
+
+$selected_fg_color: #ffffff;
+$selected_bg_color: if($variant == 'light', #3584e4, darken(#3584e4, 20%));*/
+/*************************** Check and Radio buttons * */
+/*************************** Check and Radio buttons * */
+calendar > grid > label.day-number:selected, row:selected, columnview.view:selected:focus, columnview.view:selected, treeview.view:selected:focus, treeview.view:selected, modelbutton.flat:selected, gridview > child:selected, flowbox > flowboxchild:selected, .view:selected:focus, iconview:selected:focus, .view:selected, iconview:selected, textview > text:selected:focus, textview > text:selected { background-color: #386b00; }
+
+label:selected, calendar > grid > label.day-number:selected, row:selected, columnview.view:selected:focus, columnview.view:selected, treeview.view:selected:focus, treeview.view:selected, modelbutton.flat:selected, gridview > child:selected, flowbox > flowboxchild:selected, .view:selected:focus, iconview:selected:focus, .view:selected, iconview:selected, textview > text:selected:focus, textview > text:selected { color: #000000; }
+
+label:disabled > selection, label:disabled:selected, calendar > grid > label.day-number:disabled:selected, row:disabled:selected, columnview.view:disabled:selected, treeview.view:disabled:selected, modelbutton.flat:disabled:selected, gridview > child:disabled:selected, flowbox > flowboxchild:disabled:selected, .view:disabled:selected, iconview:disabled:selected, textview > text:disabled:selected { color: #1c3600; }
+
+label:backdrop:selected, calendar > grid > label.day-number:backdrop:selected, row:backdrop:selected, columnview.view:backdrop:selected, treeview.view:backdrop:selected, modelbutton.flat:backdrop:selected, gridview > child:backdrop:selected, flowbox > flowboxchild:backdrop:selected, .view:backdrop:selected, iconview:backdrop:selected, textview > text:backdrop:selected { color: #8d8c8a; }
+
+label:backdrop:disabled:selected, row:backdrop:disabled:selected, modelbutton.flat:backdrop:disabled:selected, gridview > child:backdrop:disabled:selected, flowbox > flowboxchild:backdrop:disabled:selected, .view:backdrop:disabled:selected, iconview:backdrop:disabled:selected, textview > text:backdrop:disabled:selected { color: #52752a; }
+
+/*************** Base States * */
+.background { color: #241f31; background-color: #a7a7a7; }
+
+.background:backdrop { text-shadow: none; -gtk-icon-shadow: none; }
+
+dnd { color: #241f31; }
+
+.normal-icons { -gtk-icon-size: 16px; }
+
+.large-icons { -gtk-icon-size: 32px; }
+
+image:disabled { -gtk-icon-filter: opacity(0.5); }
+
+.view, iconview, textview > text { color: #241f31; background-color: #908f8d; }
+
+.view:disabled, iconview:disabled, textview > text:disabled { color: #552222; background-color: #938989; }
+
+.view:selected:focus, iconview:selected:focus, .view:selected, iconview:selected, textview > text:selected:focus, textview > text:selected { border-radius: 3px; }
+
+textview > text { background-color: transparent; }
+
+textview > text > selection { background-color: rgba(54, 54, 54, 0.5); }
+
+textview > text > selection:focus-within { background-color: rgba(56, 107, 0, 0.3); }
+
+textview:drop(active) { caret-color: #73d216; }
+
+textview > border { background-color: #9c9b9a; }
+
+iconview { transition-property: outline, outline-width, outline-offset, outline-color; transition-duration: 300ms; animation-timing-function: ease-in-out; }
+
+iconview { outline: 0 solid transparent; outline-offset: 4px; }
+
+iconview:focus:focus-visible { outline-color: rgba(56, 107, 0, 0.5); outline-width: 2px; outline-offset: -2px; }
+
+iconview:drop(active) { box-shadow: none; }
+
+iconview > dndtarget:drop(active) { border-style: solid; border-width: 1px; border-color: #101f00; }
+
+rubberband, .content-view > rubberband, columnview.view > rubberband, treeview.view > rubberband, gridview > rubberband, flowbox > rubberband { border: 1px solid #1d3800; background-color: rgba(29, 56, 0, 0.2); }
+
+flowbox > flowboxchild { padding: 3px; transition: outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); transition-property: outline, outline-width, outline-offset, outline-color; transition-duration: 300ms; animation-timing-function: ease-in-out; }
+
+flowbox > flowboxchild { outline: 0 solid transparent; outline-offset: 4px; }
+
+flowbox > flowboxchild:focus:focus-visible { outline-color: rgba(56, 107, 0, 0.5); outline-width: 2px; outline-offset: -2px; }
+
+flowbox > flowboxchild:selected { outline-color: rgba(255, 255, 255, 0.8); }
+
+gridview > child { padding: 3px; transition: outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); transition-property: outline, outline-width, outline-offset, outline-color; transition-duration: 300ms; animation-timing-function: ease-in-out; }
+
+gridview > child { outline: 0 solid transparent; outline-offset: 4px; }
+
+gridview > child:focus:focus-visible { outline-color: rgba(56, 107, 0, 0.5); outline-width: 2px; outline-offset: -2px; }
+
+gridview > child:selected { outline-color: rgba(255, 255, 255, 0.8); }
+
+gridview > child box { border-spacing: 8px; margin: 12px; }
+
+coverflow cover { color: #241f31; background-color: #908f8d; border: 1px solid black; }
+
+label { transition-property: outline, outline-width, outline-offset, outline-color; transition-duration: 300ms; animation-timing-function: ease-in-out; }
+
+label { outline: 0 solid transparent; outline-offset: 4px; }
+
+label:focus:focus-visible { outline-color: rgba(56, 107, 0, 0.5); outline-width: 2px; outline-offset: -2px; }
+
+label > selection { background-color: rgba(54, 54, 54, 0.5); color: #000000; }
+
+label > selection:focus-within { background-color: rgba(56, 107, 0, 0.3); }
+
+label:disabled { color: #552222; }
+
+button label:disabled { color: inherit; }
+
+label.error { color: #990000; }
+
+label.error:disabled { color: rgba(153, 0, 0, 0.5); }
+
+.dim-label, .titlebar:not(headerbar) .subtitle, headerbar .subtitle, spinbutton.vertical > text > text > placeholder, spinbutton:not(.vertical) > text > placeholder, entry > text > placeholder, label.separator { opacity: 0.55; text-shadow: none; }
+
+window.assistant .sidebar { padding: 5px; border-top: 1px solid #797979; }
+
+window.assistant.csd .sidebar { border-top-style: none; }
+
+window.assistant .sidebar > label { padding: 6px 12px; }
+
+window.assistant .sidebar > label.highlight { background-color: #386b00; border-radius: 5px; }
+
+window.aboutdialog image.large-icons { -gtk-icon-size: 128px; }
+
+.osd .scale-popup, .app-notification, .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, .osd { color: #002269; border: 1px solid #002269; background-color: rgba(103, 137, 180, 0.7); background-clip: padding-box; }
+
+/********************* Spinner Animation * */
+@keyframes spin { to { transform: rotate(1turn); } }
+
+spinner { background: none; opacity: 0.1; -gtk-icon-source: -gtk-icontheme("process-working-symbolic"); }
+
+spinner:checked { opacity: 1; animation: spin 1s linear infinite; }
+
+spinner:checked:disabled { opacity: 0.5; color: #552222; }
+
+/********************** General Typography * */
+.large-title { font-weight: 300; font-size: 24pt; }
+
+.title-1 { font-weight: 800; font-size: 20pt; }
+
+.title-2 { font-weight: 800; font-size: 15pt; }
+
+.title-3 { font-weight: 700; font-size: 15pt; }
+
+.title-4 { font-weight: 700; font-size: 13pt; }
+
+.heading { font-weight: 700; font-size: 11pt; }
+
+.body { font-weight: 400; font-size: 11pt; }
+
+.caption-heading { font-weight: 700; font-size: 9pt; }
+
+.caption { font-weight: 400; font-size: 9pt; }
+
+/**************** Text Entries * */
+spinbutton.vertical > text, spinbutton:not(.vertical), entry { min-height: 32px; padding-left: 8px; padding-right: 8px; border: 1px solid; border-radius: 5px; border-spacing: 6px; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); color: #241f31; border-color: #797979; background-color: #908f8d; box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.4), 0 1px rgba(255, 255, 255, 0.5); transition-property: outline, outline-width, outline-offset, outline-color; transition-duration: 300ms; animation-timing-function: ease-in-out; }
+
+spinbutton.vertical > text, spinbutton:not(.vertical), entry { outline: 0 solid transparent; outline-offset: 4px; }
+
+spinbutton.vertical > text:focus-within, spinbutton:focus-within:not(.vertical), entry:focus-within { outline-color: rgba(56, 107, 0, 0.5); outline-width: 2px; outline-offset: -2px; }
+
+spinbutton.vertical > text > image.left, spinbutton:not(.vertical) > image.left, entry > image.left { margin-right: 6px; }
+
+spinbutton.vertical > text > image.right, spinbutton:not(.vertical) > image.right, entry > image.right { margin-left: 6px; }
+
+spinbutton.vertical > text > text > block-cursor, spinbutton:not(.vertical) > text > block-cursor, entry > text > block-cursor { color: #908f8d; background-color: #241f31; }
+
+spinbutton.vertical > text.flat, spinbutton.flat:not(.vertical), entry.flat:focus-within, entry.flat:backdrop, entry.flat:disabled, entry.flat { min-height: 0; padding: 2px; background-color: transparent; border-color: transparent; border-radius: 0; }
+
+spinbutton.vertical > text:focus-within > placeholder, spinbutton:focus-within:not(.vertical) > placeholder, entry:focus-within > placeholder { opacity: 0; /* We hide placeholders on focus */ }
+
+spinbutton.vertical > text:disabled, spinbutton:disabled:not(.vertical), entry:disabled { color: #552222; border-color: #552222; background-color: #938989; }
+
+spinbutton.vertical > text > text > selection, spinbutton:not(.vertical) > text > selection, entry > text > selection { background-color: rgba(54, 54, 54, 0.5); color: transparent; }
+
+spinbutton.vertical > text > text > selection:focus-within, spinbutton:not(.vertical) > text > selection:focus-within, entry > text > selection:focus-within { background-color: rgba(56, 107, 0, 0.3); color: #241f31; }
+
+spinbutton.vertical > text.error, spinbutton.error:not(.vertical), entry.error { color: #990000; transition-property: outline, outline-width, outline-offset, outline-color; transition-duration: 300ms; animation-timing-function: ease-in-out; }
+
+spinbutton.vertical > text.error, spinbutton.error:not(.vertical), entry.error { outline: 0 solid transparent; outline-offset: 4px; }
+
+spinbutton.vertical > text.error:focus-within, spinbutton.error:focus-within:not(.vertical), entry.error:focus-within { outline-color: rgba(153, 0, 0, 0.5); outline-width: 2px; outline-offset: -2px; }
+
+spinbutton.vertical > text.error > selection, spinbutton.error:not(.vertical) > selection, entry.error > selection { background-color: #990000; }
+
+spinbutton.vertical > text.warning, spinbutton.warning:not(.vertical), entry.warning { color: #f57900; transition-property: outline, outline-width, outline-offset, outline-color; transition-duration: 300ms; animation-timing-function: ease-in-out; }
+
+spinbutton.vertical > text.warning, spinbutton.warning:not(.vertical), entry.warning { outline: 0 solid transparent; outline-offset: 4px; }
+
+spinbutton.vertical > text.warning:focus-within, spinbutton.warning:focus-within:not(.vertical), entry.warning:focus-within { outline-color: rgba(245, 121, 0, 0.5); outline-width: 2px; outline-offset: -2px; }
+
+spinbutton.vertical > text.warning > selection, spinbutton.warning:not(.vertical) > selection, entry.warning > selection { background-color: #f57900; }
+
+spinbutton.vertical > text > image, spinbutton:not(.vertical) > image, entry > image { color: #3a3543; }
+
+spinbutton.vertical > text > image:hover, spinbutton:not(.vertical) > image:hover, entry > image:hover { color: #241f31; }
+
+spinbutton.vertical > text > image:active, spinbutton:not(.vertical) > image:active, entry > image:active { color: #386b00; }
+
+spinbutton.vertical > text.password image.caps-lock-indicator, spinbutton.password:not(.vertical) image.caps-lock-indicator, entry.password image.caps-lock-indicator { color: #6e6b72; }
+
+spinbutton.vertical > text:drop(active), spinbutton:drop(active):not(.vertical), entry:drop(active):focus-within, entry:drop(active) { border-color: #73d216; box-shadow: inset 0 0 0 1px #73d216; }
+
+.osd spinbutton.vertical > text, .osd spinbutton:not(.vertical), .osd entry { color: #002269; border-color: #002269; background-color: rgba(0, 34, 105, 0.5); background-clip: padding-box; box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.4), 0 1px rgba(255, 255, 255, 0.5); -gtk-icon-shadow: 0 1px black; }
+
+.osd spinbutton.vertical > text:focus-within, .osd spinbutton:focus-within:not(.vertical), .osd entry:focus-within { color: #002269; border-color: #386b00; background-color: rgba(0, 34, 105, 0.5); background-clip: padding-box; box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.4), 0 1px rgba(255, 255, 255, 0.5); }
+
+.osd spinbutton.vertical > text:disabled, .osd spinbutton:disabled:not(.vertical), .osd entry:disabled { color: #34568f; border-color: #002269; background-color: rgba(93, 127, 173, 0.5); background-clip: padding-box; }
+
+spinbutton.vertical > text > progress, spinbutton:not(.vertical) > progress, entry > progress { margin-bottom: 2px; }
+
+spinbutton.vertical > text progress > trough > progress, spinbutton:not(.vertical) progress > trough > progress, entry progress > trough > progress { background-color: transparent; background-image: none; border-radius: 0; border-width: 0 0 2px; border-color: #386b00; border-style: solid; box-shadow: none; }
+
+spinbutton.vertical.linked:not(.vertical) > text:drop(active) + text, spinbutton.vertical.linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + text, spinbutton.vertical.linked:not(.vertical) > text:drop(active) + spinbutton:not(.vertical), .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + spinbutton:not(.vertical), spinbutton.vertical.linked:not(.vertical) > text:drop(active) + button, .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + button, spinbutton.vertical.linked:not(.vertical) > text:drop(active) + menubutton > button, .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + menubutton > button, spinbutton.vertical.linked:not(.vertical) > text:drop(active) + dropdown > button, .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + dropdown > button, spinbutton.vertical.linked:not(.vertical) > text:drop(active) + colorbutton > button, .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + colorbutton > button, spinbutton.vertical.linked:not(.vertical) > text:drop(active) + fontbutton > button, .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + fontbutton > button, spinbutton.vertical.linked:not(.vertical) > text:drop(active) + filechooserbutton > button, .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + filechooserbutton > button, spinbutton.vertical.linked:not(.vertical) > text:drop(active) + combobox > box > button.combo, .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + combobox > box > button.combo, spinbutton.vertical.linked:not(.vertical) > text:drop(active) + entry, .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + entry, .linked:not(.vertical) > entry:drop(active) + button, .linked:not(.vertical) > entry:drop(active) + menubutton > button, .linked:not(.vertical) > entry:drop(active) + dropdown > button, .linked:not(.vertical) > entry:drop(active) + colorbutton > button, .linked:not(.vertical) > entry:drop(active) + fontbutton > button, .linked:not(.vertical) > entry:drop(active) + filechooserbutton > button, .linked:not(.vertical) > entry:drop(active) + combobox > box > button.combo, spinbutton.vertical.linked:not(.vertical) > entry:drop(active) + text, .linked:not(.vertical) > entry:drop(active) + spinbutton:not(.vertical), .linked:not(.vertical) > entry:drop(active) + entry { border-left-color: #73d216; }
+
+spinbutton.vertical.linked > text:not(:disabled) + entry:not(:disabled), .linked.vertical > spinbutton:not(:disabled):not(.vertical) + entry:not(:disabled), spinbutton.vertical.linked > text:not(:disabled) + text:not(:disabled), spinbutton.vertical.linked > spinbutton:not(:disabled):not(.vertical) + text:not(:disabled), spinbutton.vertical.linked > text:not(:disabled) + spinbutton:not(:disabled):not(.vertical), .linked.vertical > spinbutton:not(:disabled):not(.vertical) + spinbutton:not(:disabled):not(.vertical), .linked.vertical > entry:not(:disabled) + entry:not(:disabled), spinbutton.vertical.linked > entry:not(:disabled) + text:not(:disabled), .linked.vertical > entry:not(:disabled) + spinbutton:not(:disabled):not(.vertical) { border-top-color: #898887; }
+
+spinbutton.vertical.linked > text:disabled + text:disabled, spinbutton.vertical.linked > spinbutton:disabled:not(.vertical) + text:disabled, spinbutton.vertical.linked > text:disabled + spinbutton:disabled:not(.vertical), .linked.vertical > spinbutton:disabled:not(.vertical) + spinbutton:disabled:not(.vertical), spinbutton.vertical.linked > text:disabled + entry:disabled, .linked.vertical > spinbutton:disabled:not(.vertical) + entry:disabled, spinbutton.vertical.linked > entry:disabled + text:disabled, .linked.vertical > entry:disabled + spinbutton:disabled:not(.vertical), .linked.vertical > entry:disabled + entry:disabled { border-top-color: #898887; }
+
+spinbutton.vertical.linked > text + text:drop(active):not(:only-child), spinbutton.vertical.linked > spinbutton:not(.vertical) + text:drop(active):not(:only-child), spinbutton.vertical.linked > text + spinbutton:drop(active):not(:only-child):not(.vertical), .linked.vertical > spinbutton:not(.vertical) + spinbutton:drop(active):not(:only-child):not(.vertical), spinbutton.vertical.linked > text + entry:drop(active):not(:only-child), .linked.vertical > spinbutton:not(.vertical) + entry:drop(active):not(:only-child), spinbutton.vertical.linked > entry + text:drop(active):not(:only-child), .linked.vertical > entry + spinbutton:drop(active):not(:only-child):not(.vertical), .linked.vertical > entry + entry:drop(active):not(:only-child) { border-top-color: #73d216; }
+
+spinbutton.vertical.linked > text:drop(active):not(:only-child) + text, spinbutton.vertical.linked > spinbutton:drop(active):not(:only-child):not(.vertical) + text, spinbutton.vertical.linked > text:drop(active):not(:only-child) + spinbutton:not(.vertical), .linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + spinbutton:not(.vertical), spinbutton.vertical.linked > text:drop(active):not(:only-child) + entry, .linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + entry, spinbutton.vertical.linked > text:drop(active):not(:only-child) + button, .linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + button, spinbutton.vertical.linked > text:drop(active):not(:only-child) + menubutton > button, .linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + menubutton > button, spinbutton.vertical.linked > text:drop(active):not(:only-child) + dropdown > button, .linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + dropdown > button, spinbutton.vertical.linked > text:drop(active):not(:only-child) + colorbutton > button, .linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + colorbutton > button, spinbutton.vertical.linked > text:drop(active):not(:only-child) + fontbutton > button, .linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + fontbutton > button, spinbutton.vertical.linked > text:drop(active):not(:only-child) + filechooserbutton > button, .linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + filechooserbutton > button, spinbutton.vertical.linked > text:drop(active):not(:only-child) + combobox > box > button.combo, .linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + combobox > box > button.combo, spinbutton.vertical.linked > entry:drop(active):not(:only-child) + text, .linked.vertical > entry:drop(active):not(:only-child) + spinbutton:not(.vertical), .linked.vertical > entry:drop(active):not(:only-child) + entry, .linked.vertical > entry:drop(active):not(:only-child) + button, .linked.vertical > entry:drop(active):not(:only-child) + menubutton > button, .linked.vertical > entry:drop(active):not(:only-child) + dropdown > button, .linked.vertical > entry:drop(active):not(:only-child) + colorbutton > button, .linked.vertical > entry:drop(active):not(:only-child) + fontbutton > button, .linked.vertical > entry:drop(active):not(:only-child) + filechooserbutton > button, .linked.vertical > entry:drop(active):not(:only-child) + combobox > box > button.combo { border-top-color: #73d216; }
+
+spinbutton.vertical > text.error, spinbutton.error:not(.vertical), entry.error { color: #990000; }
+
+treeview entry:focus-within:dir(rtl), treeview entry:focus-within:dir(ltr) { background-color: #908f8d; transition-property: color, background; }
+
+treeview entry.flat, treeview entry { border-radius: 0; background-image: none; background-color: #908f8d; }
+
+treeview entry.flat:focus-within, treeview entry:focus-within { border-color: #386b00; }
+
+/******************* Editable Labels * */
+editablelabel > stack > text { color: #241f31; border-color: #797979; background-color: #908f8d; box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.4), 0 1px rgba(255, 255, 255, 0.5); }
+
+/*********** Buttons * */
+@keyframes needs_attention { from { background-image: radial-gradient(farthest-side, #386b00 0%, rgba(56, 107, 0, 0) 0%); }
+ to { background-image: radial-gradient(farthest-side, #386b00 95%, rgba(56, 107, 0, 0)); } }
+
+/****************************************************** Buttons * */
+scrollbar > range > trough > slider, notebook > header > tabs > arrow, windowcontrols button, button { min-height: 24px; min-width: 16px; padding: 2px 6px; border: 1px solid; border-radius: 5px; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); color: #241f31; background-color: #bcbeb9; outline-color: rgba(56, 107, 0, 0.5); background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.15)); text-shadow: 0 1px rgba(255, 255, 255, 0.3); -gtk-icon-shadow: 0 1px rgba(255, 255, 255, 0.3); box-shadow: inset 0 1px rgba(255, 255, 255, 0.5), 0 1px 2px rgba(0, 0, 0, 0.4); transition-property: outline, outline-width, outline-offset, outline-color; transition-duration: 300ms; animation-timing-function: ease-in-out; }
+
+scrollbar > range > trough > slider, notebook > header > tabs > arrow, windowcontrols button, button { outline: 0 solid transparent; outline-offset: 4px; }
+
+scrollbar > range > trough > slider:focus:focus-visible, notebook > header > tabs > arrow:focus:focus-visible, button:focus:focus-visible { outline-color: rgba(56, 107, 0, 0.5); outline-width: 2px; outline-offset: -2px; }
+
+scrollbar > range > trough > slider:hover, notebook > header > tabs > arrow:hover, button:hover { background-color: shade(#bcbeb9, 1.1); -gtk-icon-filter: brightness(1.2); }
+
+scrollbar > range > trough > slider.keyboard-activating, notebook > header > tabs > arrow.keyboard-activating, scrollbar > range > trough > slider:active, notebook > header > tabs > arrow:active, button.keyboard-activating, button:active { box-shadow: 0 1px rgba(255, 255, 255, 0.5), inset 0 1px 2px rgba(0, 0, 0, 0.4); transition-duration: 50ms; }
+
+scrollbar > range > trough > slider:checked:hover:not(:active), notebook > header > tabs > arrow:checked:hover:not(:active), button:checked:hover:not(:active) { color: #000000; background-color: shade(#386b00, 1.1); text-shadow: 0 1px rgba(255, 255, 255, 0.3); -gtk-icon-shadow: 0 1px rgba(255, 255, 255, 0.3); box-shadow: 0 1px rgba(255, 255, 255, 0.5), inset 0 1px 2px rgba(0, 0, 0, 0.4); }
+
+scrollbar > range > trough > slider:checked, notebook > header > tabs > arrow:checked, button:checked, button:checked:active { color: #000000; background-color: #386b00; text-shadow: 0 1px rgba(255, 255, 255, 0.3); -gtk-icon-shadow: 0 1px rgba(255, 255, 255, 0.3); box-shadow: 0 1px rgba(255, 255, 255, 0.5), inset 0 1px 2px rgba(0, 0, 0, 0.4); }
+
+scrollbar > range > trough > slider:backdrop, notebook > header > tabs > arrow:backdrop, button:backdrop.flat, button:backdrop { background-image: none; transition: 200ms ease-out; }
+
+scrollbar > range > trough > slider:backdrop:not(:disabled), notebook > header > tabs > arrow:backdrop:not(:disabled), button:backdrop.flat:not(:disabled), button:backdrop:not(:disabled) { -gtk-icon-filter: none; }
+
+scrollbar > range > trough > slider:disabled, notebook > header > tabs > arrow:disabled, button:disabled { color: #552222; background-color: #938989; background-image: none; -gtk-icon-filter: opacity(0.5); }
+
+scrollbar > range > trough > slider:disabled:active, notebook > header > tabs > arrow:disabled:active, scrollbar > range > trough > slider:disabled:checked, notebook > header > tabs > arrow:disabled:checked, button:disabled:active, button:disabled:checked { color: #552222; background-color: #858574; }
+
+button.sidebar-button, notebook > header > tabs > arrow, windowcontrols button:not(:hover):not(:active):not(:checked):not(:disabled), .toolbar > button:not(:hover):not(:active):not(:checked):not(:disabled), .toolbar > :not(.linked) > button:not(:hover):not(:active):not(:checked):not(:disabled), .toolbar :not(.linked) > menubutton > button:not(:hover):not(:active):not(:checked):not(:disabled), .toolbar :not(.linked) > scalebutton > button:not(:hover):not(:active):not(:checked):not(:disabled), .toolbar :not(.linked) > dropdown > button:not(:hover):not(:active):not(:checked):not(:disabled), .toolbar :not(.linked) > colorbutton > button:not(:hover):not(:active):not(:checked):not(:disabled), .toolbar :not(.linked) > fontbutton > button:not(:hover):not(:active):not(:checked):not(:disabled), .toolbar :not(.linked) > appchooserbutton > button:not(:hover):not(:active):not(:checked):not(:disabled), .toolbar :not(.linked) > combobox > box > button:not(:hover):not(:active):not(:checked):not(:disabled), scrollbar > range > trough > slider.flat:not(:hover):not(:active):not(:checked):not(:disabled), notebook > header > tabs > arrow.flat:not(:hover):not(:active):not(:checked):not(:disabled), button.flat:not(:hover):not(:active):not(:checked):not(:disabled) { 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; transition: none; }
+
+scrollbar > range > trough > slider.image-button, notebook > header > tabs > arrow.image-button, button.image-button { min-width: 24px; padding-left: 5px; padding-right: 5px; }
+
+scrollbar > range > trough > slider.text-button, notebook > header > tabs > arrow.text-button, button.text-button { padding-left: 16px; padding-right: 16px; }
+
+scrollbar > range > trough > slider.text-button.image-button, notebook > header > tabs > arrow.text-button.image-button, button.text-button.image-button { padding-left: 8px; padding-right: 8px; }
+
+scrollbar > range > trough > slider.text-button.image-button label, notebook > header > tabs > arrow.text-button.image-button label, button.text-button.image-button label { padding-left: 8px; padding-right: 8px; }
+
+scrollbar > range > trough > slider.arrow-button, notebook > header > tabs > arrow.arrow-button, button.arrow-button { padding-left: 10px; padding-right: 10px; }
+
+scrollbar > range > trough > slider.arrow-button > box, notebook > header > tabs > arrow.arrow-button > box, windowcontrols button.arrow-button > box, button.arrow-button > box { border-spacing: 4px; }
+
+dropdown:drop(active) button.combo, combobox:drop(active) button.combo, scrollbar > range > trough > slider:drop(active), notebook > header > tabs > arrow:drop(active), button:drop(active) { color: #73d216; border-color: #73d216; box-shadow: inset 0 0 0 1px #73d216; }
+
+row:selected button { border-color: #101f00; }
+
+row:selected button.sidebar-button:not(:active):not(:checked):not(:hover):not(disabled), row:selected button.flat:not(:active):not(:checked):not(:hover):not(disabled) { color: #000000; border-color: transparent; }
+
+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: #8d8c8a; }
+
+button.osd { min-width: 26px; min-height: 32px; color: #002269; border-radius: 5px; border: none; box-shadow: none; }
+
+button.osd.image-button { min-width: 30px; }
+
+button.osd.image-button:only-child { margin: 4px; border-radius: 50%; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); }
+
+button.osd:hover { border: none; box-shadow: none; }
+
+button.osd:active, button.osd:checked { border: none; box-shadow: none; }
+
+.app-notification button, popover.background.touch-selection button, popover.background.magnifier button, .osd button { color: #002269; background-color: rgba(103, 137, 180, 0.7); outline-color: rgba(56, 107, 0, 0.5); background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.15)); text-shadow: 0 1px rgba(255, 255, 255, 0.3); -gtk-icon-shadow: 0 1px rgba(255, 255, 255, 0.3); box-shadow: inset 0 1px rgba(255, 255, 255, 0.5), 0 1px 2px rgba(0, 0, 0, 0.4); }
+
+.app-notification button:hover, popover.background.touch-selection button:hover, popover.background.magnifier button:hover, .osd button:hover { background-color: shade(rgba(103, 137, 180, 0.7), 1.1); }
+
+.app-notification button:active, popover.background.touch-selection button:active, popover.background.magnifier button:active, .app-notification button:checked, popover.background.touch-selection button:checked, popover.background.magnifier button:checked, .osd button:active:backdrop, .osd button:active, .osd button:checked:backdrop, .osd button:checked { box-shadow: 0 1px rgba(255, 255, 255, 0.5), inset 0 1px 2px rgba(0, 0, 0, 0.4); }
+
+.app-notification button:disabled, popover.background.touch-selection button:disabled, popover.background.magnifier button:disabled, .osd button:disabled:backdrop, .osd button:disabled { color: #552222; background-color: #938989; background-image: none; }
+
+.app-notification button.flat, popover.background.touch-selection button.flat, popover.background.magnifier button.flat, .osd button.flat { -gtk-icon-shadow: 0 1px black; }
+
+.app-notification button.flat:not(:hover):not(:active):not(:checked):not(:disabled), popover.background.touch-selection button.flat:not(:hover):not(:active):not(:checked):not(:disabled), popover.background.magnifier button.flat:not(:hover):not(:active):not(:checked):not(:disabled), .osd button.flat:not(:hover):not(:active):not(:checked):not(:disabled) { 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; }
+
+.app-notification button.flat:hover, popover.background.touch-selection button.flat:hover, popover.background.magnifier button.flat:hover, .osd button.flat:hover { background-color: shade(rgba(103, 137, 180, 0.7), 1.1); }
+
+.app-notification button.flat:disabled, popover.background.touch-selection button.flat:disabled, popover.background.magnifier button.flat:disabled, .osd button.flat:disabled { color: #552222; background-color: #938989; background-image: none; }
+
+.app-notification button.flat:active, popover.background.touch-selection button.flat:active, popover.background.magnifier button.flat:active, .app-notification button.flat:checked, popover.background.touch-selection button.flat:checked, popover.background.magnifier button.flat:checked, .osd button.flat:active, .osd button.flat:checked { box-shadow: 0 1px rgba(255, 255, 255, 0.5), inset 0 1px 2px rgba(0, 0, 0, 0.4); }
+
+button.suggested-action { color: white; background-color: #386b00; outline-color: rgba(56, 107, 0, 0.5); background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.15)); text-shadow: 0 -1px rgba(0, 0, 0, 0.832157); -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.832157); box-shadow: inset 0 1px rgba(255, 255, 255, 0.3), 0 1px 2px rgba(0, 0, 0, 0.4); transition-property: outline, outline-width, outline-offset, outline-color; transition-duration: 300ms; animation-timing-function: ease-in-out; }
+
+button.suggested-action { outline: 0 solid transparent; outline-offset: 4px; }
+
+button.suggested-action:focus:focus-visible { outline-color: rgba(255, 255, 255, 0.8); outline-width: 2px; outline-offset: -2px; }
+
+button.suggested-action.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; color: #386b00; }
+
+button.suggested-action:hover { background-color: shade(#386b00, 1.1); }
+
+button.suggested-action:active, button.suggested-action:checked { box-shadow: 0 1px rgba(255, 255, 255, 0.3), inset 0 1px 2px rgba(0, 0, 0, 0.4); }
+
+button.suggested-action.flat:disabled { 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; color: rgba(56, 107, 0, 0.8); }
+
+button.suggested-action:disabled { color: #552222; background-color: #938989; background-image: none; }
+
+button.suggested-action:disabled:active, button.suggested-action:disabled:checked { color: #552222; background-color: #858574; }
+
+button.destructive-action { color: white; background-color: #990000; outline-color: rgba(56, 107, 0, 0.5); background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.15)); text-shadow: 0 -1px rgba(0, 0, 0, 0.76); -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.76); box-shadow: inset 0 1px rgba(255, 255, 255, 0.3), 0 1px 2px rgba(0, 0, 0, 0.4); transition-property: outline, outline-width, outline-offset, outline-color; transition-duration: 300ms; animation-timing-function: ease-in-out; }
+
+button.destructive-action { outline: 0 solid transparent; outline-offset: 4px; }
+
+button.destructive-action:focus:focus-visible { outline-color: rgba(255, 255, 255, 0.8); outline-width: 2px; outline-offset: -2px; }
+
+button.destructive-action.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; color: #990000; }
+
+button.destructive-action:hover { background-color: shade(#990000, 1.1); }
+
+button.destructive-action:active, button.destructive-action:checked { box-shadow: 0 1px rgba(255, 255, 255, 0.3), inset 0 1px 2px rgba(0, 0, 0, 0.4); }
+
+button.destructive-action.flat:disabled { 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; color: rgba(153, 0, 0, 0.8); }
+
+button.destructive-action:disabled { color: #552222; background-color: #938989; background-image: none; }
+
+button.destructive-action:disabled:active, button.destructive-action:disabled:checked { color: #552222; background-color: #858574; }
+
+stackswitcher > button > label { padding: 0 6px; margin: 0 -6px; }
+
+stackswitcher > button > image { padding: 3px 6px; margin: -3px -6px; }
+
+button.font separator { background-color: transparent; }
+
+button.font > box { border-spacing: 6px; }
+
+button.font > box > box > label { font-weight: bold; }
+
+menubutton.circular button, button.circular { min-width: 32px; min-height: 32px; padding: 0; border-radius: 9999px; }
+
+menubutton.circular button label, button.circular label { padding: 0; }
+
+stacksidebar row.needs-attention > label, stackswitcher > button.needs-attention > label, stackswitcher > button.needs-attention > image { animation: needs_attention 150ms ease-in; background-image: radial-gradient(farthest-side, #386b00 96%, rgba(56, 107, 0, 0)); background-size: 6px 6px, 6px 6px; background-repeat: no-repeat; background-position: right 3px, right 4px; }
+
+stacksidebar row.needs-attention > label:backdrop, stackswitcher > button.needs-attention > label:backdrop, stackswitcher > button.needs-attention > image:backdrop { background-size: 6px 6px, 0 0; }
+
+stacksidebar row.needs-attention > label:dir(rtl), stackswitcher > button.needs-attention > label:dir(rtl), stackswitcher > button.needs-attention > image:dir(rtl) { background-position: left 3px, left 4px; }
+
+.linked:not(.vertical) > filechooserbutton > combobox:dir(rtl):not(:last-child) > box > button.combo, .linked:not(.vertical) > appchooserbutton > combobox:dir(rtl):not(:last-child) > box > button.combo, .linked:not(.vertical) > combobox:dir(rtl):not(:last-child) > box > button.combo, .linked:not(.vertical) > filechooserbutton > combobox:dir(ltr):not(:first-child) > box > button.combo, .linked:not(.vertical) > appchooserbutton > combobox:dir(ltr):not(:first-child) > box > button.combo, .linked:not(.vertical) > combobox:dir(ltr):not(:first-child) > box > button.combo, dropdown.linked button:nth-child(2):dir(ltr), combobox.linked button:nth-child(2):dir(ltr), .linked:not(.vertical) > menubutton:dir(rtl):not(:last-child) > button, .linked:not(.vertical) > dropdown:dir(rtl):not(:last-child) > button, .linked:not(.vertical) > colorbutton:dir(rtl):not(:last-child) > button, .linked:not(.vertical) > fontbutton:dir(rtl):not(:last-child) > button, .linked:not(.vertical) > filechooserbutton:dir(rtl):not(:last-child) > button, .linked:not(.vertical) > menubutton:dir(ltr):not(:first-child) > button, .linked:not(.vertical) > dropdown:dir(ltr):not(:first-child) > button, .linked:not(.vertical) > colorbutton:dir(ltr):not(:first-child) > button, .linked:not(.vertical) > fontbutton:dir(ltr):not(:first-child) > button, .linked:not(.vertical) > filechooserbutton:dir(ltr):not(:first-child) > button, spinbutton.vertical.linked:not(.vertical) > text:dir(rtl):not(:last-child), .linked:not(.vertical) > spinbutton:dir(rtl):not(:last-child):not(.vertical), .linked:not(.vertical) > entry:dir(rtl):not(:last-child), .linked:not(.vertical) > button:dir(rtl):not(:last-child), spinbutton.vertical.linked:not(.vertical) > text:dir(ltr):not(:first-child), .linked:not(.vertical) > spinbutton:dir(ltr):not(:first-child):not(.vertical), .linked:not(.vertical) > entry:dir(ltr):not(:first-child), .linked:not(.vertical) > button:dir(ltr):not(:first-child) { border-top-left-radius: 0; border-bottom-left-radius: 0; }
+
+.linked:not(.vertical) > filechooserbutton > combobox:dir(rtl):not(:first-child) > box > button.combo, .linked:not(.vertical) > appchooserbutton > combobox:dir(rtl):not(:first-child) > box > button.combo, .linked:not(.vertical) > combobox:dir(rtl):not(:first-child) > box > button.combo, .linked:not(.vertical) > filechooserbutton > combobox:dir(ltr):not(:last-child) > box > button.combo, .linked:not(.vertical) > appchooserbutton > combobox:dir(ltr):not(:last-child) > box > button.combo, .linked:not(.vertical) > combobox:dir(ltr):not(:last-child) > box > button.combo, dropdown.linked button:nth-child(2):dir(rtl), combobox.linked button:nth-child(2):dir(rtl), .linked:not(.vertical) > menubutton:dir(rtl):not(:first-child) > button, .linked:not(.vertical) > dropdown:dir(rtl):not(:first-child) > button, .linked:not(.vertical) > colorbutton:dir(rtl):not(:first-child) > button, .linked:not(.vertical) > fontbutton:dir(rtl):not(:first-child) > button, .linked:not(.vertical) > filechooserbutton:dir(rtl):not(:first-child) > button, .linked:not(.vertical) > menubutton:dir(ltr):not(:last-child) > button, .linked:not(.vertical) > dropdown:dir(ltr):not(:last-child) > button, .linked:not(.vertical) > colorbutton:dir(ltr):not(:last-child) > button, .linked:not(.vertical) > fontbutton:dir(ltr):not(:last-child) > button, .linked:not(.vertical) > filechooserbutton:dir(ltr):not(:last-child) > button, spinbutton.vertical.linked:not(.vertical) > text:dir(rtl):not(:first-child), .linked:not(.vertical) > spinbutton:dir(rtl):not(:first-child):not(.vertical), .linked:not(.vertical) > entry:dir(rtl):not(:first-child), .linked:not(.vertical) > button:dir(rtl):not(:first-child), spinbutton.vertical.linked:not(.vertical) > text:dir(ltr):not(:last-child), .linked:not(.vertical) > spinbutton:dir(ltr):not(:last-child):not(.vertical), .linked:not(.vertical) > entry:dir(ltr):not(:last-child), .linked:not(.vertical) > button:dir(ltr):not(:last-child) { border-right-style: none; border-top-right-radius: 0; border-bottom-right-radius: 0; }
+
+.linked.vertical > filechooserbutton > combobox:not(:first-child) > box > button.combo, .linked.vertical > appchooserbutton > combobox:not(:first-child) > box > button.combo, .linked.vertical > combobox:not(:first-child) > box > button.combo, .linked.vertical > menubutton:not(:first-child) > button, .linked.vertical > dropdown:not(:first-child) > button, .linked.vertical > colorbutton:not(:first-child) > button, .linked.vertical > fontbutton:not(:first-child) > button, .linked.vertical > filechooserbutton:not(:first-child) > button, spinbutton.vertical.linked > text:not(:first-child), .linked.vertical > spinbutton:not(:first-child):not(.vertical), .linked.vertical > entry:not(:first-child), .linked.vertical > button:not(:first-child) { border-top-left-radius: 0; border-top-right-radius: 0; }
+
+.linked.vertical > filechooserbutton > combobox:not(:last-child) > box > button.combo, .linked.vertical > appchooserbutton > combobox:not(:last-child) > box > button.combo, .linked.vertical > combobox:not(:last-child) > box > button.combo, .linked.vertical > menubutton:not(:last-child) > button, .linked.vertical > dropdown:not(:last-child) > button, .linked.vertical > colorbutton:not(:last-child) > button, .linked.vertical > fontbutton:not(:last-child) > button, .linked.vertical > filechooserbutton:not(:last-child) > button, spinbutton.vertical.linked > text:not(:last-child), .linked.vertical > spinbutton:not(:last-child):not(.vertical), .linked.vertical > entry:not(:last-child), .linked.vertical > button:not(:last-child) { border-bottom-style: none; border-bottom-left-radius: 0; border-bottom-right-radius: 0; }
+
+.scale-popup button:hover, button.link, button.link:hover, button.link:active, button.link:checked, popover.menu box.circular-buttons button.circular.image-button.model, list > row button.image-button:not(.flat), modelbutton.flat:not(:hover):not(:active):not(:checked):not(:disabled) { background-color: transparent; background-image: none; border-color: transparent; box-shadow: inset 0 1px rgba(255, 255, 255, 0), 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; }
+
+/* menu buttons */
+modelbutton.flat { min-height: 26px; padding-left: 5px; padding-right: 5px; border-radius: 5px; }
+
+modelbutton.flat:hover:not(.osd):not(:checked):not(:active):not(:disabled):not(:backdrop) { background-color: shade(#bcbeb9, 1.1); }
+
+modelbutton.flat:disabled { color: #552222; background-color: #938989; background-image: none; }
+
+modelbutton.flat arrow { background: none; min-width: 16px; min-height: 16px; opacity: 1; }
+
+modelbutton.flat arrow:hover:not(.osd):not(:checked):not(:active):not(:disabled):not(:backdrop) { background-color: shade(#bcbeb9, 1.1); }
+
+modelbutton.flat arrow.left { -gtk-icon-source: -gtk-icontheme("go-previous-symbolic"); }
+
+modelbutton.flat arrow.right { -gtk-icon-source: -gtk-icontheme("go-next-symbolic"); }
+
+/* oldstyle toolbar buttons */
+.toolbar > button, .toolbar > :not(.linked) > button, .toolbar :not(.linked) > menubutton > button, .toolbar :not(.linked) > scalebutton > button, .toolbar :not(.linked) > dropdown > button, .toolbar :not(.linked) > colorbutton > button, .toolbar :not(.linked) > fontbutton > button, .toolbar :not(.linked) > appchooserbutton > button, .toolbar :not(.linked) > combobox > box > button { margin: 1px; }
+
+button.color { padding: 4px; }
+
+button.color > colorswatch:only-child { box-shadow: 0 1px rgba(0, 0, 0, 0.1); }
+
+button.color > colorswatch:only-child, button.color > colorswatch:only-child > overlay { border-radius: 0; }
+
+.osd button.color > colorswatch:only-child { box-shadow: none; }
+
+.osd button.color:disabled colorswatch:only-child, .osd button.color:active colorswatch:only-child, .osd button.color:checked colorswatch:only-child, button.color:disabled colorswatch:only-child, button.color:active colorswatch:only-child, button.color:checked colorswatch:only-child { box-shadow: none; }
+
+/* list buttons */
+/* tone down as per new designs, see issue #1473 */
+popover.menu box.circular-buttons button.circular.image-button.model, list > row button.image-button:not(.flat) { border: 1px solid rgba(121, 121, 121, 0.5); }
+
+popover.menu box.circular-buttons button.circular.image-button.model:hover, list > row button.image-button:not(.flat):hover { background-color: shade(#bcbeb9, 1.1); }
+
+popover.menu box.circular-buttons button.circular.image-button.model:active, popover.menu box.circular-buttons button.circular.image-button.model:checked, list > row button.image-button:not(.flat):active, list > row button.image-button:not(.flat):checked { box-shadow: 0 1px rgba(255, 255, 255, 0.5), inset 0 1px 2px rgba(0, 0, 0, 0.4); }
+
+popover.menu box.circular-buttons button.suggested-action.circular.image-button.model, list > row button.image-button:not(.flat).suggested-action { color: white; background-color: #386b00; outline-color: rgba(56, 107, 0, 0.5); background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.15)); text-shadow: 0 -1px rgba(0, 0, 0, 0.832157); -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.832157); box-shadow: inset 0 1px rgba(255, 255, 255, 0.3), 0 1px 2px rgba(0, 0, 0, 0.4); transition-property: outline, outline-width, outline-offset, outline-color; transition-duration: 300ms; animation-timing-function: ease-in-out; }
+
+popover.menu box.circular-buttons button.suggested-action.circular.image-button.model, list > row button.image-button:not(.flat).suggested-action { outline: 0 solid transparent; outline-offset: 4px; }
+
+popover.menu box.circular-buttons button.suggested-action.circular.image-button.model:focus:focus-visible, list > row button.image-button:not(.flat).suggested-action:focus:focus-visible { outline-color: rgba(255, 255, 255, 0.8); outline-width: 2px; outline-offset: -2px; }
+
+popover.menu box.circular-buttons button.destructive-action.circular.image-button.model, list > row button.image-button:not(.flat).destructive-action { color: white; background-color: #990000; outline-color: rgba(56, 107, 0, 0.5); background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.15)); text-shadow: 0 -1px rgba(0, 0, 0, 0.76); -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.76); box-shadow: inset 0 1px rgba(255, 255, 255, 0.3), 0 1px 2px rgba(0, 0, 0, 0.4); transition-property: outline, outline-width, outline-offset, outline-color; transition-duration: 300ms; animation-timing-function: ease-in-out; }
+
+popover.menu box.circular-buttons button.destructive-action.circular.image-button.model, list > row button.image-button:not(.flat).destructive-action { outline: 0 solid transparent; outline-offset: 4px; }
+
+popover.menu box.circular-buttons button.destructive-action.circular.image-button.model:focus:focus-visible, list > row button.image-button:not(.flat).destructive-action:focus:focus-visible { outline-color: rgba(255, 255, 255, 0.8); outline-width: 2px; outline-offset: -2px; }
+
+/********* Links * */
+button.link, link { color: #1d3800; text-decoration: underline; }
+
+button.link:visited, link:visited { color: #030500; }
+
+*:selected button.link:visited, *:selected link:visited { color: #010200; }
+
+button.link:hover, link:hover { color: #386b00; }
+
+*:selected button.link:hover, *:selected link:hover { color: #060b00; }
+
+button.link:active, link:active { color: #1d3800; }
+
+*:selected button.link:active, *:selected link:active { color: #060b00; }
+
+button.link:disabled, link:disabled { color: rgba(28, 28, 28, 0.8); }
+
+button.link:selected, *:selected button.link, link:selected, *:selected link { color: #060b00; }
+
+link { transition-property: outline, outline-width, outline-offset, outline-color; transition-duration: 300ms; animation-timing-function: ease-in-out; }
+
+link { outline: 0 solid transparent; outline-offset: 4px; }
+
+link:focus:focus-visible { outline-color: rgba(56, 107, 0, 0.5); outline-width: 2px; outline-offset: -2px; }
+
+button.link, button.link:hover, button.link:active, button.link:checked { text-shadow: none; }
+
+button.link > label { text-decoration: underline; }
+
+/***************** GtkSpinButton * */
+spinbutton { font-feature-settings: "tnum"; }
+
+spinbutton:not(.vertical) { padding: 0; border-spacing: 0; /* :not here just to bump specificity above that of the list button styling */ }
+
+.osd spinbutton:not(.vertical) > text, spinbutton:not(.vertical) > text { min-width: 28px; margin: 0; background: none; background-color: transparent; border: none; border-radius: 0; box-shadow: none; padding: 6px; }
+
+.osd spinbutton:not(.vertical) > text:backdrop:disabled, spinbutton:not(.vertical) > text:backdrop:disabled { background-color: #938989; }
+
+spinbutton:not(.vertical) > button.image-button.up:not(.flat), spinbutton:not(.vertical) > button.image-button.down:not(.flat) { padding: 0; }
+
+.osd spinbutton:not(.vertical) > button.image-button.up:not(.flat), .osd spinbutton:not(.vertical) > button.image-button.down:not(.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; color: #002269; border-style: none none none solid; border-color: rgba(0, 34, 105, 0.7); border-radius: 0; box-shadow: none; -gtk-icon-shadow: 0 1px black; }
+
+.osd spinbutton:not(.vertical) > button.image-button.up:not(.flat):dir(rtl), .osd spinbutton:not(.vertical) > button.image-button.down:not(.flat):dir(rtl) { border-style: none solid none none; }
+
+.osd spinbutton:not(.vertical) > button.image-button.up:not(.flat):hover, .osd spinbutton:not(.vertical) > button.image-button.down:not(.flat):hover { 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; color: #002269; border-color: rgba(0, 34, 105, 0.5); background-color: rgba(77, 111, 155, 0.7); -gtk-icon-shadow: 0 1px black; box-shadow: none; }
+
+.osd spinbutton:not(.vertical) > button.image-button.up:not(.flat):disabled, .osd spinbutton:not(.vertical) > button.image-button.down:not(.flat):disabled { 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; color: #34568f; border-color: rgba(0, 34, 105, 0.5); -gtk-icon-shadow: none; box-shadow: none; }
+
+.osd spinbutton:not(.vertical) > button.image-button.up:not(.flat):dir(ltr):last-child, .osd spinbutton:not(.vertical) > button.image-button.down:not(.flat):dir(ltr):last-child { border-radius: 0 5px 5px 0; }
+
+.osd spinbutton:not(.vertical) > button.image-button.up:not(.flat):dir(rtl):first-child, .osd spinbutton:not(.vertical) > button.image-button.down:not(.flat):dir(rtl):first-child { border-radius: 5px 0 0 5px; }
+
+spinbutton.vertical:disabled { color: #552222; }
+
+spinbutton.vertical:drop(active) { border-color: transparent; box-shadow: none; }
+
+spinbutton.vertical > text { min-height: 32px; min-width: 32px; padding: 0; border-radius: 0; }
+
+spinbutton.vertical > text > selection { background-color: rgba(54, 54, 54, 0.5); color: transparent; }
+
+spinbutton.vertical > text > selection:focus-within { background-color: rgba(56, 107, 0, 0.3); color: #000000; }
+
+spinbutton.vertical > text > block-cursor { color: #908f8d; background-color: #241f31; }
+
+spinbutton.vertical > button { min-height: 32px; min-width: 32px; padding: 0; }
+
+spinbutton.vertical > button.up { border-bottom-style: none; border-bottom-left-radius: 0; border-bottom-right-radius: 0; }
+
+spinbutton.vertical > button.down { border-top-style: none; border-top-left-radius: 0; border-top-right-radius: 0; }
+
+treeview spinbutton:not(.vertical) { min-height: 0; border-style: none; border-radius: 0; }
+
+treeview spinbutton:not(.vertical) > text { min-height: 0; padding: 1px 2px; }
+
+/************** ComboBoxes * */
+dropdown > popover.menu.background > contents { padding: 0; }
+
+dropdown > button > box { border-spacing: 6px; }
+
+dropdown > button > box > stack > row.activatable:hover { background: none; box-shadow: none; }
+
+dropdown arrow, combobox arrow { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); min-height: 16px; min-width: 16px; }
+
+dropdown > popover.menu > contents modelbutton, combobox > popover.menu > contents modelbutton { padding-left: 9px; padding-right: 9px; }
+
+dropdown:drop(active), combobox:drop(active) { box-shadow: none; }
+
+dropdown popover, combobox popover { margin-top: 6px; padding: 0; }
+
+dropdown popover listview, combobox popover listview { margin: 8px 0; }
+
+dropdown popover listview > row.activatable, combobox popover listview > row.activatable { padding: 8px; }
+
+dropdown popover listview > row.activatable:selected, dropdown popover listview > row.activatable:selected:hover, combobox popover listview > row.activatable:selected, combobox popover listview > row.activatable:selected:hover { outline-color: rgba(255, 255, 255, 0.8); color: #241f31; background-color: #386b00; box-shadow: none; }
+
+dropdown popover .dropdown-searchbar, combobox popover .dropdown-searchbar { padding: 6px; border-bottom: 1px solid #797979; }
+
+/************ Toolbars * */
+searchbar > revealer > box, .toolbar { padding: 4px; border-spacing: 4px; background-color: #a7a7a7; }
+
+.osd .toolbar { background-color: transparent; }
+
+.toolbar.osd { padding: 13px; border: none; border-radius: 5px; background-color: rgba(103, 137, 180, 0.7); }
+
+.toolbar.osd.left, .toolbar.osd.right, .toolbar.osd.top, .toolbar.osd.bottom { border-radius: 0; }
+
+.toolbar.horizontal > separator { margin: 4px 0; }
+
+.toolbar.vertical > separator { margin: 0 4px; }
+
+searchbar > revealer > box { padding: 6px; border-spacing: 6px; border-width: 0 0 1px; }
+
+searchbar > revealer > box { border-style: solid; border-color: #797979; background-color: #999999; }
+
+searchbar > revealer > box:backdrop { border-color: #828282; background-color: #9a9a9a; box-shadow: none; transition: 200ms ease-out; }
+
+/************** GtkInfoBar * */
+infobar > revealer > box { padding: 8px; border-spacing: 12px; }
+
+infobar.action:hover > revealer > box { background-color: white; }
+
+infobar.info > revealer > box, infobar.question > revealer > box, infobar.warning > revealer > box, infobar.error > revealer > box { border-bottom: 1px solid #868686; background-color: white; }
+
+infobar .close, searchbar .close { 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; min-width: 16px; min-height: 16px; padding: 4px; border-radius: 50%; }
+
+infobar .close:hover, searchbar .close:hover { background-color: shade(#bcbeb9, 1.1); }
+
+/***************** Title buttons * */
+windowcontrols { border-spacing: 6px; }
+
+windowcontrols:not(.empty).start:dir(ltr), windowcontrols:not(.empty).end:dir(rtl) { margin-right: 7px; }
+
+windowcontrols:not(.empty).start:dir(rtl), windowcontrols:not(.empty).end:dir(ltr) { margin-left: 7px; }
+
+windowcontrols button { border-radius: 9999px; padding: 6px; margin: 0 2px; min-width: 0; min-height: 0; }
+
+windowcontrols button:hover { background-color: shade(#bcbeb9, 1.1); }
+
+windowcontrols button:active, windowcontrols button:checked { box-shadow: 0 1px rgba(255, 255, 255, 0.5), inset 0 1px 2px rgba(0, 0, 0, 0.4); }
+
+windowcontrols button.close { background-color: #990000; color: white; }
+
+/*************** Header bars * */
+.titlebar:not(headerbar), headerbar { padding: 0 6px; min-height: 46px; border-width: 0 0 1px; border-style: solid; border-color: #6a6a6a; border-radius: 0; background: #8e8e8e linear-gradient(to top, #888888, #909090); /* Darken switchbuttons for headerbars. issue #1588 */ }
+
+.titlebar:backdrop:not(headerbar), headerbar:backdrop { border-color: #828282; background-color: #a7a7a7; background-image: none; transition: 200ms ease-out; }
+
+.titlebar:not(headerbar) .title, headerbar .title { padding-left: 12px; padding-right: 12px; font-weight: bold; }
+
+.titlebar:not(headerbar) .subtitle, headerbar .subtitle { font-size: smaller; padding-left: 12px; padding-right: 12px; }
+
+.tiled .titlebar:not(headerbar), .tiled-top .titlebar:not(headerbar), .tiled-left .titlebar:not(headerbar), .tiled-right .titlebar:not(headerbar), .tiled-bottom .titlebar:not(headerbar), .maximized .titlebar:not(headerbar), .fullscreen .titlebar:not(headerbar), .tiled headerbar, .tiled-top headerbar, .tiled-left headerbar, .tiled-right headerbar, .tiled-bottom headerbar, .maximized headerbar, .fullscreen headerbar { border-radius: 0; }
+
+.default-decoration.titlebar:not(headerbar), headerbar.default-decoration { min-height: 28px; padding: 4px; }
+
+.default-decoration.titlebar:not(headerbar) windowcontrols button, .default-decoration.titlebar:not(headerbar) windowcontrols menubutton, headerbar.default-decoration windowcontrols button, headerbar.default-decoration windowcontrols menubutton { min-height: 26px; min-width: 26px; margin: 0; padding: 0; }
+
+.default-decoration.titlebar:not(headerbar) windowcontrols menubutton button, headerbar.default-decoration windowcontrols menubutton button { min-height: 20px; min-width: 20px; margin: 0; padding: 4px; }
+
+.solid-csd .titlebar:dir(rtl):not(headerbar), .solid-csd .titlebar:dir(ltr):not(headerbar), .solid-csd headerbar:backdrop:dir(rtl), .solid-csd headerbar:backdrop:dir(ltr), .solid-csd headerbar:dir(rtl), .solid-csd headerbar:dir(ltr) { margin-left: -1px; margin-right: -1px; margin-top: -1px; border-radius: 0; box-shadow: none; }
+
+headerbar > windowhandle > box, headerbar > windowhandle > box > box.start, headerbar > windowhandle > box > box.end { border-spacing: 6px; }
+
+headerbar entry, headerbar spinbutton, headerbar separator:not(.sidebar), headerbar button, headerbar menubutton { margin-top: 6px; margin-bottom: 6px; }
+
+headerbar menubutton > button { margin-top: 0px; margin-bottom: 0px; }
+
+headerbar switch { margin-top: 10px; margin-bottom: 10px; }
+
+window.csd > .titlebar:not(headerbar) { padding: 0; background-color: transparent; background-image: none; border-style: none; border-color: transparent; }
+
+.titlebar:not(headerbar) separator { background-color: #797979; }
+
+window.devel headerbar.titlebar { background: #a7a7a7 cross-fade(10% -gtk-icontheme("system-run-symbolic"), image(transparent)) 90% 0/256px 256px no-repeat, linear-gradient(to right, transparent 65%, rgba(56, 107, 0, 0.2)), linear-gradient(to top, #868686, #8e8e8e 3px, #9d9d9d); }
+
+window.devel headerbar.titlebar:backdrop { background: #a7a7a7 cross-fade(10% -gtk-icontheme("system-run-symbolic"), image(transparent)) 90% 0/256px 256px no-repeat, image(#a7a7a7); /* background-color would flash */ }
+
+/************ Pathbars * */
+pathbar > button.text-button, pathbar > button.image-button, pathbar > button { padding-left: 4px; padding-right: 4px; }
+
+pathbar > button.text-button.image-button label { padding-left: 0; padding-right: 0; }
+
+pathbar > button.text-button.image-button label:last-child, pathbar > button label:last-child { padding-right: 8px; }
+
+pathbar > button.text-button.image-button label:first-child, pathbar > button label:first-child { padding-left: 8px; }
+
+pathbar > button image { padding-left: 4px; padding-right: 4px; }
+
+pathbar > button.slider-button { padding-left: 0; padding-right: 0; }
+
+/************** Tree Views * */
+columnview.view, treeview.view { border-left-color: #7e7d7d; border-top-color: #7e7d7d; transition-property: outline, outline-width, outline-offset, outline-color; transition-duration: 300ms; animation-timing-function: ease-in-out; }
+
+columnview.view, treeview.view { outline: 0 solid transparent; outline-offset: 4px; }
+
+columnview.view:focus:focus-visible, treeview.view:focus:focus-visible { outline-color: rgba(56, 107, 0, 0.5); outline-width: 2px; outline-offset: -2px; }
+
+columnview.view:selected:focus, columnview.view:selected, treeview.view:selected:focus, treeview.view:selected { border-radius: 0; outline-color: rgba(255, 255, 255, 0.8); }
+
+columnview.view:disabled, treeview.view:disabled { color: #552222; }
+
+columnview.view:disabled:selected, treeview.view:disabled:selected { color: #224000; }
+
+columnview.view:disabled:selected:backdrop, treeview.view:disabled:selected:backdrop { color: #52752a; }
+
+columnview.view.separator, treeview.view.separator { min-height: 2px; color: #7e7d7d; }
+
+columnview.view:backdrop, treeview.view:backdrop { border-left-color: #858584; border-top: #858584; }
+
+columnview.view:drop(active), treeview.view:drop(active) { box-shadow: none; }
+
+columnview.view > dndtarget:drop(active), treeview.view > dndtarget:drop(active) { border-style: solid none; border-width: 1px; border-color: #101f00; }
+
+columnview.view > dndtarget:drop(active).after, treeview.view > dndtarget:drop(active).after { border-top-style: none; }
+
+columnview.view > dndtarget:drop(active).before, treeview.view > dndtarget:drop(active).before { border-bottom-style: none; }
+
+columnview.view.expander, treeview.view.expander { min-width: 16px; min-height: 16px; -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); color: #44414d; }
+
+columnview.view.expander:dir(rtl), treeview.view.expander:dir(rtl) { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); }
+
+columnview.view.expander:hover, treeview.view.expander:hover { color: #241f31; }
+
+columnview.view.expander:selected, treeview.view.expander:selected { color: #112000; }
+
+columnview.view.expander:selected:hover, treeview.view.expander:selected:hover { color: #000000; }
+
+columnview.view.expander:checked, treeview.view.expander:checked { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); }
+
+columnview.view.progressbar, treeview.view.progressbar { color: #908f8d; background-color: #386b00; background-image: image(#386b00); box-shadow: none; }
+
+columnview.view.progressbar:selected:focus, columnview.view.progressbar:selected, treeview.view.progressbar:selected:focus, treeview.view.progressbar:selected { color: #386b00; background-image: image(#908f8d); }
+
+columnview.view.progressbar:selected:focus:backdrop, columnview.view.progressbar:selected:backdrop, treeview.view.progressbar:selected:focus:backdrop, treeview.view.progressbar:selected:backdrop { color: #386b00; background-color: #8d8c8a; }
+
+columnview.view.trough, treeview.view.trough { background-color: rgba(36, 31, 49, 0.1); }
+
+columnview.view.trough:selected:focus, columnview.view.trough:selected, treeview.view.trough:selected:focus, treeview.view.trough:selected { background-color: rgba(0, 0, 0, 0.3); }
+
+columnview.view > header > button, treeview.view > header > button { color: #5a575f; background-color: #908f8d; font-weight: bold; text-shadow: none; box-shadow: none; }
+
+columnview.view > header > button:hover, treeview.view > header > button:hover { color: #3f3b48; box-shadow: none; transition: none; }
+
+columnview.view > header > button:active, treeview.view > header > button:active { color: #241f31; transition: none; }
+
+columnview.view > header > button sort-indicator, treeview.view > header > button sort-indicator { min-height: 16px; min-width: 16px; }
+
+columnview.view > header > button sort-indicator.ascending, treeview.view > header > button sort-indicator.ascending { -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); }
+
+columnview.view > header > button sort-indicator.descending, treeview.view > header > button sort-indicator.descending { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); }
+
+columnview.view button.dnd:active, columnview.view button.dnd:selected, columnview.view button.dnd:hover, columnview.view button.dnd, columnview.view header.button.dnd:active, columnview.view header.button.dnd:selected, columnview.view header.button.dnd:hover, columnview.view header.button.dnd, treeview.view button.dnd:active, treeview.view button.dnd:selected, treeview.view button.dnd:hover, treeview.view button.dnd, treeview.view header.button.dnd:active, treeview.view header.button.dnd:selected, treeview.view header.button.dnd:hover, treeview.view header.button.dnd { padding: 0 6px; color: #908f8d; background-image: none; background-color: #386b00; border-style: none; border-radius: 0; box-shadow: inset 0 0 0 1px #908f8d; text-shadow: none; transition: none; }
+
+columnview.view acceleditor > label, treeview.view acceleditor > label { background-color: #386b00; }
+
+columnview.view > header > button, treeview.view > header > button, columnview.view > header > button:hover, treeview.view > header > button:hover, columnview.view > header > button:active, treeview.view > header > button:active { padding: 0 6px; background-image: none; border-style: none none solid solid; border-color: #7e7d7d; border-radius: 0; text-shadow: none; }
+
+columnview.view > header > button:disabled, treeview.view > header > button:disabled { border-color: #a7a7a7; background-image: none; background-color: #938989; color: #552222; }
+
+columnview.view > header > button:last-child, treeview.view > header > button:last-child { border-right-style: none; }
+
+/*************** Popovers * */
+popover.background { background-color: transparent; font: initial; }
+
+popover.background > arrow, popover.background > contents { background-color: #908f8d; background-clip: padding-box; border: 1px solid rgba(0, 0, 0, 0.23); box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3); }
+
+popover.background:backdrop { background-color: transparent; }
+
+popover.background > contents { padding: 8px; border-radius: 9px; }
+
+popover.background > contents > list, popover.background > contents > .view, popover.background > contents > iconview, popover.background > contents > .toolbar { border-style: none; background-color: transparent; }
+
+popover.background > contents separator { background-color: #878787; margin: 3px; }
+
+popover.background > contents list separator { margin: 0; }
+
+.osd popover.background, popover.background.touch-selection, popover.background.magnifier { background-color: transparent; }
+
+.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 { border: 1px solid rgba(255, 255, 255, 0.1); box-shadow: none; }
+
+magnifier { background-color: #908f8d; }
+
+/********************** Popover Base Menus * */
+popover.menu { padding: 0; }
+
+popover.menu box.inline-buttons { padding: 0 12px; }
+
+popover.menu box.inline-buttons button.image-button.model { 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; min-height: 30px; min-width: 30px; padding: 0; border: none; outline: none; transition: none; }
+
+popover.menu box.inline-buttons button.image-button.model:selected { background: image(#386b00); }
+
+popover.menu box.circular-buttons { padding: 12px 12px 6px; }
+
+popover.menu box.circular-buttons button.circular.image-button.model { padding: 11px; }
+
+popover.menu box.circular-buttons button.circular.image-button.model:focus { background-color: #386b00; border-color: #386b00; }
+
+popover.menu > arrow, popover.menu.background > contents { background-color: #908f8d; padding: 5px; }
+
+popover.menu.background separator { margin: 6px 0; }
+
+popover.menu accelerator { color: alpha(currentColor,0.55); }
+
+popover.menu accelerator:dir(ltr) { margin-left: 12px; }
+
+popover.menu accelerator:dir(rtl) { margin-right: 12px; }
+
+popover.menu check, popover.menu radio { transform: scale(0.8); border-width: 1.2px; box-shadow: none; background-image: image(transparent); color: #241f31; }
+
+popover.menu check:hover, popover.menu radio:hover { transform: scale(0.8); border-width: 1.2px; color: #241f31; box-shadow: none; background-image: image(transparent); }
+
+popover.menu check:active, popover.menu radio:active { transform: scale(0.8); border-width: 1.2px; color: #241f31; box-shadow: none; background-image: image(transparent); }
+
+popover.menu arrow.left, popover.menu radio.left, popover.menu check.left { margin-left: -2px; margin-right: 6px; }
+
+popover.menu arrow.right, popover.menu radio.right, popover.menu check.right { margin-left: 6px; margin-right: -2px; }
+
+popover.menu modelbutton { min-height: 30px; min-width: 40px; padding: 0 12px; border-radius: 5px; }
+
+popover.menu modelbutton:selected { color: #241f31; background-color: #386b00; }
+
+popover.menu modelbutton:selected:active { background-color: #838383; }
+
+popover.menu label.title { font-weight: bold; padding: 4px 32px; }
+
+menubar { padding: 0px; box-shadow: inset 0 -1px rgba(0, 0, 0, 0.1); }
+
+menubar > item { min-height: 16px; padding: 4px 8px; }
+
+menubar > item:selected { box-shadow: inset 0 -3px #386b00; color: #1d3800; }
+
+menubar > item:disabled { color: #552222; box-shadow: none; }
+
+menubar > item popover.menu.background > contents { padding: 5px; }
+
+menubar > item popover.menu popover.menu { padding: 0 0 4px 0; }
+
+menubar > item popover.menu.background popover.menu.background > contents { margin: 0; border-radius: 9px; }
+
+/************* Notebooks * */
+notebook { transition-property: outline, outline-width, outline-offset, outline-color; transition-duration: 300ms; animation-timing-function: ease-in-out; }
+
+notebook > header > tabs > tab:checked { outline: 0 solid transparent; outline-offset: 4px; }
+
+notebook:focus:focus-visible > header > tabs > tab:checked { outline-color: rgba(56, 107, 0, 0.5); outline-width: 2px; outline-offset: -2px; }
+
+notebook > header { padding: 1px; border-color: #797979; border-width: 1px; background-color: #909090; }
+
+notebook > header > tabs { margin: -1px; }
+
+notebook > header.top { border-bottom-style: solid; }
+
+notebook > header.top > tabs { margin-bottom: -2px; }
+
+notebook > header.top > tabs > tab:hover { box-shadow: inset 0 -4px #797979; }
+
+notebook > header.top > tabs > tab:checked { box-shadow: inset 0 -4px #386b00; }
+
+notebook > header.bottom { border-top-style: solid; }
+
+notebook > header.bottom > tabs { margin-top: -2px; }
+
+notebook > header.bottom > tabs > tab:hover { box-shadow: inset 0 4px #797979; }
+
+notebook > header.bottom > tabs > tab:checked { box-shadow: inset 0 4px #386b00; }
+
+notebook > header.left { border-right-style: solid; }
+
+notebook > header.left > tabs { margin-right: -2px; }
+
+notebook > header.left > tabs > tab:hover { box-shadow: inset -4px 0 #797979; }
+
+notebook > header.left > tabs > tab:checked { box-shadow: inset -4px 0 #386b00; }
+
+notebook > header.right { border-left-style: solid; }
+
+notebook > header.right > tabs { margin-left: -2px; }
+
+notebook > header.right > tabs > tab:hover { box-shadow: inset 4px 0 #797979; }
+
+notebook > header.right > tabs > tab:checked { box-shadow: inset 4px 0 #386b00; }
+
+notebook > header.top > tabs > arrow { border-top-style: none; }
+
+notebook > header.bottom > tabs > arrow { border-bottom-style: none; }
+
+notebook > header.top > tabs > arrow, notebook > header.bottom > tabs > arrow { margin-left: -5px; margin-right: -5px; padding-left: 4px; padding-right: 4px; }
+
+notebook > header.top > tabs > arrow.down, notebook > header.bottom > tabs > arrow.down { -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); }
+
+notebook > header.top > tabs > arrow.up, notebook > header.bottom > tabs > arrow.up { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); }
+
+notebook > header.left > tabs > arrow { border-left-style: none; }
+
+notebook > header.right > tabs > arrow { border-right-style: none; }
+
+notebook > header.left > tabs > arrow, notebook > header.right > tabs > arrow { margin-top: -5px; margin-bottom: -5px; padding-top: 4px; padding-bottom: 4px; }
+
+notebook > header.left > tabs > arrow.down, notebook > header.right > tabs > arrow.down { -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); }
+
+notebook > header.left > tabs > arrow.up, notebook > header.right > tabs > arrow.up { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); }
+
+notebook > header > tabs > arrow { min-height: 16px; min-width: 16px; border-radius: 0; }
+
+notebook > header > tabs > arrow:hover:not(:active):not(:backdrop) { background-clip: padding-box; background-image: none; background-color: rgba(255, 255, 255, 0.3); border-color: transparent; box-shadow: none; }
+
+notebook > header > tabs > arrow:disabled { 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; }
+
+notebook > header > tabs > tab { transition: outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); min-height: 30px; min-width: 30px; padding: 3px 12px; color: #241f31; font-weight: normal; border-width: 1px; border-color: transparent; }
+
+notebook > header > tabs > tab:hover { color: #241f31; background-color: #868686; }
+
+notebook > header > tabs > tab:hover.reorderable-page { border-color: rgba(121, 121, 121, 0.3); background-color: rgba(167, 167, 167, 0.2); }
+
+notebook > header > tabs > tab:not(:checked) { outline-color: transparent; }
+
+notebook > header > tabs > tab:checked { color: #241f31; }
+
+notebook > header > tabs > tab:checked.reorderable-page { border-color: rgba(121, 121, 121, 0.5); background-color: rgba(167, 167, 167, 0.5); }
+
+notebook > header > tabs > tab:checked.reorderable-page:hover { background-color: rgba(167, 167, 167, 0.7); }
+
+notebook > header > tabs > tab button.flat { color: alpha(currentColor,0.3); padding: 0; margin-top: 4px; margin-bottom: 4px; min-width: 20px; min-height: 20px; }
+
+notebook > header > tabs > tab button.flat:hover { color: currentColor; }
+
+notebook > header > tabs > tab button.flat:last-child { margin-left: 4px; margin-right: -4px; }
+
+notebook > header > tabs > tab button.flat:first-child { margin-left: -4px; margin-right: 4px; }
+
+notebook > header.top > tabs, notebook > header.bottom > tabs { padding-left: 4px; padding-right: 4px; }
+
+notebook > header.top > tabs:not(:only-child), notebook > header.bottom > tabs:not(:only-child) { margin-left: 3px; margin-right: 3px; }
+
+notebook > header.top > tabs:not(:only-child):first-child, notebook > header.bottom > tabs:not(:only-child):first-child { margin-left: -1px; }
+
+notebook > header.top > tabs:not(:only-child):last-child, notebook > header.bottom > tabs:not(:only-child):last-child { margin-right: -1px; }
+
+notebook > header.top > tabs > tab, notebook > header.bottom > tabs > tab { margin-left: 4px; margin-right: 4px; }
+
+notebook > header.top > tabs > tab.reorderable-page, notebook > header.bottom > tabs > tab.reorderable-page { border-style: none solid; }
+
+notebook > header.left > tabs, notebook > header.right > tabs { padding-top: 4px; padding-bottom: 4px; }
+
+notebook > header.left > tabs:not(:only-child), notebook > header.right > tabs:not(:only-child) { margin-top: 3px; margin-bottom: 3px; }
+
+notebook > header.left > tabs:not(:only-child):first-child, notebook > header.right > tabs:not(:only-child):first-child { margin-top: -1px; }
+
+notebook > header.left > tabs:not(:only-child):last-child, notebook > header.right > tabs:not(:only-child):last-child { margin-bottom: -1px; }
+
+notebook > header.left > tabs > tab, notebook > header.right > tabs > tab { margin-top: 4px; margin-bottom: 4px; }
+
+notebook > header.left > tabs > tab.reorderable-page, notebook > header.right > tabs > tab.reorderable-page { border-style: solid none; }
+
+notebook > header.top > tabs > tab { padding-bottom: 4px; }
+
+notebook > header.bottom > tabs > tab { padding-top: 4px; }
+
+notebook > stack:not(:only-child) { background-color: #908f8d; }
+
+/************** Scrollbars * */
+scrollbar { background-color: #8d8c8f; transition: all 300ms cubic-bezier(0.25, 0.46, 0.45, 0.94); }
+
+scrollbar.top { border-bottom: 1px solid #797979; }
+
+scrollbar.bottom { border-top: 1px solid #797979; }
+
+scrollbar.left { border-right: 1px solid #797979; }
+
+scrollbar.right { border-left: 1px solid #797979; }
+
+scrollbar > range > trough > slider { padding: 0; background-image: none; min-width: 8px; min-height: 8px; margin: 3px; border-radius: 10px; background-clip: padding-box; background-color: #585560; transition: all 300ms cubic-bezier(0.25, 0.46, 0.45, 0.94); }
+
+scrollbar > range > trough > slider:hover { background-color: #3e3a49; }
+
+scrollbar > range > trough > slider:hover:active { background-color: #1d3800; }
+
+scrollbar > range > trough > slider:disabled { background-color: transparent; }
+
+scrollbar > range.fine-tune > trough > slider, scrollbar > range.fine-tune > trough > slider:hover, scrollbar > range.fine-tune > trough > slider:active { background-color: #6789b4; }
+
+scrollbar.horizontal > range > trough > slider { min-width: 40px; }
+
+scrollbar.vertical > range > trough > slider { min-height: 40px; }
+
+treeview ~ scrollbar.vertical { border-top: 1px solid #797979; margin-top: -1px; }
+
+/********** Switch * */
+switch { font-weight: bold; font-size: smaller; border: 1px solid #797979; border-radius: 14px; color: #241f31; background-color: #909090; transition: outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); transition-property: outline, outline-width, outline-offset, outline-color; transition-duration: 300ms; animation-timing-function: ease-in-out; /* only show i / o for the accessible theme */ }
+
+switch { outline: 0 solid transparent; outline-offset: 4px; }
+
+switch:focus:focus-visible { outline-color: rgba(56, 107, 0, 0.5); outline-width: 2px; outline-offset: 0; }
+
+headerbar switch { background-color: #7c7c7c; }
+
+switch:checked { color: #000000; border-color: #101f00; background-color: #386b00; }
+
+switch:disabled { color: #552222; border-color: #797979; background-color: #938989; text-shadow: none; }
+
+switch > slider { color: #241f31; background-color: #bcbeb9; outline-color: rgba(56, 107, 0, 0.5); background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.15)); text-shadow: 0 1px rgba(255, 255, 255, 0.3); -gtk-icon-shadow: 0 1px rgba(255, 255, 255, 0.3); box-shadow: inset 0 1px rgba(255, 255, 255, 0.5), 0 1px 2px rgba(0, 0, 0, 0.4); margin: -1px; min-width: 24px; min-height: 24px; border: 1px solid; border-color: #797979; border-radius: 50%; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); }
+
+switch > image { color: transparent; }
+
+switch:hover > slider { background-color: shade(#bcbeb9, 1.1); }
+
+switch:checked > slider { border: 1px solid #101f00; }
+
+switch:disabled > slider { color: #552222; background-color: #938989; background-image: none; }
+
+row:selected switch { outline-color: rgba(255, 255, 255, 0.8); box-shadow: none; border-color: #101f00; }
+
+row:selected switch > slider:checked, row:selected switch > slider { border-color: #101f00; }
+
+/************************* Check and Radio items * */
+.view.content-view.check:not(list), iconview.content-view.check:not(list), .content-view .tile check:not(list) { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; background-color: #386b00; 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:hover:not(list), iconview.content-view.check:hover:not(list), .content-view .tile check:hover:not(list) { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; background-color: #386b00; 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: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: #386b00; 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: #363636; 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: #002269; background-color: #386b00; 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:checked:hover:not(list), iconview.content-view.check:checked:hover:not(list), .content-view .tile check:checked:hover:not(list) { margin: 4px; min-width: 32px; min-height: 32px; color: #002269; background-color: #386b00; 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: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: #002269; background-color: #386b00; 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(0, 34, 105, 0.8); background-color: #363636; 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 { border-spacing: 4px; border-radius: 5px; transition: outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); transition-property: outline, outline-width, outline-offset, outline-color; transition-duration: 300ms; animation-timing-function: ease-in-out; }
+
+checkbutton { outline: 0 solid transparent; outline-offset: 4px; }
+
+checkbutton:focus:focus-visible { outline-color: rgba(56, 107, 0, 0.5); outline-width: 2px; outline-offset: -2px; }
+
+checkbutton.text-button { padding: 4px; }
+
+check, radio { min-height: 14px; min-width: 14px; border: 1px solid; -gtk-icon-source: none; }
+
+check, radio { background-clip: padding-box; background-image: linear-gradient(to bottom, white 20%, white 90%); border-color: #6a6a6a; box-shadow: 0 1px rgba(0, 0, 0, 0.05); color: #000000; }
+
+check:hover, radio:hover { background-image: image(#f2f2f2); }
+
+check:active, radio:active { box-shadow: inset 0 1px rgba(0, 0, 0, 0.2); background-image: image(#d9d9d9); }
+
+check:disabled, radio:disabled { box-shadow: none; color: #552222; }
+
+check:checked, radio:checked { background-clip: border-box; background-image: linear-gradient(to bottom, #458500 20%, #386b00 90%); border-color: #030500; box-shadow: 0 1px rgba(0, 0, 0, 0.05); color: #000000; }
+
+check:checked:hover, radio:checked:hover { background-image: linear-gradient(to bottom, #509900 10%, #437f00 90%); }
+
+check:checked:active, radio:checked:active { box-shadow: inset 0 1px rgba(0, 0, 0, 0.2); background-image: image(#2b5200); }
+
+check:checked:disabled, radio:checked:disabled { box-shadow: none; color: #552222; }
+
+check:indeterminate, radio:indeterminate { background-clip: border-box; background-image: linear-gradient(to bottom, #458500 20%, #386b00 90%); border-color: #030500; box-shadow: 0 1px rgba(0, 0, 0, 0.05); color: #000000; }
+
+check:indeterminate:hover, radio:indeterminate:hover { background-image: linear-gradient(to bottom, #509900 10%, #437f00 90%); }
+
+check:indeterminate:active, radio:indeterminate:active { box-shadow: inset 0 1px rgba(0, 0, 0, 0.2); background-image: image(#2b5200); }
+
+check:indeterminate:disabled, radio:indeterminate:disabled { box-shadow: none; color: #552222; }
+
+check:disabled, radio:disabled { color: #552222; border-color: #552222; }
+
+row:selected check, row:selected radio { border-color: #030500; }
+
+check { border-radius: 3px; -gtk-icon-size: 14px; }
+
+check:checked { -gtk-icon-source: -gtk-scaled(-gtk-recolor(url("assets/check-symbolic.symbolic.png")), -gtk-recolor(url("assets/check@2-symbolic.symbolic.png"))); }
+
+check:indeterminate { -gtk-icon-source: -gtk-scaled(-gtk-recolor(url("assets/dash-symbolic.symbolic.png")), -gtk-recolor(url("assets/dash@2-symbolic.symbolic.png"))); }
+
+treeview.view radio:selected:selected, radio { border-radius: 100%; -gtk-icon-size: 14px; }
+
+treeview.view radio:checked:selected, radio:checked { -gtk-icon-source: -gtk-scaled(-gtk-recolor(url("assets/bullet-symbolic.symbolic.png")), -gtk-recolor(url("assets/bullet@2-symbolic.symbolic.png"))); }
+
+treeview.view radio:indeterminate:selected, radio:indeterminate { -gtk-icon-source: -gtk-scaled(-gtk-recolor(url("assets/dash-symbolic.symbolic.png")), -gtk-recolor(url("assets/dash@2-symbolic.symbolic.png"))); }
+
+treeview.view check:selected:focus, treeview.view check:selected, treeview.view radio:selected:focus, treeview.view radio:selected { color: #000000; border-color: #101f00; }
+
+/************ GtkScale * */
+progressbar > trough, scale > trough > fill, scale > trough { border: 1px solid #797979; border-radius: 3px; background-color: #909090; }
+
+headerbar progressbar > trough, headerbar scale > trough > fill, headerbar scale > trough { background-color: #7c7c7c; }
+
+progressbar > trough:disabled, scale > trough > fill:disabled, scale > trough:disabled { background-color: #938989; border-color: #674e4e; }
+
+row:selected progressbar > trough, row:selected scale > trough > fill, row:selected scale > trough { outline-color: rgba(255, 255, 255, 0.8); border-color: #101f00; }
+
+.osd progressbar > trough, .osd scale > trough > fill, .osd scale > trough { border-color: #002269; background-color: rgba(0, 34, 105, 0.8); }
+
+.osd progressbar > trough:disabled, .osd scale > trough > fill:disabled, .osd scale > trough:disabled { background-color: rgba(93, 127, 173, 0.5); }
+
+progressbar > trough > progress, scale > trough > highlight { border: 1px solid #101f00; border-radius: 3px; background-color: #386b00; }
+
+progressbar > trough > progress:disabled, scale > trough > highlight:disabled { background-color: transparent; border-color: transparent; }
+
+row:selected progressbar > trough > progress, row:selected scale > trough > highlight { border-color: #101f00; }
+
+.osd progressbar > trough > progress, .osd scale > trough > highlight { border-color: #002269; }
+
+.osd progressbar > trough > progress:disabled, .osd scale > trough > highlight:disabled { border-color: transparent; }
+
+scale { min-height: 10px; min-width: 10px; padding: 12px; transition-property: outline, outline-width, outline-offset, outline-color; transition-duration: 300ms; animation-timing-function: ease-in-out; }
+
+scale > trough { outline: 0 solid transparent; outline-offset: 16px; }
+
+scale:focus:focus-visible > trough { outline-color: rgba(56, 107, 0, 0.5); outline-width: 2px; outline-offset: 10px; }
+
+scale > trough { transition: outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); }
+
+scale > trough > fill, scale > trough > highlight { margin: -1px; }
+
+scale > trough > slider { min-height: 18px; min-width: 18px; margin: -9px; }
+
+scale.fine-tune.horizontal { padding-top: 9px; padding-bottom: 9px; min-height: 16px; }
+
+scale.fine-tune.vertical { padding-left: 9px; padding-right: 9px; min-width: 16px; }
+
+scale.fine-tune > trough > slider { margin: -6px; }
+
+scale.fine-tune > trough > fill, scale.fine-tune > trough > highlight, scale.fine-tune > trough { border-radius: 5px; }
+
+scale > trough > fill:disabled { border-color: transparent; background-color: transparent; }
+
+.osd scale > trough > fill { background-color: #002269; }
+
+.osd scale > trough > fill:disabled { border-color: transparent; background-color: transparent; }
+
+scale > trough > slider { color: #241f31; background-color: #bcbeb9; outline-color: rgba(56, 107, 0, 0.5); background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.15)); text-shadow: 0 1px rgba(255, 255, 255, 0.3); -gtk-icon-shadow: 0 1px rgba(255, 255, 255, 0.3); box-shadow: inset 0 1px rgba(255, 255, 255, 0.5), 0 1px 2px rgba(0, 0, 0, 0.4); border-width: 1px; border-style: solid; border-radius: 100%; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); transition-property: background, border, box-shadow; }
+
+scale > trough > slider:hover { background-color: shade(#bcbeb9, 1.1); }
+
+scale > trough > slider:active { border-color: #101f00; }
+
+scale > trough > slider:disabled { color: #552222; background-color: #938989; background-image: none; }
+
+row:selected scale > trough > slider:disabled, row:selected scale > trough > slider { border-color: #101f00; }
+
+.osd scale > trough > slider { border-color: #001d5a; background-color: #6789b4; }
+
+.osd scale > trough > slider:hover { background-color: #6789b4; }
+
+.osd scale > trough > slider:active { background-color: #6789b4; }
+
+.osd scale > trough > slider:disabled { background-color: #6789b4; }
+
+scale > value { color: alpha(currentColor,0.55); font-feature-settings: "tnum"; }
+
+scale.horizontal > marks { color: alpha(currentColor,0.55); }
+
+scale.horizontal > marks.top { margin-bottom: 6px; }
+
+scale.horizontal > marks.bottom { margin-top: 6px; }
+
+scale.horizontal > marks indicator { background-color: currentColor; min-height: 6px; min-width: 1px; }
+
+scale.horizontal > value.left { margin-right: 9px; }
+
+scale.horizontal > value.right { margin-left: 9px; }
+
+scale.horizontal.fine-tune > marks.top { margin-top: 3px; }
+
+scale.horizontal.fine-tune > marks.bottom { margin-bottom: 3px; }
+
+scale.horizontal.fine-tune > marks indicator { min-height: 3px; }
+
+scale.horizontal.marks-after slider { border-radius: 5px 5px 100% 100%; }
+
+scale.horizontal.marks-before slider { border-radius: 100% 100% 5px 5px; }
+
+scale.vertical > marks { color: alpha(currentColor,0.55); }
+
+scale.vertical > marks.top { margin-right: 6px; }
+
+scale.vertical > marks.bottom { margin-left: 6px; }
+
+scale.vertical > marks indicator { background-color: currentColor; min-height: 1px; min-width: 6px; }
+
+scale.vertical > value.top { margin-bottom: 9px; }
+
+scale.vertical > value.bottom { margin-top: 9px; }
+
+scale.vertical.fine-tune > marks.top { margin-left: 3px; }
+
+scale.vertical.fine-tune > marks.bottom { margin-right: 3px; }
+
+scale.vertical.fine-tune > marks indicator { min-height: 3px; }
+
+scale.vertical.marks-after slider { border-radius: 5px 100% 100% 5px; }
+
+scale.vertical.marks-before slider { border-radius: 100% 5px 5px 100%; }
+
+scale.color { min-height: 0; min-width: 0; }
+
+scale.color > trough { background-image: image(#797979); background-repeat: no-repeat; }
+
+scale.color.horizontal { padding: 0 0 15px 0; }
+
+scale.color.horizontal > trough { padding-bottom: 4px; background-position: 0 -3px; border-top-left-radius: 0; border-top-right-radius: 0; }
+
+scale.color.horizontal > trough > slider:dir(ltr):hover, scale.color.horizontal > trough > slider:dir(ltr):backdrop, scale.color.horizontal > trough > slider:dir(ltr):disabled, scale.color.horizontal > trough > slider:dir(ltr):backdrop:disabled, scale.color.horizontal > trough > slider:dir(ltr), scale.color.horizontal > trough > slider:dir(rtl):hover, scale.color.horizontal > trough > slider:dir(rtl):backdrop, scale.color.horizontal > trough > slider:dir(rtl):disabled, scale.color.horizontal > trough > slider:dir(rtl):backdrop:disabled, scale.color.horizontal > trough > slider:dir(rtl) { margin-bottom: -15px; margin-top: 6px; }
+
+scale.color.vertical:dir(ltr) { padding: 0 0 0 15px; }
+
+scale.color.vertical:dir(ltr) > trough { padding-left: 4px; background-position: 3px 0; border-bottom-right-radius: 0; border-top-right-radius: 0; }
+
+scale.color.vertical:dir(ltr) > trough > slider:hover, scale.color.vertical:dir(ltr) > trough > slider:backdrop, scale.color.vertical:dir(ltr) > trough > slider:disabled, scale.color.vertical:dir(ltr) > trough > slider:backdrop:disabled, scale.color.vertical:dir(ltr) > trough > slider { margin-left: -15px; margin-right: 6px; }
+
+scale.color.vertical:dir(rtl) { padding: 0 15px 0 0; }
+
+scale.color.vertical:dir(rtl) > trough { padding-right: 4px; background-position: -3px 0; border-bottom-left-radius: 0; border-top-left-radius: 0; }
+
+scale.color.vertical:dir(rtl) > trough > slider:hover, scale.color.vertical:dir(rtl) > trough > slider:backdrop, scale.color.vertical:dir(rtl) > trough > slider:disabled, scale.color.vertical:dir(rtl) > trough > slider:backdrop:disabled, scale.color.vertical:dir(rtl) > trough > slider { margin-right: -15px; margin-left: 6px; }
+
+scale.color.fine-tune.horizontal:dir(ltr), scale.color.fine-tune.horizontal:dir(rtl) { padding: 0 0 12px 0; }
+
+scale.color.fine-tune.horizontal:dir(ltr) > trough, scale.color.fine-tune.horizontal:dir(rtl) > trough { padding-bottom: 7px; background-position: 0 -6px; }
+
+scale.color.fine-tune.horizontal:dir(ltr) > trough > slider, scale.color.fine-tune.horizontal:dir(rtl) > trough > slider { margin-bottom: -15px; margin-top: 6px; }
+
+scale.color.fine-tune.vertical:dir(ltr) { padding: 0 0 0 12px; }
+
+scale.color.fine-tune.vertical:dir(ltr) > trough { padding-left: 7px; background-position: 6px 0; }
+
+scale.color.fine-tune.vertical:dir(ltr) > trough > slider { margin-left: -15px; margin-right: 6px; }
+
+scale.color.fine-tune.vertical:dir(rtl) { padding: 0 12px 0 0; }
+
+scale.color.fine-tune.vertical:dir(rtl) > trough { padding-right: 7px; background-position: -6px 0; }
+
+scale.color.fine-tune.vertical:dir(rtl) > trough > slider { margin-right: -15px; margin-left: 6px; }
+
+/***************** Progress bars * */
+progressbar { font-size: smaller; color: rgba(36, 31, 49, 0.4); font-feature-settings: "tnum"; }
+
+progressbar.horizontal > trough { min-width: 150px; }
+
+progressbar.horizontal > trough, progressbar.horizontal > trough > progress { min-height: 2px; }
+
+progressbar.vertical > trough { min-height: 80px; }
+
+progressbar.vertical > trough, progressbar.vertical > trough > progress { min-width: 2px; }
+
+progressbar.horizontal > trough > progress { margin: 0 -1px; }
+
+progressbar.vertical > trough > progress { margin: -1px 0; }
+
+progressbar > trough > progress { /* share most of scales' */ /* override insensitive that is specific to progress */ border-radius: 1.5px; }
+
+progressbar > trough > progress:disabled { background-color: #552222; border-color: #552222; }
+
+progressbar > trough > progress.left { border-top-left-radius: 5px; border-bottom-left-radius: 5px; }
+
+progressbar > trough > progress.right { border-top-right-radius: 5px; border-bottom-right-radius: 5px; }
+
+progressbar > trough > progress.top { border-top-right-radius: 5px; border-top-left-radius: 5px; }
+
+progressbar > trough > progress.bottom { border-bottom-right-radius: 5px; border-bottom-left-radius: 5px; }
+
+progressbar.osd { min-width: 3px; min-height: 3px; background-color: transparent; }
+
+progressbar.osd > trough { border-style: none; border-radius: 0; background-color: transparent; box-shadow: none; }
+
+progressbar.osd > trough > progress { border-style: none; border-radius: 0; }
+
+progressbar > trough.empty > progress { all: unset; }
+
+/************* Level Bar * */
+levelbar.horizontal trough > block { min-height: 9px; border-radius: 5px; }
+
+levelbar.horizontal trough > block:dir(rtl) { border-radius: 0 5px 5px 0; }
+
+levelbar.horizontal trough > block:dir(ltr) { border-radius: 5px 0 0 5px; }
+
+levelbar.horizontal trough > block.empty, levelbar.horizontal trough > block.full { border-radius: 5px; }
+
+levelbar.horizontal.discrete trough > block { min-height: 2px; margin: 1px; min-width: 24px; border-radius: 0; }
+
+levelbar.horizontal.discrete trough > block:first-child { border-radius: 2px 0 0 2px; }
+
+levelbar.horizontal.discrete trough > block:last-child { border-radius: 0 2px 2px 0; }
+
+levelbar.vertical trough > block { min-width: 9px; border-radius: 5px; }
+
+levelbar.vertical.discrete > trough > block { min-width: 2px; margin: 1px 0; min-height: 32px; }
+
+levelbar > trough { padding: 1px; color: #241f31; border-color: #797979; background-color: #908f8d; box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.4), 0 1px rgba(255, 255, 255, 0.5); }
+
+levelbar > trough:backdrop { color: #393543; border-color: #828282; background-color: #8d8c8a; }
+
+levelbar > trough > block { border: 1px solid; }
+
+levelbar > trough > block.low { border-color: #f57900; background-color: #f57900; }
+
+levelbar > trough > block.high, levelbar > trough > block:not(.empty) { border-color: #386b00; background-color: #386b00; }
+
+levelbar > trough > block.full { border-color: #73d216; background-color: #73d216; }
+
+levelbar > trough > block.empty { background-color: #9a9a9a; border-color: #9a9a9a; }
+
+/**************** Print dialog * */
+window.dialog.print drawing { color: #241f31; background: none; border: none; padding: 0; }
+
+window.dialog.print drawing paper { background: white; color: #2e3436; border: 1px solid #797979; }
+
+window.dialog.print .dialog-action-box { margin: 12px; }
+
+/********** Frames * */
+frame, .frame { border: 1px solid #797979; }
+
+frame { border-radius: 8px; }
+
+frame > label { margin: 4px; }
+
+actionbar > revealer > box { padding: 6px; border-top: 1px solid #797979; }
+
+actionbar > revealer > box, actionbar > revealer > box > box.start, actionbar > revealer > box > box.end { border-spacing: 6px; }
+
+scrolledwindow > overshoot.top { background-image: radial-gradient(farthest-side at top, #606060 85%, rgba(96, 96, 96, 0)), radial-gradient(farthest-side at top, rgba(36, 31, 49, 0.07), rgba(36, 31, 49, 0)); background-size: 100% 3%, 100% 50%; background-repeat: no-repeat; background-position: top; background-color: transparent; border: none; box-shadow: none; }
+
+scrolledwindow > overshoot.bottom { background-image: radial-gradient(farthest-side at bottom, #606060 85%, rgba(96, 96, 96, 0)), radial-gradient(farthest-side at bottom, rgba(36, 31, 49, 0.07), rgba(36, 31, 49, 0)); background-size: 100% 3%, 100% 50%; background-repeat: no-repeat; background-position: bottom; background-color: transparent; border: none; box-shadow: none; }
+
+scrolledwindow > overshoot.left { background-image: radial-gradient(farthest-side at left, #606060 85%, rgba(96, 96, 96, 0)), radial-gradient(farthest-side at left, rgba(36, 31, 49, 0.07), rgba(36, 31, 49, 0)); background-size: 3% 100%, 50% 100%; background-repeat: no-repeat; background-position: left; background-color: transparent; border: none; box-shadow: none; }
+
+scrolledwindow > overshoot.right { background-image: radial-gradient(farthest-side at right, #606060 85%, rgba(96, 96, 96, 0)), radial-gradient(farthest-side at right, rgba(36, 31, 49, 0.07), rgba(36, 31, 49, 0)); background-size: 3% 100%, 50% 100%; background-repeat: no-repeat; background-position: right; background-color: transparent; border: none; box-shadow: none; }
+
+scrolledwindow > junction { background: #797979, linear-gradient(to bottom, transparent 1px, #8d8c8f 1px), linear-gradient(to right, transparent 1px, #8d8c8f 1px); }
+
+scrolledwindow > junction:dir(rtl) { background: #797979, linear-gradient(to bottom, transparent 1px, #8d8c8f 1px), linear-gradient(to left, transparent 1px, #8d8c8f 1px); }
+
+separator { background: #868686; min-width: 1px; min-height: 1px; }
+
+/********* Lists * */
+listview, list { color: #241f31; background-color: #908f8d; border-color: #797979; }
+
+listview:backdrop, list:backdrop { color: #393543; background-color: #8d8c8a; border-color: #828282; }
+
+listview > row, list > row { padding: 2px; }
+
+listview > row.expander, list > row.expander { padding: 0px; }
+
+listview > row.expander .row-header, list > row.expander .row-header { padding: 2px; }
+
+listview.horizontal row.separator, listview.separators.horizontal > row:not(.separator), list.horizontal row.separator, list.separators.horizontal > row:not(.separator) { border-left: 1px solid #7e7d7d; }
+
+listview:not(.horizontal) row.separator, listview.separators:not(.horizontal) > row:not(.separator), list:not(.horizontal) row.separator, list.separators:not(.horizontal) > row:not(.separator) { border-bottom: 1px solid #7e7d7d; }
+
+row { transition-property: outline, outline-width, outline-offset, outline-color; transition-duration: 300ms; animation-timing-function: ease-in-out; }
+
+row { outline: 0 solid transparent; outline-offset: 4px; }
+
+row:focus:focus-visible { outline-color: rgba(56, 107, 0, 0.5); outline-width: 2px; outline-offset: -2px; }
+
+row.activatable.has-open-popup, row.activatable:hover { background-color: rgba(36, 31, 49, 0.05); }
+
+row.activatable:active { box-shadow: inset 0 2px 2px -2px rgba(0, 0, 0, 0.2); }
+
+row.activatable:selected:active { box-shadow: inset 0 2px 3px -1px rgba(0, 0, 0, 0.5); }
+
+row.activatable:selected.has-open-popup, row.activatable:selected:hover { background-color: #366305; }
+
+row:selected { outline-color: rgba(255, 255, 255, 0.8); }
+
+columnview > listview > row { padding: 0; }
+
+columnview > listview > row > cell { padding: 8px 6px; }
+
+columnview > listview > row > cell:not(:first-child) { border-left: 1px solid transparent; }
+
+columnview.column-separators > listview > row > cell { border-left-color: #7e7d7d; }
+
+columnview.data-table > listview > row > cell { padding-top: 2px; padding-bottom: 2px; }
+
+treeexpander { border-spacing: 4px; }
+
+/******************************************************** Data Tables * treeview like tables with individual focusable cells * https://gitlab.gnome.org/GNOME/gtk/-/issues/2929 * */
+columnview row:not(:selected) cell editablelabel:not(.editing):focus-within { outline: 2px solid rgba(56, 107, 0, 0.5); }
+
+columnview row:not(:selected) cell editablelabel.editing:focus-within { outline: 2px solid #386b00; }
+
+columnview row:not(:selected) cell editablelabel.editing text selection { background-color: rgba(54, 54, 54, 0.5); color: transparent; }
+
+columnview row:not(:selected) cell editablelabel.editing text selection:focus-within { background-color: rgba(56, 107, 0, 0.3); color: #241f31; }
+
+/******************************************************* Rich Lists * Large list usually containing lots of widgets * https://gitlab.gnome.org/GNOME/gtk/-/issues/3073 * */
+.rich-list { /* rich lists usually containing other widgets than just labels/text */ }
+
+.rich-list > row { padding: 8px 12px; min-height: 32px; /* should be tall even when only containing a label */ }
+
+.rich-list > row > box { border-spacing: 12px; }
+
+/********************* App Notifications * */
+.app-notification { padding: 10px; border-spacing: 10px; border-radius: 0 0 5px 5px; background-color: rgba(103, 137, 180, 0.7); background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.2), transparent 2px); background-clip: padding-box; }
+
+.app-notification border { border: none; }
+
+/************* Expanders * */
+expander { min-width: 16px; min-height: 16px; -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); }
+
+expander:dir(rtl) { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); }
+
+expander:disabled { color: #552222; }
+
+expander:checked { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); }
+
+expander-widget { transition-property: outline, outline-width, outline-offset, outline-color; transition-duration: 300ms; animation-timing-function: ease-in-out; }
+
+expander-widget > box > title { outline: 0 solid transparent; outline-offset: 4px; }
+
+expander-widget:focus:focus-visible > box > title { outline-color: rgba(56, 107, 0, 0.5); outline-width: 2px; outline-offset: -2px; }
+
+expander-widget > box > title { transition: outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); border-radius: 5px; }
+
+expander-widget > box > title:hover > expander { color: #695a8f; }
+
+.navigation-sidebar:not(decoration):not(window):drop(active):focus, .navigation-sidebar:not(decoration):not(window):drop(active), placessidebar:not(decoration):not(window):drop(active):focus, placessidebar:not(decoration):not(window):drop(active), stackswitcher:not(decoration):not(window):drop(active):focus, stackswitcher:not(decoration):not(window):drop(active), expander-widget:not(decoration):not(window):drop(active):focus, expander-widget:not(decoration):not(window):drop(active) { box-shadow: none; }
+
+/************ Calendar * */
+calendar { color: #241f31; border: 1px solid #797979; font-feature-settings: "tnum"; }
+
+calendar > header { border-bottom: 1px solid #797979; }
+
+calendar > header > button { border: none; box-shadow: none; background: none; border-radius: 0; }
+
+calendar > header > button:backdrop { background: none; }
+
+calendar > grid > label.today { box-shadow: inset 0px -2px #797979; }
+
+calendar > grid > label.today:selected { box-shadow: none; }
+
+calendar > grid > label:focus { outline-color: rgba(56, 107, 0, 0.5); outline-offset: -2px; outline-width: 2px; outline-style: solid; }
+
+calendar > grid > label.day-number { padding: 4px; }
+
+calendar > grid > label.day-number:selected { border-radius: 3px; }
+
+calendar > grid > label.day-number.other-month { color: alpha(currentColor,0.3); }
+
+/*********** Dialogs * */
+window.dialog.message .titlebar { min-height: 20px; background-image: none; background-color: #a7a7a7; border-style: none; border-top-left-radius: 7px; border-top-right-radius: 7px; }
+
+window.dialog.message box.dialog-vbox.vertical { border-spacing: 10px; }
+
+window.dialog.message label.title { font-weight: 800; font-size: 15pt; }
+
+window.dialog.message.csd.background { border-bottom-left-radius: 9px; border-bottom-right-radius: 9px; }
+
+window.dialog.message.csd .dialog-action-area button { padding: 10px 14px; border-radius: 0; border-left-style: solid; border-right-style: none; border-bottom-style: none; }
+
+window.dialog.message.csd .dialog-action-area button:first-child { border-left-style: none; border-bottom-left-radius: 7px; }
+
+window.dialog.message.csd .dialog-action-area button:last-child { border-bottom-right-radius: 7px; }
+
+filechooser .dialog-action-box { border-top: 1px solid #797979; }
+
+filechooser #pathbarbox { border-bottom: 1px solid #a7a7a7; }
+
+filechooserbutton > button > box { border-spacing: 6px; }
+
+filechooserbutton:drop(active) { box-shadow: none; border-color: transparent; }
+
+/*********** Sidebar * */
+.sidebar { background-color: #9c9b9a; }
+
+.sidebar:not(separator):dir(ltr), .sidebar:not(separator).left, .sidebar:not(separator).left:dir(rtl) { border-right: 1px solid #797979; border-left-style: none; }
+
+.sidebar:not(separator):dir(rtl), .sidebar:not(separator).right { border-left: 1px solid #797979; border-right-style: none; }
+
+.sidebar listview.view, .sidebar list { background-color: transparent; }
+
+paned .sidebar.left, paned .sidebar.right, paned .sidebar.left:dir(rtl), paned .sidebar:dir(rtl), paned .sidebar:dir(ltr), paned .sidebar { border-style: none; }
+
+stacksidebar list.separators:not(.horizontal) > row:not(.separator) { border-bottom: none; }
+
+stacksidebar row { padding: 10px 4px; transition-property: outline, outline-width, outline-offset, outline-color; transition-duration: 300ms; animation-timing-function: ease-in-out; }
+
+stacksidebar row { outline: 0 solid transparent; outline-offset: 4px; }
+
+stacksidebar row:focus:focus-visible { outline-color: rgba(56, 107, 0, 0.5); outline-width: 2px; outline-offset: -2px; }
+
+stacksidebar row > label { padding-left: 6px; padding-right: 6px; }
+
+stacksidebar row.needs-attention > label { background-size: 6px 6px, 0 0; }
+
+stacksidebar row:selected { background-color: #386b00; border-radius: 5px; color: #241f31; }
+
+stacksidebar row:selected:hover:dir(ltr), stacksidebar row:selected:hover:dir(rtl) { background-color: #2b5200; }
+
+stacksidebar row.activatable:active, stacksidebar row.activatable:selected:active { box-shadow: none; }
+
+separator.sidebar { background-color: #797979; }
+
+/********************** Navigation Sidebar * */
+.navigation-sidebar { padding: 5px 0; }
+
+.navigation-sidebar > separator { margin: 5px; }
+
+.navigation-sidebar > row { min-height: 36px; padding: 0 8px; border-radius: 5px; margin: 0 5px 2px; transition-property: outline, outline-width, outline-offset, outline-color; transition-duration: 300ms; animation-timing-function: ease-in-out; }
+
+.navigation-sidebar > row { outline: 0 solid transparent; outline-offset: 4px; }
+
+.navigation-sidebar > row:focus-visible:focus-within { outline-color: rgba(56, 107, 0, 0.5); outline-width: 2px; outline-offset: -2px; }
+
+.navigation-sidebar > row:hover { background-color: #647d47; }
+
+.navigation-sidebar > row:selected { background-color: #386b00; color: inherit; }
+
+.navigation-sidebar > row:selected:hover { background-color: #878b7f; }
+
+.navigation-sidebar > row:disabled { color: #552222; }
+
+/**************** File chooser * */
+row image.sidebar-icon { opacity: 1; }
+
+/* this should be more generic, only using .navigation-sidebar https://gitlab.gnome.org/GNOME/gtk/-/issues/2929 */
+placessidebar .navigation-sidebar > row { padding: 0; }
+
+placessidebar .navigation-sidebar > row > revealer { padding: 0 14px; }
+
+placessidebar .navigation-sidebar > row image.sidebar-icon:dir(ltr) { padding-right: 8px; }
+
+placessidebar .navigation-sidebar > row image.sidebar-icon:dir(rtl) { padding-left: 8px; }
+
+placessidebar .navigation-sidebar > row label.sidebar-label:dir(ltr) { padding-right: 2px; }
+
+placessidebar .navigation-sidebar > row label.sidebar-label:dir(rtl) { padding-left: 2px; }
+
+button.sidebar-button { min-height: 26px; min-width: 26px; margin-top: 3px; margin-bottom: 3px; padding: 0; border-radius: 100%; }
+
+placessidebar .navigation-sidebar > row:selected:active { box-shadow: none; }
+
+placessidebar .navigation-sidebar > row.sidebar-placeholder-row { padding: 0 8px; min-height: 2px; background-image: image(#73d216); background-clip: content-box; }
+
+placessidebar .navigation-sidebar > row.sidebar-new-bookmark-row { color: #386b00; }
+
+placessidebar .navigation-sidebar > row:drop(active):not(:disabled) { color: #73d216; box-shadow: inset 0 1px #73d216, inset 0 -1px #73d216; }
+
+placessidebar .navigation-sidebar > row:drop(active):not(:disabled):selected { color: #000000; background-color: #73d216; }
+
+placesview .server-list-button > image { transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); -gtk-icon-transform: rotate(0turn); }
+
+placesview .server-list-button:checked > image { transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); -gtk-icon-transform: rotate(-0.5turn); }
+
+placesview > actionbar > revealer > box > box { border-spacing: 6px; }
+
+/********* Paned * */
+paned > separator { min-width: 1px; min-height: 1px; -gtk-icon-source: none; border-style: none; background-color: transparent; background-image: image(#797979); background-size: 1px 1px; }
+
+paned > separator:selected { background-image: image(#386b00); }
+
+paned > separator.wide { min-width: 5px; min-height: 5px; background-color: #a7a7a7; background-image: image(#797979), image(#797979); background-size: 1px 1px, 1px 1px; }
+
+paned.horizontal > separator { background-repeat: repeat-y; }
+
+paned.horizontal > separator:dir(ltr) { margin: 0 -8px 0 0; padding: 0 8px 0 0; background-position: left; }
+
+paned.horizontal > separator:dir(rtl) { margin: 0 0 0 -8px; padding: 0 0 0 8px; background-position: right; }
+
+paned.horizontal > separator.wide { margin: 0; padding: 0; background-repeat: repeat-y, repeat-y; background-position: left, right; }
+
+paned.vertical > separator { margin: 0 0 -8px 0; padding: 0 0 8px 0; background-repeat: repeat-x; background-position: top; }
+
+paned.vertical > separator.wide { margin: 0; padding: 0; background-repeat: repeat-x, repeat-x; background-position: bottom, top; }
+
+/************** GtkVideo * */
+video { background: black; }
+
+video image.osd { min-width: 64px; min-height: 64px; border-radius: 32px; }
+
+/************ Tooltips * */
+tooltip { padding: 6px 10px; border-radius: 8px; box-shadow: none; }
+
+tooltip.background { background-color: rgba(103, 137, 180, 0.8); background-clip: padding-box; border: 1px solid #002269; color: #002269; }
+
+tooltip > box { border-spacing: 6px; }
+
+/***************** Color Chooser * */
+colorswatch { transition: outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); transition-property: outline, outline-width, outline-offset, outline-color; transition-duration: 300ms; animation-timing-function: ease-in-out; }
+
+colorswatch { outline: 0 solid transparent; outline-offset: 6px; }
+
+colorswatch:focus:focus-visible { outline-color: rgba(56, 107, 0, 0.5); outline-width: 4px; outline-offset: -2px; }
+
+colorswatch:drop(active), colorswatch { border-style: none; }
+
+colorswatch.top { border-top-left-radius: 5.5px; border-top-right-radius: 5.5px; }
+
+colorswatch.top > overlay { border-top-left-radius: 5px; border-top-right-radius: 5px; }
+
+colorswatch.bottom { border-bottom-left-radius: 5.5px; border-bottom-right-radius: 5.5px; }
+
+colorswatch.bottom > overlay { border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; }
+
+colorswatch.left, colorswatch:first-child:not(.top) { border-top-left-radius: 5.5px; border-bottom-left-radius: 5.5px; }
+
+colorswatch.left > overlay, colorswatch:first-child:not(.top) > overlay { border-top-left-radius: 5px; border-bottom-left-radius: 5px; }
+
+colorswatch.right, colorswatch:last-child:not(.bottom) { border-top-right-radius: 5.5px; border-bottom-right-radius: 5.5px; }
+
+colorswatch.right > overlay, colorswatch:last-child:not(.bottom) > overlay { border-top-right-radius: 5px; border-bottom-right-radius: 5px; }
+
+colorswatch.dark > overlay { color: white; }
+
+colorswatch.dark.activatable:hover > overlay { border-color: rgba(0, 0, 0, 0.8); }
+
+colorswatch.light > overlay { color: black; }
+
+colorswatch.light.activatable:hover > overlay { border-color: rgba(0, 0, 0, 0.5); }
+
+colorswatch:drop(active) { box-shadow: none; }
+
+colorswatch:drop(active).light > overlay { border-color: #73d216; box-shadow: inset 0 0 0 2px #61b213, inset 0 0 0 1px #73d216; }
+
+colorswatch:drop(active).dark > overlay { border-color: #73d216; box-shadow: inset 0 0 0 2px rgba(0, 0, 0, 0.3), inset 0 0 0 1px #73d216; }
+
+colorswatch > overlay { border: 1px solid rgba(0, 0, 0, 0.3); }
+
+colorswatch.activatable:hover > overlay { box-shadow: inset 0 1px rgba(255, 255, 255, 0.4), inset 0 -1px rgba(0, 0, 0, 0.2); }
+
+colorswatch#add-color-button { border-radius: 5px 0 0 5px; }
+
+colorswatch#add-color-button:only-child { border-radius: 5px; }
+
+colorswatch#add-color-button > overlay { color: #241f31; background-color: #bcbeb9; outline-color: rgba(56, 107, 0, 0.5); background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.15)); text-shadow: 0 1px rgba(255, 255, 255, 0.3); -gtk-icon-shadow: 0 1px rgba(255, 255, 255, 0.3); box-shadow: inset 0 1px rgba(255, 255, 255, 0.5), 0 1px 2px rgba(0, 0, 0, 0.4); }
+
+colorswatch#add-color-button.activatable:hover > overlay { background-color: shade(#bcbeb9, 1.1); }
+
+colorswatch:disabled { opacity: 0.5; }
+
+colorswatch:disabled > overlay { border-color: rgba(0, 0, 0, 0.6); box-shadow: none; }
+
+row:selected colorswatch { box-shadow: 0 0 0 2px #000000; }
+
+colorswatch#editor-color-sample { border-radius: 4px; }
+
+colorswatch#editor-color-sample > overlay { border-radius: 4.5px; }
+
+plane { transition: outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); transition-property: outline, outline-width, outline-offset, outline-color; transition-duration: 300ms; animation-timing-function: ease-in-out; }
+
+plane { outline: 0 solid transparent; outline-offset: 6px; }
+
+plane:focus:focus-visible { outline-color: rgba(56, 107, 0, 0.5); outline-width: 2px; outline-offset: 2px; }
+
+colorchooser .popover.osd { border-radius: 5px; }
+
+/******** Misc * */
+.content-view { background-color: #959595; }
+
+.content-view:hover { -gtk-icon-filter: brightness(1.2); }
+
+.content-view .tile { margin: 2px; background-color: transparent; border-radius: 0; padding: 0; }
+
+.content-view .tile:active, .content-view .tile:selected { background-color: transparent; }
+
+.content-view .tile:disabled { background-color: transparent; }
+
+.osd .scale-popup button.flat { border-style: none; border-radius: 5px; }
+
+.scale-popup button:hover { background-color: rgba(36, 31, 49, 0.1); border-radius: 5px; }
+
+/********************** Window Decorations * */
+window { border-width: 0px; }
+
+window.csd { box-shadow: 0 3px 9px 1px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(0, 0, 0, 0.23); margin: 0px; border-radius: 8px 8px 0 0; }
+
+window.csd:backdrop { box-shadow: 0 3px 9px 1px transparent, 0 2px 6px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(0, 0, 0, 0.18); transition: 200ms ease-out; }
+
+window.csd.popup { border-radius: 5px; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(0, 0, 0, 0.13); }
+
+window.csd.dialog.message { border-radius: 8px; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(0, 0, 0, 0.13); }
+
+window.solid-csd { margin: 0; padding: 4px; border: solid 1px #797979; border-radius: 0; box-shadow: inset 0 0 0 4px #797979, inset 0 0 0 3px #b4b4b4, inset 0 1px rgba(255, 255, 255, 0.8); }
+
+window.solid-csd:backdrop { box-shadow: inset 0 0 0 4px #797979, inset 0 0 0 3px #a7a7a7, inset 0 1px rgba(255, 255, 255, 0.8); }
+
+window.maximized, window.fullscreen { border-radius: 0; box-shadow: none; }
+
+window.tiled, window.tiled-top, window.tiled-left, window.tiled-right, window.tiled-bottom { border-radius: 0; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.23), 0 0 0 20px transparent; }
+
+window.tiled:backdrop, window.tiled-top:backdrop, window.tiled-left:backdrop, window.tiled-right:backdrop, window.tiled-bottom:backdrop { box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.18), 0 0 0 20px transparent; }
+
+window.popup { box-shadow: none; }
+
+window.ssd { box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.23); }
+
+tooltip.csd { border-radius: 5px; box-shadow: none; }
+
+.monospace { font-family: monospace; }
+
+/********************** Touch Copy & Paste * */
+cursor-handle { background-color: transparent; background-image: none; box-shadow: none; border-style: none; min-width: 20px; min-height: 24px; padding-left: 20px; padding-right: 20px; padding-top: 24px; padding-bottom: 24px; }
+
+cursor-handle.top:dir(ltr), cursor-handle.bottom:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-start.png"), url("assets/text-select-start@2.png")); }
+
+cursor-handle.bottom:dir(ltr), cursor-handle.top:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-end.png"), url("assets/text-select-end@2.png")); }
+
+cursor-handle.insertion-cursor:dir(ltr), cursor-handle.insertion-cursor:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above.png"), url("assets/slider-horz-scale-has-marks-above@2.png")); }
+
+cursor-handle.top:hover:dir(ltr), cursor-handle.bottom:hover:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-start-hover.png"), url("assets/text-select-start-hover@2.png")); }
+
+cursor-handle.bottom:hover:dir(ltr), cursor-handle.top:hover:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-end-hover.png"), url("assets/text-select-end-hover@2.png")); }
+
+cursor-handle.insertion-cursor:hover:dir(ltr), cursor-handle.insertion-cursor:hover:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-hover.png"), url("assets/slider-horz-scale-has-marks-above-hover@2.png")); }
+
+cursor-handle.top:active:dir(ltr), cursor-handle.bottom:active:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-start-active.png"), url("assets/text-select-start-active@2.png")); }
+
+cursor-handle.bottom:active:dir(ltr), cursor-handle.top:active:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-end-active.png"), url("assets/text-select-end-active@2.png")); }
+
+cursor-handle.insertion-cursor:active:dir(ltr), cursor-handle.insertion-cursor:active:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-active.png"), url("assets/slider-horz-scale-has-marks-above-active@2.png")); }
+
+shortcuts-section { margin: 20px; }
+
+.shortcuts-search-results { margin: 20px; border-spacing: 24px; }
+
+shortcut { border-spacing: 6px; }
+
+shortcut > .keycap { min-width: 20px; min-height: 25px; margin-top: 2px; padding-bottom: 3px; padding-left: 6px; padding-right: 6px; color: #241f31; background-color: #908f8d; border: 1px solid; border-color: #909090; border-radius: 5px; box-shadow: inset 0 -3px #a2a2a2; font-size: smaller; }
+
+:not(decoration):not(window):drop(active):focus, :not(decoration):not(window):drop(active) { border-color: #73d216; box-shadow: inset 0 0 0 1px #73d216; caret-color: #73d216; }
+
+stackswitcher > button.text-button { min-width: 100px; }
+
+stackswitcher.circular { border-spacing: 12px; }
+
+stackswitcher.circular > button.circular, stackswitcher.circular > button.text-button.circular { min-width: 32px; min-height: 32px; padding: 0; }
+
+/************* App Icons * */
+/* Outline for low res icons */
+.lowres-icon { -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.05), 1px 0 rgba(0, 0, 0, 0.1), 0 1px rgba(0, 0, 0, 0.3), -1px 0 rgba(0, 0, 0, 0.1); }
+
+/* Drapshadow for large icons */
+.icon-dropshadow { -gtk-icon-shadow: 0 1px 12px rgba(0, 0, 0, 0.05), 0 -1px rgba(0, 0, 0, 0.05), 1px 0 rgba(0, 0, 0, 0.1), 0 1px rgba(0, 0, 0, 0.3), -1px 0 rgba(0, 0, 0, 0.1); }
+
+/********* Emoji * */
+popover.emoji-picker > contents { padding: 0; }
+
+.emoji-searchbar { padding: 6px; border-spacing: 6px; border-bottom: 1px solid #797979; }
+
+.emoji-toolbar { padding: 6px; border-spacing: 6px; border-top: 1px solid #797979; }
+
+button.emoji-section { border-color: transparent; border-width: 3px; border-style: none none solid; border-radius: 0; padding: 3px 0 0; min-width: 32px; min-height: 28px; /* reset props inherited from the button style */ background: none; box-shadow: none; text-shadow: none; }
+
+button.emoji-section:hover { border-color: #797979; }
+
+button.emoji-section:checked { border-color: #386b00; }
+
+popover.emoji-picker emoji { font-size: x-large; padding: 6px; border-radius: 6px; }
+
+popover.emoji-picker emoji:focus, popover.emoji-picker emoji:hover { background: #386b00; }
+
+emoji-completion-row > box { border-spacing: 10px; padding: 2px 10px; }
+
+emoji-completion-row:focus, emoji-completion-row:hover { background-color: #386b00; color: #000000; }
+
+emoji-completion-row emoji:focus, emoji-completion-row emoji:hover { background-color: #386b00; }
+
+popover.entry-completion > contents { padding: 0; }
+
+statusbar { padding: 6px 10px 6px 10px; }
+
+menubutton > button > box { border-spacing: 6px; }
+
+menubutton arrow { min-height: 16px; min-width: 16px; }
+
+menubutton arrow.none { -gtk-icon-source: -gtk-icontheme("open-menu-symbolic"); }
+
+menubutton arrow.down { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); }
+
+menubutton arrow.up { -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); }
+
+menubutton arrow.left { -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); }
+
+menubutton arrow.right { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); }
+
+/* GTK NAMED COLORS ---------------- use responsibly! */
+/*
+widget text/foreground color */
+@define-color theme_fg_color #241f31;
+/*
+text color for entries, views and content in general */
+@define-color theme_text_color #241f31;
+/*
+widget base background color */
+@define-color theme_bg_color #a7a7a7;
+/*
+text widgets and the like base background color */
+@define-color theme_base_color #908f8d;
+/*
+base background color of selections */
+@define-color theme_selected_bg_color #386b00;
+/*
+text/foreground color of selections */
+@define-color theme_selected_fg_color #000000;
+/*
+base background color of insensitive widgets */
+@define-color insensitive_bg_color #938989;
+/*
+text foreground color of insensitive widgets */
+@define-color insensitive_fg_color #552222;
+/*
+insensitive text widgets and the like base background color */
+@define-color insensitive_base_color #908f8d;
+/*
+widget text/foreground color on backdrop windows */
+@define-color theme_unfocused_fg_color #66636c;
+/*
+text color for entries, views and content in general on backdrop windows */
+@define-color theme_unfocused_text_color #241f31;
+/*
+widget base background color on backdrop windows */
+@define-color theme_unfocused_bg_color #a7a7a7;
+/*
+text widgets and the like base background color on backdrop windows */
+@define-color theme_unfocused_base_color #8d8c8a;
+/*
+base background color of selections on backdrop windows */
+@define-color theme_unfocused_selected_bg_color #386b00;
+/*
+text/foreground color of selections on backdrop windows */
+@define-color theme_unfocused_selected_fg_color #000000;
+/*
+insensitive color on backdrop windows*/
+@define-color unfocused_insensitive_color #818181;
+/*
+widgets main borders color */
+@define-color borders #797979;
+/*
+widgets main borders color on backdrop windows */
+@define-color unfocused_borders #828282;
+/*
+these are pretty self explicative */
+@define-color warning_color #f57900;
+@define-color error_color #990000;
+@define-color success_color #73d216;
+/*
+these colors are exported for the window manager and shouldn't be used in applications,
+read if you used those and something break with a version upgrade you're on your own... */
+@define-color wm_title shade(#241f31, 1.8);
+@define-color wm_unfocused_title #66636c;
+@define-color wm_highlight rgba(255, 255, 255, 0.8);
+@define-color wm_borders_edge rgba(255, 255, 255, 0.8);
+@define-color wm_bg_a shade(#a7a7a7, 1.2);
+@define-color wm_bg_b #a7a7a7;
+@define-color wm_shadow alpha(black, 0.35);
+@define-color wm_border alpha(black, 0.18);
+@define-color wm_button_hover_color_a shade(#a7a7a7, 1.3);
+@define-color wm_button_hover_color_b #a7a7a7;
+@define-color wm_button_active_color_a shade(#a7a7a7, 0.85);
+@define-color wm_button_active_color_b shade(#a7a7a7, 0.89);
+@define-color wm_button_active_color_c shade(#a7a7a7, 0.9);
+/* content view background such as thumbnails view in Photos or Boxes */
+@define-color content_view_bg #908f8d;
+/* Very contrasty background for text views (@theme_text_color foreground) */
+@define-color text_view_bg #908f8d;
diff --git a/source/common/_theme_colors.scss b/source/common/_theme_colors.scss
new file mode 100644
index 0000000..3fe1468
--- /dev/null
+++ b/source/common/_theme_colors.scss
@@ -0,0 +1,37 @@
+$window_fg: #241f31;
+$window_bg: #a7a7a7;
+$text_widget_fg: #241f31;
+$text_widget_bg: #908f8d;
+
+$selected_fg: #000000;
+$selected_bg: #386b00;
+
+$button_fg: #241f31;
+$button_bg: #bcbeb9;
+$button_checked_bg: $selected_bg;
+$button_checked_fg: $selected_fg;
+
+
+$disabled_fg: #552222;
+$disabled_bg: #938989;
+
+
+$warningc: #f57900;
+$errorc: #990000;
+$successc: #73d216;
+
+
+$titlebar_active_fg: $selected_fg;
+$titlebar_active_bg: $selected_bg;
+
+$titlebar_backdrop_fg: $window_fg;
+$titlebar_backdrop_bg: $window_bg;
+
+$hint_fg: #002269;
+$hint_bg: #6789b4;
+
+$osd_fg: $hint_fg;
+$osd_bg: $hint_bg;
+
+
+
diff --git a/source/common/buttons.scss b/source/common/buttons.scss
new file mode 100644
index 0000000..1390066
--- /dev/null
+++ b/source/common/buttons.scss
@@ -0,0 +1,211 @@
+//auxiliary functions for buttons first
+
+$_default_button_c: $button_bg;
+
+@function _border_color($c, $darker: false) {
+ @if $darker == true { @return darken($c, 20%); }
+ @else { @return darken($c, 10%); }
+}
+
+@function _text_shadow_color ($tc: $fg_color, $bg: $bg_color) {
+//
+// calculate the color of text shadows
+//
+// $tc is the text color
+// $bg is the background color
+//
+ $_lbg: lightness($bg)/100%;
+ @if lightness($tc)<50% { @return transparentize(white, 1-$_lbg/($_lbg*1.3)); }
+ @else { @return transparentize(black, $_lbg*0.8); }
+}
+
+@function _button_hilight_color($c) {
+//
+// calculate the right top hilight color for buttons
+//
+// $c: base color;
+//
+ @if lightness($c)>95% { @return white; }
+ @else if lightness($c)>90% { @return transparentize(white, 0.15); }
+ @else if lightness($c)>80% { @return transparentize(white, 0.35); }
+ @else if lightness($c)>50% { @return transparentize(white, 0.5); }
+ @else if lightness($c)>40% { @return transparentize(white, 0.65); }
+ @else { @return transparentize(white, 0.7); }
+ //@return $top_hilight;
+}
+
+@mixin _button_text_shadow ($tc:$fg_color, $bg:$bg_color) {
+//
+// helper function for the text emboss effect
+//
+// $tc is the optional text color, not the shadow color
+//
+// TODO: this functions needs a way to deal with special cases
+//
+
+ $_shadow: _text_shadow_color($tc, $bg);
+
+ @if lightness($tc)<50% {
+ text-shadow: 0 1px _button_hilight_color($tc);//$_shadow;
+ -gtk-icon-shadow: 0 1px _button_hilight_color($tc);//$_shadow;
+ }
+ @else {
+ text-shadow: 0 -1px $_shadow;
+ -gtk-icon-shadow: 0 -1px $_shadow;
+ }
+}
+
+
+
+
+
+@mixin button($t, $c:$button_bg, $tc:$button_fg, $edge: none, $backimage: null) {
+
+ //
+ // Button drawing function
+ //
+ // $t: button type,
+ // $c: base button color for colored* types
+ // $tc: optional text color for colored* types
+ // $edge: set to none to not draw the bottom edge or specify a color to not
+ // use the default one
+ // $backimage: additional background-image behind the default one
+ // (for the button.circular hack)
+ //
+ // possible $t values (gtk3):
+ // normal, hover, active, insensitive, insensitive-active,
+ // backdrop, backdrop-active, backdrop-insensitive, backdrop-insensitive-active,
+ // osd, osd-hover, osd-active, osd-insensitive, osd-backdrop, undecorated
+
+ // possible $t values (gtk4):
+ // normal, hover, active, checked-hover, checked-active, insensitive, insensitive-active,
+ // backdrop, backdrop-active, backdrop-insensitive, backdrop-insensitive-active,
+ // osd, osd-hover, osd-active, osd-insensitive, osd-backdrop, undecorated
+
+ // this mixin needs to cover both gtk3 and gtk4 cases in order to work.
+ // gtk4 mixin calls only include $t, $c and $tc, therefore it should be safe to use in both.
+
+ //TODO: gtk3 add cases in common.scss to separate active from checked-active
+
+ $_hilight_color: _button_hilight_color($c);
+ $_button_edge: if($edge == none, none, _widget_edge($edge));
+ $_blank_edge: if($edge == none, none, _widget_edge(transparentize($edge,1)));
+ $_button_shadow: 0 1px 2px transparentize($shadow_hard_color, 0.6);
+
+ $button_clickable_image: linear-gradient(
+ to bottom,
+ transparentize($_hilight_color, if($variant == 'light', 0.2 ,0.3 )),
+ transparentize($_hilight_color, 1) 50%,
+ transparentize($shadow_hard_color, 1) 50%,
+ transparentize($shadow_hard_color, if($variant == 'light',0.85,0.7)) );
+
+ @if $t==normal or $t==normal-alt {
+ //
+ // normal button
+ //
+
+ color: $tc;
+ background-color: $c;
+ outline-color: $focus_border_color;
+ background-image: $button_clickable_image;
+ @include _button_text_shadow($tc, $c);
+ @include _shadows(inset 0 1px $_hilight_color, $_button_edge, $_button_shadow);
+
+ }
+ @else if $t==hover or $t==hover-alt or $t==undecorated-hover {
+ //
+ // hovered button
+ //
+ background-color: shade($c, 1.1)
+ }
+
+
+
+ @else if ($t==active) {
+ //
+ // pushed button
+ //
+ //color: $button_checked_fg;
+ //background-color: $button_checked_bg;
+ @include _shadows(0 1px $_hilight_color, $_button_edge, inset $_button_shadow);
+ }
+
+ @else if ($t==checked-active ) {
+ //
+ // pushed and toggled button
+ //
+ color: $button_checked_fg;
+ background-color: $button_checked_bg;
+ @include _button_text_shadow($button_checked_fg, $button_checked_bg);
+ @include _shadows(0 1px $_hilight_color, $_button_edge, inset $_button_shadow);
+
+ }
+
+ @else if ($t==checked-hover) {
+ //
+ // toggled button and hover
+ //
+ color: $button_checked_fg;
+ background-color: shade($button_checked_bg, 1.1);
+ @include _button_text_shadow($button_checked_fg, $button_checked_bg);
+ @include _shadows(0 1px $_hilight_color, $_button_edge, inset $_button_shadow);
+
+ }
+
+
+ @else if $t==insensitive {
+ //
+ // insensitive button
+ //
+ color: $insensitive_fg_color;
+ background-color: $insensitive_bg_color;
+ background-image: if($backimage==null, none, $backimage);
+ }
+ @else if $t==insensitive-active {
+ //
+ // insensitive pushed button
+ //
+ color: $insensitive_fg_color;
+ background-color: mix($insensitive_bg_color, $button_checked_bg, 85%);
+ }
+
+ @else if $t==backdrop {
+ //
+ // backdrop button
+ //
+ background-image: if($backimage==null, none, $backimage);
+ }
+ @else if $t==backdrop-active {
+ //
+ // backdrop pushed button
+ //
+ }
+ @else if $t==backdrop-insensitive {
+ //
+ // backdrop insensitive button
+ //
+ }
+
+ @else if $t==backdrop-insensitive-active {
+ //
+ // backdrop insensitive pushed button
+ //
+ }
+
+ //TODO: what happens with OSDs? Is it necessary to redefine them?
+
+ @else if $t==undecorated {
+ //
+ // reset
+ //
+ border-color: transparent;
+ background-color: transparent;
+ background-image: none;
+
+ @include _shadows(inset 0 1px transparentize(white, 1), $_blank_edge);
+
+ text-shadow: none;
+ -gtk-icon-shadow: none;
+ }
+
+}
diff --git a/source/common/checkradios.scss b/source/common/checkradios.scss
new file mode 100644
index 0000000..5c33da8
--- /dev/null
+++ b/source/common/checkradios.scss
@@ -0,0 +1,68 @@
+/***************************
+ * Check and Radio buttons *
+ ***************************/
+
+ @mixin check($t, $c:$checkradio_bg_color, $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, menu
+
+ $_border_color: if($c==$checkradio_bg_color, $checkradio_borders_color, $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 {
+ background-image: if($c == white, image(darken($c, 5%)), linear-gradient(to bottom, lighten($c, 9%) 10%, lighten($c, 4%) 90%));
+ }
+
+ @if $t==active {
+ box-shadow: inset 0 1px if($variant == 'light', rgba(0, 0, 0, 0.2), black);
+ background-image: if($c == white, image(darken($c, 15%)), image(darken($c, 5%)));
+ }
+
+ @if $t==insensitive {
+ box-shadow: none;
+ color: $insensitive_fg_color;
+ }
+
+ @if $t==backdrop {
+ background-image: image($c);
+ box-shadow: none;
+ color: $tc;
+ }
+
+ @if $t==backdrop-insensitive {
+ box-shadow: none;
+ color: $insensitive_fg_color;
+ }
+
+ @if $t==menu {
+ transform: scale(0.8);
+ border-width: 1.2px;
+ //border-color: transparent;
+ box-shadow: none;
+ background-image: image(transparent);
+ color: $tc;
+ }
+
+ @if $t==menu-active {
+ transform: scale(0.8);
+ border-width: 1.2px;
+ color: $tc;
+ box-shadow: none;
+ background-image: image(transparent);
+ }
+ }
diff --git a/source/common/common_colors.scss b/source/common/common_colors.scss
new file mode 100644
index 0000000..b19dcf0
--- /dev/null
+++ b/source/common/common_colors.scss
@@ -0,0 +1,78 @@
+// Common colors
+
+$base_color: $text_widget_bg;
+$text_color: $text_widget_fg;
+$bg_color: $window_bg;
+$fg_color: $window_fg;
+
+$selected_fg_color: $selected_fg;
+$selected_bg_color: $selected_bg;
+
+$selected_borders_color: if($variant== 'light', darken($selected_bg_color, 15%), darken($selected_bg_color, 30%));
+
+$borders_color: if($variant == 'light', darken($bg_color, 18%), darken($bg_color, 10%));
+$alt_borders_color: if($variant == 'light', darken($bg_color, 24%), darken($bg_color, 18%));
+$borders_edge: if($variant == 'light', transparentize(white, 0.2), transparentize($fg_color, 0.93));
+
+$link_color: if($variant == 'light', darken($selected_bg_color, 10%), lighten($selected_bg_color, 20%));
+$link_visited_color: if($variant == 'light', darken($selected_bg_color, 20%), lighten($selected_bg_color, 10%));
+$top_hilight: $borders_edge;
+$dark_fill: mix($borders_color, $bg_color, 50%);
+
+$menu_color: if($variant == 'light', $base_color, mix($bg_color, $base_color, 20%));
+
+$scrollbar_bg_color: if($variant == 'light', mix($bg_color, $fg_color, 80%), mix($base_color, $bg_color, 50%));
+$scrollbar_slider_color: mix($fg_color, $bg_color, 60%);
+$scrollbar_slider_hover_color: mix($fg_color, $bg_color, 80%);
+$scrollbar_slider_active_color: if($variant=='light', darken($selected_bg_color, 10%), lighten($selected_bg_color, 10%));
+
+$warning_color: $warningc;
+$error_color: $errorc;
+$success_color: $successc;
+$destructive_color: $errorc;
+
+//$warning_fg: if($variant == 'light', shade($warningc,0.5), shade($warningc,1.3));
+//$warning_bg: if($variant == 'light', shade($warningc,1.3), shade($warningc,0.5));
+
+$osd_fg_color: $osd_fg;
+$osd_text_color: $osd_fg;
+$osd_bg_color: transparentize($osd_bg, 0.3); //if($variant == 'light', transparentize(darken(desaturate($osd_bg, 100%), 4%),0.3), transparentize(darken(desaturate($osd_bg, 100%), 10%),0.3));
+
+
+$osd_insensitive_bg_color: transparentize(mix($osd_fg_color, opacify($osd_bg_color, 1), 10%), 0.5);
+$osd_insensitive_fg_color: mix($osd_fg_color, opacify($osd_bg_color, 1), 50%);
+$osd_borders_color: $hint_fg;
+
+$sidebar_bg_color: mix($bg_color, $base_color, 50%);
+
+$tooltip_borders_color: $hint_fg;
+$shadow_color: transparentize(black, 0.9);
+$shadow_hard_color: opacify($shadow_color, 1);
+
+$drop_target_color: $success_color;
+
+//insensitive state derived colors
+$insensitive_fg_color: $disabled_fg;
+$insensitive_bg_color: $disabled_bg;
+$insensitive_borders_color: mix($borders_color, $disabled_fg, 50%);
+
+//colors for the backdrop state, derived from the main colors.
+$backdrop_base_color: if($variant == 'light', darken($base_color, 1%), lighten($base_color, 1%));
+$backdrop_text_color: mix($text_color, $backdrop_base_color, 80%);
+$backdrop_bg_color: $bg_color;
+$backdrop_fg_color: mix($fg_color, $backdrop_bg_color, 50%);
+$backdrop_insensitive_color: if($variant == 'light', darken($backdrop_bg_color, 15%), lighten($backdrop_bg_color, 15%));
+$backdrop_selected_fg_color: if($variant == 'light', $backdrop_base_color, $backdrop_text_color);
+$backdrop_selected_bg_color: transparentize(desaturate($selected_bg_color,100%),0.5);
+$backdrop_borders_color: mix($borders_color, $bg_color, 80%);
+$backdrop_dark_fill: mix($backdrop_borders_color, $backdrop_bg_color, 35%);
+
+//special cased widget colors
+$suggested_bg_color: $selected_bg_color;
+$suggested_border_color: $selected_borders_color;
+$progress_bg_color: $selected_bg_color;
+$progress_border_color: $selected_borders_color;
+$checkradio_bg_color: if($variant == 'light', $selected_bg_color, lighten($selected_bg_color,10%));
+$checkradio_fg_color: $selected_fg_color;
+$checkradio_borders_color: if($variant == 'light', darken($checkradio_bg_color,20%), darken($checkradio_bg_color,40%));
+$focus_border_color: if($variant == 'light', transparentize($selected_bg_color, 0.5), transparentize($selected_bg_color, 0.3));
diff --git a/source/common/common_common.scss b/source/common/common_common.scss
new file mode 100644
index 0000000..3a669db
--- /dev/null
+++ b/source/common/common_common.scss
@@ -0,0 +1,49 @@
+@function gtkalpha($c,$a) {
+ @return unquote("alpha(#{$c},#{$a})");
+}
+
+// Optional compact sizes for buttons, headerbar and headerbar widgets
+$_sizevariant: 'compact'; //either 'default', or compact otherwise
+$_headerbar_height: if($_sizevariant=='default', 46px, 40px);
+$_entry_height: if($_sizevariant=='default', 32px, 28px);
+$_btn_pad: if($_sizevariant=='default', 4px 9px, 2px 6px);
+$_hb_btn_pad: if($_sizevariant=='default', 6px, 5px);
+$_img_btn_pad: if($_sizevariant=='default', 5px, 2px);
+$_sel_menu_pad: if($_sizevariant=='default', 6px 10px, 4px 10px);
+$_circ_btn_pad: if($_sizevariant=='default', 4px, 2px);
+$_switch_margin: if($_sizevariant=='default', 10px, 7px);
+
+
+$ease-out-quad: cubic-bezier(0.25, 0.46, 0.45, 0.94);
+$asset_suffix: if($variant=='dark', '-dark', '');
+$backdrop_transition: 200ms ease-out;
+
+$button_transition: all 200ms $ease-out-quad;
+$button_radius: 5px;
+
+//added by me:
+ $button_min_height: 24px;
+ $button_min_width: 16px;
+ $button_padding: $_btn_pad;
+ $button_border: 1px solid;
+
+$menu_radius: 5px;
+
+
+%selected_items {
+ background-color: $selected_bg_color;
+
+ @at-root %nobg_selected_items, & {
+ color: $selected_fg_color;
+
+ @at-root %selected_items_disabled,
+ &:disabled { color: mix($selected_fg_color, $selected_bg_color, 50%); }
+
+ @at-root %selected_items_backdrop,
+ &:backdrop {
+ color: $backdrop_selected_fg_color;
+
+ &:disabled { color: mix($backdrop_selected_fg_color, $selected_bg_color, 30%); }
+ }
+ }
+}
diff --git a/source/common/gtk3_removed.scss b/source/common/gtk3_removed.scss
new file mode 100644
index 0000000..026c758
--- /dev/null
+++ b/source/common/gtk3_removed.scss
@@ -0,0 +1,494 @@
+//This file is just a quick placeholder for removed code, so I can easily inspect it when I see bugs in my code that replaces this.
+//It is not used when compiling the theme
+
+// _drawing.scss
+
+
+
+@mixin button($t, $c:$button_bg, $tc:$button_fg, $edge: none, $backimage: null) {
+//
+// Button drawing function
+//
+// $t: button type,
+// $c: base button color for colored* types
+// $tc: optional text color for colored* types
+// $edge: set to none to not draw the bottom edge or specify a color to not
+// use the default one
+// $backimage: additional background-image behind the default one
+// (for the button.circular hack)
+//
+// possible $t values:
+// normal, hover, active, insensitive, insensitive-active,
+// backdrop, backdrop-active, backdrop-insensitive, backdrop-insensitive-active,
+// osd, osd-hover, osd-active, osd-insensitive, osd-backdrop, undecorated
+//
+ $_hilight_color: _button_hilight_color($tc);
+ $_button_edge: if($edge == none, none, _widget_edge($edge));
+ $_blank_edge: if($edge == none, none, _widget_edge(transparentize($edge,1)));
+ $_button_shadow: 0 1px 2px transparentize($shadow_color, 0.03);
+
+ //$tc=red; //to test, comment!
+
+ @if $t==normal {
+ //
+ // normal button
+ //
+ color: $tc;
+ outline-color: transparentize($tc, 0.7);
+ border-color: if($c != $bg_color, _border_color($c), $borders_color);
+ border-bottom-color: if($c != $bg_color, _border_color($c, true), $alt_borders_color);
+ background-image: if($variant == 'light', linear-gradient(to top, darken($c, 4%) 2px, $c),
+ linear-gradient(to top, darken($c,1%) 2px, $c)),
+ $backimage;
+ @include _button_text_shadow($tc, $c);
+ @include _shadows(inset 0 1px $_hilight_color, $_button_edge, $_button_shadow);
+ }
+
+ @else if $t==hover {
+ //
+ // hovered button
+ //
+ color: $tc;
+ outline-color: transparentize($tc, 0.7);
+ border-color: if($c != $bg_color, _border_color($c), $borders_color);
+ border-bottom-color: if($c != $bg_color, _border_color($c, true), $alt_borders_color);
+ @if $variant == 'light' {
+ background-image: linear-gradient(to top, $c, lighten($c, 1%) 1px),
+ $backimage;
+ @include _button_text_shadow($tc, lighten($c, 6%));
+ @include _shadows(inset 0 1px _button_hilight_color(lighten($c, 6%)), $_button_edge, $_button_shadow);
+ }
+ @else {
+ background-image: linear-gradient(to top, darken($c,1%), lighten($c, 1%) 1px),
+ $backimage;
+ @include _button_text_shadow($tc,lighten($c, 6%));
+ @include _shadows(inset 0 1px _button_hilight_color(darken($c, 2%)), $_button_edge, $_button_shadow);
+ }
+ }
+
+ @if $t==normal-alt {
+ //
+ // normal button alternative look
+ //
+ color: $tc;
+ outline-color: transparentize($tc, 0.7);
+ border-color: if($c != $bg_color, _border_color($c, true), $alt_borders_color);
+ @include _button_text_shadow($tc, $c);
+ @if $variant == 'light' {
+ background-image: linear-gradient(to bottom, lighten($c, 5%) 20%, $c 90%);
+ @include _shadows(inset 0 1px _button_hilight_color(lighten($c, 6%)),
+ $_button_edge, $_button_shadow);
+ }
+ @else {
+ background-image: linear-gradient(to bottom, darken($c, 3%) 20%, darken($c, 6%) 90%);
+ @include _shadows(inset 0 1px $_hilight_color,
+ $_button_edge, $_button_shadow);
+ }
+ }
+
+ @else if $t==hover-alt {
+ //
+ // hovered button alternative look
+ //
+ color: $tc;
+ outline-color: transparentize($tc, 0.7);
+ border-color: if($c != $bg_color, _border_color($c, true), $alt_borders_color);
+ @if $variant == 'light' {
+ background-image: linear-gradient(to bottom, lighten($c, 9%) 10%, lighten($c, 4%) 90%);
+ @include _shadows(inset 0 1px _button_hilight_color(lighten($c, 6%)),
+ $_button_edge, $_button_shadow);
+ }
+ @else {
+ background-image: linear-gradient(to bottom, $c 20%, darken($c, 4%) 90%);
+ @include _shadows(inset 0 1px $_hilight_color,
+ $_button_edge, $_button_shadow);
+ }
+ }
+
+ @else if $t==active {
+ //
+ // pushed button
+ //
+ color: $tc;
+ outline-color: transparentize($tc, 0.7);
+ border-color: if($c != $bg_color, _border_color($c), $borders_color);
+ background-image: if($variant == 'light', image(darken($c, 14%)), image(darken($c, 9%)));
+ @include _shadows(inset 0 1px transparentize($_hilight_color, 1), $_button_edge);
+
+ text-shadow: none;
+ -gtk-icon-shadow: none;
+ }
+
+ @else if $t==insensitive {
+ //
+ // insensitive button
+ //
+ $_bg: $insensitive_bg_color;
+
+ color: $insensitive_fg_color;
+ border-color: $insensitive_borders_color;
+ background-image: image($_bg);
+ text-shadow: none;
+ -gtk-icon-shadow: none;
+ // white with 0 alpha to avoid an ugly transition, since no color means
+ // black with 0 alpha
+ @include _shadows(inset 0 1px transparentize(white, 1), $_button_edge);
+ }
+
+ @else if $t==insensitive-active {
+ //
+ // insensitive pushed button
+ //
+ $_bg: if($variant == 'light', darken(mix($c, $base_color, 85%), 8%), darken(mix($c, $base_color, 85%), 6%));
+ $_bc: if($c != $bg_color, _border_color($c), $insensitive_borders_color);
+
+ color: if($c != $bg_color, mix($tc, $_bg, 60%), $insensitive_fg_color);
+ border-color: $_bc;
+ background-image: image($_bg);
+ // white with 0 alpha to avoid an ugly transition, since no color means
+ // black with 0 alpha
+ @include _shadows(inset 0 1px transparentize(white, 1), $_button_edge);
+ }
+
+ @else if $t==backdrop {
+ //
+ // backdrop button
+ //
+ $_bg: if($c != $bg_color, $c, $backdrop_bg_color);
+ $_bc: if($variant == 'light', $c, _border_color($c));
+
+ color: if($tc != $fg_color, mix($tc, $_bg, 80%), $backdrop_fg_color);
+ border-color: if($c != $bg_color, $_bc, $backdrop_borders_color);
+ background-image: image($_bg);
+ text-shadow: none;
+ -gtk-icon-shadow: none;
+ @include _shadows(inset 0 1px transparentize(white, 1), $_blank_edge);
+ }
+
+ @else if $t==backdrop-active {
+ //
+ // backdrop pushed button
+ //
+ $_bg: if($variant == 'light', darken(mix($c, $base_color, 85%), 8%), darken(mix($c, $base_color, 85%), 4%));
+ $_bc: if($variant == 'light', $_bg ,_border_color($c));
+
+ color: if($tc != $fg_color, mix($tc, $_bg, 80%), $backdrop_fg_color);
+ border-color: if($c != $bg_color, $_bc, $backdrop_borders_color);
+ background-image: image($_bg);
+ @include _shadows(inset 0 1px transparentize(white, 1), $_blank_edge);
+ }
+
+ @else if $t==backdrop-insensitive {
+ //
+ // backdrop insensitive button
+ //
+
+ $_bg: if($c != $bg_color, mix($c, $base_color, 85%), $insensitive_bg_color);
+ $_bc: if($variant == 'light', $_bg,_border_color($c));
+
+ color: if($c != $bg_color, mix($tc, $_bg, 35%), $backdrop_insensitive_color);
+ border-color: if($c != $bg_color, $_bc, $backdrop_borders_color);
+ background-image: image($_bg);
+ text-shadow: none;
+ -gtk-icon-shadow: none;
+ // white with 0 alpha to avoid an ugly transition, since no color means
+ // black with 0 alpha
+ @include _shadows(inset 0 1px transparentize(white, 1), $_blank_edge);
+ }
+
+ @else if $t==backdrop-insensitive-active {
+ //
+ // backdrop insensitive pushed button
+ //
+
+ $_bg: if($variant == 'light', darken(mix($c, $base_color, 85%), 8%), darken(mix($c, $base_color, 85%), 4%));
+ $_bc: if($variant == 'light', $_bg, _border_color($c));
+
+ color: if($c != $bg_color, mix($tc, $_bg, 35%), $backdrop_insensitive_color);
+ border-color: if($c != $bg_color, $_bc, $backdrop_borders_color);
+ background-image: image($_bg);
+ @include _shadows(inset 0 1px transparentize(white, 1), $_blank_edge);
+ }
+
+ @else if $t==osd {
+ //
+ // normal osd button
+ //
+ $_bg: if($c != $bg_color, transparentize($c, 0.5), $osd_bg_color);
+
+ color: $osd_fg_color;
+ border-color: $osd_borders_color;
+ background-color: transparent;
+ background-image: image($_bg);
+ background-clip: padding-box;
+ box-shadow: inset 0 1px transparentize(white, 0.9);
+ text-shadow: 0 1px black;
+ -gtk-icon-shadow: 0 1px black;
+ outline-color: transparentize($osd_fg_color, 0.7);
+ }
+
+ @else if $t==osd-hover {
+ //
+ // active osd button
+ //
+ $_bg: if($c != $bg_color, transparentize($c, 0.3), lighten($osd_bg_color, 12%));
+
+ color: white;
+ border-color: $osd_borders_color;
+ background-color: transparent;
+ background-image: image($_bg);
+ background-clip: padding-box;
+ box-shadow: inset 0 1px transparentize(white, 0.9);
+ text-shadow: 0 1px black;
+ -gtk-icon-shadow: 0 1px black;
+ outline-color: transparentize($osd_fg_color, 0.7);
+ }
+
+ @else if $t==osd-active {
+ //
+ // active osd button
+ //
+ $_bg: if($c != $bg_color, $c, $osd_borders_color);
+
+ color: white;
+ border-color: $osd_borders_color;
+ background-color: transparent;
+ background-image: image($_bg);
+ background-clip: padding-box;
+ box-shadow: none;
+ text-shadow: none;
+ -gtk-icon-shadow: none;
+ outline-color: transparentize($osd_fg_color, 0.7);
+ }
+
+ @else if $t==osd-insensitive {
+ //
+ // insensitive osd button
+ //
+ color: $osd_insensitive_fg_color;
+ border-color: $osd_borders_color;
+ background-color: transparent;
+ background-image: image($osd_insensitive_bg_color);
+ background-clip: padding-box;
+ box-shadow: none;
+ text-shadow: none;
+ -gtk-icon-shadow: none;
+ }
+
+ @else if $t==osd-backdrop {
+ //
+ // backdrop osd button
+ //
+ $_bg: if($c != $bg_color, transparentize($c, 0.5), $osd_bg_color);
+
+ color: $osd_fg_color;
+ border-color: $osd_borders_color;
+ background-color: transparent;
+ background-image: image($_bg);
+ background-clip: padding-box;
+ box-shadow: none;
+ text-shadow: none;
+ -gtk-icon-shadow: none;
+ }
+
+ @else if $t==undecorated {
+ //
+ // reset
+ //
+ border-color: transparent;
+ background-color: transparent;
+ background-image: none;
+
+ @include _shadows(inset 0 1px transparentize(white, 1), $_blank_edge);
+
+ text-shadow: none;
+ -gtk-icon-shadow: none;
+ }
+}
+
+/***************************
+ * Check and Radio buttons *
+ ***************************/
+@import "../common/buttons.scss";
+
+ @mixin check($t, $c:$bg_color, $tc:$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($c==$checkradio_bg_color, $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 {
+ background-image: if($c == white, image(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 {
+ background-image: image($c);
+ box-shadow: none;
+ color: $tc;
+ }
+
+ @if $t==backdrop-insensitive {
+ box-shadow: none;
+ color: transparentize($tc, 0.3);
+ }
+}
+
+
+
+
+
+
+
+
+
+
+
+// _common.scss
+
+/* Darken switchbuttons for headerbars. issue #1588 */
+ stackswitcher button:checked,
+ button.toggle:checked {
+
+ background: if($variant == 'light', image(darken($bg_color, 17%)), image(darken($bg_color, 9%)));
+ border-color: darken($borders_color, 3%);
+ border-top-color: darken($borders_color, 8%);
+ &:backdrop {
+ @include button(backdrop-active);
+ }
+ }
+
+/*****************
+ * GtkSpinButton *
+ *****************/
+
+// this was inside
+button {
+ min-height: 16px;
+ margin: 0;
+ padding-bottom: 0;
+ padding-top: 0;
+ color: mix($fg_color, $base_color, 90%);
+ background-image: none;
+ border-style: none none none solid;
+ border-color: transparentize($borders_color, 0.7);
+ border-radius: 0;
+ box-shadow: none;
+ background-color: transparent;
+
+ &:dir(rtl) { border-style: none solid none none; }
+
+ &:hover {
+ color: $fg_color;
+ background-color: $base_hover_color;
+ }
+
+ &:disabled {
+ color: $insensitive_fg_color;
+ background-color: $insensitive_bg_color;
+ }
+
+ &:active {
+ background-color: transparentize(black, 0.9);
+ box-shadow: inset 0 2px 3px -1px transparentize(black, 0.8);
+ }
+
+ &:backdrop {
+ color: mix($backdrop_fg_color, $backdrop_base_color, 90%);
+ background-color: transparent;
+ border-color: transparentize($backdrop_borders_color, 0.7);
+ transition: $backdrop_transition;
+ }
+
+ &:backdrop:disabled {
+ color: $insensitive_fg_color;
+ background-color: $insensitive_bg_color;
+ background-image: none;
+ border-style: none none none solid; // It is needed or it gets overridden
+
+ &:dir(rtl) { border-style: none solid none none; }
+ }
+
+ &:dir(ltr):last-child { border-radius: 0 $button_radius $button_radius 0; }
+
+ &:dir(rtl):first-child { border-radius: $button_radius 0 0 $button_radius; }
+ }
+
+// scrollbar {...
+
+ &.overlay-indicator {
+ &:not(.dragging):not(.hovering) {
+ border-color: transparent;
+ opacity: 0.4;
+ background-color: transparent;
+
+ slider {
+ margin: 0;
+ min-width: 3px;
+ min-height: 3px;
+ background-color: $fg_color;
+ border: 1px solid if($variant == 'light', white, black);
+ }
+
+ button {
+ min-width: 5px;
+ min-height: 5px;
+ background-color: $fg_color;
+ background-clip: padding-box;
+ border-radius: 100%;
+ border: 1px solid if($variant == 'light', white, black);
+ -gtk-icon-source: none;
+ }
+
+ &.horizontal {
+ slider {
+ margin: 0 2px;
+ min-width: $_slider_min_length;
+ }
+
+ button {
+ margin: 1px 2px;
+ min-width: 5px;
+ }
+ }
+
+ &.vertical {
+ slider {
+ margin: 2px 0;
+ min-height: $_slider_min_length;
+ }
+
+ button {
+ margin: 2px 1px;
+ min-height: 5px;
+ }
+ }
+ }
+
+ &.dragging,
+ &.hovering { opacity: 0.8; }
+ }
diff --git a/source/common/gtk4_removed.scss b/source/common/gtk4_removed.scss
new file mode 100644
index 0000000..1426b7d
--- /dev/null
+++ b/source/common/gtk4_removed.scss
@@ -0,0 +1,427 @@
+//This file is just a quick placeholder for removed code, so I can easily inspect it when I see bugs in my code that replaces this.
+//It is not used when compiling the theme
+
+// _drawing.scss
+
+@mixin button($t, $c:$_default_button_c, $tc:$fg_color) {
+//
+// Button drawing function
+//
+// $t: button type,
+// $c: base button color for colored* types
+// $tc: optional text color for colored* types
+//
+// possible $t values:
+// normal, hover, active, checked-hover, checked-active, insensitive, insensitive-active,
+// backdrop, backdrop-active, backdrop-insensitive, backdrop-insensitive-active,
+// osd, osd-hover, osd-active, osd-insensitive, osd-backdrop, undecorated
+//
+ $_button_shadow: 0 1px 2px transparentize($shadow_color, 0.03);
+
+ @if $t==normal {
+ //
+ // normal button
+ //
+ color: $tc;
+ outline-color: if($c != $_default_button_c, $alt_focus_border_color, $focus_border_color);
+ border-color: if($c!=$_default_button_c, _border_color($c, true), $borders_color); //tint if not default button color
+ background-image: if($variant == 'light', linear-gradient(to top, darken($c, 2%) 2px, $c),
+ linear-gradient(to top, darken($c,1%) 2px, $c));
+ @include _shadows($_button_shadow);
+ }
+
+ @else if $t==hover {
+ //
+ // hovered button
+ //
+ color: $tc;
+ border-color: if($c != $_default_button_c, _border_color($c), $borders_color);
+ @if $variant == 'light' {
+ background-image: linear-gradient(to top, darken($c,16%), darken($c,8%) 1px);
+ @include _shadows($_button_shadow);
+ }
+ @else {
+ background-image: linear-gradient(to top, darken($c,4%) 20%, darken($c, 3%) 90%);
+ @include _shadows($_button_shadow);
+ }
+ }
+
+ @else if $t==active {
+ //
+ // pushed button
+ //
+ color: $tc;
+ border-color: if($c != $_default_button_c, _border_color($c), $borders_color);
+ background-image: if($variant == 'light', image(darken($c, 14%)), image(darken($c, 9%)));
+ box-shadow: none;
+ }
+
+ @else if $t==checked-hover {
+ //
+ // pushed togglebutton hover
+ //
+ color: $tc;
+ border-color: if($c != $_default_button_c, _border_color($c), $borders_color);
+ background-image: if($variant == 'light', image(darken($c, 18%)), image(darken($c, 12%)));
+ box-shadow: none;
+ }
+
+ @else if $t==checked-active {
+ //
+ // pushed togglebutton pushed further :)
+ //
+ color: $tc;
+ border-color: if($c != $_default_button_c, _border_color($c), $borders_color);
+ background-image: if($variant == 'light', image(darken($c, 22%)), image(darken($c, 14%)));
+ box-shadow: none;
+ }
+
+ @else if $t==insensitive {
+ //
+ // insensitive button
+ //
+ $_bg: if($c != $_default_button_c, mix($c, $base_color, 85%), $insensitive_bg_color);
+
+ color: if($tc != $fg_color, mix($tc, $_bg, 50%), $insensitive_fg_color);
+ border-color: if($c != $_default_button_c, _border_color($c), $insensitive_borders_color);
+ background-image: image($_bg);
+ }
+
+ @else if $t==insensitive-active {
+ //
+ // insensitive pushed button
+ //
+ $_bg: if($variant == 'light', darken(mix($c, $base_color, 85%), 8%), darken(mix($c, $base_color, 85%), 6%));
+ $_bc: if($c != $_default_button_c, _border_color($c), $insensitive_borders_color);
+
+ color: if($c != $_default_button_c, mix($tc, $_bg, 60%), $insensitive_fg_color);
+ border-color: $_bc;
+ background-image: image($_bg);
+ box-shadow: none;
+ }
+
+ @else if $t==backdrop {
+ //
+ // backdrop button
+ //
+ $_bg: if($c != $_default_button_c, $c, $backdrop_bg_color);
+ $_bc: if($variant == 'light', $c, _border_color($c));
+
+ color: if($tc != $fg_color, mix($tc, $_bg, 80%), $backdrop_fg_color);
+ border-color: if($c != $_default_button_c, $_bc, $backdrop_borders_color);
+ background-image: image($_bg);
+ box-shadow: none;
+ }
+
+ @else if $t==backdrop-active {
+ //
+ // backdrop pushed button
+ //
+ $_bg: if($variant == 'light', darken(mix($c, $base_color, 85%), 8%), darken(mix($c, $base_color, 85%), 4%));
+ $_bc: if($variant == 'light', $_bg ,_border_color($c));
+
+ color: if($tc != $fg_color, mix($tc, $_bg, 80%), $backdrop_fg_color);
+ border-color: if($c != $_default_button_c, $_bc, $backdrop_borders_color);
+ background-image: image($_bg);
+ box-shadow: none;
+ }
+
+ @else if $t==backdrop-insensitive {
+ //
+ // backdrop insensitive button
+ //
+
+ $_bg: if($c != $_default_button_c, mix($c, $base_color, 85%), $insensitive_bg_color);
+ $_bc: if($variant == 'light', $_bg,_border_color($c));
+
+ color: if($c != $_default_button_c, mix($tc, $_bg, 35%), $backdrop_insensitive_color);
+ border-color: if($c != $_default_button_c, $_bc, $backdrop_borders_color);
+ background-image: image($_bg);
+ box-shadow: none;
+ }
+
+ @else if $t==backdrop-insensitive-active {
+ //
+ // backdrop insensitive pushed button
+ //
+
+ $_bg: if($variant == 'light', darken(mix($c, $base_color, 85%), 8%), darken(mix($c, $base_color, 85%), 4%));
+ $_bc: if($variant == 'light', $_bg, _border_color($c));
+
+ color: if($c != $_default_button_c, mix($tc, $_bg, 35%), $backdrop_insensitive_color);
+ border-color: if($c != $_default_button_c, $_bc, $backdrop_borders_color);
+ background-image: image($_bg);
+ box-shadow: none;
+ }
+
+ @else if $t==osd {
+ //
+ // normal osd button
+ //
+ $_bg: if($c != $_default_button_c, transparentize($c, 0.5), $osd_bg_color);
+
+ color: $osd_fg_color;
+ outline-color: if($c != $_default_button_c, $alt_focus_border_color, $focus_border_color);
+ border-color: $osd_borders_color;
+ background-color: transparent;
+ background-image: image($_bg);
+ background-clip: padding-box;
+ }
+
+ @else if $t==osd-hover {
+ //
+ // active osd button
+ //
+ $_bg: if($c != $_default_button_c, transparentize($c, 0.3), darken($osd_bg_color, 10%));
+
+ color: white;
+ border-color: $osd_borders_color;
+ background-color: transparent;
+ background-image: image($_bg);
+ background-clip: padding-box;
+ }
+
+ @else if $t==osd-active {
+ //
+ // active osd button
+ //
+ $_bg: if($c != $_default_button_c, $c, darken($osd_bg_color, 20%));
+
+ color: white;
+ border-color: $osd_borders_color;
+ background-color: transparent;
+ background-image: image($_bg);
+ background-clip: padding-box;
+ box-shadow: none;
+ }
+
+ @else if $t==osd-insensitive {
+ //
+ // insensitive osd button
+ //
+ color: $osd_insensitive_fg_color;
+ border-color: $osd_borders_color;
+ background-color: transparent;
+ background-image: image($osd_insensitive_bg_color);
+ background-clip: padding-box;
+ }
+
+ @else if $t==osd-backdrop {
+ //
+ // backdrop osd button
+ //
+ $_bg: if($c != $_default_button_c, transparentize($c, 0.5), $osd_bg_color);
+
+ color: $osd_fg_color;
+ border-color: $osd_borders_color;
+ background-color: transparent;
+ background-image: image($_bg);
+ background-clip: padding-box;
+ }
+
+ @else if $t==undecorated {
+ //
+ // reset
+ //
+ border-color: transparent;
+ background-color: transparent;
+ background-image: none;
+ box-shadow: none;
+ }
+ @else if $t==undecorated-hover {
+ border-color: transparent;
+ background-image: none;
+ box-shadow: none;
+ @if $variant == 'light' {
+ background-color: darken($c,14%);
+ } @else {
+ background-color: darken($c,1%);
+ }
+ }
+ @else if $t==undecorated-active {
+ border-color: transparent;
+ background-image: none;
+ box-shadow: none;
+ @if $variant == 'light' {
+ background-color: darken($c,20%);
+ }
+ @else {
+ background-color: darken($c,5%);
+ }
+ }
+}
+
+/***************************
+ * Check and Radio buttons *
+ ***************************/
+
+ @mixin check($t, $c:$checkradio_bg_color, $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, menu
+
+ $_border_color: if($c==$checkradio_bg_color, $checkradio_borders_color, $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 {
+ background-image: if($c == white, image(darken($c, 5%)), linear-gradient(to bottom, lighten($c, 9%) 10%, lighten($c, 4%) 90%));
+ }
+
+ @if $t==active {
+ box-shadow: inset 0 1px if($variant == 'light', rgba(0, 0, 0, 0.2), black);
+ background-image: if($c == white, image(darken($c, 15%)), image(darken($c, 5%)));
+ }
+
+ @if $t==insensitive {
+ box-shadow: none;
+ color: transparentize($tc, 0.3);
+ }
+
+ @if $t==backdrop {
+ background-image: image($c);
+ box-shadow: none;
+ color: $tc;
+ }
+
+ @if $t==backdrop-insensitive {
+ box-shadow: none;
+ color: transparentize($tc, 0.3);
+ }
+
+ @if $t==menu {
+ transform: scale(0.8);
+ border-width: 1.2px;
+ border-color: transparent;
+ box-shadow: none;
+ background-image: image(transparent);
+ color: $tc;
+ }
+
+ @if $t==menu-active {
+ transform: scale(0.8);
+ border-width: 1.2px;
+ color: $tc;
+ box-shadow: none;
+ background-image: image(transparent);
+ }
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+// _common.scss
+
+/* Darken switchbuttons for headerbars. issue #1588 */
+ stackswitcher > button:checked,
+ button.toggle:checked {
+
+ background: if($variant == 'light', image(darken($bg_color, 17%)), image(darken($bg_color, 9%)));
+ border-color: darken($borders_color, 3%);
+ border-top-color: darken($borders_color, 8%);
+ &:backdrop {
+ @include button(backdrop-active);
+ }
+ }
+
+/*****************
+ * GtkSpinButton *
+ *****************/
+
+ //this was inside
+
+ > button.image-button.up:not(.flat),
+ > button.image-button.down:not(.flat) {
+ min-height: 16px;
+ margin: 0;
+ padding-bottom: 0;
+ padding-top: 0;
+ color: mix($fg_color, $base_color, 90%);
+ background-image: none;
+ border-style: none none none solid;
+ border-color: transparentize($borders_color, 0.7);
+ border-radius: 0;
+ box-shadow: none;
+ background-color: transparent;
+
+ &:dir(rtl) { border-style: none solid none none; }
+
+ &:hover {
+ color: $fg_color;
+ background-color: darken($bg_color,5%);
+ }
+
+ &:disabled {
+ color: $insensitive_fg_color;
+ background-color: $insensitive_bg_color;
+ }
+
+ &:active {
+ background-color: transparentize(black, 0.9);
+ box-shadow: inset 0 2px 3px -1px transparentize(black, 0.8);
+ }
+
+ &:dir(ltr):last-child { border-radius: 0 $button_radius $button_radius 0; }
+
+ &:dir(rtl):first-child { border-radius: $button_radius 0 0 $button_radius; }
+ }
+
+
+// scrollbar {...
+ &.overlay-indicator {
+ &:not(.dragging):not(.hovering) {
+ border-color: transparent;
+ opacity: 0.4;
+ background-color: transparent;
+
+ > range > trough > slider {
+ margin: 0;
+ min-width: 3px;
+ min-height: 3px;
+ background-color: $fg_color;
+ border: 1px solid if($variant == 'light', white, black);
+ }
+
+ &.horizontal {
+ > range > trough > slider {
+ margin: 0 2px;
+ min-width: $_slider_min_length;
+ }
+ }
+
+ &.vertical {
+ > range > trough > slider {
+ margin: 2px 0;
+ min-height: $_slider_min_length;
+ }
+ }
+ }
+
+ &.dragging,
+ &.hovering { opacity: 0.8; }
+ }*/
+
diff --git a/source/common/old_slider_madness.scss b/source/common/old_slider_madness.scss
new file mode 100644
index 0000000..8bf986f
--- /dev/null
+++ b/source/common/old_slider_madness.scss
@@ -0,0 +1,90 @@
+ //this used to be in _common.scss. I've left there the warning to locate where it used to be. This code is now unused.
+
+ /*
+ // *WARNING* scale with marks madness following
+
+ // FIXME: OSD and selected list rows missing, I don't feel like adding the other 144 assets needed for those...
+ $suffix: if($variant == 'light', '', '-dark');
+
+ @each $dir_class, $dir_infix in ('horizontal', 'horz'),
+ ('vertical', 'vert') {
+ @each $marks_infix, $marks_class in ('scale-has-marks-above', 'marks-before:not(.marks-after)'),
+ ('scale-has-marks-below', 'marks-after:not(.marks-before)') {
+ @each $state, $state_infix in ('', ''),
+ (':hover', '-hover'),
+ (':active', '-active'),
+ (':disabled', '-insensitive'),
+ (':backdrop', '-backdrop'),
+ (':backdrop:disabled', '-backdrop-insensitive') {
+ &.#{$dir_class}.#{$marks_class} {
+
+ slider {
+ {$state} {
+ // an asymmetric slider asset is used here, so the margins are uneven, the smaller
+ // margin is set on the point side.
+ margin: -10px;
+ $_scale_asset: 'assets/slider-#{$dir_infix}-#{$marks_infix}#{$state_infix}#{$suffix}';
+ border-style: none;
+ border-radius: 0;
+
+ background-color: transparent;
+ background-image: -gtk-scaled(url('#{$_scale_asset}.png'), url('#{$_scale_asset}@2.png'));
+
+ $_scale_slider_bg_pos: bottom;
+
+ @if $dir_class == 'horizontal' {
+ min-height: 26px;
+ min-width: 22px;
+
+ @if $marks_infix == 'scale-has-marks-above' {
+ margin-top: -14px;
+
+ $_scale_slider_bg_pos: top;
+ }
+
+ @else { margin-bottom: -14px; }
+ }
+
+ @else {
+ min-height: 22px;
+ min-width: 26px;
+
+ @if $marks_infix == 'scale-has-marks-above' {
+ margin-left: -14px;
+
+ $_scale_slider_bg_pos: left bottom;
+ }
+
+ @else {
+ margin-right: -14px;
+
+ $_scale_slider_bg_pos: right bottom;
+ }
+ }
+
+ background-position: $_scale_slider_bg_pos;
+ background-repeat: no-repeat;
+ box-shadow: none;
+ }
+ }
+
+ &.fine-tune slider {
+ // bigger negative margins to make the trough grow here as well
+ margin: -7px;
+
+ @if $dir_class == 'horizontal' {
+ @if $marks_infix == 'scale-has-marks-above' { margin-top: -11px; }
+
+ @else { margin-bottom: -11px; }
+ }
+
+ @else {
+ @if $marks_infix == 'scale-has-marks-above' { margin-left: -11px; }
+
+ @else { margin-right: -11px; }
+ }
+ }
+ }
+ }
+ }
+ }*/
diff --git a/source/compile.sh b/source/compile.sh
new file mode 100755
index 0000000..6116798
--- /dev/null
+++ b/source/compile.sh
@@ -0,0 +1,147 @@
+#! /bin/bash
+
+showHelp () {
+
+ echo "Usage: $(basename "$0") --help | source_dir dest_dir variant | variant"
+ echo "Meaning:"
+ echo -e "\t --help: display help"
+ echo -e "\t source_dir: source to compile"
+ echo -e "\t dest_dir: destination to copy resulting gtk.css to."
+ echo -e "\t variant: either light or dark variant"
+ echo -e "If no source and destination are specified, source is current directory and destination is parent directory"
+}
+
+showErrorUsage () {
+# shows an error message (paramter 1) and then calls showHelp
+ echo error: $1
+ showHelp
+}
+
+if [ ! "$(which sassc 2> /dev/null)" ]; then
+ showErrorUsage "sassc needs to be installed to generate the css."
+ exit 1
+fi
+
+if [ $# -gt 3 ] || [ $# -eq 2 ]
+then
+ showErrorUsage "incorrect number of parameters"
+ exit 1
+fi
+
+if [[ $1 == "--help" || $1 == "-h" ]]
+then
+ echo "Calling for help"
+ showHelp
+ exit 0;
+fi
+
+if [ $# -le 1 ]
+then
+ source_dir=.
+ dest_dir=..
+else
+ source_dir=$1
+ dest_dir=$2
+fi
+
+if [ $# -eq 1 ]
+then
+ variant=$1
+else
+ variant=$3
+fi
+
+if [ "$variant" == "light" ]
+then
+ gtkthree=""
+ gtkfour="light"
+elif [ "$variant" == "dark" ]
+then
+ gtkthree="-dark"
+ gtkfour="dark"
+else
+ showErrorUsage "invalid variant name '$variant'. Also: high contrast not yet supported."
+ exit 2
+fi
+
+
+echo -e "\nCompiling with the following values: "
+echo -e " source: $source_dir"
+echo -e " destination: $dest_dir"
+echo -e " variant: $variant\n\n"
+
+if [ ! -d "$source_dir" ]
+then
+ showErrorUsage "source directory not found"
+ exit 2
+fi
+
+if [ ! -d "$dest_dir" ]
+then
+ showErrorUsage "destination directory not found"
+ exit 2
+fi
+
+
+
+# ----------------- gtk3 -------------------------
+echo "Compiling gtk3..."
+
+if [ ! -d "$source_dir/gtk3" ]
+then
+ echo "Error: source directory must contain gtk3 subdirectory"
+ exit 1
+fi
+
+sassc -M -t compact "$source_dir/gtk3/gtk-contained$gtkthree.scss" "$source_dir/gtk3/gtk-new.css"
+
+if [ $? -ne 0 ]
+then
+ echo "Error: sassc exited with error, aborting deployment of gtk3"
+else
+ echo "Deploying gtk3..."
+ if [ ! -d "$dest_dir/gtk-3.0" ]
+ then
+ mkdir "$dest_dir/gtk-3.0"
+ fi
+ cp "$source_dir/gtk3/gtk-new.css" "$dest_dir/gtk-3.0/gtk.css"
+ if [ $? -ne 0 ]
+ then
+ echo "Deployment: error copying to destination directory."
+ else
+ echo "...done!"
+ fi
+fi
+
+
+
+
+# ----------------- gtk4 -------------------------
+
+echo -e "\n\n\nCompiling gtk4..."
+
+if [ ! -d "$source_dir/gtk4" ]
+then
+ echo "Error: source directory must contain gtk4 subdirectory"
+ exit 1
+fi
+
+sassc -M -t compact "$source_dir/gtk4/Default-$gtkfour.scss" "$source_dir/gtk4/gtk-new.css"
+
+if [ $? -ne 0 ]
+then
+ echo "Error: sassc exited with error, aborting deployment of gtk4"
+else
+ echo "Deploying gtk4..."
+ if [ ! -d "$dest_dir/gtk-4.0" ]
+ then
+ mkdir "$dest_dir/gtk-4.0"
+ fi
+ cp "$source_dir/gtk4/gtk-new.css" "$dest_dir/gtk-4.0/gtk.css"
+ if [ $? -ne 0 ]
+ then
+ echo "Deployment: error copying to destination directory."
+ else
+ echo "...done!"
+ fi
+fi
diff --git a/source/gtk3/README b/source/gtk3/README
new file mode 100644
index 0000000..f7a50be
--- /dev/null
+++ b/source/gtk3/README
@@ -0,0 +1,34 @@
+Summary
+-------
+
+* Do not edit the CSS directly, edit the source SCSS files
+* To be able to use the latest/adequate version of SASS, install sassc
+* The configure script will detect whether or not you have sassc installed;
+ if you do, it will regenerate the CSS every time you modify the SCSS files
+ and rebuild GTK+.
+
+How to tweak the theme
+----------------------
+
+Adwaita is a complex theme, so to keep it maintainable it's written and processed in SASS. The
+generated CSS is then transformed into a GResource file during GTK+ build and used at runtime in a
+non-legible or editable form.
+
+It is very likely your change will happen in the _common.scss file. That's where all the widget
+selectors are defined. Here's a rundown of the "supporting" stylesheets, that are unlikely to be the
+right place for a drive by stylesheet fix:
+
+_colors.scss - global color definitions. We keep the number of defined colors to a necessary minimum,
+ most colors are derived form a handful of basics. It covers both the light variant and
+ the dark variant.
+
+_colors-public.scss - SCSS colors exported through gtk to allow for 3rd party apps color mixing.
+
+_drawing.scss - drawing helper mixings/functions to allow easier definition of widget drawing under
+ specific context. This is why Adwaita isn't 15000 LOC.
+
+_common.scss - actual definitions of style for each widget. This is where you are likely to add/remove
+ your changes.
+
+You can read about SASS at http://sass-lang.com/documentation/. Once you make
+your changes to the _common.scss file, GTK+ will rebuild the CSS files.
diff --git a/source/gtk3/_colors-public.scss b/source/gtk3/_colors-public.scss
new file mode 100644
index 0000000..3b638e2
--- /dev/null
+++ b/source/gtk3/_colors-public.scss
@@ -0,0 +1,119 @@
+//apps rely on some named colors to be exported
+/* GTK NAMED COLORS
+ ----------------
+ use responsibly! */
+
+// Sass thinks we're using the colors in the variables as strings and may shoot
+// warning, it's innocuous and can be defeated by using "" + $var
+/*
+widget text/foreground color */
+@define-color theme_fg_color #{"" +$fg_color};
+
+/*
+text color for entries, views and content in general */
+@define-color theme_text_color #{"" +$text_color};
+
+/*
+widget base background color */
+@define-color theme_bg_color #{"" +$bg_color};
+
+/*
+text widgets and the like base background color */
+@define-color theme_base_color #{"" +$base_color};
+
+/*
+base background color of selections */
+@define-color theme_selected_bg_color #{"" +$selected_bg_color};
+
+/*
+text/foreground color of selections */
+@define-color theme_selected_fg_color #{"" +$selected_fg_color};
+
+/*
+base background color of insensitive widgets */
+@define-color insensitive_bg_color #{"" +$insensitive_bg_color};
+
+/*
+text foreground color of insensitive widgets */
+@define-color insensitive_fg_color #{"" +$insensitive_fg_color};
+
+/*
+insensitive text widgets and the like base background color */
+@define-color insensitive_base_color #{"" +$base_color};
+
+/*
+widget text/foreground color on backdrop windows */
+@define-color theme_unfocused_fg_color #{"" +$backdrop_fg_color};
+
+/*
+text color for entries, views and content in general on backdrop windows */
+@define-color theme_unfocused_text_color #{"" +$text_color};
+
+/*
+widget base background color on backdrop windows */
+@define-color theme_unfocused_bg_color #{"" +$backdrop_bg_color};
+
+/*
+text widgets and the like base background color on backdrop windows */
+@define-color theme_unfocused_base_color #{"" +$backdrop_base_color};
+
+/*
+base background color of selections on backdrop windows */
+@define-color theme_unfocused_selected_bg_color #{"" +$selected_bg_color};
+
+/*
+text/foreground color of selections on backdrop windows */
+@define-color theme_unfocused_selected_fg_color #{"" + $selected_fg_color};
+
+/*
+insensitive color on backdrop windows*/
+@define-color unfocused_insensitive_color #{"" + $backdrop_insensitive_color};
+
+/*
+widgets main borders color */
+@define-color borders #{"" +$borders_color};
+
+/*
+widgets main borders color on backdrop windows */
+@define-color unfocused_borders #{"" +$backdrop_borders_color};
+
+/*
+these are pretty self explicative */
+@define-color warning_color #{"" +$warning_color};
+@define-color error_color #{"" +$error_color};
+@define-color success_color #{"" +$success_color};
+//@define-color destructive_color #{$destructive_color}
+
+//WM
+
+$_wm_highlight: if($variant=='light', $top_hilight, // Sass gets mad if this is
+ transparentize(black,1)); // done directly in the
+ // color definition
+
+/*
+these colors are exported for the window manager and shouldn't be used in applications,
+read if you used those and something break with a version upgrade you're on your own... */
+@define-color wm_title shade(#{$fg_color}, 1.8);
+@define-color wm_unfocused_title #{$backdrop_fg_color};
+@define-color wm_highlight #{"" + $_wm_highlight};
+@define-color wm_borders_edge #{"" + $borders_edge};
+
+@define-color wm_bg_a shade(#{$bg_color}, 1.2);
+@define-color wm_bg_b #{$bg_color};
+
+@define-color wm_shadow alpha(black, 0.35);
+@define-color wm_border alpha(black, 0.18);
+
+@define-color wm_button_hover_color_a shade(#{$bg_color}, 1.3);
+@define-color wm_button_hover_color_b #{$bg_color};
+@define-color wm_button_active_color_a shade(#{$bg_color}, 0.85);
+@define-color wm_button_active_color_b shade(#{$bg_color}, 0.89);
+@define-color wm_button_active_color_c shade(#{$bg_color}, 0.9);
+
+//FIXME this is really an API
+
+/* content view background such as thumbnails view in Photos or Boxes */
+@define-color content_view_bg #{"" + $base_color};
+
+/* Very contrasty background for text views (@theme_text_color foreground) */
+@define-color text_view_bg #{"" + if($variant == 'light', $base_color, darken($base_color,6%))};
diff --git a/source/gtk3/_colors.scss b/source/gtk3/_colors.scss
new file mode 100644
index 0000000..e998799
--- /dev/null
+++ b/source/gtk3/_colors.scss
@@ -0,0 +1,28 @@
+// When color definition differs for dark and light variant
+// it gets @if ed depending on $variant
+
+@import '../common/theme_colors.scss';
+@import '../common/common_colors.scss';
+
+
+$headerbar_color: if($variant == 'light', lighten($bg_color, 5%), darken($bg_color, 3%));
+
+$popover_bg_color: $bg_color;
+$popover_hover_color: lighten($bg_color, 5%);
+
+
+$base_hover_color: transparentize($fg_color, 0.95);
+
+
+
+
+//colors for the backdrop state, derived from the main colors.
+
+$backdrop_sidebar_bg_color: mix($backdrop_bg_color, $backdrop_base_color, 50%);
+
+$backdrop_scrollbar_bg_color: darken($backdrop_bg_color, 3%);
+$backdrop_scrollbar_slider_color: mix($backdrop_fg_color, $backdrop_bg_color, 40%);
+
+$backdrop_menu_color: if($variant == 'light', $backdrop_base_color, mix($backdrop_bg_color, $backdrop_base_color, 20%));
+
+
diff --git a/source/gtk3/_colors.scss.original b/source/gtk3/_colors.scss.original
new file mode 100644
index 0000000..32dd762
--- /dev/null
+++ b/source/gtk3/_colors.scss.original
@@ -0,0 +1,77 @@
+// When color definition differs for dark and light variant
+// it gets @if ed depending on $variant
+
+$base_color: if($variant == 'light', #ffffff, lighten(desaturate(#241f31, 100%), 2%));
+$text_color: if($variant == 'light', black, white);
+$bg_color: if($variant == 'light', #f6f5f4, darken(desaturate(#3d3846, 100%), 4%));
+$fg_color: if($variant == 'light', #2e3436, #eeeeec);
+
+$selected_fg_color: #ffffff;
+$selected_bg_color: if($variant == 'light', #3584e4, darken(#3584e4, 20%));
+$selected_borders_color: if($variant== 'light', darken($selected_bg_color, 15%), darken($selected_bg_color, 30%));
+$borders_color: if($variant == 'light', darken($bg_color, 18%), darken($bg_color, 10%));
+$alt_borders_color: if($variant == 'light', darken($bg_color, 24%), darken($bg_color, 18%));
+$borders_edge: if($variant == 'light', transparentize(white, 0.2), transparentize($fg_color, 0.93));
+$link_color: if($variant == 'light', darken($selected_bg_color, 10%), lighten($selected_bg_color, 20%));
+$link_visited_color: if($variant == 'light', darken($selected_bg_color, 20%), lighten($selected_bg_color, 10%));
+$top_hilight: $borders_edge;
+$dark_fill: mix($borders_color, $bg_color, 50%);
+$headerbar_color: if($variant == 'light', lighten($bg_color, 5%), darken($bg_color, 3%));
+$menu_color: if($variant == 'light', $base_color, mix($bg_color, $base_color, 20%));
+$popover_bg_color: $bg_color;
+$popover_hover_color: lighten($bg_color, 5%);
+
+$scrollbar_bg_color: if($variant == 'light', mix($bg_color, $fg_color, 80%), mix($base_color, $bg_color, 50%));
+$scrollbar_slider_color: mix($fg_color, $bg_color, 60%);
+$scrollbar_slider_hover_color: mix($fg_color, $bg_color, 80%);
+$scrollbar_slider_active_color: if($variant=='light', darken($selected_bg_color, 10%), lighten($selected_bg_color, 10%));
+
+$warning_color: #f57900;
+$error_color: #cc0000;
+$success_color: if($variant == 'light', #33d17a, darken(#33d17a, 10%));
+$destructive_color: if($variant == 'light', #e01b24, darken(#e01b24, 10%));
+
+$osd_fg_color: #eeeeec;
+$osd_text_color: white;
+$osd_bg_color: if($variant == 'light', transparentize(darken(desaturate(#3d3846, 100%), 4%),0.1), transparentize(darken(desaturate(#3d3846, 100%), 10%),0.1));
+$osd_insensitive_bg_color: transparentize(mix($osd_fg_color, opacify($osd_bg_color, 1), 10%), 0.5);
+$osd_insensitive_fg_color: mix($osd_fg_color, opacify($osd_bg_color, 1), 50%);
+$osd_borders_color: transparentize(black, 0.3);
+
+$sidebar_bg_color: mix($bg_color, $base_color, 50%);
+$base_hover_color: transparentize($fg_color, 0.95);
+
+$tooltip_borders_color: transparentize(white, 0.9);
+$shadow_color: transparentize(black, 0.9);
+
+$drop_target_color: #4e9a06;
+
+//insensitive state derived colors
+$insensitive_fg_color: mix($fg_color, $bg_color, 50%);
+$insensitive_bg_color: mix($bg_color, $base_color, 60%);
+$insensitive_borders_color: $borders_color;
+
+//colors for the backdrop state, derived from the main colors.
+$backdrop_base_color: if($variant == 'light', darken($base_color, 1%), lighten($base_color, 1%));
+$backdrop_text_color: mix($text_color, $backdrop_base_color, 80%);
+$backdrop_bg_color: $bg_color;
+$backdrop_fg_color: mix($fg_color, $backdrop_bg_color, 50%);
+$backdrop_insensitive_color: if($variant == 'light', darken($backdrop_bg_color, 15%), lighten($backdrop_bg_color, 15%));
+$backdrop_selected_fg_color: if($variant == 'light', $backdrop_base_color, $backdrop_text_color);
+$backdrop_borders_color: mix($borders_color, $bg_color, 80%);
+$backdrop_dark_fill: mix($backdrop_borders_color, $backdrop_bg_color, 35%);
+$backdrop_sidebar_bg_color: mix($backdrop_bg_color, $backdrop_base_color, 50%);
+
+$backdrop_scrollbar_bg_color: darken($backdrop_bg_color, 3%);
+$backdrop_scrollbar_slider_color: mix($backdrop_fg_color, $backdrop_bg_color, 40%);
+
+$backdrop_menu_color: if($variant == 'light', $backdrop_base_color, mix($backdrop_bg_color, $backdrop_base_color, 20%));
+
+//special cased widget colors
+$suggested_bg_color: $selected_bg_color;
+$suggested_border_color: $selected_borders_color;
+$progress_bg_color: $selected_bg_color;
+$progress_border_color: $selected_borders_color;
+$checkradio_bg_color: if($variant == 'light', $selected_bg_color, lighten($selected_bg_color,10%));
+$checkradio_fg_color: $selected_fg_color;
+$checkradio_borders_color: if($variant == 'light', darken($checkradio_bg_color,20%), darken($checkradio_bg_color,40%));
diff --git a/source/gtk3/_common.scss b/source/gtk3/_common.scss
new file mode 100644
index 0000000..2651de1
--- /dev/null
+++ b/source/gtk3/_common.scss
@@ -0,0 +1,4666 @@
+@import '../common/common_common.scss';
+
+
+
+
+$window_radius: $button_radius + 3;
+$popover_radius: $button_radius + 4;
+
+
+
+* {
+ padding: 0;
+ -GtkToolButton-icon-spacing: 4;
+ -GtkTextView-error-underline-color: $error_color;
+
+ // The size for scrollbars. The slider is 2px smaller, but we keep it
+ // up so that the whole area is sensitive to button presses for the
+ // slider. The stepper button is larger in both directions, the slider
+ // only in the width
+
+ -GtkScrolledWindow-scrollbar-spacing: 0;
+
+ -GtkToolItemGroup-expander-size: 11;
+
+ -GtkWidget-text-handle-width: 20;
+ -GtkWidget-text-handle-height: 24;
+
+ -GtkDialog-button-spacing: 4;
+ -GtkDialog-action-area-border: 0;
+
+ // We use the outline properties to signal the focus properties
+ // to the adwaita engine: using real CSS properties is faster,
+ // and we don't use any outlines for now.
+
+ outline-color: gtkalpha(currentColor, 0.3);
+ outline-style: dashed;
+ outline-offset: -3px;
+ outline-width: 1px;
+ -gtk-outline-radius: $button-radius - 2;
+
+ -gtk-secondary-caret-color: $selected_bg_color
+}
+
+
+/***************
+ * Base States *
+ ***************/
+.background {
+ color: $fg_color;
+ background-color: $bg_color;
+
+ &:backdrop {
+ color: $backdrop_fg_color;
+ background-color: $backdrop_bg_color;
+ text-shadow: none;
+ -gtk-icon-shadow: none;
+ }
+}
+
+/*
+ These wildcard seems unavoidable, need to investigate.
+ Wildcards are bad and troublesome, use them with care,
+ or better, just don't.
+ Everytime a wildcard is used a kitten dies, painfully.
+*/
+
+*:disabled { -gtk-icon-effect: dim; }
+
+.gtkstyle-fallback {
+ color: $fg_color;
+ background-color: $bg_color;
+
+ &:hover {
+ color: $fg_color;
+ background-color: lighten($bg_color, 10%);
+ }
+
+ &:active {
+ color: $fg_color;
+ background-color: darken($bg_color, 10%);
+ }
+
+ &:disabled {
+ color: $insensitive_fg_color;
+ background-color: $insensitive_bg_color;
+ }
+
+ &:selected {
+ color: $selected_fg_color;
+ background-color: $selected_bg_color;
+ }
+}
+
+.view,
+%view {
+ color: $text_color;
+ background-color: $base_color;
+
+ &:backdrop {
+ color: $backdrop_text_color;
+ background-color: $backdrop_base_color;
+ &:disabled { color: $backdrop_insensitive_color; }
+ }
+
+ &:disabled {
+ color: $insensitive_fg_color;
+ background-color: $insensitive_bg_color;
+ }
+
+ &:selected {
+ &:focus, & {
+ @extend %selected_items;
+
+ border-radius: 3px;
+ }
+ }
+}
+
+.view,
+textview {
+ text {
+ @extend %view;
+
+ selection { &:focus, & { @extend %selected_items; }}
+ }
+}
+
+textview border { background-color: mix($bg_color, $base_color, 50%); }
+
+iconview { @extend .view; }
+
+.rubberband,
+rubberband {
+ border: 1px solid darken($selected_bg_color, 10%);
+ background-color: transparentize(darken($selected_bg_color, 10%), 0.8);
+}
+
+flowbox {
+ rubberband { @extend rubberband; }
+
+ flowboxchild {
+ padding: 3px;
+
+ &:selected {
+ @extend %selected_items;
+
+ outline-offset: -2px;
+ }
+ }
+}
+
+.content-view .tile {
+ margin: 2px;
+ background-color: if($variant=='light', transparent, black);
+ border-radius: 0;
+ padding: 0;
+
+ &:backdrop { background-color: if($variant=='light', transparent, darken($backdrop_base_color,5%)); }
+ &:active, &:selected { background-color: if($variant=='light', transparent, $selected_bg_color); }
+ &:disabled { background-color: if($variant=='light', transparent, $insensitive_bg_color); }
+}
+
+label {
+ caret-color: currentColor; // this shouldn't be needed.
+
+ &.separator {
+ @extend .dim-label;
+ }
+
+ &:selected { @extend %nobg_selected_items; }
+
+ selection {
+ background-color: $selected_bg_color;
+ color: $selected_fg_color;
+ }
+
+ &:disabled {
+ color: $insensitive_fg_color;
+
+ button & { color: inherit; }
+
+ &:backdrop {
+ color: $backdrop_insensitive_color;
+
+ button & { color: inherit; }
+ }
+
+ selection { @extend %selected_items_disabled; }
+ }
+
+ &:backdrop {
+ selection { @extend %selected_items_backdrop; }
+ }
+
+ &.error {
+ color: $error_color;
+ &:disabled { color: transparentize($error_color,0.5); }
+ &:disabled:backdrop { color: transparentize($error_color,0.6); }
+ }
+}
+
+.dim-label {
+ opacity: 0.55;
+ text-shadow: none;
+}
+
+assistant {
+ .sidebar {
+ background-color: $base_color;
+ border-top: 1px solid $borders_color;
+
+ &:backdrop {
+ background-color: $backdrop_base_color;
+ border-color: $backdrop_borders_color;
+ }
+ }
+
+ &.csd .sidebar { border-top-style: none; }
+
+ .sidebar label { padding: 6px 12px; }
+
+ .sidebar label.highlight { background-color: mix($bg_color, $fg_color, 80%); }
+}
+
+%osd,
+.osd {
+ color: $osd_fg_color;
+ border: 1px solid $osd_borders_color;
+ background-color: $osd_bg_color;
+ background-clip: padding-box;
+ //text-shadow: 0 1px black;
+ //-gtk-icon-shadow: 0 1px black;
+
+ //&:backdrop {
+ // text-shadow: none;
+ // -gtk-icon-shadow: none;
+ //}
+}
+
+
+/*********************
+ * Spinner Animation *
+ *********************/
+@keyframes spin {
+ to { -gtk-icon-transform: rotate(1turn); }
+}
+
+spinner {
+ background: none;
+ &:backdrop { color: $backdrop_fg_color; }
+ opacity: 0.1; // non spinning spinner makes no sense (or maybe yes!)
+ -gtk-icon-source: -gtk-icontheme('process-working-symbolic');
+
+ &:checked {
+ opacity: 1;
+ animation: spin 1s linear infinite;
+
+ &:disabled { opacity: 0.5; color: $insensitive_fg_color;}
+ }
+}
+
+/**********************
+ * General Typography *
+ **********************/
+
+.large-title {
+ font-weight: 300;
+ font-size: 24pt;
+}
+.title-1 {
+ font-weight: 800;
+ font-size: 20pt;
+}
+.title-2 {
+ font-weight: 800;
+ font-size: 15pt;
+}
+.title-3 {
+ font-weight: 700;
+ font-size: 15pt;
+}
+.title-4 {
+ font-weight: 700;
+ font-size: 13pt;
+}
+.heading {
+ font-weight: 700;
+ font-size: 11pt;
+}
+.body {
+ font-weight: 400;
+ font-size: 11pt;
+}
+.caption-heading {
+ font-weight: 700;
+ font-size: 9pt;
+}
+.caption {
+ font-weight: 400;
+ font-size: 9pt;
+}
+
+/****************
+ * Text Entries *
+ ****************/
+
+%entry,
+entry {
+ %entry_basic, & {
+ min-height: $_entry_height;
+ padding-left: 8px;
+ padding-right: 8px;
+ border: 1px solid;
+ border-radius: $button_radius;
+ transition: all 200ms $ease-out-quad;
+
+ @include entry(normal);
+
+ image { // icons inside the entry
+ &.left { margin-right: 6px; }
+ &.right { margin-left: 6px; }
+ }
+
+
+ &.flat {
+ &:focus, &:backdrop, &:disabled, &:backdrop:disabled, & {
+ min-height: 0;
+ padding: 2px;
+ background-color: transparent;
+ border-color: transparent;
+ border-radius: 0;
+ }
+ }
+
+ &:focus { @include entry(focus); }
+
+ &:disabled { @include entry(insensitive); }
+
+ &:backdrop {
+ @include entry(backdrop);
+
+ transition: $backdrop_transition;
+ }
+
+ &:backdrop:disabled { @include entry(backdrop-insensitive); }
+
+ selection { @extend %selected_items; }
+
+ // entry error and warning style
+ @each $e_type, $e_color in (error, $error_color),
+ (warning, $warning_color) {
+ &.#{$e_type} {
+ color: $e_color;
+ border-color: entry_focus_border($e_color);
+
+ &:focus { @include entry(focus, $e_color); }
+
+ selection { background-color: $e_color; }
+ }
+ }
+
+ image { // entry icons colors
+ color: mix($fg_color, $base_color, 80%);
+
+ &:hover { color: $fg_color; }
+
+ &:active { color: $selected_bg_color; }
+
+ &:backdrop { color: mix($backdrop_fg_color, $backdrop_base_color, 80%); }
+ }
+
+ &:drop(active) {
+ &:focus, & {
+ border-color: $drop_target_color;
+ box-shadow: inset 0 0 0 1px $drop_target_color;
+ }
+ }
+
+ .osd & {
+ @include entry(osd);
+
+ &:focus { @include entry(osd-focus); }
+
+ &:backdrop { @include entry(osd-backdrop); }
+
+ &:disabled { @include entry(osd-insensitive); }
+ }
+ }
+
+ progress {
+ margin: 2px -6px;
+ background-color: transparent;
+ background-image: none;
+ border-radius: 0;
+ border-width: 0 0 2px;
+ border-color: $progress_bg_color;
+ border-style: solid;
+ box-shadow: none;
+
+ &:backdrop { background-color: transparent; }
+ }
+
+ // linked entries
+ .linked:not(.vertical) > & { @extend %linked; }
+ .linked:not(.vertical) > &:focus + &,
+ .linked:not(.vertical) > &:focus + button,
+ .linked:not(.vertical) > &:focus + combobox > box > button.combo { border-left-color: entry_focus_border(); }
+
+ .linked:not(.vertical) > &:focus.error + &,
+ .linked:not(.vertical) > &:focus.error + button,
+ .linked:not(.vertical) > &:focus.error + combobox > box > button.combo { border-left-color: entry_focus_border($error_color); }
+
+ .linked:not(.vertical) > &:drop(active) + &,
+ .linked:not(.vertical) > &:drop(active) + button,
+ .linked:not(.vertical) > &:drop(active) + combobox > box > button.combo { border-left-color: $drop_target_color; }
+
+ // Vertically linked entries
+ // FIXME: take care of "colored" entries
+ .linked.vertical > & {
+ @extend %linked_vertical;
+
+ // brighter border between linked entries
+ &:not(:disabled) + entry:not(:disabled),
+ &:not(:disabled) + %entry:not(:disabled) {
+ border-top-color: mix($borders_color, $base_color, 30%);
+
+ &:backdrop { border-top-color: mix($backdrop_borders_color, $backdrop_base_color, 30%); }
+ }
+
+ // brighter border between linked insensitive entries
+ &:disabled + %entry:disabled,
+ &:disabled + entry:disabled { border-top-color: mix($borders_color, $base_color, 30%); }
+
+ // color back the top border of a linked focused entry following another entry.
+ // :not(:only-child) is a specificity bump hack.
+ + %entry:focus:not(:only-child),
+ + entry:focus:not(:only-child) { border-top-color: entry_focus_border(); }
+
+ + %entry:focus.error:not(:only-child),
+ + entry:focus.error:not(:only-child) { border-top-color: entry_focus_border($error_color); }
+
+ + %entry:drop(active):not(:only-child),
+ + entry:drop(active):not(:only-child) { border-top-color: $drop_target_color; }
+
+ // this takes care of coloring the top border of the focused entry subsequent widget.
+ // :not(:only-child) is a specificity bump hack.
+ &:focus:not(:only-child) {
+ + %entry,
+ + entry,
+ + button,
+ + combobox > box > button.combo { border-top-color: entry_focus_border(); }
+ }
+
+ &:focus.error:not(:only-child) {
+ + %entry,
+ + entry,
+ + button,
+ + combobox > box > button.combo { border-top-color: entry_focus_border($error_color); }
+ }
+
+ &:drop(active):not(:only-child) {
+ + %entry,
+ + entry,
+ + button,
+ + combobox > box > button.combo { border-top-color: $drop_target_color; }
+ }
+ }
+
+ &.error { color: $error_color; }
+}
+
+treeview entry {
+ &:focus {
+ &:dir(rtl), &:dir(ltr) { // specificity bump hack
+ background-color: $base_color;
+ transition-property: color, background;
+ }
+ }
+
+ &.flat, & {
+ border-radius: 0;
+ background-image: none;
+ background-color: $base_color;
+
+ &:focus { border-color: $selected_bg_color; }
+ }
+}
+
+.entry-tag {
+ // sizing
+ padding: 5px;
+
+ margin-top: 2px;
+ margin-bottom: 2px;
+
+ // side margins: compensate the entry padding with a negative margin
+ // then the negative margin itself
+ :dir(ltr) & {
+ margin-left: 8px;
+ margin-right: -5px;
+ }
+ :dir(rtl) & {
+ margin-left: -5px;
+ margin-right: 8px;
+ }
+
+ border-style: none;
+
+ $_entry_tag_color: if($variant=='light', $selected_fg_color, $base_color);
+ color: $_entry_tag_color;
+
+ $_entry_tag_bg: if($variant=='light', $selected_bg_color, mix($fg_color, $base_color, 50%));
+ background-color: $_entry_tag_bg;
+
+ &:hover {
+ background-color: lighten($_entry_tag_bg, 10%);
+ }
+
+ :backdrop & {
+ color: $backdrop_base_color;
+ background-color: if($variant=='light', $selected_bg_color,
+ mix($backdrop_fg_color, $backdrop_base_color, 50%));
+ }
+
+ &.button {
+ background-color: transparent;
+ color: transparentize($_entry_tag_color, 0.3);
+ }
+
+ :not(:backdrop) &.button {
+ &:hover {
+ border: 1px solid $_entry_tag_bg;
+ color: $_entry_tag_color;
+ }
+ &:active {
+ background-color: $_entry_tag_bg;
+ color: transparentize($_entry_tag_color, 0.3);
+ }
+ }
+}
+
+/******************************************************
+ * Buttons *
+ ******************************************************/
+// stuff for .needs-attention
+$_dot_color: if($variant=='light', $selected_bg_color,
+ lighten($selected_bg_color,15%));
+@keyframes needs_attention {
+ from {
+ background-image: -gtk-gradient(radial,
+ center center, 0,
+ center center, 0.01,
+ to($_dot_color),
+ to(transparent));
+ }
+
+ to {
+ background-image: -gtk-gradient(radial,
+ center center, 0,
+ center center, 0.5,
+ to($selected_bg_color),
+ to(transparent));
+ }
+}
+
+%button,
+button {
+ @at-root %button_basic, & {
+
+ min-height: $button_min_height;
+ min-width: $button_min_width;
+ padding: $_btn_pad;
+ border: 1px solid;
+ border-radius: $button_radius;
+ transition: $button_transition;
+
+ @include button(normal);
+
+ @at-root %button_basic_flat,
+ &.flat:not(:hover):not(:active):not(:checked):not(:disabled) {
+ @include button(undecorated);
+ // to avoid adiacent buttons borders clashing when transitioning, the transition on the normal state is set
+ // to none, while it's added back in the hover state, so the button decoration will fade in on hover, but
+ // it won't fade out when the pointer leave the button allocation area. To make the transition more evident
+ // in this case the duration is increased.
+ transition: none;
+
+
+ }
+
+ &:hover {
+ @include button(hover);
+ -gtk-icon-effect: highlight;
+ }
+
+ &:active,
+ {
+ @include button(active);
+
+ transition-duration: 50ms;
+ }
+
+ &:checked, &:checked:active {
+ @include button(checked-active);
+
+ transition-duration: 50ms;
+ }
+
+ &:checked:hover:not(:active) {
+ @include button(checked-hover);
+ }
+
+ &:backdrop {
+ &.flat, & {
+ @include button(backdrop);
+
+ transition: $backdrop_transition;
+ -gtk-icon-effect: none;
+
+ &:active,
+ &:checked { @include button(backdrop-active); }
+
+ &:disabled {
+ @include button(backdrop-insensitive);
+
+ &:active,
+ &:checked { @include button(backdrop-insensitive-active); }
+ }
+ }
+ }
+
+ @at-root %button_basic_flat,
+ &.flat { &:backdrop, &:disabled, &:backdrop:disabled { @include button(undecorated); }}
+
+ &:disabled {
+ @include button(insensitive);
+
+ &:active,
+ &:checked { @include button(insensitive-active); }
+ }
+
+ &.image-button {
+ min-width: 24px;
+ padding-left: $_img_btn_pad;
+ padding-right: $_img_btn_pad;
+ }
+
+ &.text-button {
+ padding-left: 16px;
+ padding-right: 16px;
+ }
+
+ &.text-button.image-button {
+ padding-left: 8px;
+ padding-right: 8px;
+
+ label {
+ padding-left: 8px;
+ padding-right: 8px;
+ }
+ }
+
+ @at-root %button_basic_drop_active,
+ &:drop(active) {
+ color: $drop_target_color;
+ border-color: $drop_target_color;
+ box-shadow: inset 0 0 0 1px $drop_target_color;
+ }
+ }
+
+ @at-root %button_selected, & {
+ row:selected & {
+ @if $variant == 'light' { border-color: $selected_borders_color; }
+ }
+
+ @at-root %button_selected_flat, &.flat {
+ row:selected & {
+ &:not(:active):not(:checked):not(:hover):not(disabled) {
+ color: $selected_fg_color;
+ border-color: transparent;
+
+ &:backdrop { color: if($variant=='light', $backdrop_base_color, $backdrop_fg_color); }
+ }
+ }
+ }
+ }
+
+
+ // big standalone buttons like in Documents pager
+ &.osd {
+ min-width: 26px;
+ min-height: 32px;
+
+ &.image-button { min-width: 34px; }
+
+ color: $osd_fg_color;
+ border-radius: 5px;
+
+ @include button(osd);
+
+ border: none;
+ box-shadow: none;
+
+ &:hover {
+ @include button(osd-hover);
+
+ border: none;
+ box-shadow: none;
+ }
+
+ &:active,
+ &:checked {
+ @include button(osd-active);
+
+ border: none;
+ box-shadow: none;
+ }
+
+ &:disabled {
+ &:backdrop, & {
+ @include button(osd-insensitive);
+
+ border: none;
+ }
+ }
+
+ &:backdrop {
+ @include button(osd-backdrop);
+
+ border: none;
+ }
+ }
+
+ //overlay / OSD style
+ @at-root %osd_button,
+ .osd & {
+ @include button(normal, $osd_bg_color, $osd_fg_color);
+
+ &:hover { @include button(hover, $osd_bg_color, $osd_fg_color); }
+
+ &:active,
+ &:checked { &:backdrop, & { @include button(active, $osd_bg_color, $osd_fg_color); }}
+
+ &:disabled { &:backdrop, & { @include button(insensitive); }}
+
+ &:backdrop { @include button(backdrop, $osd_bg_color, $osd_fg_color); }
+
+ &.flat {
+ &:not(:hover):not(:active):not(:checked):not(:disabled) {@include button(undecorated, $osd_bg_color, $osd_fg_color);}
+
+ box-shadow: none; //FIXME respect no edge on the button mixin
+ text-shadow: 0 1px black;
+ -gtk-icon-shadow: 0 1px black;
+
+ &:hover { @include button(hover, $osd_bg_color, $osd_fg_color); }
+
+ &:disabled {
+ @include button(insensitive);
+ background-image: none;
+ border-color: transparent;
+ box-shadow: none;
+ }
+
+ &:backdrop { @include button(undecorated, $osd_bg_color, $osd_fg_color); }
+
+ &:active,
+ &:checked { @include button(active, $osd_bg_color, $osd_fg_color); }
+ }
+ }
+
+ // Suggested and Destructive Action buttons
+ @each $b_type, $b_color in (suggested-action, $suggested_bg_color),
+ (destructive-action, $destructive_color) {
+ &.#{$b_type} {
+ @include button(normal, $b_color, white);
+
+ &.flat {
+ @include button(undecorated);
+
+ color: $b_color; //FIXME: does it work on the dark variant?
+ }
+
+ &:hover { @include button(hover, $b_color, white); }
+
+ &:active,
+ &:checked { @include button(active, $b_color, white); }
+
+ &:backdrop,
+ &.flat:backdrop {
+ @include button(backdrop, $b_color, white);
+
+ &:active,
+ &:checked { @include button(backdrop-active, $b_color, white); }
+
+ &:disabled {
+ @include button(backdrop-insensitive);
+
+ &:active,
+ &:checked { @include button(backdrop-insensitive-active, $b_color, white); }
+ }
+ }
+
+ &.flat {
+ &:backdrop, &:disabled, &:backdrop:disabled {
+ @include button(undecorated);
+
+ color: transparentize($b_color, 0.2);
+ }
+ }
+
+ &:disabled {
+ @include button(insensitive);
+
+ &:active,
+ &:checked { @include button(insensitive-active, $b_color, white); }
+ }
+
+ .osd & {
+ @include button(osd, $b_color);
+
+ &:hover { @include button(osd-hover, $b_color); }
+
+ &:active,
+ &:checked { &:backdrop, & { @include button(osd-active, $b_color); }}
+
+ &:disabled { &:backdrop, & { @include button(osd-insensitive, $b_color); }}
+
+ &:backdrop { @include button(osd-backdrop, $b_color); }
+ }
+ }
+ }
+
+ .stack-switcher > & {
+ // to position the needs attention dot, padding is added to the button
+ // child, a label needs just lateral padding while an icon needs vertical
+ // padding added too.
+
+ outline-offset: -3px; // needs to be set or it gets overriden by GtkRadioButton outline-offset
+
+ > label {
+ padding-left: 6px; // label padding
+ padding-right: 6px; //
+ }
+
+ > image {
+ padding-left: 6px; // image padding
+ padding-right: 6px; //
+ padding-top: 3px; //
+ padding-bottom: 3px; //
+ }
+
+ &.text-button {
+ // compensate text-button paddings
+ padding-left: 10px;
+ padding-right: 10px;
+ }
+
+ &.image-button {
+ // we want image buttons to have a 1:1 aspect ratio, so compensation
+ // of the padding added to the GtkImage is needed
+ padding-left: 2px;
+ padding-right: 2px;
+ }
+
+ &.needs-attention {
+ > label,
+ > image { @extend %needs_attention; }
+
+ &:active,
+ &:checked {
+ > label,
+ > image {
+ animation: none;
+ background-image: none;
+ }
+ }
+ }
+ }
+
+ // hide separators
+ &.font,
+ &.file { separator { background-color: transparent; }}
+
+ &.font { > box > box > label { font-weight: bold; }}
+
+ // inline-toolbar buttons
+ .inline-toolbar & { @extend %linked; }
+
+ .primary-toolbar & { -gtk-icon-shadow: none; } // tango icons don't need shadows
+
+ .linked > & { @extend %linked; }
+
+ .linked.vertical > & { @extend %linked_vertical; }
+
+ &.circular { // The Bloody Circul Button
+ border-radius: 9999px;
+ -gtk-outline-radius: 9999px;
+ padding: $_circ_btn_pad; /* circles instead of ellipses */
+
+ label { padding: 0; }
+
+ // the followind code is needed since we use a darker bottom border on buttons, which looks pretty
+ // bad with a 100% border radius (see https://bugzilla.gnome.org/show_bug.cgi?id=771205 for details),
+ // so on relevant states we an additional background-image with a gradient clipped on the border-box,
+ // so setting a transparent border would reveal it.
+
+ $_border_bg: linear-gradient(to top, $alt-borders-color 25%, $borders-color 50%);
+
+ &:not(.flat):not(.osd):not(:checked):not(:active):not(:disabled):not(:backdrop) {
+ @include button(normal);//, $backimage: $_border_bg);
+
+ //border-color: transparent;
+ }
+
+ &:hover:not(.osd):not(:checked):not(:active):not(:disabled):not(:backdrop) {
+ @include button(hover);//, $backimage: $_border_bg);
+
+ //border-color: transparent;
+ }
+
+ background-origin: padding-box, border-box;
+ background-clip: padding-box, border-box;
+ }
+}
+
+%needs_attention {
+ animation: needs_attention 150ms ease-in;
+ $_dot_shadow: _text_shadow_color();
+ $_dot_shadow_r: if($variant=='light',0.5,0.45);
+ background-image: -gtk-gradient(radial,
+ center center, 0,
+ center center, 0.5,
+ to($_dot_color),
+ to(transparent)),
+ -gtk-gradient(radial,
+ center center, 0,
+ center center, $_dot_shadow_r,
+ to($_dot_shadow),
+ to(transparent));
+ background-size: 6px 6px, 6px 6px;
+ background-repeat: no-repeat;
+
+ @if $variant == 'light' { background-position: right 3px, right 4px; }
+
+ @else { background-position: right 3px, right 2px; }
+
+ &:backdrop { background-size: 6px 6px, 0 0;}
+
+ &:dir(rtl) {
+ @if $variant == 'light' { background-position: left 3px, left 4px; }
+
+ @else { background-position: left 3px, left 2px; }
+ }
+}
+
+
+// all the following is for the +|- buttons on inline toolbars, that way
+// should really be deprecated...
+.inline-toolbar toolbutton > button { // redefining the button look is
+ // needed since those are flat...
+ @include button(normal);
+
+ &:hover { @include button(hover); }
+
+ &:active,
+ &:checked{ @include button(active); }
+
+ &:disabled {
+ @include button(insensitive);
+
+ &:active,
+ &:checked { @include button(insensitive-active); }
+ }
+
+ &:backdrop {
+ @include button(backdrop);
+
+ &:active,
+ &:checked { @include button(backdrop-active); }
+
+ &:disabled {
+ @include button(backdrop-insensitive);
+
+ &:active,
+ &:checked { @include button(backdrop-insensitive-active); }
+ }
+ }
+}
+
+// More inline toolbar buttons
+toolbar.inline-toolbar toolbutton {
+ > button.flat { @extend %linked_middle; }
+
+ &:first-child > button.flat { @extend %linked_left; }
+
+ &:last-child > button.flat { @extend %linked_right; }
+
+ &:only-child > button.flat { @extend %linked_only_child; }
+}
+
+%linked_middle {
+ border-right-style: none;
+ border-radius: 0;
+ -gtk-outline-radius: 0;
+}
+
+%linked_left {
+ border-top-left-radius: $button_radius;
+ border-bottom-left-radius: $button_radius;
+ -gtk-outline-top-left-radius: $button_radius;
+ -gtk-outline-bottom-left-radius: $button_radius;
+}
+
+%linked_right {
+ border-right-style: solid;
+ border-top-right-radius: $button_radius;
+ border-bottom-right-radius: $button_radius;
+ -gtk-outline-top-right-radius: $button_radius;
+ -gtk-outline-bottom-right-radius: $button_radius;
+}
+
+%linked_only_child {
+ border-style: solid;
+ border-radius: $button_radius;
+ -gtk-outline-radius: $button_radius;
+}
+
+// .linked assumes Box, which reverses nodes in RTL, so 1st child is always left
+%linked {
+ @extend %linked_middle;
+
+ &:first-child { @extend %linked_left; }
+ &:last-child { @extend %linked_right; }
+
+ &:only-child { @extend %linked_only_child; }
+}
+
+// Other widgets use widget child order, so 1st/last child are at text start/end
+%linked_flippable {
+ @extend %linked_middle;
+
+ &:dir(ltr) {
+ &:first-child { @extend %linked_left; }
+ &:last-child { @extend %linked_right; }
+ }
+
+ &:dir(rtl) {
+ &:first-child { @extend %linked_right; }
+ &:last-child { @extend %linked_left; }
+ }
+
+ &:only-child { @extend %linked_only_child; }
+}
+
+%linked_vertical_middle {
+ border-style: solid solid none solid;
+ border-radius: 0;
+ -gtk-outline-radius: 0;
+}
+
+%linked_vertical_top {
+ border-top-left-radius: $button_radius;
+ border-top-right-radius: $button_radius;
+ -gtk-outline-top-left-radius: $button_radius;
+ -gtk-outline-top-right-radius: $button_radius;
+}
+
+%linked_vertical_bottom {
+ border-bottom-style: solid;
+ border-bottom-left-radius: $button_radius;
+ border-bottom-right-radius: $button_radius;
+ -gtk-outline-bottom-left-radius: $button_radius;
+ -gtk-outline-bottom-right-radius: $button_radius;
+}
+
+%linked_vertical_only_child {
+ border-style: solid;
+ border-radius: $button_radius;
+ -gtk-outline-radius: $button_radius;
+}
+
+%linked_vertical {
+ @extend %linked_vertical_middle;
+
+ &:first-child { @extend %linked_vertical_top; }
+
+ &:last-child { @extend %linked_vertical_bottom; }
+
+ &:only-child { @extend %linked_vertical_only_child; }
+}
+
+%undecorated_button {
+ background-color: transparent;
+ background-image: none;
+ border-color: transparent;
+ box-shadow: inset 0 1px transparentize(white, 1),
+ 0 1px transparentize(white, 1);
+ text-shadow: none;
+ -gtk-icon-shadow: none;
+}
+
+/* menu buttons */
+modelbutton.flat,
+.menuitem.button.flat {
+ min-height: 26px;
+ padding-left: 5px;
+ padding-right: 5px;
+ border-radius: $button_radius;
+ outline-offset: -2px;
+
+ &:not(:hover):not(:active):not(:checked):not(:disabled) {@extend %undecorated_button;}
+
+ &:hover { background-color: $popover_hover_color; }
+
+ &:selected { @extend %selected_items; }
+
+ &:backdrop,
+ &:backdrop:hover { @extend %undecorated_button; }
+}
+
+modelbutton.flat arrow {
+ background: none;
+
+ &:hover { background: none; }
+
+ &.left { -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); }
+
+ &.right { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); }
+}
+
+button.color {
+ padding: 4px;
+
+ colorswatch:only-child {
+ &, overlay { border-radius: 0; }
+
+ @if $variant == 'light' {
+ box-shadow: 0 1px _text_shadow_color();
+
+ .osd & { box-shadow: none; }
+ }
+ }
+
+ @if $variant == 'light' {
+ .osd &, & {
+ &:disabled,
+ &:backdrop,
+ &:active,
+ &:checked { colorswatch:only-child { box-shadow: none; }}
+ }
+ }
+}
+
+/* list buttons */
+/* tone down as per new designs, see issue #1473, #1748 */
+list row button.image-button:not(.flat) {
+ @extend %undecorated_button;
+ border: 1px solid transparentize($borders_color, .5);
+ &:hover { @include button(hover); }
+ &:active,
+ &:checked { @include button(active); }
+}
+
+/*********
+ * Links *
+ *********/
+
+%link,
+*:link {
+ color: $link_color;
+
+ &:visited {
+ color: $link_visited_color;
+
+ *:selected & { color: mix($selected_fg_color, $link_visited_color, 60%); }
+ }
+
+ &:hover {
+ $_fg: lighten($link_color, 10%);
+ color: $_fg;
+
+ *:selected & { color: mix($selected_fg_color, $_fg, 90%); }
+ }
+
+ &:active {
+ color: $link_color;
+
+ *:selected & { color: mix($selected_fg_color, $link_color, 80%); }
+ }
+
+ &:disabled, &:disabled:backdrop { color: transparentize(desaturate($link_color, 100%), 0.2); }
+
+ &:backdrop { &:backdrop:hover, &:backdrop:hover:selected, & { color: transparentize($link_color, 0.1); }}
+
+ @at-root %link_selected,
+ &:selected,
+ *:selected & { color: mix($selected_fg_color, $link_color, 80%); }
+}
+
+button:link,
+button:visited {
+ @extend %undecorated_button;
+
+ @extend %link;
+
+ text-shadow: none;
+
+ &:hover,
+ &:active,
+ &:checked {
+ @extend %undecorated_button;
+
+ text-shadow: none;
+ }
+
+ > label {
+ @extend %link;
+
+ text-decoration-line: underline;
+
+ }
+}
+
+
+/*****************
+ * GtkSpinButton *
+ *****************/
+spinbutton {
+ &:not(.vertical) {
+ // in this horizontal configuration, the whole spinbutton
+ // behaves as the entry, so we extend the entry styling
+ // and nuke the style on the internal entry
+ @extend %entry;
+
+ padding: 0;
+
+ %spinbutton_horz_entry {
+ min-width: 28px;
+ // reset all the other props since the spinbutton node is styled here
+ margin: 0;
+ background: none;
+ background-color: transparent;
+ border: none;
+ border-radius: 0;
+ box-shadow: none;
+
+ &:backdrop:disabled { background-color: transparent; }
+ }
+
+ entry {
+ @extend %spinbutton_horz_entry;
+ }
+
+ //this instead of the big removed part. Just to make things easier, though it may not be as beautiful.
+ button {
+ padding: 0;
+ }
+
+
+ }
+
+ // OSD horizontal
+ .osd &:not(.vertical) {
+ entry {
+ @extend %spinbutton_horz_entry;
+ }
+
+ button {
+ @include button(undecorated);
+
+ color: $osd_fg_color;
+ border-style: none none none solid;
+ border-color: transparentize($osd_borders_color, 0.3);
+ border-radius: 0;
+ box-shadow: none;
+ -gtk-icon-shadow: 0 1px black;
+
+ &:dir(rtl) { border-style: none solid none none; }
+
+ &:hover {
+ @include button(undecorated);
+
+ color: $osd_fg_color;
+ border-color: transparentize(opacify($osd_borders_color, 1), 0.5);
+ background-color: transparentize($osd_fg_color, 0.9);
+ -gtk-icon-shadow: 0 1px black;
+ box-shadow: none;
+ }
+
+ &:backdrop {
+ @include button(undecorated);
+
+ color: $osd_fg_color;
+ border-color: transparentize(opacify($osd_borders_color, 1), 0.5);
+ -gtk-icon-shadow: none;
+ box-shadow: none;
+ }
+
+ &:disabled {
+ @include button(undecorated);
+
+ color: $osd_insensitive_fg_color;
+ border-color: transparentize(opacify($osd_borders_color, 1), 0.5);
+ -gtk-icon-shadow: none;
+ box-shadow: none;
+ }
+
+ &:dir(ltr):last-child { border-radius: 0 $button_radius $button_radius 0; }
+
+ &:dir(rtl):first-child { border-radius: $button_radius 0 0 $button_radius; }
+ }
+ }
+
+ // Vertical
+ &.vertical {
+ // in the vertical configuration, we treat the spinbutton
+ // as a box, and tweak the style of the entry in the middle
+ // so that it's linked
+
+ // FIXME: this should not be set at all, but otherwise it gets the wrong
+ // color
+ &:disabled { color: $insensitive_fg_color; }
+
+ &:backdrop:disabled { color: $backdrop_insensitive_color; }
+
+ &:drop(active) {
+ border-color: transparent;
+ box-shadow: none;
+ }
+
+ entry {
+ min-height: 32px;
+ min-width: 32px;
+ padding: 0;
+ border-radius: 0;
+ }
+
+ button {
+ min-height: 32px;
+ min-width: 32px;
+ padding: 0;
+
+ &.up { @extend %top_button; }
+
+ &.down { @extend %bottom_button; }
+ }
+
+ %top_button {
+ border-radius: $button_radius $button_radius 0 0;
+ border-style: solid solid none solid;
+ }
+
+ %bottom_button {
+ border-radius: 0 0 $button_radius $button_radius;
+ border-style: none solid solid solid;
+ }
+ }
+
+ // OSD vertical
+ .osd &.vertical button:first-child {
+ @include button(osd);
+
+ &:hover { @include button(osd-hover);}
+
+ &:active { @include button(osd-active); }
+
+ &:disabled { @include button(osd-insensitive); }
+
+ &:backdrop { @include button(osd-backdrop); }
+ }
+
+ // Misc
+ treeview &:not(.vertical) {
+ min-height: 0;
+ border-style: none;
+ border-radius: 0;
+
+ entry {
+ min-height: 0;
+ padding: 1px 2px;
+ }
+ }
+ font-feature-settings: "tnum";
+}
+
+
+/**************
+ * ComboBoxes *
+ **************/
+combobox {
+ arrow {
+ -gtk-icon-source: -gtk-icontheme('pan-down-symbolic');
+ min-height: 16px;
+ min-width: 16px;
+ }
+
+ &.linked {
+ button:nth-child(2) {
+ &:dir(ltr) { @extend %linked_right; }
+ &:dir(rtl) { @extend %linked_left; }
+ }
+ }
+
+ &:drop(active) { // FIXME: untested
+ box-shadow: none;
+
+ button.combo { @extend %button_basic_drop_active; }
+ }
+}
+
+// the combo is a composite widget so the way we do button linking doesn't
+// work, special case needed. See
+// https://bugzilla.gnome.org/show_bug.cgi?id=733979
+
+.linked:not(.vertical) > combobox > box > button.combo { @extend %linked_middle; }
+.linked:not(.vertical) > combobox:first-child > box > button.combo { @extend %linked_left; }
+.linked:not(.vertical) > combobox:last-child > box > button.combo { @extend %linked_right; }
+.linked:not(.vertical) > combobox:only-child > box > button.combo { @extend %linked_only_child; }
+
+.linked.vertical > combobox > box > button.combo { @extend %linked_vertical_middle; }
+.linked.vertical > combobox:first-child > box > button.combo { @extend %linked_vertical_top; }
+.linked.vertical > combobox:last-child > box > button.combo { @extend %linked_vertical_bottom; }
+.linked.vertical > combobox:only-child > box > button.combo { @extend %linked_vertical_only_child; }
+
+
+/************
+ * Toolbars *
+ ************/
+%toolbar {
+ -GtkWidget-window-dragging: true;
+ padding: 4px;
+ background-color: $bg_color;
+}
+
+toolbar {
+ @extend %toolbar;
+
+ padding: 4px 3px 3px 4px;
+
+ // on OSD
+ .osd & { background-color: transparent; }
+
+ // stand-alone OSD toolbars
+ &.osd {
+ padding: 13px;
+ border: none;
+ border-radius: 5px;
+ background-color: $osd_bg_color;
+
+ &.left,
+ &.right,
+ &.top,
+ &.bottom { border-radius: 0; } // positional classes for `attached` osd toolbars
+ }
+
+ // toolbar separators
+ &.horizontal separator { margin: 0 7px 1px 6px; }
+ &.vertical separator { margin: 6px 1px 7px 0; }
+
+ &:not(.inline-toolbar):not(.osd) {
+ // workaround: add margins to the children of tool items to simulate
+ // spacing, ignore the overflow button (.toggle) and the overflow menu
+ // (.popup)
+ > *:not(.toggle):not(.popup) > * {
+ margin-right: 1px;
+ margin-bottom: 1px;
+ }
+ }
+}
+
+//searchbar, location-bar & inline-toolbar
+.inline-toolbar {
+ @extend %toolbar;
+
+ @extend %darkbar;
+
+ padding: 3px;
+ border-width: 0 1px 1px;
+ border-radius: 0 0 5px 5px;
+}
+
+searchbar > revealer > box,
+.location-bar {
+ @extend %toolbar;
+
+ @extend %darkbar;
+
+ border-width: 0 0 1px;
+ padding: 3px;
+}
+
+searchbar > revealer > box {
+ // workaround: undo the GtkContainer:border-width and use CSS padding instead
+ margin: -6px;
+ padding: 6px;
+}
+
+%darkbar {
+ border-style: solid;
+ border-color: $borders_color;
+ $_bg: mix($bg_color, $borders_color, 70%);
+ background-color: $_bg;
+
+ &:backdrop {
+ border-color: $backdrop_borders_color;
+ background-color: $backdrop_dark_fill;
+ box-shadow: none;
+ transition: $backdrop_transition;
+ }
+}
+
+
+/***************
+ * Header bars *
+ ***************/
+%titlebar,
+headerbar {
+ padding: 0 6px;
+ min-height: $_headerbar_height;
+ border-width: 0 0 1px;
+ border-style: solid;
+ border-color: $alt_borders_color;
+ border-radius: 0;
+
+ @include headerbar_fill(darken($bg_color, 10%));
+
+ &:backdrop {
+ border-color: $backdrop_borders_color;
+ background-color: $bg_color;
+ background-image: none;
+ box-shadow: inset 0 1px $top_hilight;
+
+ transition: $backdrop_transition;
+ }
+
+ .title {
+ padding-left: 12px;
+ padding-right: 12px;
+ font-weight: bold;
+ }
+
+ .subtitle {
+ font-size: smaller;
+ padding-left: 12px;
+ padding-right: 12px;
+
+ @extend .dim-label;
+ }
+
+ /* Darken switchbuttons for headerbars. issue #1588 */ //removed
+
+
+ .selection-mode &,
+ &.selection-mode {
+ $_hc: mix($top_hilight, $suggested_bg_color, 50%); // hilight color
+
+ color: $selected_fg_color;
+ border-color: $suggested_border_color;
+ text-shadow: 0 -1px transparentize(black, 0.5);
+
+ @include headerbar_fill($suggested_bg_color, $_hc);
+
+ &:backdrop {
+ background-color: $suggested_bg_color;
+ background-image: none;
+ box-shadow: inset 0 1px mix($top_hilight, $suggested_bg_color, 60%);
+
+ label {
+ text-shadow: none;
+ color: $selected_fg_color;
+ }
+ }
+
+ .subtitle:link { @extend %link_selected; }
+
+ button {
+ @include button(normal, $suggested_bg_color, $selected_fg_color);
+
+ @at-root %selection_mode_button_flat,
+ &.flat { @include button(undecorated); }
+
+ &:hover { @include button(hover, $suggested_bg_color, $selected_fg_color); }
+
+ &:active,
+ &:checked,
+ &.toggle:checked,
+ &.toggle:active { @include button(active, $suggested_bg_color, $selected_fg_color); }
+
+ &:backdrop {
+ &.flat, & {
+ @include button(backdrop, $suggested_bg_color, $selected_fg_color);
+
+ -gtk-icon-effect: none;
+ border-color: $suggested_border_color;
+
+ &:active,
+ &:checked {
+ @include button(backdrop-active, $suggested_bg_color, $selected_fg_color);
+
+ border-color: $suggested_border_color;
+ }
+
+ &:disabled {
+ @include button(backdrop-insensitive, $suggested_bg_color, $selected_fg_color);
+
+ border-color: $suggested_border_color;
+
+ &:active, &:checked {
+ @include button(backdrop-insensitive-active, $suggested_bg_color, $selected_fg_color);
+
+ border-color: $suggested_border_color;
+ }
+ }
+ }
+ }
+
+ @at-root %selection_mode_button_flat,
+ &.flat { &:backdrop, &:disabled, &:backdrop:disabled { @include button(undecorated); }}
+
+ &:disabled {
+ @include button(insensitive, $suggested_bg_color, $selected_fg_color);
+
+ &:active,
+ &:checked { @include button(insensitive-active, $suggested_bg_color, $selected_fg_color); }
+ }
+
+ &.suggested-action {
+ @include button(normal);
+
+ border-color: $suggested_border_color;
+
+ &:hover {
+ @include button(hover);
+
+ border-color: $suggested_border_color;
+ }
+
+ &:active {
+ @include button(active);
+
+ border-color: $suggested_border_color;
+ }
+
+ &:disabled {
+ @include button(insensitive);
+
+ border-color: $suggested_border_color;
+ }
+
+ &:backdrop {
+ @include button(backdrop);
+
+ border-color: $suggested_border_color;
+ }
+
+ &:backdrop:disabled {
+ @include button(backdrop-insensitive);
+
+ border-color: $suggested_border_color;
+ }
+ }
+ }
+
+ .selection-menu {
+ &:backdrop, & {
+ border-color: transparentize($suggested_bg_color, 1);
+ background-color: transparentize($suggested_bg_color, 1);
+ background-image: none;
+ box-shadow: none;
+ min-height: 20px;
+ padding: $_sel_menu_pad;
+
+ arrow { -GtkArrow-arrow-scaling: 1; }
+
+ .arrow {
+ -gtk-icon-source: -gtk-icontheme('pan-down-symbolic');
+ color: transparentize($selected_fg_color,0.5);
+ -gtk-icon-shadow: none;
+ }
+ }
+ }
+ }
+
+ // squared corners when the window is maximized, tiled, or fullscreen
+ .tiled &,
+ .tiled-top &,
+ .tiled-right &,
+ .tiled-bottom &,
+ .tiled-left &,
+ .maximized &,
+ .fullscreen & {
+ &:backdrop, & {
+ border-radius: 0;
+ }
+ }
+
+ &.default-decoration {
+ min-height: 28px;
+ padding: 4px;
+
+ button.titlebutton {
+ min-height: 26px;
+ min-width: 26px;
+ margin: 0;
+ padding: 0;
+ }
+ }
+
+
+
+ separator.titlebutton { opacity: 0; } /* hide the close button separator */
+
+ .solid-csd & {
+ &:backdrop, & {
+ &:dir(rtl), &:dir(ltr) { // specificity bump
+ margin-left: -1px;
+ margin-right: -1px;
+ margin-top: -1px;
+ border-radius: 0;
+ box-shadow: none;
+ }
+ }
+ }
+}
+
+headerbar {
+ // add vertical margins to common widget on the headerbar to avoid them spanning the whole height
+ entry,
+ spinbutton,
+ separator:not(.sidebar),
+ button {
+ margin-top: $_hb_btn_pad;
+ margin-bottom: $_hb_btn_pad;
+ }
+ switch {
+ margin-top: $_switch_margin;
+ margin-bottom: $_switch_margin;
+ }
+
+ &.titlebar headerbar:not(.titlebar) {
+ // Drop the background of non-titlebar nested headerbars. This is needed to
+ // work around headerbar sliding animation issues without refactoring
+ // Adwaita's support of titlebars and headerbars as it may break
+ // applications.
+ // See https://gitlab.gnome.org/GNOME/gtk/issues/1264 for more information.
+ background: none;
+ box-shadow: none;
+ }
+}
+
+.background .titlebar {
+ &:backdrop, & {
+ border-top-left-radius: $window_radius;
+ border-top-right-radius: $window_radius;
+ }
+}
+
+.background.tiled .titlebar,
+.background.tiled-top .titlebar,
+.background.tiled-right .titlebar,
+.background.tiled-bottom .titlebar,
+.background.tiled-left .titlebar,
+.background.maximized .titlebar,
+.background.solid-csd .titlebar {
+ &:backdrop, & {
+ border-top-left-radius: 0;
+ border-top-right-radius: 0;
+ }
+}
+
+headerbar { // headerbar border rounding
+
+ window separator:first-child + &,
+ window &:first-child { &:backdrop, & { border-top-left-radius: 7px; }}
+ window &:last-child { &:backdrop, & { border-top-right-radius: 7px; }}
+
+ window stack & { // tackles the stacked headerbars case
+ &:first-child, &:last-child {
+ &:backdrop, & {
+ border-top-left-radius: 7px;
+ border-top-right-radius: 7px;
+ }
+ }
+ }
+
+ window.tiled &,
+ window.tiled-top &,
+ window.tiled-right &,
+ window.tiled-bottom &,
+ window.tiled-left &,
+ window.maximized &,
+ window.fullscreen &,
+ window.solid-csd & {
+ &, &:backdrop {
+ &,
+ &:first-child,
+ &:last-child,
+ &:only-child {
+ border-top-left-radius: 0;
+ border-top-right-radius: 0;
+ }
+ }
+ }
+}
+
+.titlebar:not(headerbar) {
+ window.csd > & {
+ // in csd we assume every titlebar is a headerbar so reset anything, this is needed for split toolbars cases
+ padding: 0;
+ background-color: transparent;
+ background-image: none;
+ border-style: none;
+ border-color: transparent;
+ box-shadow: none;
+ }
+
+ separator { background-color: $borders_color; } // FIXME: use darker border?
+
+ @extend %titlebar;
+}
+
+// Development versions of apps to use a differently styled headerbar
+
+window.devel {
+ headerbar.titlebar:not(.selection-mode) {
+ $c: darken($bg_color, 10%);
+ $gradient: cross-fade(10% -gtk-icontheme("system-run-symbolic"), image(transparent)) 90% 0/256px 256px no-repeat,
+ linear-gradient(to right, transparent 65%, transparentize($selected_bg_color, 0.8)),
+ linear-gradient(to top, darken($c, 3%), $c 3px, lighten($c, 6%));
+ @if $variant == 'dark' {
+ $gradient: cross-fade(10% -gtk-icontheme("system-run-symbolic"), image(transparent)) 90% 0/256px 256px no-repeat,
+ linear-gradient(to right, transparent 65%, transparentize($selected_bg_color, 0.9)),
+ linear-gradient(to top, lighten($c, 3%) 3px, lighten($c, 5%));
+ }
+
+ background: $bg_color $gradient;
+
+ &:backdrop {
+ background: $bg_color cross-fade(10% -gtk-icontheme("system-run-symbolic"), image(transparent)) 90% 0/256px 256px no-repeat,
+ image($bg_color); /* background-color would flash */
+ }
+ }
+}
+
+/************
+ * Pathbars *
+ ************/
+
+// GtkPathBar does not work with just .linked, so we must override that. But we
+// can’t simply remove .linked from the widget as that might break other themes.
+// Note also we select on filechooser to avoid interfering with NautilusPathBar.
+filechooser .path-bar.linked > button {
+ @extend %linked_flippable;
+}
+
+.path-bar button {
+ &.text-button, &.image-button, & {
+ padding-left: 4px;
+ padding-right: 4px;
+ }
+
+ &.text-button.image-button label {
+ padding-left: 0;
+ padding-right: 0;
+ }
+
+ &.text-button.image-button, & {
+ label:last-child { padding-right: 8px; }
+ label:first-child { padding-left: 8px; }
+ }
+
+ image {
+ padding-left: 4px;
+ padding-right: 4px;
+ }
+
+ &.slider-button {
+ padding-left: 0;
+ padding-right: 0;
+ }
+}
+
+
+/**************
+ * Tree Views *
+ **************/
+
+$_treeview_borders_color: if($variant=='light',mix($borders_color, $base_color,80%),mix($fg_color, $base_color, 20%));
+
+treeview.view {
+ @at-root * {
+ -GtkTreeView-horizontal-separator: 4;
+ -GtkTreeView-grid-line-width: 1;
+ -GtkTreeView-grid-line-pattern: '';
+ -GtkTreeView-tree-line-width: 1;
+ -GtkTreeView-tree-line-pattern: '';
+ -GtkTreeView-expander-size: 16;
+ }
+
+ border-left-color: mix($fg_color, $base_color, 50%); // this is actually the tree lines color,
+ border-top-color: $bg_color; // while this is the grid lines color, better then nothing
+
+ rubberband { @extend rubberband; } // to avoid borders being overridden by the previously set props
+
+ &:selected {
+ &:focus, & {
+ border-radius: 0;
+
+ @extend %selected_items;
+ }
+
+ &:backdrop, & {
+ border-left-color: mix($selected_fg_color, $selected_bg_color, 50%);
+ border-top-color: transparentize($fg_color, 0.9); // doesn't work unfortunatelly
+ }
+ }
+
+ &:disabled {
+ color: $insensitive_fg_color;
+
+ &:selected {
+ color: mix($selected_fg_color, $selected_bg_color, 40%);
+ &:backdrop { color: mix($backdrop_selected_fg_color, $selected_bg_color, 30%); }
+ }
+
+ &:backdrop { color: $backdrop_insensitive_color; }
+ }
+
+ &.separator {
+ min-height: 2px;
+ color: $bg_color;
+
+ &:backdrop { color: transparentize($bg_color, 0.9); }
+ }
+
+ &:backdrop {
+ border-left-color: mix($backdrop_fg_color, $backdrop_bg_color, 50%);
+ border-top: $backdrop_bg_color;
+ }
+ &:drop(active) {
+ border-style: solid none;
+ border-width: 1px;
+ border-color: $selected_borders_color;
+
+ &.after { border-top-style: none; }
+
+ &.before { border-bottom-style: none; }
+ }
+
+ &.expander {
+ -gtk-icon-source: -gtk-icontheme('pan-end-symbolic');
+
+ &:dir(rtl) { -gtk-icon-source: -gtk-icontheme('pan-end-symbolic-rtl'); }
+
+ color: mix($text_color, $base_color, 70%);
+
+ &:hover { color: $text_color; }
+
+ &:selected {
+ color: mix($selected_fg_color, $selected_bg_color, 70%);
+
+ &:hover { color: $selected_fg_color; }
+
+ &:backdrop { color: mix($backdrop_selected_fg_color, $selected_bg_color, 70%); }
+ }
+
+ &:checked { -gtk-icon-source: -gtk-icontheme('pan-down-symbolic'); }
+
+ &:backdrop { color: mix($backdrop_fg_color, $backdrop_base_color, 70%); }
+ }
+
+ &.progressbar { // progress bar in treeviews
+ @if $variant == light { color: $base_color; }
+
+ background-color: $progress_bg_color;
+ background-image: image($progress_bg_color);
+ box-shadow: none;
+
+ &:selected {
+ &:focus, & {
+
+ @if $variant == 'light' {
+ color: $selected_bg_color;
+
+ }
+
+ @else { box-shadow: inset 0 1px transparentize(white, 0.95); }
+
+ background-image: image($base_color);
+
+ &:backdrop {
+ @if $variant == 'light' {
+ color: $selected_bg_color;
+ }
+ background-color: $backdrop_base_color;
+ }
+ }
+ }
+
+ &:backdrop {
+ @if $variant == 'light' { color: $backdrop_base_color; }
+
+ @else { border-color: $backdrop_base_color; }
+ background-image: none;
+ box-shadow: none;
+ }
+ }
+
+ &.trough { // progress bar trough in treeviews
+ background-color: transparentize($fg_color,0.9);
+
+ &:selected {
+ &:focus, & {
+ background-color: if($variant == 'light',
+ transparentize($selected_fg_color, 0.7),
+ darken($selected_bg_color, 10%));
+
+ }
+ }
+ }
+
+ header {
+ button {
+ $_column_header_color: mix($fg_color, $base_color, 50%);
+
+ @extend %column_header_button;
+
+ color: $_column_header_color;
+ background-color: $base_color;
+ font-weight: bold;
+ text-shadow: none;
+ box-shadow: none;
+
+ &:hover {
+ @extend %column_header_button;
+
+ color: mix($_column_header_color, $fg_color, 50%);
+ box-shadow: none;
+ transition: none; //I shouldn't need this
+ }
+
+ &:active {
+ @extend %column_header_button;
+
+ color: $fg_color;
+ transition: none; //I shouldn't need this
+ }
+ }
+ }
+
+ button.dnd,
+ header.button.dnd { // for treeview-like derive widgets
+ &:active, &:selected, &:hover, & {
+ padding: 0 6px;
+ color: $base_color;
+ background-image: none;
+ background-color: $selected_bg_color;
+ border-style: none;
+ border-radius: 0;
+ box-shadow: inset 0 0 0 1px $base_color;
+ text-shadow: none;
+ transition: none;
+ }
+ }
+
+ acceleditor > label { background-color: $selected_bg_color; } // see tests/testaccel to test
+}
+
+%column_header_button {
+ padding: 0 6px;
+ background-image: none;
+ border-style: none solid solid none;
+ border-color: $_treeview_borders_color;
+ border-radius: 0;
+ text-shadow: none;
+
+ &:disabled {
+ border-color: $bg_color;
+ background-image: none;
+ background-color: $insensitive_bg_color;
+ color: $insensitive_fg_color;
+ }
+
+ &:backdrop {
+ //color: mix($backdrop_fg_color, $backdrop_bg_color, 50%);
+ border-color: $backdrop_bg_color;
+ border-style: none solid solid none;
+ background-image: none;
+ background-color: $backdrop_base_color;
+
+ &:disabled {
+ border-color: $backdrop_bg_color;
+ background-image: none;
+ background-color: $insensitive_bg_color;
+ color: $insensitive_fg_color;
+ }
+ }
+
+ &:last-child { &:backdrop, & { border-right-style: none; }}
+}
+
+
+
+/*********
+ * Menus *
+ *********/
+menubar,
+.menubar {
+ -GtkWidget-window-dragging: true;
+ padding: 0px;
+ box-shadow: inset 0 -1px transparentize(black, 0.9);
+
+ &:backdrop { background-color: $backdrop_bg_color; }
+
+ > menuitem {
+ min-height: 16px;
+ padding: 4px 8px;
+
+ // remove padding and rounding from menubar submenus
+ menu {
+ &:dir(rtl), &:dir(ltr) { // specificity bump
+ border-radius: 0;
+ padding: 0;
+ }
+ }
+
+ &:hover { //Seems like it :hover even with keyboard focus
+ box-shadow: inset 0 -3px $selected_bg_color;
+ color: $link_color;
+ }
+
+ &:disabled {
+ color: $insensitive_fg_color;
+ box-shadow: none;
+ }
+ }
+
+ // remove padding and rounding from menubar submenu decoration
+ .csd.popup decoration {border-radius:0;}
+}
+
+// Needed to make the border-radius of menus work
+// otherwise the background bleeds out of the menu edges
+.background.popup { background-color: transparent; }
+
+menu,
+.menu,
+.context-menu {
+ margin: 4px; // see https://bugzilla.gnome.org/show_bug.cgi?id=591258
+ padding: 4px 0px;
+ background-color: $menu_color;
+ border: 1px solid $borders_color; // adds borders in a non composited env
+
+ .csd & {
+ border: none; // axes borders in a composited env
+ border-radius: $menu_radius;
+ }
+
+ &:backdrop { background-color: $backdrop_menu_color; }
+
+ menuitem {
+ min-height: 16px;
+ min-width: 40px;
+ padding: 4px 6px;
+ text-shadow: none;
+
+ &:hover {
+ color: $selected_fg_color;
+ background-color: $selected_bg_color;
+ }
+
+ &:disabled {
+ color: $insensitive_fg_color;
+ &:backdrop { color: $backdrop_insensitive_color; }
+ }
+
+ &:backdrop,
+ &:backdrop:hover {
+ color: $backdrop_fg_color;
+ background-color: transparent;
+ }
+
+ // submenu indicators
+ arrow {
+ min-height: 16px;
+ min-width: 16px;
+
+ &:dir(ltr) {
+ -gtk-icon-source: -gtk-icontheme('pan-end-symbolic');
+ margin-left: 10px;
+ }
+
+ &:dir(rtl) {
+ -gtk-icon-source:-gtk-icontheme('pan-end-symbolic-rtl');
+ margin-right: 10px;
+ }
+ }
+
+ // avoids labels color being overridden, see
+ // https://bugzilla.gnome.org/show_bug.cgi?id=767058
+ label { &:dir(rtl), &:dir(ltr) { color: inherit; }}
+ }
+
+ // overflow arrows
+ > arrow {
+ @include button(undecorated);
+
+ min-height: 16px;
+ min-width: 16px;
+ padding: 4px;
+ background-color: $menu_color;
+ border-radius: 0;
+
+ &.top {
+ margin-top: -4px;
+ border-bottom: 1px solid mix($fg_color, $base_color, 10%);
+ border-top-right-radius: $menu_radius;
+ border-top-left-radius: $menu_radius;
+ -gtk-icon-source: -gtk-icontheme('pan-up-symbolic');
+ }
+
+ &.bottom {
+ margin-top: 8px;
+ margin-bottom: -12px;
+ border-top: 1px solid mix($fg_color, $base_color, 10%);
+ border-bottom-right-radius: $menu_radius;
+ border-bottom-left-radius: $menu_radius;
+ -gtk-icon-source: -gtk-icontheme('pan-down-symbolic');
+ }
+
+ &:hover { background-color: mix($fg_color, $base_color, 10%); }
+
+ &:backdrop { background-color: $backdrop_menu_color; }
+
+ &:disabled {
+ color: transparent;
+ background-color: transparent;
+ border-color: transparent ;
+ }
+ }
+}
+
+menuitem {
+ accelerator { color: gtkalpha(currentColor,0.55); }
+
+ check,
+ radio {
+ min-height: 16px;
+ min-width: 16px;
+
+ &:dir(ltr) { margin-right: 7px; }
+ &:dir(rtl) { margin-left: 7px; }
+ }
+}
+
+/***************
+ * Popovers *
+ ***************/
+
+popover.background {
+ padding: 2px;
+ background-color: $popover_bg_color;
+
+ .csd &, & {
+ border: 1px solid $borders_color;
+ border-radius: $popover_radius;
+ }
+
+ .csd & {
+ $_popover_border: if($variant=='light', transparentize(black, 0.77), transparentize(black, 0.25));
+
+ background-clip: padding-box;
+ border-color: $_popover_border;
+ }
+
+ box-shadow: 0 1px 2px transparentize(black, 0.7);
+
+ &:backdrop {
+ background-color: $backdrop_bg_color;
+ box-shadow: none;
+ }
+
+ > list,
+ > .view,
+ > toolbar {
+ border-style: none;
+ background-color: transparent;
+ }
+
+ .csd &, & {
+ &.touch-selection,
+ &.magnifier {
+ @extend %osd;
+
+ border: 1px solid transparentize(white, 0.9);
+
+ button { @extend %osd_button };
+ }
+
+ &.osd { @extend %osd; }
+ }
+
+ separator { margin: 3px; }
+
+ list separator { margin: 0px; }
+}
+
+/*************
+ * Notebooks *
+ *************/
+notebook {
+ > header {
+ padding: 1px;
+ border-color: $borders_color;
+ border-width: 1px;
+ background-color: $dark_fill;
+
+ &:backdrop {
+ border-color: $backdrop_borders_color;
+ background-color: $backdrop_dark_fill;
+ }
+
+ tabs { margin: -1px; }
+
+ &.top {
+ border-bottom-style: solid;
+ > tabs {
+ margin-bottom: -2px;
+ > tab {
+ &:hover { box-shadow: inset 0 -4px $borders_color; }
+
+ &:backdrop { box-shadow: none; }
+
+ &:checked { box-shadow: inset 0 -4px $selected_bg_color; }
+ }
+ }
+ }
+
+ &.bottom {
+ border-top-style: solid;
+ > tabs {
+ margin-top: -2px;
+ > tab {
+ &:hover { box-shadow: inset 0 4px $borders_color; }
+
+ &:backdrop { box-shadow: none; }
+
+ &:checked { box-shadow: inset 0 4px $selected_bg_color; }
+ }
+ }
+ }
+
+ &.left {
+ border-right-style: solid;
+ > tabs {
+ margin-right: -2px;
+ > tab {
+ &:hover { box-shadow: inset -4px 0 $borders_color; }
+
+ &:backdrop { box-shadow: none; }
+
+ &:checked { box-shadow: inset -4px 0 $selected_bg_color; }
+ }
+ }
+ }
+
+ &.right {
+ border-left-style: solid;
+ > tabs {
+ margin-left: -2px;
+ > tab {
+ &:hover { box-shadow: inset 4px 0 $borders_color; }
+
+ &:backdrop { box-shadow: none; }
+
+ &:checked { box-shadow: inset 4px 0 $selected_bg_color; }
+ }
+ }
+ }
+
+ &.top > tabs > arrow {
+ @extend %notebook_vert_arrows;
+
+ border-top-style: none;
+ }
+
+ &.bottom > tabs > arrow {
+ @extend %notebook_vert_arrows;
+
+ border-bottom-style: none;
+ }
+
+ @at-root %notebook_vert_arrows {
+ margin-left: -5px;
+ margin-right: -5px;
+ padding-left: 4px;
+ padding-right: 4px;
+
+ &.down { -gtk-icon-source: -gtk-icontheme('pan-start-symbolic'); }
+
+ &.up { -gtk-icon-source: -gtk-icontheme('pan-end-symbolic'); }
+ }
+
+ &.left > tabs > arrow {
+ @extend %notebook_horz_arrows;
+
+ border-left-style: none;
+ }
+
+ &.right > tabs > arrow {
+ @extend %notebook_horz_arrows;
+
+ border-right-style: none;
+ }
+
+ @at-root %notebook_horz_arrows {
+ margin-top: -5px;
+ margin-bottom: -5px;
+ padding-top: 4px;
+ padding-bottom: 4px;
+
+ &.down { -gtk-icon-source: -gtk-icontheme('pan-up-symbolic'); }
+
+ &.up { -gtk-icon-source: -gtk-icontheme('pan-down-symbolic'); }
+ }
+
+ > tabs > arrow {
+ @extend %button_basic;
+
+ @extend %button_basic_flat;
+
+ min-height: 16px;
+ min-width: 16px;
+ border-radius: 0;
+
+ &:hover:not(:active):not(:backdrop) {
+ background-clip: padding-box;
+ background-image: none;
+ background-color: transparentize(white, 0.7);
+ border-color: transparent;
+ box-shadow: none;
+ }
+
+ &:disabled { @include button(undecorated); }
+ }
+
+ tab {
+ min-height: 30px;
+ min-width: 30px;
+ padding: 3px 12px;
+
+ outline-offset: -5px;
+
+ color: $fg_color;
+ font-weight: normal;
+
+ border-width: 1px; // for reorderable tabs
+ border-color: transparent; //
+
+ &:hover {
+ color: $fg_color;
+ background-color: darken($bg_color,4%);
+
+ &.reorderable-page {
+ border-color: transparentize($borders_color, 0.7);
+ background-color: transparentize($bg_color, 0.8);
+ }
+ }
+
+ &:backdrop {
+ color: mix($backdrop_fg_color, $backdrop_bg_color, 60%);
+
+ &.reorderable-page {
+ border-color: transparent;
+ background-color: transparent;
+ }
+ }
+
+ &:checked {
+ color: $fg_color;
+ &.reorderable-page {
+ border-color: transparentize($borders_color, 0.5);
+ background-color: transparentize($bg_color, 0.5);
+
+ &:hover { background-color: transparentize($bg_color, 0.3); }
+ }
+ }
+
+ &:backdrop:checked {
+ color: $backdrop_fg_color;
+
+ &.reorderable-page {
+ border-color: $backdrop_borders_color;
+ background-color: $backdrop_bg_color;
+ }
+ }
+
+ // colors the button like the label, overridden otherwise
+ button.flat {
+ &:hover { color: currentColor; }
+
+ &, &:backdrop { color: gtkalpha(currentColor, 0.3); }
+
+ padding: 0;
+ margin-top: 4px;
+ margin-bottom: 4px;
+ // FIXME: generalize .small-button?
+ min-width: 20px;
+ min-height: 20px;
+
+ &:last-child {
+ margin-left: 4px;
+ margin-right: -4px;
+ }
+
+ &:first-child {
+ margin-left: -4px;
+ margin-right: 4px;
+ }
+ }
+ }
+
+ &.top,
+ &.bottom {
+ tabs {
+ padding-left: 4px;
+ padding-right: 4px;
+
+ &:not(:only-child) {
+ margin-left: 3px;
+ margin-right: 3px;
+
+ &:first-child { margin-left: -1px; }
+ &:last-child { margin-right: -1px; }
+ }
+
+ tab {
+ margin-left: 4px;
+ margin-right: 4px;
+
+ &.reorderable-page { border-style: none solid; }
+ }
+ }
+ }
+
+ &.left,
+ &.right {
+ tabs {
+ padding-top: 4px;
+ padding-bottom: 4px;
+
+ &:not(:only-child) {
+ margin-top: 3px;
+ margin-bottom: 3px;
+
+ &:first-child { margin-top: -1px; }
+ &:last-child { margin-bottom: -1px; }
+ }
+
+ tab {
+ margin-top: 4px;
+ margin-bottom: 4px;
+
+ &.reorderable-page { border-style: solid none; }
+ }
+ }
+ }
+
+ &.top tab { padding-bottom: 4px; }
+ &.bottom tab { padding-top: 4px; }
+ }
+
+ > stack:not(:only-child) { // the :not(:only-child) is for "hidden" notebooks
+ background-color: $base_color;
+
+ &:backdrop { background-color: $backdrop_base_color; }
+ }
+}
+
+
+/**************
+ * Scrollbars *
+ **************/
+scrollbar {
+ $_slider_min_length: 40px;
+ $_slider_width: 8px;
+ $_scrollbar_transition: all 300ms $ease-out-quad;
+ $_fine-tune_slider_border: $_slider_width - 3; //3672
+
+ // disable steppers
+ @at-root * {
+ -GtkScrollbar-has-backward-stepper: false;
+ -GtkScrollbar-has-forward-stepper: false;
+ }
+
+ background-color: $scrollbar_bg_color;
+ transition: $_scrollbar_transition;
+
+ // scrollbar border
+ &.top { border-bottom: 1px solid $borders_color; }
+ &.bottom { border-top: 1px solid $borders_color; }
+ &.left { border-right: 1px solid $borders_color; }
+ &.right { border-left: 1px solid $borders_color; }
+
+ &:backdrop {
+ background-color: $backdrop_scrollbar_bg_color;
+ border-color: $backdrop_borders_color;
+ transition: $backdrop_transition;
+ }
+
+ // slider
+ slider {
+ @extend %button_basic;
+ padding: 0;
+ background-image: none;
+ min-width: $_slider_width;
+ min-height: $_slider_width;
+ margin: 3px;
+ //border: 4px solid transparent;
+ border-radius: 10px;
+ background-clip: padding-box;
+ background-color: $scrollbar_slider_color;
+ transition: $_scrollbar_transition;
+
+ &:hover { background-color: $scrollbar_slider_hover_color; }
+
+ &:hover:active { background-color: $scrollbar_slider_active_color; }
+
+ &:backdrop { background-color: $backdrop_scrollbar_slider_color; }
+
+ &:disabled { background-color: transparent; }
+ }
+
+ &.fine-tune {
+ slider {
+ //transition: none;
+ //min-width: $_fine-tune_slider_border+1;
+ //min-height: $_fine-tune_slider_border+1;
+ //margin: 0;
+
+ &, &:hover, &:active {background-color: $hint_bg;}
+
+ }
+
+ //&.horizontal slider { border-width: $_fine-tune_slider_border 4px; }
+ //&.vertical slider { border-width: 4px $_fine-tune_slider_border; }
+ }
+
+
+ &.horizontal slider { min-width: $_slider_min_length; }
+
+ &.vertical slider { min-height: $_slider_min_length; }
+
+ // button styling
+ button {
+ padding: 0;
+ min-width: 12px;
+ min-height: 12px;
+ border-style: none;
+ border-radius: 0;
+ transition-property: min-height, min-width, color;
+
+ @include button(undecorated);
+
+ color: $scrollbar_slider_color;
+
+ &:hover {
+ @include button(undecorated);
+
+ color: $scrollbar_slider_hover_color;
+ }
+ &:active, &:checked {
+ @include button(undecorated);
+
+ color: $scrollbar_slider_active_color;
+ }
+ &:disabled {
+ @include button(undecorated);
+
+ color: transparentize($scrollbar_slider_color, 0.8);
+ }
+ &:backdrop {
+ @include button(undecorated);
+
+ color: $backdrop_scrollbar_slider_color;
+
+ &:disabled {
+ @include button(undecorated);
+
+ color: transparentize($backdrop_scrollbar_slider_color, 0.8);
+ }
+ }
+ }
+
+ // button icons
+ &.vertical {
+ button {
+ &.down { -gtk-icon-source: -gtk-icontheme('pan-down-symbolic'); }
+
+ &.up { -gtk-icon-source: -gtk-icontheme('pan-up-symbolic'); }
+ }
+ }
+
+ &.horizontal {
+ button {
+ &.down { -gtk-icon-source: -gtk-icontheme('pan-end-symbolic'); }
+
+ &.up { -gtk-icon-source: -gtk-icontheme('pan-start-symbolic'); }
+ }
+ }
+}
+
+treeview ~ scrollbar.vertical {
+ border-top: 1px solid $borders_color;
+ margin-top: -1px;
+}
+
+/**********
+ * Switch *
+ **********/
+switch {
+ outline-offset: -4px;
+
+ // similar to the .scale
+ border: 1px solid $borders_color;
+ border-radius: 14px;
+ color: $fg_color;
+ background-color: $dark_fill;
+ text-shadow: 0 1px transparentize(black, 0.9);
+
+ &:checked {
+ color: $selected_fg_color;
+ border-color: $checkradio_borders_color;
+ background-color: $checkradio_bg_color;
+ text-shadow: 0 1px transparentize($selected_borders_color, 0.5),
+ 0 0 2px transparentize(white, 0.4);
+ }
+
+ &:disabled {
+ color: $insensitive_fg_color;
+ border-color: $borders_color;
+ background-color: $insensitive_bg_color;
+ text-shadow: none;
+ }
+
+ &:backdrop {
+ color: $backdrop_fg_color;
+ border-color: $backdrop_borders_color;
+ background-color: $backdrop_dark_fill;
+ text-shadow: none;
+ transition: $backdrop_transition;
+
+ &:checked {
+ @if $variant == 'light' { color: $backdrop_bg_color; }
+ border-color: if($variant == 'light', $checkradio_borders_color,
+ $selected_borders_color);
+ background-color: $checkradio_bg_color;
+ }
+
+ &:disabled {
+ color: $backdrop_insensitive_color;
+ border-color: $backdrop_borders_color;
+ background-color: $insensitive_bg_color;
+ }
+ }
+
+ slider {
+ margin: -1px;
+ min-width: 24px;
+ min-height: 24px;
+ border: 1px solid;
+ border-radius: 50%;
+ transition: $button_transition;
+ -gtk-outline-radius: 20px;
+
+ @if $variant == 'light' {
+ @include button(normal-alt, $edge: $shadow_color);
+ }
+ @else {
+ @include button(normal-alt, $c: lighten($bg_color,6%), $edge: $shadow_color);
+ }
+ }
+
+ image { color: transparent; } /* only show i / o for the accessible theme */
+
+ &:hover slider {
+ @if $variant == 'light' {
+ @include button(hover-alt, $edge: $shadow_color);
+ }
+ @else {
+ @include button(hover-alt, $c: lighten($bg_color,6%), $edge: $shadow_color);
+ }
+ }
+
+ &:checked > slider { border: 1px solid $checkradio_borders_color; }
+
+ &:disabled slider { @include button(insensitive); }
+
+ &:backdrop {
+ slider {
+ transition: $backdrop_transition;
+
+ @include button(backdrop);
+ }
+
+ &:checked > slider { border-color: $checkradio_borders_color; }
+
+ &:disabled slider { @include button(backdrop-insensitive); }
+ }
+
+ row:selected & {
+ @if $variant == 'light' {
+ box-shadow: none;
+ border-color: $checkradio_borders_color;
+
+ &:backdrop { border-color: $checkradio_borders_color; }
+
+ > slider { &:checked, & { border-color: $checkradio_borders_color; } }
+ }
+ }
+
+}
+
+
+/*************************
+ * Check and Radio items *
+ *************************/
+// draw regular check and radio items using our PNG assets
+// all assets are rendered from assets.svg. never add pngs directly
+
+
+//selection-mode
+@each $check_state, $check_icon, $check_color, $check_background in
+ ('', 'none', 'transparent', $checkradio_bg_color),
+ (':hover', 'none', 'transparent', $checkradio_bg_color),
+ (':active', 'none', 'transparent', $checkradio_bg_color),
+ (':backdrop', 'none', 'transparent', '#{desaturate($checkradio_bg_color, 100%)}'),
+ (':checked', '-gtk-icontheme(\'object-select-symbolic\')', $osd_fg_color, $checkradio_bg_color),
+ (':checked:hover', '-gtk-icontheme(\'object-select-symbolic\')', $osd_fg_color, $checkradio_bg_color),
+ (':checked:active', '-gtk-icontheme(\'object-select-symbolic\')', $osd_fg_color, $checkradio_bg_color),
+ (':backdrop:checked', '-gtk-icontheme(\'object-select-symbolic\')', '#{transparentize($osd_fg_color, 0.2)}', '#{desaturate($checkradio_bg_color, 100%)}'), {
+
+ .view.content-view.check#{$check_state}:not(list),
+ .content-view:not(list) check#{$check_state} {
+ margin: 4px;
+ min-width: 32px;
+ min-height: 32px;
+ color: #{$check_color};
+ background-color: #{$check_background};
+ border-radius: 5px;
+ background-image: none;
+ transition: 200ms;
+ box-shadow: none;
+ border-width: 0;
+ -gtk-icon-source: #{$check_icon};
+ -gtk-icon-shadow: none;
+ }
+}
+
+checkbutton.text-button, radiobutton.text-button {
+ // this is for a nice focus on check and radios text
+ padding: 2px 0;
+ outline-offset: 0;
+
+ label:not(:only-child) {
+ &:first-child { margin-left: 4px; }
+ &:last-child { margin-right: 4px; }
+ }
+}
+
+check,
+radio {
+ margin: 0 4px;
+
+ &:only-child { margin: 0; }
+
+ popover & { // when in a popover add more space between the label and the check, reset the other side margin.
+ // See https://bugzilla.gnome.org/show_bug.cgi?id=779570 for details.
+ &.left:dir(rtl) {
+ margin-left: 0;
+ margin-right: 12px;
+ }
+
+ &.right:dir(ltr) {
+ margin-left: 12px;
+ margin-right: 0;
+ }
+ }
+
+ min-height: 14px;
+ min-width: 14px;
+ border: 1px solid;
+ -gtk-icon-source: none;
+
+ & {
+ // for unchecked
+
+ $_c: $button_bg;//if(lightness($bg_color) > lightness($base_color), mix($bg_color, white, 90%), mix($base_color, white, 90%));
+
+ @each $state, $t in ("", "normal"),
+ (":hover", "hover"),
+ (":active", "active"),
+ (":disabled", "insensitive"),
+ (":backdrop", "backdrop"),
+ (":backdrop:disabled", 'backdrop-insensitive') {
+ {$state} {
+ @include check($t, $_c);
+ }
+ }
+ }
+
+ & {
+ // for checked
+ @each $t in (':checked'), (':indeterminate') {
+ {$t} {
+ @each $state, $t in ("", "normal"),
+ (":hover", "hover"),
+ (":active", "active"),
+ (":disabled", "insensitive"),
+ (":backdrop", "backdrop"),
+ (":backdrop:disabled", 'backdrop-insensitive') {
+ {$state} {
+ @include check($t, $checkradio_bg_color, $checkradio_fg_color, $checked: true);
+ }
+ }
+ }
+ }
+ }
+
+ &:backdrop { transition: $backdrop_transition; }
+ &:disabled {
+ color:$insensitive_fg_color;
+ border-color: $insensitive_fg_color;
+ }
+ @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: $checkradio_borders_color; }
+ }
+
+ .osd & {
+ @include button(osd);
+
+ &:hover { @include button(osd); }
+ &:active { @include button(osd-active); }
+ &:backdrop { @include button(osd-backdrop); }
+ &:disabled { @include button(osd-insensitive); }
+ }
+
+ menu menuitem & {
+ margin: 0; // this is a workaround for a menu check/radio size allocation issue
+
+ &, &:checked, &:indeterminate {
+ &, &:hover, &:disabled { //FIXME use button reset mixin
+ min-height: 14px;
+ min-width: 14px;
+ background-image: none;
+ background-color: transparent;
+ box-shadow: none;
+ -gtk-icon-shadow: none;
+ color: inherit;
+ border-color: currentColor;
+ }
+ }
+ }
+}
+
+%check,
+check {
+ border-radius: 3px;
+
+ &:checked { -gtk-icon-source: image(-gtk-recolor(url("assets/check-symbolic.svg")),
+ -gtk-recolor(url("assets/check-symbolic.symbolic.png"))); }
+
+ &:indeterminate { -gtk-icon-source: image(-gtk-recolor(url("assets/dash-symbolic.svg")),
+ -gtk-recolor(url("assets/dash-symbolic.symbolic.png"))); }
+}
+
+%radio,
+radio {
+ border-radius: 100%;
+
+ &:checked { -gtk-icon-source: image(-gtk-recolor(url("assets/bullet-symbolic.svg")),
+ -gtk-recolor(url("assets/bullet-symbolic.symbolic.png"))); }
+
+ &:indeterminate { -gtk-icon-source: image(-gtk-recolor(url("assets/dash-symbolic.svg")),
+ -gtk-recolor(url("assets/dash-symbolic.symbolic.png"))); }
+}
+
+// ANIMATION:
+// this is made with those pretty convoluted transitions, since checks and radios have to animate only on state changes,
+// the transformation is set on the active state and it get reset on the checked state.
+radio:not(:indeterminate):not(:checked):active:not(:backdrop) { -gtk-icon-transform: scale(0); }
+
+check:not(:indeterminate):not(:checked):active:not(:backdrop) { -gtk-icon-transform: translate(6px, -3px) rotate(-45deg) scaleY(0.2) rotate(45deg) scaleX(0); }
+
+radio,
+check {
+ &:active { -gtk-icon-transform: scale(0, 1); } // should tackle the indeterminate state, untested
+
+ &:checked:not(:backdrop), &:indeterminate:not(:backdrop) {
+ -gtk-icon-transform: unset;
+ transition: 400ms;
+ }
+}
+
+menu menuitem {
+ radio,
+ check {
+ &:checked:not(:backdrop), &:indeterminate:not(:backdrop) { transition: none; }
+ }
+}
+
+treeview.view check,
+treeview.view radio {
+ &:selected {
+ &:focus, & {
+ color: $checkradio_fg_color;
+
+ @if $variant == 'light' { border-color: $selected_borders_color; }
+ }
+ }
+}
+
+treeview.view radio:selected { &:focus, & { @extend %radio; }} // This is a workaround
+
+
+/************
+ * GtkScale *
+ ************/
+%scale_trough {
+ border: 1px solid $borders_color;
+ border-radius: 3px;
+ background-color: $dark_fill;
+ //padding: 1px;
+
+ &:disabled { background-color: $insensitive_bg_color; }
+
+ &:backdrop {
+ background-color: $backdrop_dark_fill;
+ border-color: $backdrop_borders_color;
+ transition: $backdrop_transition;
+
+ &:disabled { background-color: $insensitive_bg_color; }
+ }
+
+ // ...on selected list rows
+ row:selected & { &:disabled, & { border-color: $selected_borders_color; }}
+
+ // OSD
+ .osd & {
+ border-color: $osd_borders_color;
+ background-color: transparentize($osd_borders_color, 0.2);
+
+ &:disabled { background-color: $osd_insensitive_bg_color; }
+ }
+}
+
+%scale_highlight {
+ border: 1px solid $progress_border_color;
+ border-radius: 3px;
+ background-color: $progress_bg_color;
+
+ &:disabled {
+ background-color: mix($insensitive_bg_color, $insensitive_fg_color, 80%);
+ border-color: transparent;
+ }
+
+ &:backdrop {
+ border-color: if($variant=='light', $progress_bg_color,
+ $progress_border_color);
+ &:disabled {
+ background-color: transparent;
+ border-color: transparent;
+ }
+ }
+
+ // ...on selected list rows
+ row:selected & { &:disabled, & { border-color: $selected_borders_color; }}
+
+ // OSD
+ .osd & {
+ border-color: $osd_borders_color;
+
+ &:disabled { border-color: transparent; }
+ }
+}
+
+scale {
+ // sizing
+ $_marks_length: 6px;
+ $_marks_distance: 6px;
+
+ min-height: 10px;
+ min-width: 10px;
+ padding: 12px;
+
+ // those are inside the trough node, I need them to show their own border over the trough one, so negative margin
+ fill,
+ highlight { margin: -1px; }
+
+ // the slider is inside the trough, so to have make it bigger there's a negative margin
+
+ slider {
+ min-height: 18px;
+ min-width: 18px;
+ margin: -9px;
+ }
+
+ // click-and-hold the slider to activate
+ &.fine-tune {
+ &.horizontal {
+ padding-top: 9px;
+ padding-bottom: 9px;
+ min-height: 16px;
+ }
+
+ &.vertical {
+ padding-left: 9px;
+ padding-right: 9px;
+ min-width: 16px;
+ }
+
+ // to make the trough grow in fine-tune mode
+ slider { margin: -6px; }
+
+ fill,
+ highlight,
+ trough {
+ border-radius: 5px;
+ -gtk-outline-radius: 7px;
+ }
+ }
+
+ // the backing bit
+ trough {
+ @extend %scale_trough;
+
+ outline-offset: 2px;
+ -gtk-outline-radius: 5px;
+ }
+
+ // the colored part of the backing bit
+ highlight { @extend %scale_highlight; }
+
+ // this is another differently styled part of the backing bit, the most relevant use case is for example
+ // in media player to indicate how much video stream as been cached
+ fill {
+ @extend %scale_trough;
+
+ &:backdrop, & { background-color: $borders_color; }
+
+ &:disabled {
+ &:backdrop, & {
+ border-color: transparent;
+ background-color: transparent;
+ }
+ }
+
+ // OSD
+ .osd & {
+ background-color: mix($osd_fg_color, $osd_borders_color, 25%);
+
+ &:disabled {
+ &:backdrop, & {
+ border-color: transparent;
+ background-color: transparent;
+ }
+ }
+ }
+ }
+
+ slider {
+ @include button(normal-alt, $edge: $shadow_color);
+
+ border: 1px solid darken($alt_borders_color, 3%);
+ border-radius: 100%;
+ transition: $button_transition;
+ transition-property: background, border, box-shadow;
+
+ &:hover { @include button(hover-alt, $edge: $shadow_color); }
+
+ &:active { border-color: $progress_border_color; }
+
+ &:disabled { @include button(insensitive); }
+
+ &:backdrop {
+ transition: $backdrop_transition;
+
+ @include button(backdrop);
+
+ &:disabled { @include button(backdrop-insensitive); }
+ }
+
+ // ...on selected list rows
+ row:selected & { &:disabled, & { border-color: $selected_borders_color; } }
+
+ // OSD
+ .osd & {
+ @include button(osd);
+ border-color: darken($osd_borders_color, 3%);
+ background-color: opacify($osd_bg_color, 1); // solid background needed here
+
+ &:hover {
+ @include button(osd-hover);
+ background-color: opacify($osd_bg_color, 1); // solid background needed here
+ }
+
+ &:active {
+ @include button(osd-active);
+ background-color: opacify($osd_bg_color, 1); // solid background needed here
+ }
+
+ &:disabled {
+ @include button(osd-insensitive);
+ background-color: opacify($osd_bg_color, 1); // solid background needed here
+ }
+
+ &:backdrop {
+ @include button(osd-backdrop);
+ background-color: opacify($osd_bg_color, 1); // solid background needed here
+
+ &:disabled {
+ @include button(osd-backdrop-insensitive);
+ background-color: opacify($osd_bg_color, 1); // solid background needed here
+ }
+ }
+ }
+ }
+
+ marks,
+ value {
+ color: gtkalpha(currentColor, 0.55);
+ font-feature-settings: "tnum";
+ }
+
+ //marks margins
+ @each $scale_orient, $marks_class, $marks_pos, $marks_margin in (horizontal, top, top, bottom),
+ (horizontal, bottom, bottom, top),
+ (vertical, top, left, right),
+ (vertical, bottom, right, left) {
+ &.#{$scale_orient} marks {
+ &.#{$marks_class} {
+ margin-#{$marks_margin}: $_marks_distance;
+ margin-#{$marks_pos}: -($_marks_distance + $_marks_length);
+ }
+ }
+
+ &.#{$scale_orient}.fine-tune marks {
+ &.#{$marks_class} {
+ margin-#{$marks_margin}: $_marks_distance;
+ margin-#{$marks_pos}: -($_marks_distance + $_marks_length - 3px);
+ }
+ }
+ }
+
+
+
+ &.horizontal {
+ indicator {
+ min-height: $_marks_length;
+ min-width: 1px;
+ }
+
+ &.fine-tune indicator { min-height: ($_marks_length - 3px); }
+ &.marks-after {slider{ border-radius: 5px 5px 100% 100%;}}
+ &.marks-before {slider{ border-radius: 100% 100% 5px 5px;}}
+ }
+
+ &.vertical {
+ indicator {
+ min-height: 1px;
+ min-width: $_marks_length;
+ }
+
+ &.fine-tune indicator { min-width: ($_marks_length - 3px); }
+
+ &.marks-after {slider{ border-radius: 5px 100% 100% 5px;}}
+ &.marks-before {slider{ border-radius: 100% 5px 5px 100%;}}
+ }
+
+ // Old warning to help locate where this madness used to be. I've used a much saner approach to marked sliders, IMHO, without assets.
+ // *WARNING* scale with marks madness following
+
+
+ &.color {
+ min-height: 0;
+ min-width: 0;
+
+ trough {
+ background-image: image($borders_color);
+ background-repeat: no-repeat;
+ }
+
+ &.horizontal {
+ padding: 0 0 15px 0;
+
+ trough {
+ padding-bottom: 4px;
+ background-position: 0 -3px;
+ border-top-left-radius: 0;
+ border-top-right-radius: 0;
+ }
+
+ slider {
+ &:dir(ltr), &:dir(rtl) { // specificity bumb
+ &:hover, &:backdrop, &:disabled, &:backdrop:disabled, & {
+ margin-bottom: -15px;
+ margin-top: 6px;
+ }
+ }
+ }
+ }
+
+ &.vertical {
+ &:dir(ltr) {
+ padding: 0 0 0 15px;
+
+ trough {
+ padding-left: 4px;
+ background-position: 3px 0;
+ border-bottom-right-radius: 0;
+ border-top-right-radius: 0;
+ }
+
+ slider {
+ &:hover, &:backdrop, &:disabled, &:backdrop:disabled, & {
+ margin-left: -15px;
+ margin-right: 6px;
+ }
+ }
+ }
+
+ &:dir(rtl) {
+ padding: 0 15px 0 0;
+
+ trough {
+ padding-right: 4px;
+ background-position: -3px 0;
+ border-bottom-left-radius: 0;
+ border-top-left-radius: 0;
+ }
+
+ slider {
+ &:hover, &:backdrop, &:disabled, &:backdrop:disabled, & {
+ margin-right: -15px;
+ margin-left: 6px;
+ }
+ }
+ }
+ }
+
+ &.fine-tune {
+ &.horizontal {
+ &:dir(ltr), &:dir(rtl) { // specificity bump
+ padding: 0 0 12px 0;
+
+ trough {
+ padding-bottom: 7px;
+ background-position: 0 -6px;
+ }
+
+ slider {
+ margin-bottom: -15px;
+ margin-top: 6px;
+ }
+ }
+ }
+
+ &.vertical {
+ &:dir(ltr) {
+ padding: 0 0 0 12px;
+
+ trough {
+ padding-left: 7px;
+ background-position: 6px 0;
+ }
+
+ slider {
+ margin-left: -15px;
+ margin-right: 6px;
+ }
+ }
+
+ &:dir(rtl) {
+ padding: 0 12px 0 0;
+
+ trough {
+ padding-right: 7px;
+ background-position: -6px 0;
+ }
+
+ slider {
+ margin-right: -15px;
+ margin-left: 6px;
+ }
+ }
+ }
+ }
+ }
+}
+
+
+/*****************
+ * Progress bars *
+ *****************/
+progressbar {
+ // sizing
+ &.horizontal {
+ trough,
+ progress { min-height: 2px; }
+ }
+
+ &.vertical {
+ trough,
+ progress { min-width: 2px; }
+ }
+
+ &.horizontal progress { margin: 0 -1px; } // the progress node is positioned after the trough border
+ &.vertical progress { margin: -1px 0; } // this moves it over it.
+
+
+ // FIXME: insensitive state missing and some other state should be set probably
+ font-size: smaller;
+ color: transparentize($fg_color, 0.6);
+ font-feature-settings: "tnum";
+
+ &:backdrop {
+ box-shadow: none;
+ transition: $backdrop_transition;
+ }
+
+ trough { @extend %scale_trough; }
+
+ progress {
+ @extend %scale_highlight;
+
+ border-radius: 1.5px;
+
+ &.left {
+ border-top-left-radius: 2px;
+ border-bottom-left-radius: 2px;
+ }
+
+ &.right {
+ border-top-right-radius: 2px;
+ border-bottom-right-radius: 2px;
+ }
+
+ &.top {
+ border-top-right-radius: 2px;
+ border-top-left-radius: 2px;
+ }
+
+ &.bottom {
+ border-bottom-right-radius: 2px;
+ border-bottom-left-radius: 2px;
+ }
+ }
+
+ &.osd { // progressbar.osd used for epiphany page loading progress
+ min-width: 3px;
+ min-height: 3px;
+ background-color: transparent;
+
+ trough {
+ border-style: none;
+ border-radius: 0;
+ background-color: transparent;
+ box-shadow: none;
+ }
+
+ progress {
+ border-style: none;
+ border-radius: 0;
+ }
+ }
+
+ trough.empty progress { all: unset; } // makes the progress indicator disappear, when the fraction is 0
+}
+
+
+/*************
+ * Level Bar *
+ *************/
+levelbar {
+ &.horizontal {
+ block {
+ min-height: 3px;
+ }
+
+ &.discrete block {
+ margin: 0 1px;
+ min-width: 32px;
+ }
+ }
+
+ &.vertical {
+ block {
+ min-width: 3px;
+ }
+
+ &.discrete block {
+ margin: 1px 0;
+ min-height: 32px;
+ }
+ }
+
+ &:backdrop { transition: $backdrop_transition; }
+
+ trough {
+ border: 1px solid;
+ padding: 1px;
+ border-radius: 3px;
+ @include entry(normal);
+
+ &:backdrop { @include entry(backdrop); }
+ }
+
+ block {
+ border: 1px solid;
+ border-radius: 1px;
+
+ &.low {
+ border-color: if($variant == 'light', darken($warning_color, 20%), $warning_color);
+ background-color: $warning_color;
+
+ &:backdrop { border-color: $warning_color; };
+ }
+
+ &.high,
+ &:not(.empty) {
+ border-color: if($variant == 'light', darken($progress_bg_color, 20%), $progress_bg_color);
+ background-color: $progress_bg_color;
+
+ &:backdrop { border-color: $progress_bg_color; }
+ }
+
+ &.full {
+ border-color: if($variant == 'light', darken($success_color, 20%), $success_color);
+ background-color: $success_color;
+
+ &:backdrop { border-color: $success_color; };
+ }
+
+ &.empty {
+ background-color: transparent;
+ border-color: if($variant == 'light', transparentize($fg_color,0.8), transparentize($fg_color,0.9));
+
+ &:backdrop { border-color: transparentize($backdrop_fg_color,0.85); }
+ }
+ }
+}
+
+
+/****************
+ * Print dialog *
+*****************/
+printdialog {
+ paper {
+ color: $fg_color;
+ border: 1px solid $borders_color;
+ background: white;
+ padding: 0;
+
+ &:backdrop {
+ color: $backdrop_fg_color;
+ border-color: $backdrop_borders_color;
+ }
+ }
+
+ .dialog-action-box { margin: 12px; }
+}
+
+
+/**********
+ * Frames *
+ **********/
+frame > border,
+.frame {
+ box-shadow: none;
+ margin: 0;
+ padding: 0;
+ border-radius: 0;
+ border: 1px solid $borders_color;
+
+ &.flat { border-style: none; }
+
+ &:backdrop { border-color: $backdrop_borders_color; }
+}
+
+actionbar > revealer > box {
+ padding: 6px;
+ border-top: 1px solid $borders_color;
+
+ &:backdrop { border-color: $backdrop_borders_color; }
+}
+
+scrolledwindow {
+ viewport.frame { // avoid double borders when viewport inside scrolled window
+ border-style: none;
+ }
+
+ // This is used when content is touch-dragged past boundaries.
+ // draws a box on top of the content, the size changes programmatically.
+ overshoot {
+ &.top {
+ @include overshoot(top);
+
+ &:backdrop { @include overshoot(top, backdrop); }
+ }
+
+ &.bottom {
+ @include overshoot(bottom);
+
+ &:backdrop { @include overshoot(bottom, backdrop); }
+ }
+
+ &.left {
+ @include overshoot(left);
+
+ &:backdrop { @include overshoot(left, backdrop); }
+ }
+
+ &.right {
+ @include overshoot(right);
+
+ &:backdrop { @include overshoot(right, backdrop); }
+ }
+ }
+
+
+ junction { // the small square between two scrollbars
+ border-color: transparent;
+ // the border image is used to add the missing dot between the borders, details, details, details...
+ border-image: linear-gradient(to bottom, $borders_color 1px, transparent 1px) 0 0 0 1 / 0 1px stretch;
+ background-color: $scrollbar_bg_color;
+
+ &:dir(rtl) { border-image-slice: 0 1 0 0; }
+
+ &:backdrop {
+ border-image-source: linear-gradient(to bottom, $backdrop_borders_color 1px, transparent 1px);
+ background-color: $backdrop_scrollbar_bg_color;
+ transition: $backdrop_transition;
+ }
+ }
+}
+
+//vbox and hbox separators
+separator {
+ background: transparentize(black, 0.9);
+ min-width: 1px;
+ min-height: 1px;
+}
+
+
+/*********
+ * Lists *
+ *********/
+list {
+ color: $text_color;
+ background-color: $base_color;
+ border-color: $borders_color;
+
+ &:backdrop {
+ color: $backdrop_text_color;
+ background-color: $backdrop_base_color;
+ border-color: $backdrop_borders_color;
+ }
+
+ row { padding: 2px; }
+}
+
+row {
+ transition: all 150ms $ease-out-quad;
+
+ &:hover { transition: none; }
+
+ &:backdrop { transition: $backdrop_transition; }
+
+ &.activatable {
+ &.has-open-popup, // this is for indicathing which row generated a popover see https://bugzilla.gnome.org/show_bug.cgi?id=754411
+
+ &:hover { background-color: if(variant == light, transparentize($fg_color, 0.9), transparentize($fg_color, 0.95)); }
+
+ &:active { box-shadow: inset 0 2px 2px -2px transparentize(black, 0.8); }
+
+ &:backdrop:hover { background-color: transparent; }
+
+ &:selected {
+ &:active { box-shadow: inset 0 2px 3px -1px transparentize(black, 0.5); }
+
+ &.has-open-popup,
+ &:hover { background-color: mix($fg_color, $selected_bg_color, 10%); }
+
+ &:backdrop { background-color: $selected_bg_color; }
+ }
+ }
+
+ &:selected { @extend %selected_items; }
+}
+
+
+/*********************
+ * App Notifications *
+ *********************/
+.app-notification,
+.app-notification.frame {
+ @extend %osd;
+
+ padding: 10px;
+ border-radius: 0 0 5px 5px;
+ background-color: $osd_bg_color;
+ background-image: linear-gradient(to bottom, transparentize(black, 0.8),
+ transparent 2px);
+ background-clip: padding-box;
+
+ &:backdrop {
+ background-image: none;
+ transition: $backdrop_transition;
+ }
+
+ button { @extend %osd_button; }
+
+ border { border: none; }
+}
+
+
+/*************
+ * Expanders *
+ *************/
+expander {
+ title > arrow {
+ min-width: 16px;
+ min-height: 16px;
+ -gtk-icon-source: -gtk-icontheme('pan-end-symbolic');
+ &:dir(rtl) { -gtk-icon-source: -gtk-icontheme('pan-end-symbolic-rtl'); }
+
+ &:hover { color: lighten($fg_color,30%); } //only lightens the arrow
+ &:disabled { color: $insensitive_fg_color; }
+ &:disabled:backdrop { color: $backdrop_insensitive_color; }
+
+ &:checked { -gtk-icon-source: -gtk-icontheme('pan-down-symbolic'); }
+ }
+}
+
+
+/************
+ * Calendar *
+ ***********/
+calendar {
+ color: $text_color;
+ border: 1px solid $borders_color;
+
+ &:selected {
+ @extend %selected_items;
+
+ border-radius: 3px;
+ }
+
+ &.header {
+ border-bottom-color: transparentize(black, 0.9);
+
+ &:backdrop { border-bottom-color: transparentize(black, 0.9); }
+ }
+
+ &.button {
+ @extend %undecorated_button;
+
+ color: transparentize($fg_color, 0.55);
+
+ &:hover { color: $fg_color; }
+
+ &:backdrop { color: transparentize($backdrop_fg_color,0.55); }
+
+ &:disabled { color: transparentize($insensitive_fg_color,0.55); }
+ }
+
+ &.highlight {
+ color: $insensitive_fg_color;
+
+ &:backdrop { color: $backdrop_insensitive_color; }
+ }
+
+ &:backdrop {
+ color: $backdrop_text_color;
+ border-color: $backdrop_borders_color;
+ }
+
+ &:indeterminate { color: gtkalpha(currentColor, 0.1); }
+}
+
+
+/***********
+ * Dialogs *
+ ***********/
+messagedialog { // Message Dialog styling
+ .titlebar {
+ min-height: 20px;
+ background-image: none;
+ background-color: $bg_color;
+ border-style: none;
+ border-top-left-radius: 7px;
+ border-top-right-radius: 7px;
+ }
+
+ &.csd { // rounded bottom border styling for csd version
+ &.background {
+ // bigger radius for better antialiasing
+ border-bottom-left-radius: $window_radius+1;
+ border-bottom-right-radius: $window_radius+1;
+ }
+
+ .dialog-action-area button {
+ padding: 10px 14px; // labels are not vertically centered on message dialog, this is a workaround
+ border-right-style: none;
+ border-bottom-style: none;
+ border-radius: 0;
+ -gtk-outline-radius: 0;
+
+ &:first-child {
+ border-left-style: none;
+ border-bottom-left-radius: $button_radius + 2;
+ -gtk-outline-bottom-left-radius: $button_radius + 2;
+ }
+
+ &:last-child {
+ border-bottom-right-radius: $button_radius + 2;
+ -gtk-outline-bottom-right-radius: $button_radius + 2;
+ }
+ }
+ }
+}
+
+filechooser {
+ .dialog-action-box {
+ border-top: 1px solid $borders_color;
+
+ &:backdrop { border-top-color: $backdrop_borders_color; }
+ }
+
+ #pathbarbox { border-bottom: 1px solid $bg_color; }
+}
+
+filechooserbutton:drop(active) {
+ box-shadow: none;
+ border-color: transparent;
+}
+
+
+/***********
+ * Sidebar *
+ ***********/
+.sidebar {
+ border-style: none;
+ background-color: mix($bg_color, $base_color, 50%);
+
+ &:not(separator) {
+ @at-root %sidebar_left,
+ &:dir(ltr),
+ &.left,
+ &.left:dir(rtl) {
+ border-right: 1px solid $borders_color;
+ border-left-style: none;
+ }
+
+ @at-root %sidebar_right,
+ &:dir(rtl),
+ &.right {
+ border-left: 1px solid $borders_color;
+ border-right-style: none;
+ }
+ }
+
+ &:backdrop {
+ background-color: $backdrop_sidebar_bg_color;
+ border-color: $backdrop_borders_color;
+ transition: $backdrop_transition;
+ }
+
+ list { background-color: transparent; }
+
+ paned & { &.left, &.right, &.left:dir(rtl), &:dir(rtl), &:dir(ltr), & { border-style: none; }}
+}
+
+stacksidebar {
+ &.sidebar {
+ &:dir(ltr),
+ &.left,
+ &.left:dir(rtl) { list { @extend %sidebar_left; }}
+
+ &:dir(rtl),
+ &.right { list { @extend %sidebar_right; }}
+ }
+
+ row {
+ padding: 10px 4px;
+
+ > label {
+ padding-left: 6px;
+ padding-right: 6px;
+ }
+
+ &.needs-attention > label {
+ @extend %needs_attention;
+
+ background-size: 6px 6px, 0 0;
+ }
+ }
+}
+
+separator.sidebar {
+ background-color: $borders_color;
+
+ &:backdrop {
+ background-color: $backdrop_borders_color;
+ }
+
+ &.selection-mode,
+ .selection-mode & {
+ background-color: darken($suggested_bg_color, 20%);
+ }
+}
+
+
+/****************
+ * File chooser *
+ ****************/
+$_placesidebar_icons_opacity: 1;
+
+row image.sidebar-icon { opacity: $_placesidebar_icons_opacity; } // dim the sidebar icons
+ // see bug #786613 for details
+ // on this oddity
+
+placessidebar {
+ > viewport.frame { border-style: none; }
+
+ row {
+ // Needs overriding of the GtkListBoxRow padding
+ min-height: 36px;
+ padding: 0px;
+
+ // Using margins/padding directly in the SidebarRow
+ // will make the animation of the new bookmark row jump
+ > revealer { padding: 0 14px; }
+
+ &:selected { color: $selected_fg_color; }
+
+ &:disabled { color: $insensitive_fg_color; }
+
+ &:backdrop {
+ color: $backdrop_fg_color;
+
+ &:selected { color: $backdrop_selected_fg_color; }
+
+ &:disabled { color: $backdrop_insensitive_color; }
+ }
+
+ image.sidebar-icon {
+ &:dir(ltr) { padding-right: 8px; }
+ &:dir(rtl) { padding-left: 8px; }
+ }
+
+ label.sidebar-label {
+ &:dir(ltr) { padding-right: 2px; }
+ &:dir(rtl) { padding-left: 2px; }
+ }
+
+ @at-root button.sidebar-button {
+ @extend %button_basic_flat;
+
+ @extend %button_selected_flat;
+
+ min-height: 26px;
+ min-width: 26px;
+ margin-top: 3px;
+ margin-bottom: 3px;
+ padding: 0;
+ border-radius: 100%;
+ -gtk-outline-radius: 100%;
+
+ &:not(:hover):not(:active),
+ &:backdrop { > image { opacity: $_placesidebar_icons_opacity; }}
+ }
+
+ // in the sidebar case it makes no sense to click the selected row
+ &:selected:active { box-shadow: none; }
+
+ &.sidebar-placeholder-row {
+ padding: 0 8px;
+ min-height: 2px;
+ background-image: image($drop_target_color);
+ background-clip: content-box;
+ }
+
+ &.sidebar-new-bookmark-row { color: $selected_bg_color; }
+
+ &:drop(active):not(:disabled) {
+ color: $drop_target_color;
+ box-shadow: inset 0 1px $drop_target_color,
+ inset 0 -1px $drop_target_color;
+
+ &:selected {
+ color: $selected_fg_color;
+ background-color: $drop_target_color;
+ }
+ }
+ }
+}
+
+placesview {
+ .server-list-button > image {
+ transition: 200ms $ease-out-quad;
+ -gtk-icon-transform: rotate(0turn);
+ }
+
+ .server-list-button:checked > image {
+ transition: 200ms $ease-out-quad;
+ -gtk-icon-transform: rotate(-0.5turn);
+ }
+
+ row.activatable:hover { background-color: transparent; }
+
+ // this selects the "connect to server" label
+ > actionbar > revealer > box > label {
+ padding-left: 8px;
+ padding-right: 8px;
+ }
+}
+
+
+/*********
+ * Paned *
+ *********/
+paned {
+ > separator {
+ min-width: 1px;
+ min-height: 1px;
+ -gtk-icon-source: none; // defeats the ugly default handle decoration
+ border-style: none; // just to be sure
+ background-color: transparent;
+ // workaround, using background istead of a border since the border will get rendered twice (?)
+ background-image: image($borders_color);
+ background-size: 1px 1px;
+
+ &:selected { background-image: image($selected_bg_color); } // FIXME is this needed?
+
+ &:backdrop { background-image: image($backdrop_borders_color); }
+
+ &.wide {
+ min-width: 5px;
+ min-height: 5px;
+ background-color: $bg_color;
+ background-image: image($borders_color), image($borders_color);
+ background-size: 1px 1px, 1px 1px;
+
+ &:backdrop {
+ background-color: $backdrop_bg_color;
+ background-image: image($backdrop_borders_color),
+ image($backdrop_borders_color);
+ }
+ }
+ }
+
+ &.horizontal > separator {
+ background-repeat: repeat-y;
+
+ &:dir(ltr) {
+ margin: 0 -8px 0 0;
+ padding: 0 8px 0 0;
+ background-position: left;
+ }
+ &:dir(rtl) {
+ margin: 0 0 0 -8px;
+ padding: 0 0 0 8px;
+ background-position: right;
+ }
+
+ &.wide {
+ margin: 0;
+ padding: 0;
+ background-repeat: repeat-y, repeat-y;
+ background-position: left, right;
+ }
+ }
+
+ &.vertical > separator {
+ margin: 0 0 -8px 0;
+ padding: 0 0 8px 0;
+ background-repeat: repeat-x;
+ background-position: top;
+
+ &.wide {
+ margin: 0;
+ padding: 0;
+ background-repeat: repeat-x, repeat-x;
+ background-position: bottom, top;
+ }
+ }
+}
+
+
+/**************
+ * GtkInfoBar *
+ **************/
+infobar {
+ border-style: none;
+
+ &.action:hover > revealer > box {
+ background-color: if($variant == 'light', desaturate(lighten(invert($selected_bg_color), 47%), 30%),
+ desaturate(darken(invert($selected_bg_color),42%), 70%));
+ border-bottom: 1px solid lighten($borders_color, 5%);
+ }
+
+ &.info,
+ &.question,
+ &.warning,
+ &.error {
+ &:backdrop > revealer > box, & > revealer > box {
+ label, & { color: $fg_color; }
+ background-color: if($variant == 'light', desaturate(lighten(invert($selected_bg_color), 45%), 30%),
+ desaturate(darken(invert($selected_bg_color),40%), 70%));
+ border-bottom: 1px solid lighten($borders_color, 5%);
+ }
+
+ text-shadow: none;
+
+ &:backdrop { text-shadow: none; }
+
+ button {
+ // FIXME: extend selection mode buttons
+ @include button(normal, $bg_color, $fg_color, none);
+
+ &:hover { @include button(hover, $bg_color, $fg_color, none); }
+
+ &:active,
+ &:checked { @include button(active, $bg_color, $fg_color, none); }
+
+ &:disabled { @include button(insensitive,$bg_color,$fg_color,none); }
+
+ &:backdrop {
+ @include button(backdrop, $bg_color, $fg_color, none);
+ border-color: _border_color($bg_color);
+
+ &:disabled {
+ @include button(backdrop-insensitive, $bg_color,
+ $fg_color, none);
+ border-color: _border_color($bg_color);
+ }
+ }
+ &:backdrop, & {
+ label, & { color: $fg_color; }
+ }
+ }
+
+ selection { background-color: darken($bg_color, 10%); }
+
+ *:link { color: $link_color; }
+ }
+}
+
+
+/************
+ * Tooltips *
+ ************/
+tooltip {
+ &.background {
+ // background-color needs to be set this way otherwise it gets drawn twice
+ // see https://bugzilla.gnome.org/show_bug.cgi?id=736155 for details.
+ background-color: transparentize($hint_bg, 0.2);
+ background-clip: padding-box;
+ border: 1px solid $tooltip_borders_color; // this suble border is meant to
+ // not make the tooltip melt with
+ // very dark backgrounds
+ }
+
+ padding: 4px; /* not working */
+ border-radius: 5px;
+ //box-shadow: none; // otherwise it gets inherited by windowframe.csd
+ text-shadow: none;
+
+ // FIXME: we need a border or tooltips vanish on black background.
+ decoration { background-color: transparent; }
+
+ * { // Yeah this is ugly
+ padding: 4px;
+ background-color: transparent;
+ color: $hint_fg;
+ }
+}
+
+
+/*****************
+ * Color Chooser *
+ *****************/
+colorswatch {
+ // This widget is made of two boxes one on top of the other, the lower box is colorswatch {} the other one
+ // is colorswatch overlay {}, colorswatch has the programmatically set background, so most of the style is
+ // applied to the overlay box.
+
+ &:drop(active), & { border-style: none; } // FIXME: implement a proper drop(active) state
+
+ $_colorswatch_radius: 5px;
+
+ // base color corners rounding
+ // to avoid the artifacts caused by rounded corner anti-aliasing the base color
+ // sports a bigger radius.
+ // nth-child is needed by the custom color strip.
+
+ &.top {
+ border-top-left-radius: $_colorswatch_radius + 0.5px;
+ border-top-right-radius: $_colorswatch_radius + 0.5px;
+
+ overlay {
+ border-top-left-radius: $_colorswatch_radius;
+ border-top-right-radius: $_colorswatch_radius;
+ }
+ }
+
+ &.bottom {
+ border-bottom-left-radius: $_colorswatch_radius + 0.5px;
+ border-bottom-right-radius: $_colorswatch_radius + 0.5px;
+
+ overlay {
+ border-bottom-left-radius: $_colorswatch_radius;
+ border-bottom-right-radius: $_colorswatch_radius;
+ }
+ }
+
+ &.left,
+ &:first-child:not(.top) {
+ border-top-left-radius: $_colorswatch_radius + 0.5px;
+ border-bottom-left-radius: $_colorswatch_radius + 0.5px;
+
+ overlay {
+ border-top-left-radius: $_colorswatch_radius;
+ border-bottom-left-radius: $_colorswatch_radius;
+ }
+ }
+
+ &.right,
+ &:last-child:not(.bottom) {
+ border-top-right-radius: $_colorswatch_radius + 0.5px;
+ border-bottom-right-radius: $_colorswatch_radius + 0.5px;
+
+ overlay {
+ border-top-right-radius: $_colorswatch_radius;
+ border-bottom-right-radius: $_colorswatch_radius;
+ }
+ }
+
+ &.dark {
+ outline-color: transparentize(white, 0.4);
+
+ overlay {
+ color: white;
+
+ &:hover { border-color: if($variant == 'light', transparentize(black, 0.2), $borders_color); }
+
+ &:backdrop { color: transparentize(white, 0.5); }
+ }
+ }
+
+ &.light {
+ outline-color: transparentize(black, 0.4);
+
+ overlay {
+ color: black;
+
+ &:hover { border-color: if($variant == 'light', transparentize(black, 0.5), $borders_color); }
+
+ &:backdrop { color: transparentize(black, 0.5); }
+ }
+ }
+
+ &:drop(active) {
+ box-shadow: none;
+
+ &.light overlay {
+ border-color: $drop_target_color;
+ box-shadow: inset 0 0 0 2px if($variant == 'light', darken($drop_target_color, 7%), $borders_color),
+ inset 0 0 0 1px $drop_target_color;
+ }
+
+ &.dark overlay {
+ border-color: $drop_target_color;
+ box-shadow: inset 0 0 0 2px if($variant == 'light', transparentize(black, 0.7), $borders_color),
+ inset 0 0 0 1px $drop_target_color;
+ }
+ }
+
+ overlay {
+ border: 1px solid if($variant == 'light', transparentize(black, 0.7), $borders_color);
+
+ &:hover {
+ box-shadow: inset 0 1px transparentize(white, 0.6),
+ inset 0 -1px transparentize(black, 0.8);
+ }
+
+ &:backdrop, &:backdrop:hover {
+ border-color: if($variant == 'light', transparentize(black, 0.7), $borders_color);
+ box-shadow: none;
+ }
+ }
+
+ add-color-button {
+ border-radius: $_colorswatch_radius $_colorswatch_radius 0 0;
+
+ &:only-child { border-radius: $_colorswatch_radius; }
+
+ overlay {
+ @include button(normal);
+
+ &:hover { @include button(hover); }
+
+ &:backdrop { @include button(backdrop); }
+ }
+ }
+
+ &:disabled {
+ opacity: 0.5;
+
+ overlay {
+ border-color: transparentize(black, 0.4);
+ box-shadow: none;
+ }
+ }
+
+ row:selected & { box-shadow: 0 0 0 2px $selected_fg_color; }
+
+ editor-color-sample {
+ border-radius: 4px;
+
+ overlay { border-radius: 4.5px; }
+ }
+}
+
+// colorscale popup
+colorchooser .popover.osd { border-radius: 5px; }
+
+/********
+ * Misc *
+ ********/
+//content view (grid/list)
+.content-view {
+ background-color: darken($bg_color,7%);
+
+ &:hover { -gtk-icon-effect: highlight; }
+
+ &:backdrop { background-color: darken($bg_color,7%); }
+
+ rubberband, .rubberband { @extend rubberband; }
+}
+
+.scale-popup {
+ .osd & { @extend %osd; }
+
+ .osd & button.flat { //FIXME: quick hack, redo properly
+ border-style: none;
+ border-radius: 5px;
+ }
+
+ button { // +/- buttons on GtkVolumeButton popup
+ &:hover {
+ @extend %undecorated_button;
+ background-color: transparentize($fg_color,0.9);
+ border-radius: 5px;
+ }
+
+ &:backdrop { &:hover, &:disabled, & { @extend %undecorated_button; }}
+ }
+}
+
+
+/**********************
+ * Window Decorations *
+ *********************/
+decoration {
+ border-radius: $window_radius $window_radius 0 0;
+ // lamefun trick to get rounded borders regardless of CSD use
+ border-width: 0px;
+
+ // this needs to be transparent
+ // see bug #722563
+ $_wm_border: if($variant=='light', transparentize(black, 0.77), transparentize(black, 0.25));
+ $_wm_border_backdrop: if($variant=='light', transparentize(black, 0.82), transparentize(black, 0.25));
+
+ box-shadow: 0 3px 9px 1px transparentize(black, 0.5),
+ 0 0 0 1px $_wm_border; //doing borders with box-shadow
+
+ // FIXME rationalize shadows
+
+ // this is used for the resize cursor area
+ margin: 10px;
+
+ &:backdrop {
+ // the transparent shadow here is to enforce that the shadow extents don't
+ // change when we go to backdrop, to prevent jumping windows.
+ // The biggest shadow should be in the same order then in the active state
+ // or the jumping will happen during the transition.
+ box-shadow: 0 3px 9px 1px transparent,
+ 0 2px 6px 2px transparentize(black, 0.8),
+ 0 0 0 1px $_wm_border_backdrop;
+ transition: $backdrop_transition;
+ }
+
+ .maximized &,
+ .fullscreen & { border-radius: 0; box-shadow: none; }
+
+ .tiled &,
+ .tiled-top &,
+ .tiled-right &,
+ .tiled-bottom &,
+ .tiled-left & {
+ border-radius: 0;
+ box-shadow: 0 0 0 1px $_wm_border_backdrop,
+ 0 0 0 20px transparent; //transparent control workaround -- #3670
+
+ &:backdrop { box-shadow: 0 0 0 1px $_wm_border_backdrop,
+ 0 0 0 20px transparent; // #3670
+ }
+ }
+
+ .popup & { box-shadow: none; }
+
+ // server-side decorations as used by mutter
+ // just doing borders, wm draws actual shadows
+ .ssd & { box-shadow: 0 0 0 1px $_wm_border; }
+ .ssd &:backdrop { box-shadow: 0 0 0 1px $_wm_border_backdrop; }
+
+ .csd.popup & {
+ border-radius: $menu_radius;
+ box-shadow: 0 1px 2px transparentize(black, 0.8),
+ 0 0 0 1px transparentize($_wm_border, 0.1);
+ }
+
+ tooltip.csd & {
+ border-radius: 5px;
+ box-shadow: none;
+ }
+
+ messagedialog.csd & {
+ border-radius: $window_radius;
+ box-shadow: 0 1px 2px transparentize(black, 0.8),
+ 0 0 0 1px transparentize($_wm_border, 0.1);
+ }
+
+ .solid-csd & {
+ margin: 0;
+ padding: 4px;
+ background-color: $borders_color;
+ border: solid 1px $borders_color;
+ border-radius: 0;
+ box-shadow: inset 0 0 0 3px $headerbar_color, inset 0 1px $top_hilight;
+
+ &:backdrop { box-shadow: inset 0 0 0 3px $backdrop_bg_color, inset 0 1px $top_hilight; }
+ }
+}
+
+// Window Close button
+button.titlebutton {
+ @extend %button_basic;
+
+ &:not(:hover):not(:active):not(:checked):not(:disabled) {@extend %button_basic_flat;}
+
+ @include _button_text_shadow;
+
+ &:not(.appmenu) {
+ border-radius: 9999px;
+ padding: $_hb_btn_pad;
+ margin: 0 2px;
+ min-width: 0;
+ min-height: 0;
+ }
+ &.close { background-color: $error_color; color: white;}
+ .selection-mode & {
+ @extend %selection_mode_button_flat;
+
+ @extend %nobg_selected_items;
+ }
+
+ &:backdrop { -gtk-icon-shadow: none; }
+}
+
+.selection-mode headerbar button.titlebutton,
+.selection-mode .titlebar button.titlebutton,
+headerbar.selection-mode button.titlebutton,
+.titlebar.selection-mode button.titlebutton {
+ @include _button_text_shadow(white, $suggested_bg_color);
+
+ &:backdrop { -gtk-icon-shadow: none; }
+}
+
+// catch all extend :)
+//here used to be %selected_items {...}
+
+
+
+.monospace { font-family: monospace; }
+
+
+/**********************
+ * Touch Copy & Paste *
+ *********************/
+//touch selection handlebars for the Popover.osd above
+cursor-handle {
+ background-color: transparent;
+ background-image: none;
+ box-shadow: none;
+ border-style: none;
+
+ @each $s,$as in ('',''),
+ (':hover','-hover'),
+ (':active','-active') { //no need for insensitive and backdrop
+ &.top#{$s}:dir(ltr), &.bottom#{$s}:dir(rtl) {
+ $_url: 'assets/text-select-start#{$as}#{$asset_suffix}';
+ -gtk-icon-source: -gtk-scaled(url('#{$_url}.png'),
+ url('#{$_url}@2.png'));
+ padding-left: 10px;
+ }
+
+ &.bottom#{$s}:dir(ltr), &.top#{$s}:dir(rtl) {
+ $_url: 'assets/text-select-end#{$as}#{$asset_suffix}';
+ -gtk-icon-source: -gtk-scaled(url('#{$_url}.png'),
+ url('#{$_url}@2.png'));
+ padding-right: 10px;
+ }
+
+ &.insertion-cursor#{$s}:dir(ltr), &.insertion-cursor#{$s}:dir(rtl) {
+ $_url: 'assets/slider-horz-scale-has-marks-above#{$as}#{$asset_suffix}';
+ -gtk-icon-source: -gtk-scaled(url('#{$_url}.png'),
+ url('#{$_url}@2.png'));
+ }
+ }
+}
+
+.context-menu { font: initial; } // Decouple the font of context menus from their entry/textview
+
+// shortcut window keys
+.keycap {
+ min-width: 20px;
+ min-height: 25px;
+ margin-top: 2px;
+ padding-bottom: 3px;
+ padding-left: 6px;
+ padding-right: 6px;
+
+ color: $fg_color;
+ background-color: $base_color;
+ border: 1px solid;
+ border-color: if($variant == 'light', mix($borders_color, $bg_color, 50%), $borders_color);
+ border-radius: 5px;
+ box-shadow: if($variant == 'light', inset 0 -3px mix($base_color, $bg_color, 20%), inset 0 -3px mix($borders_color, $base_color, 60%));
+ font-size: smaller;
+
+ &:backdrop {
+ background-color: $backdrop_base_color;
+ color: $backdrop_fg_color;
+ transition: $backdrop_transition;
+ }
+}
+
+:not(decoration):not(window):drop(active):focus,
+:not(decoration):not(window):drop(active) { // FIXME needs to be done widget by widget, this wildcard should really die
+ border-color: $drop_target_color;
+ box-shadow: inset 0 0 0 1px $drop_target_color;
+ caret-color: $drop_target_color;
+}
+
+stackswitcher button.text-button { min-width: 100px; } // FIXME aggregate with buttons
+
+stackswitcher button.circular,
+stackswitcher button.text-button.circular { // FIXME aggregate with buttons
+ min-width: 32px;
+ min-height: 32px;
+ padding: 0;
+}
+
+/*************
+ * App Icons *
+ *************/
+/* Outline for low res icons */
+.lowres-icon {
+ -gtk-icon-shadow: 0 -1px rgba(0,0,0,0.05),
+ 1px 0 rgba(0,0,0,0.1),
+ 0 1px rgba(0,0,0,0.3),
+ -1px 0 rgba(0,0,0,0.1);
+}
+
+/* Dropshadow for large icons */
+.icon-dropshadow {
+ -gtk-icon-shadow: 0 1px 12px rgba(0,0,0,0.05),
+ 0 -1px rgba(0,0,0,0.05),
+ 1px 0 rgba(0,0,0,0.1),
+ 0 1px rgba(0,0,0,0.3),
+ -1px 0 rgba(0,0,0,0.1);
+}
+
+/*********
+ * Emoji *
+ ********/
+
+popover.emoji-picker {
+ padding-left: 0;
+ padding-right: 0;
+
+ entry.search { margin: 3px 5px 5px 5px; }
+}
+
+button.emoji-section {
+ border-color: transparent;
+ border-width: 3px;
+ border-style: none none solid;
+ border-radius: 0;
+
+ margin: 2px 4px 2px 4px;
+ padding: 3px 0 0;
+ min-width: 32px;
+ min-height: 28px;
+
+ /* reset props inherited from the button style */
+ background: none;
+ box-shadow: none;
+ text-shadow: none;
+
+ outline-offset: -5px;
+
+ &:first-child { margin-left: 7px; }
+ &:last-child { margin-right: 7px; }
+
+ &:backdrop:not(:checked) { border-color: transparent; }
+ &:hover { border-color: if($variant == 'light', $borders_color, transparentize($fg_color, .9)); }
+ &:checked { border-color: $selected_bg_color; }
+
+ label {
+ padding: 0;
+
+ opacity: 0.55;
+ }
+
+ &:hover label { opacity: 0.775; }
+ &:checked label { opacity: 1; }
+}
+
+popover.emoji-picker .emoji {
+ font-size: x-large;
+ padding: 6px;
+
+ :hover {
+ background: $selected_bg_color;
+ border-radius: 6px;
+ }
+}
+
+popover.emoji-completion arrow {
+ border: none;
+ background: none;
+}
+
+popover.emoji-completion contents row box {
+ padding: 2px 10px;
+}
+
+popover.emoji-completion .emoji:hover {
+ background: $popover_hover_color;
+}
diff --git a/source/gtk3/_drawing.scss b/source/gtk3/_drawing.scss
new file mode 100644
index 0000000..96b13c0
--- /dev/null
+++ b/source/gtk3/_drawing.scss
@@ -0,0 +1,231 @@
+// Drawing mixins
+
+// generic drawing of more complex things
+
+//to allow some common mixins to know whether they've been called for a gtk3 or gtk4 widget, because there are some things that are different.
+$gtk: 4;
+
+
+@function _widget_edge($c:$borders_edge) {
+// outer highlight "used" on most widgets
+ @if $c == none { @return none; }
+ @else { @return 0 1px $c; }
+}
+
+@mixin _shadows($list...) {
+//
+// Helper mixin to stack up to box-shadows;
+//
+ $shadows: null;
+
+ @each $shadow in $list {
+ @if $shadow!=none { $shadows: $shadows, $shadow; }
+ }
+
+ box-shadow: $shadows;
+}
+
+// entries
+@function entry_focus_border($fc:$selected_bg_color) {
+ @if $variant == 'light' { @return $fc; }
+ @else { @return if($fc==$selected_bg_color, $selected_borders_color, darken($fc, 35%)); }
+}
+
+@function entry_focus_shadow($fc:$selected_bg_color) { @return inset 0 0 0 1px $fc; }
+
+@mixin entry($t, $fc:$selected_bg_color, $edge: none) {
+//
+// Entries drawing function
+//
+// $t: entry type
+// $fc: focus color
+// $edge: set to none to not draw the bottom edge or specify a color to not
+// use the default one
+//
+// possible $t values:
+// normal, focus, insensitive, backdrop, backdrop-insensitive, osd, osd-focus, osd-backdrop;
+//
+ $_entry_shadow: 0 1px 2px transparentize($shadow_hard_color, 0.6);
+ $_blank_edge: if($edge == none, none, 0 1px transparentize($edge, 1));
+ $_entry_edge: if($edge == none, none, _widget_edge($edge));
+ $_hilight_color: _button_hilight_color($bg_color);
+
+ @if $t==normal {
+ color: $text_color;
+ border-color: $borders_color;
+ background-color: $base_color;
+ @include _shadows(entry_focus_shadow(transparentize($fc, 1)),inset $_entry_shadow, 0 1px $_hilight_color, $_entry_edge);
+ // for the transition to work the number of shadows in different states needs to match, hence the transparent shadow here.
+ }
+ @if $t==focus {
+ @include _shadows(entry_focus_shadow($fc), inset $_entry_shadow, 0 1px $_hilight_color, $_entry_edge);
+ border-color: entry_focus_border($fc);
+ }
+ @if $t==insensitive {
+ color: $insensitive_fg_color;
+ border-color: $insensitive_fg_color;
+ background-color: $insensitive_bg_color;
+ box-shadow: $_entry_edge;
+ }
+ @if $t==backdrop {
+ color: $backdrop_text_color;
+ border-color: $backdrop_borders_color;
+ background-color: $backdrop_base_color;
+ box-shadow: $_blank_edge;
+ }
+ @if $t==backdrop-insensitive {
+ color: $backdrop_insensitive_color;
+ border-color: $backdrop_borders_color;
+ background-color: $insensitive_bg_color;
+ box-shadow: $_blank_edge;
+ }
+ @if $t==osd {
+ color: $osd_text_color;
+ border-color: $osd_borders_color;
+ background-color: transparentize(opacify($osd_borders_color, 1), 0.5);
+ background-clip: padding-box;
+ @include _shadows($_entry_shadow);;
+ text-shadow: 0 1px black;
+ -gtk-icon-shadow: 0 1px black;
+ }
+ @if $t==osd-focus {
+ color: $osd_text_color;
+ border-color: $selected_bg_color;
+ background-color: transparentize(opacify($osd_borders_color, 1), 0.5);
+ background-clip: padding-box;
+ @include _shadows(entry_focus_shadow($fc), $_entry_shadow);
+ text-shadow: 0 1px black;
+ -gtk-icon-shadow: 0 1px black;
+ }
+ @if $t==osd-insensitive {
+ color: $osd_insensitive_fg_color;
+ border-color: $osd_borders_color;
+ background-color: $osd_insensitive_bg_color;
+ background-clip: padding-box;
+ box-shadow: none;
+ text-shadow: none;
+ -gtk-icon-shadow: none;
+ }
+ @if $t==osd-backdrop {
+ color: $osd_text_color;
+ border-color: $osd_borders_color;
+ background-color: transparentize(opacify($osd_borders_color, 1), 0.5);
+ background-clip: padding-box;
+ box-shadow: none;
+ text-shadow: none;
+ -gtk-icon-shadow: none;
+ }
+}
+
+// buttons
+
+
+
+@import "../common/buttons.scss";
+
+
+@mixin headerbar_fill($c:$headerbar_color, $hc:$top_hilight, $ov: none) {
+//
+// headerbar fill
+//
+// $c: base color
+// $hc: top highlight color
+// $ov: a background layer for background shorthand (hence no commas!)
+//
+ $gradient: linear-gradient(to top, darken($c, 2%), lighten($c, 1%));
+
+ @if $variant == 'dark' { $gradient: linear-gradient(to top, lighten($c, 4%), lighten($c, 6%)); }
+
+ @if $ov != none { background: $c $ov, $gradient; }
+ @else { background: $c $gradient; }
+
+ box-shadow: inset 0 1px $hc; // top highlight
+}
+
+@mixin overshoot($p, $t:normal, $c:$fg_color) {
+//
+// overshoot
+//
+// $p: position
+// $t: type
+// $c: base color
+//
+// possible $p values:
+// top, bottom, right, left
+//
+// possible $t values:
+// normal, backdrop
+//
+
+ $_small_gradient_length: 5%;
+ $_big_gradient_length: 100%;
+
+ $_position: center top;
+ $_small_gradient_size: 100% $_small_gradient_length;
+ $_big_gradient_size: 100% $_big_gradient_length;
+
+ @if $p==bottom {
+ $_position: center bottom;
+ $_linear_gradient_direction: to top;
+ }
+
+ @else if $p==right {
+ $_position: right center;
+ $_small_gradient_size: $_small_gradient_length 100%;
+ $_big_gradient_size: $_big_gradient_length 100%;
+ }
+
+ @else if $p==left {
+ $_position: left center;
+ $_small_gradient_size: $_small_gradient_length 100%;
+ $_big_gradient_size: $_big_gradient_length 100%;
+ }
+
+ $_small_gradient_color: $c;
+ $_big_gradient_color: $c;
+
+ @if $c==$fg_color {
+ $_small_gradient_color: darken($borders_color, 10%);
+ $_big_gradient_color: $fg_color;
+
+ @if $t==backdrop { $_small_gradient_color: $backdrop_borders_color; }
+ }
+
+ $_small_gradient: -gtk-gradient(radial,
+ $_position, 0,
+ $_position, 0.5,
+ to($_small_gradient_color),
+ to(transparentize($_small_gradient_color, 1)));
+
+ $_big_gradient: -gtk-gradient(radial,
+ $_position, 0,
+ $_position, 0.6,
+ from(transparentize($_big_gradient_color, 0.93)),
+ to(transparentize($_big_gradient_color, 1)));
+
+ @if $t==normal {
+ background-image: $_small_gradient, $_big_gradient;
+ background-size: $_small_gradient_size, $_big_gradient_size;
+ }
+
+ @else if $t==backdrop {
+ background-image: $_small_gradient;
+ background-size: $_small_gradient_size;
+ }
+
+ background-repeat: no-repeat;
+ background-position: $_position;
+
+ background-color: transparent; // reset some properties to be sure to not inherit them somehow
+ border: none; //
+ box-shadow: none; //
+}
+
+/***************************
+ * Check and Radio buttons *
+ ***************************/
+
+@import "../common/checkradios.scss";
+
+
+
diff --git a/source/gtk3/_theme-colors.scss b/source/gtk3/_theme-colors.scss
new file mode 120000
index 0000000..c86566d
--- /dev/null
+++ b/source/gtk3/_theme-colors.scss
@@ -0,0 +1 @@
+../_theme_colors.scss
\ No newline at end of file
diff --git a/source/gtk3/assets.svg b/source/gtk3/assets.svg
new file mode 100644
index 0000000..7177e37
--- /dev/null
+++ b/source/gtk3/assets.svg
@@ -0,0 +1,2134 @@
+
+
+
+
diff --git a/source/gtk3/assets.txt b/source/gtk3/assets.txt
new file mode 100644
index 0000000..4b27b15
--- /dev/null
+++ b/source/gtk3/assets.txt
@@ -0,0 +1,60 @@
+text-select-end
+text-select-end-hover
+text-select-end-active
+text-select-start
+text-select-start-hover
+text-select-start-active
+text-select-end-dark
+text-select-end-hover-dark
+text-select-end-active-dark
+text-select-start-dark
+text-select-start-hover-dark
+text-select-start-active-dark
+slider-horz-scale-has-marks-below
+slider-horz-scale-has-marks-below-hover
+slider-horz-scale-has-marks-below-active
+slider-horz-scale-has-marks-below-insensitive
+slider-horz-scale-has-marks-below-backdrop
+slider-horz-scale-has-marks-below-backdrop-insensitive
+slider-vert-scale-has-marks-below
+slider-vert-scale-has-marks-below-hover
+slider-vert-scale-has-marks-below-active
+slider-vert-scale-has-marks-below-insensitive
+slider-vert-scale-has-marks-below-backdrop
+slider-vert-scale-has-marks-below-backdrop-insensitive
+slider-horz-scale-has-marks-above
+slider-horz-scale-has-marks-above-hover
+slider-horz-scale-has-marks-above-active
+slider-horz-scale-has-marks-above-insensitive
+slider-horz-scale-has-marks-above-backdrop
+slider-horz-scale-has-marks-above-backdrop-insensitive
+slider-vert-scale-has-marks-above
+slider-vert-scale-has-marks-above-hover
+slider-vert-scale-has-marks-above-active
+slider-vert-scale-has-marks-above-insensitive
+slider-vert-scale-has-marks-above-backdrop
+slider-vert-scale-has-marks-above-backdrop-insensitive
+slider-horz-scale-has-marks-below-dark
+slider-horz-scale-has-marks-below-hover-dark
+slider-horz-scale-has-marks-below-active-dark
+slider-horz-scale-has-marks-below-insensitive-dark
+slider-horz-scale-has-marks-below-backdrop-dark
+slider-horz-scale-has-marks-below-backdrop-insensitive-dark
+slider-vert-scale-has-marks-below-dark
+slider-vert-scale-has-marks-below-hover-dark
+slider-vert-scale-has-marks-below-active-dark
+slider-vert-scale-has-marks-below-insensitive-dark
+slider-vert-scale-has-marks-below-backdrop-dark
+slider-vert-scale-has-marks-below-backdrop-insensitive-dark
+slider-horz-scale-has-marks-above-dark
+slider-horz-scale-has-marks-above-hover-dark
+slider-horz-scale-has-marks-above-active-dark
+slider-horz-scale-has-marks-above-insensitive-dark
+slider-horz-scale-has-marks-above-backdrop-dark
+slider-horz-scale-has-marks-above-backdrop-insensitive-dark
+slider-vert-scale-has-marks-above-dark
+slider-vert-scale-has-marks-above-hover-dark
+slider-vert-scale-has-marks-above-active-dark
+slider-vert-scale-has-marks-above-insensitive-dark
+slider-vert-scale-has-marks-above-backdrop-dark
+slider-vert-scale-has-marks-above-backdrop-insensitive-dark
diff --git a/source/gtk3/assets/bullet-symbolic.svg b/source/gtk3/assets/bullet-symbolic.svg
new file mode 100644
index 0000000..acf880a
--- /dev/null
+++ b/source/gtk3/assets/bullet-symbolic.svg
@@ -0,0 +1,155 @@
+
+
+
+
diff --git a/source/gtk3/assets/bullet-symbolic.symbolic.png b/source/gtk3/assets/bullet-symbolic.symbolic.png
new file mode 100644
index 0000000..8e6925a
Binary files /dev/null and b/source/gtk3/assets/bullet-symbolic.symbolic.png differ
diff --git a/source/gtk3/assets/check-symbolic.svg b/source/gtk3/assets/check-symbolic.svg
new file mode 100644
index 0000000..b04b5ad
--- /dev/null
+++ b/source/gtk3/assets/check-symbolic.svg
@@ -0,0 +1,154 @@
+
+
+
+
diff --git a/source/gtk3/assets/check-symbolic.symbolic.png b/source/gtk3/assets/check-symbolic.symbolic.png
new file mode 100644
index 0000000..14bd626
Binary files /dev/null and b/source/gtk3/assets/check-symbolic.symbolic.png differ
diff --git a/source/gtk3/assets/dash-symbolic.svg b/source/gtk3/assets/dash-symbolic.svg
new file mode 100644
index 0000000..7886d54
--- /dev/null
+++ b/source/gtk3/assets/dash-symbolic.svg
@@ -0,0 +1,153 @@
+
+
+
+
diff --git a/source/gtk3/assets/dash-symbolic.symbolic.png b/source/gtk3/assets/dash-symbolic.symbolic.png
new file mode 100644
index 0000000..c20d4ba
Binary files /dev/null and b/source/gtk3/assets/dash-symbolic.symbolic.png differ
diff --git a/source/gtk3/assets/slider-horz-scale-has-marks-above-active-dark.png b/source/gtk3/assets/slider-horz-scale-has-marks-above-active-dark.png
new file mode 100644
index 0000000..c02396e
Binary files /dev/null and b/source/gtk3/assets/slider-horz-scale-has-marks-above-active-dark.png differ
diff --git a/source/gtk3/assets/slider-horz-scale-has-marks-above-active-dark@2.png b/source/gtk3/assets/slider-horz-scale-has-marks-above-active-dark@2.png
new file mode 100644
index 0000000..2ff6efe
Binary files /dev/null and b/source/gtk3/assets/slider-horz-scale-has-marks-above-active-dark@2.png differ
diff --git a/source/gtk3/assets/slider-horz-scale-has-marks-above-active.png b/source/gtk3/assets/slider-horz-scale-has-marks-above-active.png
new file mode 100644
index 0000000..53729ec
Binary files /dev/null and b/source/gtk3/assets/slider-horz-scale-has-marks-above-active.png differ
diff --git a/source/gtk3/assets/slider-horz-scale-has-marks-above-active@2.png b/source/gtk3/assets/slider-horz-scale-has-marks-above-active@2.png
new file mode 100644
index 0000000..d73ff53
Binary files /dev/null and b/source/gtk3/assets/slider-horz-scale-has-marks-above-active@2.png differ
diff --git a/source/gtk3/assets/slider-horz-scale-has-marks-above-backdrop-dark.png b/source/gtk3/assets/slider-horz-scale-has-marks-above-backdrop-dark.png
new file mode 100644
index 0000000..d15a78c
Binary files /dev/null and b/source/gtk3/assets/slider-horz-scale-has-marks-above-backdrop-dark.png differ
diff --git a/source/gtk3/assets/slider-horz-scale-has-marks-above-backdrop-dark@2.png b/source/gtk3/assets/slider-horz-scale-has-marks-above-backdrop-dark@2.png
new file mode 100644
index 0000000..268167a
Binary files /dev/null and b/source/gtk3/assets/slider-horz-scale-has-marks-above-backdrop-dark@2.png differ
diff --git a/source/gtk3/assets/slider-horz-scale-has-marks-above-backdrop-insensitive-dark.png b/source/gtk3/assets/slider-horz-scale-has-marks-above-backdrop-insensitive-dark.png
new file mode 100644
index 0000000..d15a78c
Binary files /dev/null and b/source/gtk3/assets/slider-horz-scale-has-marks-above-backdrop-insensitive-dark.png differ
diff --git a/source/gtk3/assets/slider-horz-scale-has-marks-above-backdrop-insensitive-dark@2.png b/source/gtk3/assets/slider-horz-scale-has-marks-above-backdrop-insensitive-dark@2.png
new file mode 100644
index 0000000..268167a
Binary files /dev/null and b/source/gtk3/assets/slider-horz-scale-has-marks-above-backdrop-insensitive-dark@2.png differ
diff --git a/source/gtk3/assets/slider-horz-scale-has-marks-above-backdrop-insensitive.png b/source/gtk3/assets/slider-horz-scale-has-marks-above-backdrop-insensitive.png
new file mode 100644
index 0000000..921509f
Binary files /dev/null and b/source/gtk3/assets/slider-horz-scale-has-marks-above-backdrop-insensitive.png differ
diff --git a/source/gtk3/assets/slider-horz-scale-has-marks-above-backdrop-insensitive@2.png b/source/gtk3/assets/slider-horz-scale-has-marks-above-backdrop-insensitive@2.png
new file mode 100644
index 0000000..d157e60
Binary files /dev/null and b/source/gtk3/assets/slider-horz-scale-has-marks-above-backdrop-insensitive@2.png differ
diff --git a/source/gtk3/assets/slider-horz-scale-has-marks-above-backdrop.png b/source/gtk3/assets/slider-horz-scale-has-marks-above-backdrop.png
new file mode 100644
index 0000000..52aa71d
Binary files /dev/null and b/source/gtk3/assets/slider-horz-scale-has-marks-above-backdrop.png differ
diff --git a/source/gtk3/assets/slider-horz-scale-has-marks-above-backdrop@2.png b/source/gtk3/assets/slider-horz-scale-has-marks-above-backdrop@2.png
new file mode 100644
index 0000000..100b0c3
Binary files /dev/null and b/source/gtk3/assets/slider-horz-scale-has-marks-above-backdrop@2.png differ
diff --git a/source/gtk3/assets/slider-horz-scale-has-marks-above-dark.png b/source/gtk3/assets/slider-horz-scale-has-marks-above-dark.png
new file mode 100644
index 0000000..74d848d
Binary files /dev/null and b/source/gtk3/assets/slider-horz-scale-has-marks-above-dark.png differ
diff --git a/source/gtk3/assets/slider-horz-scale-has-marks-above-dark@2.png b/source/gtk3/assets/slider-horz-scale-has-marks-above-dark@2.png
new file mode 100644
index 0000000..01e0e53
Binary files /dev/null and b/source/gtk3/assets/slider-horz-scale-has-marks-above-dark@2.png differ
diff --git a/source/gtk3/assets/slider-horz-scale-has-marks-above-hover-dark.png b/source/gtk3/assets/slider-horz-scale-has-marks-above-hover-dark.png
new file mode 100644
index 0000000..070f181
Binary files /dev/null and b/source/gtk3/assets/slider-horz-scale-has-marks-above-hover-dark.png differ
diff --git a/source/gtk3/assets/slider-horz-scale-has-marks-above-hover-dark@2.png b/source/gtk3/assets/slider-horz-scale-has-marks-above-hover-dark@2.png
new file mode 100644
index 0000000..d0b0441
Binary files /dev/null and b/source/gtk3/assets/slider-horz-scale-has-marks-above-hover-dark@2.png differ
diff --git a/source/gtk3/assets/slider-horz-scale-has-marks-above-hover.png b/source/gtk3/assets/slider-horz-scale-has-marks-above-hover.png
new file mode 100644
index 0000000..f989dc6
Binary files /dev/null and b/source/gtk3/assets/slider-horz-scale-has-marks-above-hover.png differ
diff --git a/source/gtk3/assets/slider-horz-scale-has-marks-above-hover@2.png b/source/gtk3/assets/slider-horz-scale-has-marks-above-hover@2.png
new file mode 100644
index 0000000..e1bec6f
Binary files /dev/null and b/source/gtk3/assets/slider-horz-scale-has-marks-above-hover@2.png differ
diff --git a/source/gtk3/assets/slider-horz-scale-has-marks-above-insensitive-dark.png b/source/gtk3/assets/slider-horz-scale-has-marks-above-insensitive-dark.png
new file mode 100644
index 0000000..d15a78c
Binary files /dev/null and b/source/gtk3/assets/slider-horz-scale-has-marks-above-insensitive-dark.png differ
diff --git a/source/gtk3/assets/slider-horz-scale-has-marks-above-insensitive-dark@2.png b/source/gtk3/assets/slider-horz-scale-has-marks-above-insensitive-dark@2.png
new file mode 100644
index 0000000..268167a
Binary files /dev/null and b/source/gtk3/assets/slider-horz-scale-has-marks-above-insensitive-dark@2.png differ
diff --git a/source/gtk3/assets/slider-horz-scale-has-marks-above-insensitive.png b/source/gtk3/assets/slider-horz-scale-has-marks-above-insensitive.png
new file mode 100644
index 0000000..21c55c3
Binary files /dev/null and b/source/gtk3/assets/slider-horz-scale-has-marks-above-insensitive.png differ
diff --git a/source/gtk3/assets/slider-horz-scale-has-marks-above-insensitive@2.png b/source/gtk3/assets/slider-horz-scale-has-marks-above-insensitive@2.png
new file mode 100644
index 0000000..611ed7e
Binary files /dev/null and b/source/gtk3/assets/slider-horz-scale-has-marks-above-insensitive@2.png differ
diff --git a/source/gtk3/assets/slider-horz-scale-has-marks-above.png b/source/gtk3/assets/slider-horz-scale-has-marks-above.png
new file mode 100644
index 0000000..de5300d
Binary files /dev/null and b/source/gtk3/assets/slider-horz-scale-has-marks-above.png differ
diff --git a/source/gtk3/assets/slider-horz-scale-has-marks-above@2.png b/source/gtk3/assets/slider-horz-scale-has-marks-above@2.png
new file mode 100644
index 0000000..456f291
Binary files /dev/null and b/source/gtk3/assets/slider-horz-scale-has-marks-above@2.png differ
diff --git a/source/gtk3/assets/slider-horz-scale-has-marks-below-active-dark.png b/source/gtk3/assets/slider-horz-scale-has-marks-below-active-dark.png
new file mode 100644
index 0000000..b6b677b
Binary files /dev/null and b/source/gtk3/assets/slider-horz-scale-has-marks-below-active-dark.png differ
diff --git a/source/gtk3/assets/slider-horz-scale-has-marks-below-active-dark@2.png b/source/gtk3/assets/slider-horz-scale-has-marks-below-active-dark@2.png
new file mode 100644
index 0000000..9f5528d
Binary files /dev/null and b/source/gtk3/assets/slider-horz-scale-has-marks-below-active-dark@2.png differ
diff --git a/source/gtk3/assets/slider-horz-scale-has-marks-below-active.png b/source/gtk3/assets/slider-horz-scale-has-marks-below-active.png
new file mode 100644
index 0000000..4e86277
Binary files /dev/null and b/source/gtk3/assets/slider-horz-scale-has-marks-below-active.png differ
diff --git a/source/gtk3/assets/slider-horz-scale-has-marks-below-active@2.png b/source/gtk3/assets/slider-horz-scale-has-marks-below-active@2.png
new file mode 100644
index 0000000..de34cd2
Binary files /dev/null and b/source/gtk3/assets/slider-horz-scale-has-marks-below-active@2.png differ
diff --git a/source/gtk3/assets/slider-horz-scale-has-marks-below-backdrop-dark.png b/source/gtk3/assets/slider-horz-scale-has-marks-below-backdrop-dark.png
new file mode 100644
index 0000000..4fe4dfa
Binary files /dev/null and b/source/gtk3/assets/slider-horz-scale-has-marks-below-backdrop-dark.png differ
diff --git a/source/gtk3/assets/slider-horz-scale-has-marks-below-backdrop-dark@2.png b/source/gtk3/assets/slider-horz-scale-has-marks-below-backdrop-dark@2.png
new file mode 100644
index 0000000..074c0d6
Binary files /dev/null and b/source/gtk3/assets/slider-horz-scale-has-marks-below-backdrop-dark@2.png differ
diff --git a/source/gtk3/assets/slider-horz-scale-has-marks-below-backdrop-insensitive-dark.png b/source/gtk3/assets/slider-horz-scale-has-marks-below-backdrop-insensitive-dark.png
new file mode 100644
index 0000000..4fe4dfa
Binary files /dev/null and b/source/gtk3/assets/slider-horz-scale-has-marks-below-backdrop-insensitive-dark.png differ
diff --git a/source/gtk3/assets/slider-horz-scale-has-marks-below-backdrop-insensitive-dark@2.png b/source/gtk3/assets/slider-horz-scale-has-marks-below-backdrop-insensitive-dark@2.png
new file mode 100644
index 0000000..074c0d6
Binary files /dev/null and b/source/gtk3/assets/slider-horz-scale-has-marks-below-backdrop-insensitive-dark@2.png differ
diff --git a/source/gtk3/assets/slider-horz-scale-has-marks-below-backdrop-insensitive.png b/source/gtk3/assets/slider-horz-scale-has-marks-below-backdrop-insensitive.png
new file mode 100644
index 0000000..4c69d36
Binary files /dev/null and b/source/gtk3/assets/slider-horz-scale-has-marks-below-backdrop-insensitive.png differ
diff --git a/source/gtk3/assets/slider-horz-scale-has-marks-below-backdrop-insensitive@2.png b/source/gtk3/assets/slider-horz-scale-has-marks-below-backdrop-insensitive@2.png
new file mode 100644
index 0000000..6cef847
Binary files /dev/null and b/source/gtk3/assets/slider-horz-scale-has-marks-below-backdrop-insensitive@2.png differ
diff --git a/source/gtk3/assets/slider-horz-scale-has-marks-below-backdrop.png b/source/gtk3/assets/slider-horz-scale-has-marks-below-backdrop.png
new file mode 100644
index 0000000..eabce2c
Binary files /dev/null and b/source/gtk3/assets/slider-horz-scale-has-marks-below-backdrop.png differ
diff --git a/source/gtk3/assets/slider-horz-scale-has-marks-below-backdrop@2.png b/source/gtk3/assets/slider-horz-scale-has-marks-below-backdrop@2.png
new file mode 100644
index 0000000..1a68555
Binary files /dev/null and b/source/gtk3/assets/slider-horz-scale-has-marks-below-backdrop@2.png differ
diff --git a/source/gtk3/assets/slider-horz-scale-has-marks-below-dark.png b/source/gtk3/assets/slider-horz-scale-has-marks-below-dark.png
new file mode 100644
index 0000000..194f018
Binary files /dev/null and b/source/gtk3/assets/slider-horz-scale-has-marks-below-dark.png differ
diff --git a/source/gtk3/assets/slider-horz-scale-has-marks-below-dark@2.png b/source/gtk3/assets/slider-horz-scale-has-marks-below-dark@2.png
new file mode 100644
index 0000000..bb3ea01
Binary files /dev/null and b/source/gtk3/assets/slider-horz-scale-has-marks-below-dark@2.png differ
diff --git a/source/gtk3/assets/slider-horz-scale-has-marks-below-hover-dark.png b/source/gtk3/assets/slider-horz-scale-has-marks-below-hover-dark.png
new file mode 100644
index 0000000..554a2c5
Binary files /dev/null and b/source/gtk3/assets/slider-horz-scale-has-marks-below-hover-dark.png differ
diff --git a/source/gtk3/assets/slider-horz-scale-has-marks-below-hover-dark@2.png b/source/gtk3/assets/slider-horz-scale-has-marks-below-hover-dark@2.png
new file mode 100644
index 0000000..fb4389a
Binary files /dev/null and b/source/gtk3/assets/slider-horz-scale-has-marks-below-hover-dark@2.png differ
diff --git a/source/gtk3/assets/slider-horz-scale-has-marks-below-hover.png b/source/gtk3/assets/slider-horz-scale-has-marks-below-hover.png
new file mode 100644
index 0000000..0c7657f
Binary files /dev/null and b/source/gtk3/assets/slider-horz-scale-has-marks-below-hover.png differ
diff --git a/source/gtk3/assets/slider-horz-scale-has-marks-below-hover@2.png b/source/gtk3/assets/slider-horz-scale-has-marks-below-hover@2.png
new file mode 100644
index 0000000..7995532
Binary files /dev/null and b/source/gtk3/assets/slider-horz-scale-has-marks-below-hover@2.png differ
diff --git a/source/gtk3/assets/slider-horz-scale-has-marks-below-insensitive-dark.png b/source/gtk3/assets/slider-horz-scale-has-marks-below-insensitive-dark.png
new file mode 100644
index 0000000..4fe4dfa
Binary files /dev/null and b/source/gtk3/assets/slider-horz-scale-has-marks-below-insensitive-dark.png differ
diff --git a/source/gtk3/assets/slider-horz-scale-has-marks-below-insensitive-dark@2.png b/source/gtk3/assets/slider-horz-scale-has-marks-below-insensitive-dark@2.png
new file mode 100644
index 0000000..074c0d6
Binary files /dev/null and b/source/gtk3/assets/slider-horz-scale-has-marks-below-insensitive-dark@2.png differ
diff --git a/source/gtk3/assets/slider-horz-scale-has-marks-below-insensitive.png b/source/gtk3/assets/slider-horz-scale-has-marks-below-insensitive.png
new file mode 100644
index 0000000..eabce2c
Binary files /dev/null and b/source/gtk3/assets/slider-horz-scale-has-marks-below-insensitive.png differ
diff --git a/source/gtk3/assets/slider-horz-scale-has-marks-below-insensitive@2.png b/source/gtk3/assets/slider-horz-scale-has-marks-below-insensitive@2.png
new file mode 100644
index 0000000..1a68555
Binary files /dev/null and b/source/gtk3/assets/slider-horz-scale-has-marks-below-insensitive@2.png differ
diff --git a/source/gtk3/assets/slider-horz-scale-has-marks-below.png b/source/gtk3/assets/slider-horz-scale-has-marks-below.png
new file mode 100644
index 0000000..bdee580
Binary files /dev/null and b/source/gtk3/assets/slider-horz-scale-has-marks-below.png differ
diff --git a/source/gtk3/assets/slider-horz-scale-has-marks-below@2.png b/source/gtk3/assets/slider-horz-scale-has-marks-below@2.png
new file mode 100644
index 0000000..5eaf319
Binary files /dev/null and b/source/gtk3/assets/slider-horz-scale-has-marks-below@2.png differ
diff --git a/source/gtk3/assets/slider-vert-scale-has-marks-above-active-dark.png b/source/gtk3/assets/slider-vert-scale-has-marks-above-active-dark.png
new file mode 100644
index 0000000..b23980e
Binary files /dev/null and b/source/gtk3/assets/slider-vert-scale-has-marks-above-active-dark.png differ
diff --git a/source/gtk3/assets/slider-vert-scale-has-marks-above-active-dark@2.png b/source/gtk3/assets/slider-vert-scale-has-marks-above-active-dark@2.png
new file mode 100644
index 0000000..65e0b5b
Binary files /dev/null and b/source/gtk3/assets/slider-vert-scale-has-marks-above-active-dark@2.png differ
diff --git a/source/gtk3/assets/slider-vert-scale-has-marks-above-active.png b/source/gtk3/assets/slider-vert-scale-has-marks-above-active.png
new file mode 100644
index 0000000..c0e6d91
Binary files /dev/null and b/source/gtk3/assets/slider-vert-scale-has-marks-above-active.png differ
diff --git a/source/gtk3/assets/slider-vert-scale-has-marks-above-active@2.png b/source/gtk3/assets/slider-vert-scale-has-marks-above-active@2.png
new file mode 100644
index 0000000..d4ae2b0
Binary files /dev/null and b/source/gtk3/assets/slider-vert-scale-has-marks-above-active@2.png differ
diff --git a/source/gtk3/assets/slider-vert-scale-has-marks-above-backdrop-dark.png b/source/gtk3/assets/slider-vert-scale-has-marks-above-backdrop-dark.png
new file mode 100644
index 0000000..3c87524
Binary files /dev/null and b/source/gtk3/assets/slider-vert-scale-has-marks-above-backdrop-dark.png differ
diff --git a/source/gtk3/assets/slider-vert-scale-has-marks-above-backdrop-dark@2.png b/source/gtk3/assets/slider-vert-scale-has-marks-above-backdrop-dark@2.png
new file mode 100644
index 0000000..b424d09
Binary files /dev/null and b/source/gtk3/assets/slider-vert-scale-has-marks-above-backdrop-dark@2.png differ
diff --git a/source/gtk3/assets/slider-vert-scale-has-marks-above-backdrop-insensitive-dark.png b/source/gtk3/assets/slider-vert-scale-has-marks-above-backdrop-insensitive-dark.png
new file mode 100644
index 0000000..3c87524
Binary files /dev/null and b/source/gtk3/assets/slider-vert-scale-has-marks-above-backdrop-insensitive-dark.png differ
diff --git a/source/gtk3/assets/slider-vert-scale-has-marks-above-backdrop-insensitive-dark@2.png b/source/gtk3/assets/slider-vert-scale-has-marks-above-backdrop-insensitive-dark@2.png
new file mode 100644
index 0000000..b424d09
Binary files /dev/null and b/source/gtk3/assets/slider-vert-scale-has-marks-above-backdrop-insensitive-dark@2.png differ
diff --git a/source/gtk3/assets/slider-vert-scale-has-marks-above-backdrop-insensitive.png b/source/gtk3/assets/slider-vert-scale-has-marks-above-backdrop-insensitive.png
new file mode 100644
index 0000000..043cbfc
Binary files /dev/null and b/source/gtk3/assets/slider-vert-scale-has-marks-above-backdrop-insensitive.png differ
diff --git a/source/gtk3/assets/slider-vert-scale-has-marks-above-backdrop-insensitive@2.png b/source/gtk3/assets/slider-vert-scale-has-marks-above-backdrop-insensitive@2.png
new file mode 100644
index 0000000..1d39dc4
Binary files /dev/null and b/source/gtk3/assets/slider-vert-scale-has-marks-above-backdrop-insensitive@2.png differ
diff --git a/source/gtk3/assets/slider-vert-scale-has-marks-above-backdrop.png b/source/gtk3/assets/slider-vert-scale-has-marks-above-backdrop.png
new file mode 100644
index 0000000..cb33a8a
Binary files /dev/null and b/source/gtk3/assets/slider-vert-scale-has-marks-above-backdrop.png differ
diff --git a/source/gtk3/assets/slider-vert-scale-has-marks-above-backdrop@2.png b/source/gtk3/assets/slider-vert-scale-has-marks-above-backdrop@2.png
new file mode 100644
index 0000000..65f43d8
Binary files /dev/null and b/source/gtk3/assets/slider-vert-scale-has-marks-above-backdrop@2.png differ
diff --git a/source/gtk3/assets/slider-vert-scale-has-marks-above-dark.png b/source/gtk3/assets/slider-vert-scale-has-marks-above-dark.png
new file mode 100644
index 0000000..e13ef9f
Binary files /dev/null and b/source/gtk3/assets/slider-vert-scale-has-marks-above-dark.png differ
diff --git a/source/gtk3/assets/slider-vert-scale-has-marks-above-dark@2.png b/source/gtk3/assets/slider-vert-scale-has-marks-above-dark@2.png
new file mode 100644
index 0000000..6478902
Binary files /dev/null and b/source/gtk3/assets/slider-vert-scale-has-marks-above-dark@2.png differ
diff --git a/source/gtk3/assets/slider-vert-scale-has-marks-above-hover-dark.png b/source/gtk3/assets/slider-vert-scale-has-marks-above-hover-dark.png
new file mode 100644
index 0000000..0f0a1dc
Binary files /dev/null and b/source/gtk3/assets/slider-vert-scale-has-marks-above-hover-dark.png differ
diff --git a/source/gtk3/assets/slider-vert-scale-has-marks-above-hover-dark@2.png b/source/gtk3/assets/slider-vert-scale-has-marks-above-hover-dark@2.png
new file mode 100644
index 0000000..818d99f
Binary files /dev/null and b/source/gtk3/assets/slider-vert-scale-has-marks-above-hover-dark@2.png differ
diff --git a/source/gtk3/assets/slider-vert-scale-has-marks-above-hover.png b/source/gtk3/assets/slider-vert-scale-has-marks-above-hover.png
new file mode 100644
index 0000000..d7ce409
Binary files /dev/null and b/source/gtk3/assets/slider-vert-scale-has-marks-above-hover.png differ
diff --git a/source/gtk3/assets/slider-vert-scale-has-marks-above-hover@2.png b/source/gtk3/assets/slider-vert-scale-has-marks-above-hover@2.png
new file mode 100644
index 0000000..42eb655
Binary files /dev/null and b/source/gtk3/assets/slider-vert-scale-has-marks-above-hover@2.png differ
diff --git a/source/gtk3/assets/slider-vert-scale-has-marks-above-insensitive-dark.png b/source/gtk3/assets/slider-vert-scale-has-marks-above-insensitive-dark.png
new file mode 100644
index 0000000..3c87524
Binary files /dev/null and b/source/gtk3/assets/slider-vert-scale-has-marks-above-insensitive-dark.png differ
diff --git a/source/gtk3/assets/slider-vert-scale-has-marks-above-insensitive-dark@2.png b/source/gtk3/assets/slider-vert-scale-has-marks-above-insensitive-dark@2.png
new file mode 100644
index 0000000..b424d09
Binary files /dev/null and b/source/gtk3/assets/slider-vert-scale-has-marks-above-insensitive-dark@2.png differ
diff --git a/source/gtk3/assets/slider-vert-scale-has-marks-above-insensitive.png b/source/gtk3/assets/slider-vert-scale-has-marks-above-insensitive.png
new file mode 100644
index 0000000..253f354
Binary files /dev/null and b/source/gtk3/assets/slider-vert-scale-has-marks-above-insensitive.png differ
diff --git a/source/gtk3/assets/slider-vert-scale-has-marks-above-insensitive@2.png b/source/gtk3/assets/slider-vert-scale-has-marks-above-insensitive@2.png
new file mode 100644
index 0000000..0ad203e
Binary files /dev/null and b/source/gtk3/assets/slider-vert-scale-has-marks-above-insensitive@2.png differ
diff --git a/source/gtk3/assets/slider-vert-scale-has-marks-above.png b/source/gtk3/assets/slider-vert-scale-has-marks-above.png
new file mode 100644
index 0000000..a367f6c
Binary files /dev/null and b/source/gtk3/assets/slider-vert-scale-has-marks-above.png differ
diff --git a/source/gtk3/assets/slider-vert-scale-has-marks-above@2.png b/source/gtk3/assets/slider-vert-scale-has-marks-above@2.png
new file mode 100644
index 0000000..b0c6af5
Binary files /dev/null and b/source/gtk3/assets/slider-vert-scale-has-marks-above@2.png differ
diff --git a/source/gtk3/assets/slider-vert-scale-has-marks-below-active-dark.png b/source/gtk3/assets/slider-vert-scale-has-marks-below-active-dark.png
new file mode 100644
index 0000000..99fcf80
Binary files /dev/null and b/source/gtk3/assets/slider-vert-scale-has-marks-below-active-dark.png differ
diff --git a/source/gtk3/assets/slider-vert-scale-has-marks-below-active-dark@2.png b/source/gtk3/assets/slider-vert-scale-has-marks-below-active-dark@2.png
new file mode 100644
index 0000000..8a4b17f
Binary files /dev/null and b/source/gtk3/assets/slider-vert-scale-has-marks-below-active-dark@2.png differ
diff --git a/source/gtk3/assets/slider-vert-scale-has-marks-below-active.png b/source/gtk3/assets/slider-vert-scale-has-marks-below-active.png
new file mode 100644
index 0000000..73f9625
Binary files /dev/null and b/source/gtk3/assets/slider-vert-scale-has-marks-below-active.png differ
diff --git a/source/gtk3/assets/slider-vert-scale-has-marks-below-active@2.png b/source/gtk3/assets/slider-vert-scale-has-marks-below-active@2.png
new file mode 100644
index 0000000..3730223
Binary files /dev/null and b/source/gtk3/assets/slider-vert-scale-has-marks-below-active@2.png differ
diff --git a/source/gtk3/assets/slider-vert-scale-has-marks-below-backdrop-dark.png b/source/gtk3/assets/slider-vert-scale-has-marks-below-backdrop-dark.png
new file mode 100644
index 0000000..9bb3990
Binary files /dev/null and b/source/gtk3/assets/slider-vert-scale-has-marks-below-backdrop-dark.png differ
diff --git a/source/gtk3/assets/slider-vert-scale-has-marks-below-backdrop-dark@2.png b/source/gtk3/assets/slider-vert-scale-has-marks-below-backdrop-dark@2.png
new file mode 100644
index 0000000..a5d8987
Binary files /dev/null and b/source/gtk3/assets/slider-vert-scale-has-marks-below-backdrop-dark@2.png differ
diff --git a/source/gtk3/assets/slider-vert-scale-has-marks-below-backdrop-insensitive-dark.png b/source/gtk3/assets/slider-vert-scale-has-marks-below-backdrop-insensitive-dark.png
new file mode 100644
index 0000000..9bb3990
Binary files /dev/null and b/source/gtk3/assets/slider-vert-scale-has-marks-below-backdrop-insensitive-dark.png differ
diff --git a/source/gtk3/assets/slider-vert-scale-has-marks-below-backdrop-insensitive-dark@2.png b/source/gtk3/assets/slider-vert-scale-has-marks-below-backdrop-insensitive-dark@2.png
new file mode 100644
index 0000000..a5d8987
Binary files /dev/null and b/source/gtk3/assets/slider-vert-scale-has-marks-below-backdrop-insensitive-dark@2.png differ
diff --git a/source/gtk3/assets/slider-vert-scale-has-marks-below-backdrop-insensitive.png b/source/gtk3/assets/slider-vert-scale-has-marks-below-backdrop-insensitive.png
new file mode 100644
index 0000000..1f4fcbd
Binary files /dev/null and b/source/gtk3/assets/slider-vert-scale-has-marks-below-backdrop-insensitive.png differ
diff --git a/source/gtk3/assets/slider-vert-scale-has-marks-below-backdrop-insensitive@2.png b/source/gtk3/assets/slider-vert-scale-has-marks-below-backdrop-insensitive@2.png
new file mode 100644
index 0000000..7e7d4e3
Binary files /dev/null and b/source/gtk3/assets/slider-vert-scale-has-marks-below-backdrop-insensitive@2.png differ
diff --git a/source/gtk3/assets/slider-vert-scale-has-marks-below-backdrop.png b/source/gtk3/assets/slider-vert-scale-has-marks-below-backdrop.png
new file mode 100644
index 0000000..bc0a391
Binary files /dev/null and b/source/gtk3/assets/slider-vert-scale-has-marks-below-backdrop.png differ
diff --git a/source/gtk3/assets/slider-vert-scale-has-marks-below-backdrop@2.png b/source/gtk3/assets/slider-vert-scale-has-marks-below-backdrop@2.png
new file mode 100644
index 0000000..d114a49
Binary files /dev/null and b/source/gtk3/assets/slider-vert-scale-has-marks-below-backdrop@2.png differ
diff --git a/source/gtk3/assets/slider-vert-scale-has-marks-below-dark.png b/source/gtk3/assets/slider-vert-scale-has-marks-below-dark.png
new file mode 100644
index 0000000..3e27d1d
Binary files /dev/null and b/source/gtk3/assets/slider-vert-scale-has-marks-below-dark.png differ
diff --git a/source/gtk3/assets/slider-vert-scale-has-marks-below-dark@2.png b/source/gtk3/assets/slider-vert-scale-has-marks-below-dark@2.png
new file mode 100644
index 0000000..e875feb
Binary files /dev/null and b/source/gtk3/assets/slider-vert-scale-has-marks-below-dark@2.png differ
diff --git a/source/gtk3/assets/slider-vert-scale-has-marks-below-hover-dark.png b/source/gtk3/assets/slider-vert-scale-has-marks-below-hover-dark.png
new file mode 100644
index 0000000..5e09e4f
Binary files /dev/null and b/source/gtk3/assets/slider-vert-scale-has-marks-below-hover-dark.png differ
diff --git a/source/gtk3/assets/slider-vert-scale-has-marks-below-hover-dark@2.png b/source/gtk3/assets/slider-vert-scale-has-marks-below-hover-dark@2.png
new file mode 100644
index 0000000..00491aa
Binary files /dev/null and b/source/gtk3/assets/slider-vert-scale-has-marks-below-hover-dark@2.png differ
diff --git a/source/gtk3/assets/slider-vert-scale-has-marks-below-hover.png b/source/gtk3/assets/slider-vert-scale-has-marks-below-hover.png
new file mode 100644
index 0000000..692a8e9
Binary files /dev/null and b/source/gtk3/assets/slider-vert-scale-has-marks-below-hover.png differ
diff --git a/source/gtk3/assets/slider-vert-scale-has-marks-below-hover@2.png b/source/gtk3/assets/slider-vert-scale-has-marks-below-hover@2.png
new file mode 100644
index 0000000..25ce994
Binary files /dev/null and b/source/gtk3/assets/slider-vert-scale-has-marks-below-hover@2.png differ
diff --git a/source/gtk3/assets/slider-vert-scale-has-marks-below-insensitive-dark.png b/source/gtk3/assets/slider-vert-scale-has-marks-below-insensitive-dark.png
new file mode 100644
index 0000000..9bb3990
Binary files /dev/null and b/source/gtk3/assets/slider-vert-scale-has-marks-below-insensitive-dark.png differ
diff --git a/source/gtk3/assets/slider-vert-scale-has-marks-below-insensitive-dark@2.png b/source/gtk3/assets/slider-vert-scale-has-marks-below-insensitive-dark@2.png
new file mode 100644
index 0000000..a5d8987
Binary files /dev/null and b/source/gtk3/assets/slider-vert-scale-has-marks-below-insensitive-dark@2.png differ
diff --git a/source/gtk3/assets/slider-vert-scale-has-marks-below-insensitive.png b/source/gtk3/assets/slider-vert-scale-has-marks-below-insensitive.png
new file mode 100644
index 0000000..bc0a391
Binary files /dev/null and b/source/gtk3/assets/slider-vert-scale-has-marks-below-insensitive.png differ
diff --git a/source/gtk3/assets/slider-vert-scale-has-marks-below-insensitive@2.png b/source/gtk3/assets/slider-vert-scale-has-marks-below-insensitive@2.png
new file mode 100644
index 0000000..9befc69
Binary files /dev/null and b/source/gtk3/assets/slider-vert-scale-has-marks-below-insensitive@2.png differ
diff --git a/source/gtk3/assets/slider-vert-scale-has-marks-below.png b/source/gtk3/assets/slider-vert-scale-has-marks-below.png
new file mode 100644
index 0000000..c8141d9
Binary files /dev/null and b/source/gtk3/assets/slider-vert-scale-has-marks-below.png differ
diff --git a/source/gtk3/assets/slider-vert-scale-has-marks-below@2.png b/source/gtk3/assets/slider-vert-scale-has-marks-below@2.png
new file mode 100644
index 0000000..7dce35e
Binary files /dev/null and b/source/gtk3/assets/slider-vert-scale-has-marks-below@2.png differ
diff --git a/source/gtk3/assets/text-select-end-active-dark.png b/source/gtk3/assets/text-select-end-active-dark.png
new file mode 100644
index 0000000..7bfab5c
Binary files /dev/null and b/source/gtk3/assets/text-select-end-active-dark.png differ
diff --git a/source/gtk3/assets/text-select-end-active-dark@2.png b/source/gtk3/assets/text-select-end-active-dark@2.png
new file mode 100644
index 0000000..0a827e4
Binary files /dev/null and b/source/gtk3/assets/text-select-end-active-dark@2.png differ
diff --git a/source/gtk3/assets/text-select-end-active.png b/source/gtk3/assets/text-select-end-active.png
new file mode 100644
index 0000000..3b954a8
Binary files /dev/null and b/source/gtk3/assets/text-select-end-active.png differ
diff --git a/source/gtk3/assets/text-select-end-active@2.png b/source/gtk3/assets/text-select-end-active@2.png
new file mode 100644
index 0000000..d405276
Binary files /dev/null and b/source/gtk3/assets/text-select-end-active@2.png differ
diff --git a/source/gtk3/assets/text-select-end-dark.png b/source/gtk3/assets/text-select-end-dark.png
new file mode 100644
index 0000000..e2a49e1
Binary files /dev/null and b/source/gtk3/assets/text-select-end-dark.png differ
diff --git a/source/gtk3/assets/text-select-end-dark@2.png b/source/gtk3/assets/text-select-end-dark@2.png
new file mode 100644
index 0000000..20e6f04
Binary files /dev/null and b/source/gtk3/assets/text-select-end-dark@2.png differ
diff --git a/source/gtk3/assets/text-select-end-hover-dark.png b/source/gtk3/assets/text-select-end-hover-dark.png
new file mode 100644
index 0000000..d8565f3
Binary files /dev/null and b/source/gtk3/assets/text-select-end-hover-dark.png differ
diff --git a/source/gtk3/assets/text-select-end-hover-dark@2.png b/source/gtk3/assets/text-select-end-hover-dark@2.png
new file mode 100644
index 0000000..552cc81
Binary files /dev/null and b/source/gtk3/assets/text-select-end-hover-dark@2.png differ
diff --git a/source/gtk3/assets/text-select-end-hover.png b/source/gtk3/assets/text-select-end-hover.png
new file mode 100644
index 0000000..98f2c96
Binary files /dev/null and b/source/gtk3/assets/text-select-end-hover.png differ
diff --git a/source/gtk3/assets/text-select-end-hover@2.png b/source/gtk3/assets/text-select-end-hover@2.png
new file mode 100644
index 0000000..951b6ef
Binary files /dev/null and b/source/gtk3/assets/text-select-end-hover@2.png differ
diff --git a/source/gtk3/assets/text-select-end.png b/source/gtk3/assets/text-select-end.png
new file mode 100644
index 0000000..f1dfb6b
Binary files /dev/null and b/source/gtk3/assets/text-select-end.png differ
diff --git a/source/gtk3/assets/text-select-end@2.png b/source/gtk3/assets/text-select-end@2.png
new file mode 100644
index 0000000..0f01173
Binary files /dev/null and b/source/gtk3/assets/text-select-end@2.png differ
diff --git a/source/gtk3/assets/text-select-start-active-dark.png b/source/gtk3/assets/text-select-start-active-dark.png
new file mode 100644
index 0000000..b4fb025
Binary files /dev/null and b/source/gtk3/assets/text-select-start-active-dark.png differ
diff --git a/source/gtk3/assets/text-select-start-active-dark@2.png b/source/gtk3/assets/text-select-start-active-dark@2.png
new file mode 100644
index 0000000..99e495e
Binary files /dev/null and b/source/gtk3/assets/text-select-start-active-dark@2.png differ
diff --git a/source/gtk3/assets/text-select-start-active.png b/source/gtk3/assets/text-select-start-active.png
new file mode 100644
index 0000000..654c770
Binary files /dev/null and b/source/gtk3/assets/text-select-start-active.png differ
diff --git a/source/gtk3/assets/text-select-start-active@2.png b/source/gtk3/assets/text-select-start-active@2.png
new file mode 100644
index 0000000..86f9e16
Binary files /dev/null and b/source/gtk3/assets/text-select-start-active@2.png differ
diff --git a/source/gtk3/assets/text-select-start-dark.png b/source/gtk3/assets/text-select-start-dark.png
new file mode 100644
index 0000000..51fb98a
Binary files /dev/null and b/source/gtk3/assets/text-select-start-dark.png differ
diff --git a/source/gtk3/assets/text-select-start-dark@2.png b/source/gtk3/assets/text-select-start-dark@2.png
new file mode 100644
index 0000000..ec6ceca
Binary files /dev/null and b/source/gtk3/assets/text-select-start-dark@2.png differ
diff --git a/source/gtk3/assets/text-select-start-hover-dark.png b/source/gtk3/assets/text-select-start-hover-dark.png
new file mode 100644
index 0000000..4f56c37
Binary files /dev/null and b/source/gtk3/assets/text-select-start-hover-dark.png differ
diff --git a/source/gtk3/assets/text-select-start-hover-dark@2.png b/source/gtk3/assets/text-select-start-hover-dark@2.png
new file mode 100644
index 0000000..3e5fecc
Binary files /dev/null and b/source/gtk3/assets/text-select-start-hover-dark@2.png differ
diff --git a/source/gtk3/assets/text-select-start-hover.png b/source/gtk3/assets/text-select-start-hover.png
new file mode 100644
index 0000000..0fc7e6d
Binary files /dev/null and b/source/gtk3/assets/text-select-start-hover.png differ
diff --git a/source/gtk3/assets/text-select-start-hover@2.png b/source/gtk3/assets/text-select-start-hover@2.png
new file mode 100644
index 0000000..11fdf08
Binary files /dev/null and b/source/gtk3/assets/text-select-start-hover@2.png differ
diff --git a/source/gtk3/assets/text-select-start.png b/source/gtk3/assets/text-select-start.png
new file mode 100644
index 0000000..71a74d0
Binary files /dev/null and b/source/gtk3/assets/text-select-start.png differ
diff --git a/source/gtk3/assets/text-select-start@2.png b/source/gtk3/assets/text-select-start@2.png
new file mode 100644
index 0000000..3a831f6
Binary files /dev/null and b/source/gtk3/assets/text-select-start@2.png differ
diff --git a/source/gtk3/gtk-contained-dark.css b/source/gtk3/gtk-contained-dark.css
new file mode 100644
index 0000000..32b7fb9
--- /dev/null
+++ b/source/gtk3/gtk-contained-dark.css
@@ -0,0 +1,2037 @@
+/*************************** Check and Radio buttons * */
+* { padding: 0; -GtkToolButton-icon-spacing: 4; -GtkTextView-error-underline-color: #cc0000; -GtkScrolledWindow-scrollbar-spacing: 0; -GtkToolItemGroup-expander-size: 11; -GtkWidget-text-handle-width: 20; -GtkWidget-text-handle-height: 24; -GtkDialog-button-spacing: 4; -GtkDialog-action-area-border: 0; outline-color: alpha(currentColor,0.3); outline-style: dashed; outline-offset: -3px; outline-width: 1px; -gtk-outline-radius: 3px; -gtk-secondary-caret-color: #15539e; }
+
+/*************** Base States * */
+.background { color: #eeeeec; background-color: #353535; }
+
+.background:backdrop { color: #919190; background-color: #353535; text-shadow: none; -gtk-icon-shadow: none; }
+
+/* These wildcard seems unavoidable, need to investigate. Wildcards are bad and troublesome, use them with care, or better, just don't. Everytime a wildcard is used a kitten dies, painfully. */
+*:disabled { -gtk-icon-effect: dim; }
+
+.gtkstyle-fallback { color: #eeeeec; background-color: #353535; }
+
+.gtkstyle-fallback:hover { color: #eeeeec; background-color: #4e4e4e; }
+
+.gtkstyle-fallback:active { color: #eeeeec; background-color: #1b1b1b; }
+
+.gtkstyle-fallback:disabled { color: #919190; background-color: #323232; }
+
+.gtkstyle-fallback:selected { color: #ffffff; background-color: #15539e; }
+
+.view, iconview, .view text, iconview text, textview text { color: white; background-color: #2d2d2d; }
+
+.view:backdrop, iconview:backdrop, .view text:backdrop, iconview text:backdrop, textview text:backdrop { color: #d6d6d6; background-color: #303030; }
+
+.view:backdrop:disabled, iconview:backdrop:disabled, .view text:backdrop:disabled, iconview text:backdrop:disabled, textview text:backdrop:disabled { color: #5b5b5b; }
+
+.view:disabled, iconview:disabled, .view text:disabled, iconview text:disabled, textview text:disabled { color: #919190; background-color: #323232; }
+
+.view:selected:focus, iconview:selected:focus, .view:selected, iconview:selected, .view text:selected:focus, iconview text:selected:focus, textview text:selected:focus, .view text:selected, iconview text:selected, textview text:selected { border-radius: 3px; }
+
+textview border { background-color: #313131; }
+
+.rubberband, rubberband, .content-view rubberband, .content-view .rubberband, treeview.view rubberband, flowbox rubberband { border: 1px solid #0f3b71; background-color: rgba(15, 59, 113, 0.2); }
+
+flowbox flowboxchild { padding: 3px; }
+
+flowbox flowboxchild:selected { outline-offset: -2px; }
+
+.content-view .tile { margin: 2px; background-color: black; border-radius: 0; padding: 0; }
+
+.content-view .tile:backdrop { background-color: #232323; }
+
+.content-view .tile:active, .content-view .tile:selected { background-color: #15539e; }
+
+.content-view .tile:disabled { background-color: #323232; }
+
+label { caret-color: currentColor; }
+
+label selection { background-color: #15539e; color: #ffffff; }
+
+label:disabled { color: #919190; }
+
+button label:disabled { color: inherit; }
+
+label:disabled:backdrop { color: #5b5b5b; }
+
+button label:disabled:backdrop { color: inherit; }
+
+label.error { color: #cc0000; }
+
+label.error:disabled { color: rgba(204, 0, 0, 0.5); }
+
+label.error:disabled:backdrop { color: rgba(204, 0, 0, 0.4); }
+
+.dim-label, .titlebar:not(headerbar) .subtitle, headerbar .subtitle, label.separator { opacity: 0.55; text-shadow: none; }
+
+assistant .sidebar { background-color: #2d2d2d; border-top: 1px solid #1b1b1b; }
+
+assistant .sidebar:backdrop { background-color: #303030; border-color: #202020; }
+
+assistant.csd .sidebar { border-top-style: none; }
+
+assistant .sidebar label { padding: 6px 12px; }
+
+assistant .sidebar label.highlight { background-color: #5a5a59; }
+
+.osd .scale-popup, .app-notification, .app-notification.frame, .csd popover.background.osd, popover.background.osd, .csd popover.background.touch-selection, .csd popover.background.magnifier, popover.background.touch-selection, popover.background.magnifier, .osd { color: #eeeeec; border: none; background-color: rgba(38, 38, 38, 0.9); background-clip: padding-box; text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; }
+
+.osd .scale-popup:backdrop, .app-notification:backdrop, popover.background.osd:backdrop, popover.background.touch-selection:backdrop, popover.background.magnifier:backdrop, .osd:backdrop { text-shadow: none; -gtk-icon-shadow: none; }
+
+/********************* Spinner Animation * */
+@keyframes spin { to { -gtk-icon-transform: rotate(1turn); } }
+
+spinner { background: none; opacity: 0; -gtk-icon-source: -gtk-icontheme("process-working-symbolic"); }
+
+spinner:backdrop { color: #919190; }
+
+spinner:checked { opacity: 1; animation: spin 1s linear infinite; }
+
+spinner:checked:disabled { opacity: 0.5; }
+
+/********************** General Typography * */
+.large-title { font-weight: 300; font-size: 24pt; }
+
+.title-1 { font-weight: 800; font-size: 20pt; }
+
+.title-2 { font-weight: 800; font-size: 15pt; }
+
+.title-3 { font-weight: 700; font-size: 15pt; }
+
+.title-4 { font-weight: 700; font-size: 13pt; }
+
+.heading { font-weight: 700; font-size: 11pt; }
+
+.body { font-weight: 400; font-size: 11pt; }
+
+.caption-heading { font-weight: 700; font-size: 9pt; }
+
+.caption { font-weight: 400; font-size: 9pt; }
+
+/**************** Text Entries * */
+spinbutton:not(.vertical), entry { min-height: 32px; padding-left: 8px; padding-right: 8px; border: 1px solid; border-radius: 5px; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); color: white; border-color: #1b1b1b; background-color: #2d2d2d; box-shadow: inset 0 0 0 1px rgba(21, 83, 158, 0); }
+
+spinbutton:not(.vertical) image.left, entry image.left { margin-right: 6px; }
+
+spinbutton:not(.vertical) image.right, entry image.right { margin-left: 6px; }
+
+spinbutton.flat:not(.vertical), entry.flat:focus, entry.flat:backdrop, entry.flat:disabled, entry.flat { min-height: 0; padding: 2px; background-color: transparent; border-color: transparent; border-radius: 0; }
+
+spinbutton:focus:not(.vertical), entry:focus { box-shadow: inset 0 0 0 1px #15539e; border-color: #030c17; }
+
+spinbutton:disabled:not(.vertical), entry:disabled { color: #919190; border-color: #1b1b1b; background-color: #323232; box-shadow: none; }
+
+spinbutton:backdrop:not(.vertical), entry:backdrop { color: #d6d6d6; border-color: #202020; background-color: #303030; box-shadow: none; transition: 200ms ease-out; }
+
+spinbutton:backdrop:disabled:not(.vertical), entry:backdrop:disabled { color: #5b5b5b; border-color: #202020; background-color: #323232; box-shadow: none; }
+
+spinbutton.error:not(.vertical), entry.error { color: #cc0000; border-color: #1a0000; }
+
+spinbutton.error:focus:not(.vertical), entry.error:focus { box-shadow: inset 0 0 0 1px #cc0000; border-color: #1a0000; }
+
+spinbutton.error:not(.vertical) selection, entry.error selection { background-color: #cc0000; }
+
+spinbutton.warning:not(.vertical), entry.warning { color: #f57900; border-color: #432100; }
+
+spinbutton.warning:focus:not(.vertical), entry.warning:focus { box-shadow: inset 0 0 0 1px #f57900; border-color: #432100; }
+
+spinbutton.warning:not(.vertical) selection, entry.warning selection { background-color: #f57900; }
+
+spinbutton:not(.vertical) image, entry image { color: #c7c7c6; }
+
+spinbutton:not(.vertical) image:hover, entry image:hover { color: #eeeeec; }
+
+spinbutton:not(.vertical) image:active, entry image:active { color: #15539e; }
+
+spinbutton:not(.vertical) image:backdrop, entry image:backdrop { color: #7e7e7d; }
+
+spinbutton:drop(active):not(.vertical), entry:drop(active):focus, entry:drop(active) { border-color: #4e9a06; box-shadow: inset 0 0 0 1px #4e9a06; }
+
+.osd spinbutton:not(.vertical), .osd entry { color: white; border-color: rgba(0, 0, 0, 0.7); background-color: rgba(0, 0, 0, 0.5); background-clip: padding-box; box-shadow: none; text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; }
+
+.osd spinbutton:focus:not(.vertical), .osd entry:focus { color: white; border-color: #15539e; background-color: rgba(0, 0, 0, 0.5); background-clip: padding-box; box-shadow: inset 0 0 0 1px #15539e; text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; }
+
+.osd spinbutton:backdrop:not(.vertical), .osd entry:backdrop { color: white; border-color: rgba(0, 0, 0, 0.7); background-color: rgba(0, 0, 0, 0.5); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; }
+
+.osd spinbutton:disabled:not(.vertical), .osd entry:disabled { color: #8a8a89; border-color: rgba(0, 0, 0, 0.7); background-color: rgba(58, 58, 57, 0.5); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; }
+
+spinbutton:not(.vertical) progress, entry progress { margin: 2px -6px; background-color: transparent; background-image: none; border-radius: 0; border-width: 0 0 2px; border-color: #15539e; border-style: solid; box-shadow: none; }
+
+spinbutton:not(.vertical) progress:backdrop, entry progress:backdrop { background-color: transparent; }
+
+.linked:not(.vertical) > spinbutton:focus:not(.vertical) + spinbutton:not(.vertical), .linked:not(.vertical) > spinbutton:focus:not(.vertical) + button, .linked:not(.vertical) > spinbutton:focus:not(.vertical) + combobox > box > button.combo, .linked:not(.vertical) > spinbutton:focus:not(.vertical) + entry, .linked:not(.vertical) > entry:focus + button, .linked:not(.vertical) > entry:focus + combobox > box > button.combo, .linked:not(.vertical) > entry:focus + spinbutton:not(.vertical), .linked:not(.vertical) > entry:focus + entry { border-left-color: #030c17; }
+
+.linked:not(.vertical) > spinbutton.error:focus:not(.vertical) + spinbutton:not(.vertical), .linked:not(.vertical) > spinbutton.error:focus:not(.vertical) + button, .linked:not(.vertical) > spinbutton.error:focus:not(.vertical) + combobox > box > button.combo, .linked:not(.vertical) > spinbutton.error:focus:not(.vertical) + entry, .linked:not(.vertical) > entry.error:focus + button, .linked:not(.vertical) > entry.error:focus + combobox > box > button.combo, .linked:not(.vertical) > entry.error:focus + spinbutton:not(.vertical), .linked:not(.vertical) > entry.error:focus + entry { border-left-color: #1a0000; }
+
+.linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + spinbutton:not(.vertical), .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + button, .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + combobox > box > button.combo, .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + entry, .linked:not(.vertical) > entry:drop(active) + button, .linked:not(.vertical) > entry:drop(active) + combobox > box > button.combo, .linked:not(.vertical) > entry:drop(active) + spinbutton:not(.vertical), .linked:not(.vertical) > entry:drop(active) + entry { border-left-color: #4e9a06; }
+
+.linked.vertical > spinbutton:not(:disabled):not(.vertical) + entry:not(:disabled), .linked.vertical > spinbutton:not(:disabled):not(.vertical) + spinbutton:not(:disabled):not(.vertical), .linked.vertical > entry:not(:disabled) + entry:not(:disabled), .linked.vertical > entry:not(:disabled) + spinbutton:not(:disabled):not(.vertical) { border-top-color: #282828; }
+
+.linked.vertical > spinbutton:not(:disabled):not(.vertical) + entry:not(:disabled):backdrop, .linked.vertical > spinbutton:not(:disabled):not(.vertical) + spinbutton:not(:disabled):backdrop:not(.vertical), .linked.vertical > entry:not(:disabled) + entry:not(:disabled):backdrop, .linked.vertical > entry:not(:disabled) + spinbutton:not(:disabled):backdrop:not(.vertical) { border-top-color: #2b2b2b; }
+
+.linked.vertical > spinbutton:disabled:not(.vertical) + spinbutton:disabled:not(.vertical), .linked.vertical > spinbutton:disabled:not(.vertical) + entry:disabled, .linked.vertical > entry:disabled + spinbutton:disabled:not(.vertical), .linked.vertical > entry:disabled + entry:disabled { border-top-color: #282828; }
+
+.linked.vertical > spinbutton:not(.vertical) + spinbutton:focus:not(:only-child):not(.vertical), .linked.vertical > spinbutton:not(.vertical) + entry:focus:not(:only-child), .linked.vertical > entry + spinbutton:focus:not(:only-child):not(.vertical), .linked.vertical > entry + entry:focus:not(:only-child) { border-top-color: #030c17; }
+
+.linked.vertical > spinbutton:not(.vertical) + spinbutton.error:focus:not(:only-child):not(.vertical), .linked.vertical > spinbutton:not(.vertical) + entry.error:focus:not(:only-child), .linked.vertical > entry + spinbutton.error:focus:not(:only-child):not(.vertical), .linked.vertical > entry + entry.error:focus:not(:only-child) { border-top-color: #1a0000; }
+
+.linked.vertical > spinbutton:not(.vertical) + spinbutton:drop(active):not(:only-child):not(.vertical), .linked.vertical > spinbutton:not(.vertical) + entry:drop(active):not(:only-child), .linked.vertical > entry + spinbutton:drop(active):not(:only-child):not(.vertical), .linked.vertical > entry + entry:drop(active):not(:only-child) { border-top-color: #4e9a06; }
+
+.linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + spinbutton:not(.vertical), .linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + entry, .linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + button, .linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + combobox > box > button.combo, .linked.vertical > entry:focus:not(:only-child) + spinbutton:not(.vertical), .linked.vertical > entry:focus:not(:only-child) + entry, .linked.vertical > entry:focus:not(:only-child) + button, .linked.vertical > entry:focus:not(:only-child) + combobox > box > button.combo { border-top-color: #030c17; }
+
+.linked.vertical > spinbutton.error:focus:not(:only-child):not(.vertical) + spinbutton:not(.vertical), .linked.vertical > spinbutton.error:focus:not(:only-child):not(.vertical) + entry, .linked.vertical > spinbutton.error:focus:not(:only-child):not(.vertical) + button, .linked.vertical > spinbutton.error:focus:not(:only-child):not(.vertical) + combobox > box > button.combo, .linked.vertical > entry.error:focus:not(:only-child) + spinbutton:not(.vertical), .linked.vertical > entry.error:focus:not(:only-child) + entry, .linked.vertical > entry.error:focus:not(:only-child) + button, .linked.vertical > entry.error:focus:not(:only-child) + combobox > box > button.combo { border-top-color: #1a0000; }
+
+.linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + spinbutton:not(.vertical), .linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + entry, .linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + button, .linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + combobox > box > button.combo, .linked.vertical > entry:drop(active):not(:only-child) + spinbutton:not(.vertical), .linked.vertical > entry:drop(active):not(:only-child) + entry, .linked.vertical > entry:drop(active):not(:only-child) + button, .linked.vertical > entry:drop(active):not(:only-child) + combobox > box > button.combo { border-top-color: #4e9a06; }
+
+spinbutton.error:not(.vertical), entry.error { color: #cc0000; }
+
+treeview entry:focus:dir(rtl), treeview entry:focus:dir(ltr) { background-color: #2d2d2d; transition-property: color, background; }
+
+treeview entry.flat, treeview entry { border-radius: 0; background-image: none; background-color: #2d2d2d; }
+
+treeview entry.flat:focus, treeview entry:focus { border-color: #15539e; }
+
+.entry-tag { padding: 5px; margin-top: 2px; margin-bottom: 2px; border-style: none; color: #2d2d2d; background-color: #8e8e8d; }
+
+:dir(ltr) .entry-tag { margin-left: 8px; margin-right: -5px; }
+
+:dir(rtl) .entry-tag { margin-left: -5px; margin-right: 8px; }
+
+.entry-tag:hover { background-color: #a7a7a7; }
+
+:backdrop .entry-tag { color: #303030; background-color: #606060; }
+
+.entry-tag.button { background-color: transparent; color: rgba(45, 45, 45, 0.7); }
+
+:not(:backdrop) .entry-tag.button:hover { border: 1px solid #8e8e8d; color: #2d2d2d; }
+
+:not(:backdrop) .entry-tag.button:active { background-color: #8e8e8d; color: rgba(45, 45, 45, 0.7); }
+
+/*********** Buttons * */
+@keyframes needs_attention { from { background-image: -gtk-gradient(radial, center center, 0, center center, 0.01, to(#1f76e1), to(transparent)); }
+ to { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(#15539e), to(transparent)); } }
+
+button.titlebutton, notebook > header > tabs > arrow, button { min-height: 24px; min-width: 16px; padding: 4px 9px; border: 1px solid; border-radius: 5px; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); color: #eeeeec; outline-color: rgba(238, 238, 236, 0.3); border-color: #1b1b1b; border-bottom-color: #070707; background-image: linear-gradient(to top, #323232 2px, #353535); text-shadow: 0 -1px rgba(0, 0, 0, 0.834353); -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.834353); box-shadow: inset 0 1px rgba(255, 255, 255, 0.02), 0 1px 2px rgba(0, 0, 0, 0.07); }
+
+button.titlebutton, button.sidebar-button, notebook > header > tabs > arrow, notebook > header > tabs > arrow.flat, 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; transition: none; }
+
+button.titlebutton:hover, button.sidebar-button:hover, notebook > header > tabs > arrow:hover, button.flat:hover { transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); transition-duration: 500ms; }
+
+button.titlebutton:hover:active, button.sidebar-button:hover:active, notebook > header > tabs > arrow:hover:active, button.flat:hover:active { transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); }
+
+notebook > header > tabs > arrow:hover, button:hover { color: #eeeeec; outline-color: rgba(238, 238, 236, 0.3); border-color: #1b1b1b; border-bottom-color: #070707; background-image: linear-gradient(to top, #323232, #373737 1px); text-shadow: 0 -1px rgba(0, 0, 0, 0.786353); -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.786353); box-shadow: inset 0 1px rgba(255, 255, 255, 0.02), 0 1px 2px rgba(0, 0, 0, 0.07); -gtk-icon-effect: highlight; }
+
+notebook > header > tabs > arrow:active, notebook > header > tabs > arrow:checked, button:active, button:checked { color: #eeeeec; outline-color: rgba(238, 238, 236, 0.3); border-color: #1b1b1b; background-image: image(#1e1e1e); box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; transition-duration: 50ms; }
+
+notebook > header > tabs > arrow:backdrop, button.flat:backdrop, button:backdrop { color: #919190; 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; -gtk-icon-effect: none; }
+
+notebook > header > tabs > arrow:backdrop:active, notebook > header > tabs > arrow:backdrop:checked, button.flat:backdrop:active, button.flat:backdrop:checked, button:backdrop:active, button:backdrop:checked { color: #919190; border-color: #202020; background-image: image(#2a2a2a); box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+
+notebook > header > tabs > arrow:backdrop:disabled, button.flat:backdrop:disabled, button:backdrop:disabled { color: #5b5b5b; border-color: #202020; background-image: image(#323232); text-shadow: none; -gtk-icon-shadow: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+
+notebook > header > tabs > arrow:backdrop:disabled:active, notebook > header > tabs > arrow:backdrop:disabled:checked, button.flat:backdrop:disabled:active, button.flat:backdrop:disabled:checked, button:backdrop:disabled:active, button:backdrop:disabled:checked { color: #5b5b5b; border-color: #202020; background-image: image(#2a2a2a); box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+
+button.titlebutton:backdrop, button.sidebar-button:backdrop, notebook > header > tabs > arrow:backdrop, button.titlebutton:disabled, button.sidebar-button:disabled, notebook > header > tabs > arrow:disabled, button.flat:backdrop, button.flat:disabled, button.flat:backdrop:disabled { 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; }
+
+notebook > header > tabs > arrow:disabled, button:disabled { color: #919190; border-color: #1b1b1b; background-image: image(#323232); text-shadow: none; -gtk-icon-shadow: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+
+notebook > header > tabs > arrow:disabled:active, notebook > header > tabs > arrow:disabled:checked, button:disabled:active, button:disabled:checked { color: #919190; border-color: #1b1b1b; background-image: image(#252525); box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+
+notebook > header > tabs > arrow.image-button, button.image-button { min-width: 24px; padding-left: 5px; padding-right: 5px; }
+
+notebook > header > tabs > arrow.text-button, button.text-button { padding-left: 16px; padding-right: 16px; }
+
+notebook > header > tabs > arrow.text-button.image-button, button.text-button.image-button { padding-left: 8px; padding-right: 8px; }
+
+notebook > header > tabs > arrow.text-button.image-button label, button.text-button.image-button label { padding-left: 8px; padding-right: 8px; }
+
+combobox:drop(active) button.combo, notebook > header > tabs > arrow:drop(active), button:drop(active) { color: #4e9a06; border-color: #4e9a06; box-shadow: inset 0 0 0 1px #4e9a06; }
+
+row:selected button.sidebar-button:not(:active):not(:checked):not(:hover):not(disabled), row:selected button.flat:not(:active):not(:checked):not(:hover):not(disabled) { color: #ffffff; border-color: transparent; }
+
+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(38, 38, 38, 0.9)); background-clip: padding-box; box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; outline-color: rgba(238, 238, 236, 0.3); border: none; box-shadow: none; }
+
+button.osd.image-button { min-width: 34px; }
+
+button.osd:hover { color: white; border-color: rgba(0, 0, 0, 0.7); background-color: transparent; background-image: image(rgba(68, 68, 68, 0.9)); background-clip: padding-box; box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; outline-color: rgba(238, 238, 236, 0.3); border: none; box-shadow: none; }
+
+button.osd:active, button.osd:checked { 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); border: none; box-shadow: none; }
+
+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(38, 38, 38, 0.9)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; border: none; }
+
+.app-notification button, .app-notification.frame button, .csd popover.background.touch-selection button, .csd popover.background.magnifier button, popover.background.touch-selection button, popover.background.magnifier button, .osd button { color: #eeeeec; border-color: rgba(0, 0, 0, 0.7); background-color: transparent; background-image: image(rgba(38, 38, 38, 0.9)); background-clip: padding-box; box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; outline-color: rgba(238, 238, 236, 0.3); }
+
+.app-notification button:hover, popover.background.touch-selection button:hover, popover.background.magnifier 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.9)); background-clip: padding-box; box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; outline-color: rgba(238, 238, 236, 0.3); }
+
+.app-notification button:active, popover.background.touch-selection button:active, popover.background.magnifier button:active, .app-notification button:checked, popover.background.touch-selection button:checked, popover.background.magnifier button:checked, .osd button:active:backdrop, .osd button:active, .osd button:checked:backdrop, .osd button:checked { 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); }
+
+.app-notification button:disabled, popover.background.touch-selection button:disabled, popover.background.magnifier 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; }
+
+.app-notification button:backdrop, popover.background.touch-selection button:backdrop, popover.background.magnifier 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.9)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; }
+
+.app-notification button.flat, popover.background.touch-selection button.flat, popover.background.magnifier 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; }
+
+.app-notification button.flat:hover, popover.background.touch-selection button.flat:hover, popover.background.magnifier button.flat:hover, .osd button.flat:hover { color: white; border-color: rgba(0, 0, 0, 0.7); background-color: transparent; background-image: image(rgba(68, 68, 68, 0.9)); background-clip: padding-box; box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; outline-color: rgba(238, 238, 236, 0.3); }
+
+.app-notification button.flat:disabled, popover.background.touch-selection button.flat:disabled, popover.background.magnifier button.flat:disabled, .osd button.flat: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-image: none; border-color: transparent; box-shadow: none; }
+
+.app-notification button.flat:backdrop, popover.background.touch-selection button.flat:backdrop, popover.background.magnifier button.flat:backdrop, .osd button.flat:backdrop { 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; }
+
+.app-notification button.flat:active, popover.background.touch-selection button.flat:active, popover.background.magnifier button.flat:active, .app-notification button.flat:checked, popover.background.touch-selection button.flat:checked, popover.background.magnifier button.flat:checked, .osd button.flat:active, .osd button.flat:checked { 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); }
+
+button.suggested-action { color: white; outline-color: rgba(255, 255, 255, 0.3); border-color: #0f3b71; border-bottom-color: #092444; background-image: linear-gradient(to top, #155099 2px, #15539e); text-shadow: 0 -1px rgba(0, 0, 0, 0.719216); -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.719216); box-shadow: inset 0 1px rgba(255, 255, 255, 0.02), 0 1px 2px rgba(0, 0, 0, 0.07); }
+
+button.suggested-action.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; color: #15539e; }
+
+button.suggested-action:hover { color: white; outline-color: rgba(255, 255, 255, 0.3); border-color: #0f3b71; border-bottom-color: #092444; background-image: linear-gradient(to top, #155099, #1655a2 1px); text-shadow: 0 -1px rgba(0, 0, 0, 0.671216); -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.671216); box-shadow: inset 0 1px rgba(255, 255, 255, 0.02), 0 1px 2px rgba(0, 0, 0, 0.07); }
+
+button.suggested-action:active, button.suggested-action:checked { color: white; 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; }
+
+button.suggested-action:backdrop, button.suggested-action.flat:backdrop { color: #d0ddec; border-color: #0f3b71; background-image: image(#15539e); text-shadow: none; -gtk-icon-shadow: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+
+button.suggested-action:backdrop:active, button.suggested-action:backdrop:checked, button.suggested-action.flat:backdrop:active, button.suggested-action.flat:backdrop:checked { color: #d0dae5; border-color: #0f3b71; background-image: image(#16447c); box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+
+button.suggested-action:backdrop:disabled, button.suggested-action.flat:backdrop:disabled { color: #5b5b5b; border-color: #202020; background-image: image(#323232); text-shadow: none; -gtk-icon-shadow: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+
+button.suggested-action:backdrop:disabled:active, button.suggested-action:backdrop:disabled:checked, button.suggested-action.flat:backdrop:disabled:active, button.suggested-action.flat:backdrop:disabled:checked { color: #6885aa; border-color: #0f3b71; background-image: image(#16447c); box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+
+button.suggested-action.flat:backdrop, button.suggested-action.flat:disabled, button.suggested-action.flat:backdrop:disabled { 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; color: rgba(21, 83, 158, 0.8); }
+
+button.suggested-action:disabled { color: #919190; border-color: #1b1b1b; background-image: image(#323232); text-shadow: none; -gtk-icon-shadow: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+
+button.suggested-action:disabled:active, button.suggested-action:disabled:checked { color: #a1b2c7; border-color: #0f3b71; background-image: image(#143f73); box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+
+.osd button.suggested-action { color: #eeeeec; border-color: rgba(0, 0, 0, 0.7); background-color: transparent; background-image: image(rgba(21, 83, 158, 0.5)); background-clip: padding-box; box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; outline-color: rgba(238, 238, 236, 0.3); }
+
+.osd button.suggested-action:hover { color: white; border-color: rgba(0, 0, 0, 0.7); background-color: transparent; background-image: image(rgba(21, 83, 158, 0.7)); background-clip: padding-box; box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; outline-color: rgba(238, 238, 236, 0.3); }
+
+.osd button.suggested-action:active:backdrop, .osd button.suggested-action:active, .osd button.suggested-action:checked:backdrop, .osd button.suggested-action:checked { color: white; border-color: rgba(0, 0, 0, 0.7); background-color: transparent; background-image: image(#15539e); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; outline-color: rgba(238, 238, 236, 0.3); }
+
+.osd button.suggested-action:disabled:backdrop, .osd button.suggested-action: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 button.suggested-action:backdrop { color: #eeeeec; border-color: rgba(0, 0, 0, 0.7); background-color: transparent; background-image: image(rgba(21, 83, 158, 0.5)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; }
+
+button.destructive-action { color: white; outline-color: rgba(255, 255, 255, 0.3); border-color: #851015; border-bottom-color: #570b0e; background-image: linear-gradient(to top, #ae151c 2px, #b2161d); text-shadow: 0 -1px rgba(0, 0, 0, 0.686275); -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.686275); box-shadow: inset 0 1px rgba(255, 255, 255, 0.02), 0 1px 2px rgba(0, 0, 0, 0.07); }
+
+button.destructive-action.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; color: #b2161d; }
+
+button.destructive-action:hover { color: white; outline-color: rgba(255, 255, 255, 0.3); border-color: #851015; border-bottom-color: #570b0e; background-image: linear-gradient(to top, #ae151c, #b7161d 1px); text-shadow: 0 -1px rgba(0, 0, 0, 0.638275); -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.638275); box-shadow: inset 0 1px rgba(255, 255, 255, 0.02), 0 1px 2px rgba(0, 0, 0, 0.07); }
+
+button.destructive-action:active, button.destructive-action:checked { color: white; outline-color: rgba(255, 255, 255, 0.3); border-color: #851015; background-image: image(#8a1116); box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; }
+
+button.destructive-action:backdrop, button.destructive-action.flat:backdrop { color: #f0d0d2; border-color: #851015; background-image: image(#b2161d); text-shadow: none; -gtk-icon-shadow: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+
+button.destructive-action:backdrop:active, button.destructive-action:backdrop:checked, button.destructive-action.flat:backdrop:active, button.destructive-action.flat:backdrop:checked { color: #e8d0d2; border-color: #851015; background-image: image(#8c161c); box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+
+button.destructive-action:backdrop:disabled, button.destructive-action.flat:backdrop:disabled { color: #5b5b5b; border-color: #202020; background-image: image(#323232); text-shadow: none; -gtk-icon-shadow: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+
+button.destructive-action:backdrop:disabled:active, button.destructive-action:backdrop:disabled:checked, button.destructive-action.flat:backdrop:disabled:active, button.destructive-action.flat:backdrop:disabled:checked { color: #b5686b; border-color: #851015; background-image: image(#8c161c); box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+
+button.destructive-action.flat:backdrop, button.destructive-action.flat:disabled, button.destructive-action.flat:backdrop:disabled { 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; color: rgba(178, 22, 29, 0.8); }
+
+button.destructive-action:disabled { color: #919190; border-color: #1b1b1b; background-image: image(#323232); text-shadow: none; -gtk-icon-shadow: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+
+button.destructive-action:disabled:active, button.destructive-action:disabled:checked { color: #cea1a3; border-color: #851015; background-image: image(#84151a); box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+
+.osd button.destructive-action { color: #eeeeec; border-color: rgba(0, 0, 0, 0.7); background-color: transparent; background-image: image(rgba(178, 22, 29, 0.5)); background-clip: padding-box; box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; outline-color: rgba(238, 238, 236, 0.3); }
+
+.osd button.destructive-action:hover { color: white; border-color: rgba(0, 0, 0, 0.7); background-color: transparent; background-image: image(rgba(178, 22, 29, 0.7)); background-clip: padding-box; box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; outline-color: rgba(238, 238, 236, 0.3); }
+
+.osd button.destructive-action:active:backdrop, .osd button.destructive-action:active, .osd button.destructive-action:checked:backdrop, .osd button.destructive-action:checked { color: white; border-color: rgba(0, 0, 0, 0.7); background-color: transparent; background-image: image(#b2161d); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; outline-color: rgba(238, 238, 236, 0.3); }
+
+.osd button.destructive-action:disabled:backdrop, .osd button.destructive-action: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 button.destructive-action:backdrop { color: #eeeeec; border-color: rgba(0, 0, 0, 0.7); background-color: transparent; background-image: image(rgba(178, 22, 29, 0.5)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; }
+
+.stack-switcher > button { outline-offset: -3px; }
+
+.stack-switcher > button > label { padding-left: 6px; padding-right: 6px; }
+
+.stack-switcher > button > image { padding-left: 6px; padding-right: 6px; padding-top: 3px; padding-bottom: 3px; }
+
+.stack-switcher > button.text-button { padding-left: 10px; padding-right: 10px; }
+
+.stack-switcher > button.image-button { padding-left: 2px; padding-right: 2px; }
+
+.stack-switcher > button.needs-attention:active > label, .stack-switcher > button.needs-attention:active > image, .stack-switcher > button.needs-attention:checked > label, .stack-switcher > button.needs-attention:checked > image { animation: none; background-image: none; }
+
+button.font separator, button.file separator { background-color: transparent; }
+
+button.font > box > box > label { font-weight: bold; }
+
+.primary-toolbar button { -gtk-icon-shadow: none; }
+
+button.circular { border-radius: 9999px; -gtk-outline-radius: 9999px; padding: 4px; /* circles instead of ellipses */ background-origin: padding-box, border-box; background-clip: padding-box, border-box; }
+
+button.circular label { padding: 0; }
+
+button.circular:not(.flat):not(.osd):not(:checked):not(:active):not(:disabled):not(:backdrop) { color: #eeeeec; outline-color: rgba(238, 238, 236, 0.3); border-color: #1b1b1b; border-bottom-color: #070707; background-image: linear-gradient(to top, #323232 2px, #353535), linear-gradient(to top, #070707 25%, #1b1b1b 50%); text-shadow: 0 -1px rgba(0, 0, 0, 0.834353); -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.834353); box-shadow: inset 0 1px rgba(255, 255, 255, 0.02), 0 1px 2px rgba(0, 0, 0, 0.07); border-color: transparent; }
+
+button.circular:hover:not(.osd):not(:checked):not(:active):not(:disabled):not(:backdrop) { color: #eeeeec; outline-color: rgba(238, 238, 236, 0.3); border-color: #1b1b1b; border-bottom-color: #070707; background-image: linear-gradient(to top, #323232, #373737 1px), linear-gradient(to top, #070707 25%, #1b1b1b 50%); text-shadow: 0 -1px rgba(0, 0, 0, 0.786353); -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.786353); box-shadow: inset 0 1px rgba(255, 255, 255, 0.02), 0 1px 2px rgba(0, 0, 0, 0.07); border-color: transparent; }
+
+stacksidebar row.needs-attention > label, .stack-switcher > button.needs-attention > label, .stack-switcher > button.needs-attention > image { animation: needs_attention 150ms ease-in; background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(#1f76e1), to(transparent)), -gtk-gradient(radial, center center, 0, center center, 0.45, to(rgba(0, 0, 0, 0.834353)), to(transparent)); background-size: 6px 6px, 6px 6px; background-repeat: no-repeat; background-position: right 3px, right 2px; }
+
+stacksidebar row.needs-attention > label:backdrop, .stack-switcher > button.needs-attention > label:backdrop, .stack-switcher > button.needs-attention > image:backdrop { background-size: 6px 6px, 0 0; }
+
+stacksidebar row.needs-attention > label:dir(rtl), .stack-switcher > button.needs-attention > label:dir(rtl), .stack-switcher > button.needs-attention > image:dir(rtl) { background-position: left 3px, left 2px; }
+
+.inline-toolbar toolbutton > button { color: #eeeeec; outline-color: rgba(238, 238, 236, 0.3); border-color: #1b1b1b; border-bottom-color: #070707; background-image: linear-gradient(to top, #323232 2px, #353535); text-shadow: 0 -1px rgba(0, 0, 0, 0.834353); -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.834353); box-shadow: inset 0 1px rgba(255, 255, 255, 0.02), 0 1px 2px rgba(0, 0, 0, 0.07); }
+
+.inline-toolbar toolbutton > button:hover { color: #eeeeec; outline-color: rgba(238, 238, 236, 0.3); border-color: #1b1b1b; border-bottom-color: #070707; background-image: linear-gradient(to top, #323232, #373737 1px); text-shadow: 0 -1px rgba(0, 0, 0, 0.786353); -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.786353); box-shadow: inset 0 1px rgba(255, 255, 255, 0.02), 0 1px 2px rgba(0, 0, 0, 0.07); }
+
+.inline-toolbar toolbutton > button:active, .inline-toolbar toolbutton > button:checked { color: #eeeeec; outline-color: rgba(238, 238, 236, 0.3); border-color: #1b1b1b; background-image: image(#1e1e1e); box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; }
+
+.inline-toolbar toolbutton > button:disabled { color: #919190; border-color: #1b1b1b; background-image: image(#323232); text-shadow: none; -gtk-icon-shadow: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+
+.inline-toolbar toolbutton > button:disabled:active, .inline-toolbar toolbutton > button:disabled:checked { color: #919190; border-color: #1b1b1b; background-image: image(#252525); box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+
+.inline-toolbar toolbutton > button:backdrop { color: #919190; border-color: #202020; background-image: image(#353535); text-shadow: none; -gtk-icon-shadow: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+
+.inline-toolbar toolbutton > button:backdrop:active, .inline-toolbar toolbutton > button:backdrop:checked { color: #919190; border-color: #202020; background-image: image(#2a2a2a); box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+
+.inline-toolbar toolbutton > button:backdrop:disabled { color: #5b5b5b; border-color: #202020; background-image: image(#323232); text-shadow: none; -gtk-icon-shadow: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+
+.inline-toolbar toolbutton > button:backdrop:disabled:active, .inline-toolbar toolbutton > button:backdrop:disabled:checked { color: #5b5b5b; border-color: #202020; background-image: image(#2a2a2a); box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+
+.linked:not(.vertical) > combobox > box > button.combo, filechooser .path-bar.linked > button, .linked:not(.vertical) > spinbutton:not(.vertical), .linked:not(.vertical) > entry, .inline-toolbar button, .linked > button, toolbar.inline-toolbar toolbutton > button.flat { border-right-style: none; border-radius: 0; -gtk-outline-radius: 0; }
+
+.linked:not(.vertical) > combobox:first-child > box > button.combo, combobox.linked button:nth-child(2):dir(rtl), filechooser .path-bar.linked > button:dir(rtl):last-child, filechooser .path-bar.linked > button:dir(ltr):first-child, .linked:not(.vertical) > spinbutton:first-child:not(.vertical), .linked:not(.vertical) > entry:first-child, .inline-toolbar button:first-child, .linked > button:first-child, toolbar.inline-toolbar toolbutton:first-child > button.flat { border-top-left-radius: 5px; border-bottom-left-radius: 5px; -gtk-outline-top-left-radius: 5px; -gtk-outline-bottom-left-radius: 5px; }
+
+.linked:not(.vertical) > combobox:last-child > box > button.combo, combobox.linked button:nth-child(2):dir(ltr), filechooser .path-bar.linked > button:dir(rtl):first-child, filechooser .path-bar.linked > button:dir(ltr):last-child, .linked:not(.vertical) > spinbutton:last-child:not(.vertical), .linked:not(.vertical) > entry:last-child, .inline-toolbar button:last-child, .linked > button:last-child, toolbar.inline-toolbar toolbutton:last-child > button.flat { border-right-style: solid; border-top-right-radius: 5px; border-bottom-right-radius: 5px; -gtk-outline-top-right-radius: 5px; -gtk-outline-bottom-right-radius: 5px; }
+
+.linked:not(.vertical) > combobox:only-child > box > button.combo, filechooser .path-bar.linked > button:only-child, .linked:not(.vertical) > spinbutton:only-child:not(.vertical), .linked:not(.vertical) > entry:only-child, .inline-toolbar button:only-child, .linked > button:only-child, toolbar.inline-toolbar toolbutton:only-child > button.flat { border-style: solid; border-radius: 5px; -gtk-outline-radius: 5px; }
+
+.linked.vertical > combobox > box > button.combo, .linked.vertical > spinbutton:not(.vertical), .linked.vertical > entry, .linked.vertical > button { border-style: solid solid none solid; border-radius: 0; -gtk-outline-radius: 0; }
+
+.linked.vertical > combobox:first-child > box > button.combo, .linked.vertical > spinbutton:first-child:not(.vertical), .linked.vertical > entry:first-child, .linked.vertical > button:first-child { border-top-left-radius: 5px; border-top-right-radius: 5px; -gtk-outline-top-left-radius: 5px; -gtk-outline-top-right-radius: 5px; }
+
+.linked.vertical > combobox:last-child > box > button.combo, .linked.vertical > spinbutton:last-child:not(.vertical), .linked.vertical > entry:last-child, .linked.vertical > button:last-child { border-bottom-style: solid; border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; -gtk-outline-bottom-left-radius: 5px; -gtk-outline-bottom-right-radius: 5px; }
+
+.linked.vertical > combobox:only-child > box > button.combo, .linked.vertical > spinbutton:only-child:not(.vertical), .linked.vertical > entry:only-child, .linked.vertical > button:only-child { border-style: solid; border-radius: 5px; -gtk-outline-radius: 5px; }
+
+.scale-popup button:backdrop:hover, .scale-popup button:backdrop:disabled, .scale-popup button:backdrop, .scale-popup button:hover, calendar.button, button:link:hover, button:link:active, button:link:checked, button:visited:hover, button:visited:active, button:visited:checked, button:link, button:visited, list row button.image-button:not(.flat), modelbutton.flat:backdrop, modelbutton.flat:backdrop:hover, modelbutton.flat, .menuitem.button.flat { background-color: transparent; background-image: none; border-color: transparent; box-shadow: inset 0 1px rgba(255, 255, 255, 0), 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; }
+
+/* menu buttons */
+modelbutton.flat, .menuitem.button.flat { min-height: 26px; padding-left: 5px; padding-right: 5px; border-radius: 5px; outline-offset: -2px; }
+
+modelbutton.flat:hover, .menuitem.button.flat:hover { background-color: #424242; }
+
+modelbutton.flat arrow { background: none; }
+
+modelbutton.flat arrow:hover { background: none; }
+
+modelbutton.flat arrow.left { -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); }
+
+modelbutton.flat arrow.right { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); }
+
+button.color { padding: 4px; }
+
+button.color colorswatch:only-child, button.color colorswatch:only-child overlay { border-radius: 0; }
+
+/* list buttons */
+/* tone down as per new designs, see issue #1473, #1748 */
+list row button.image-button:not(.flat) { border: 1px solid rgba(27, 27, 27, 0.5); }
+
+list row button.image-button:not(.flat):hover { color: #eeeeec; outline-color: rgba(238, 238, 236, 0.3); border-color: #1b1b1b; border-bottom-color: #070707; background-image: linear-gradient(to top, #323232, #373737 1px); text-shadow: 0 -1px rgba(0, 0, 0, 0.786353); -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.786353); box-shadow: inset 0 1px rgba(255, 255, 255, 0.02), 0 1px 2px rgba(0, 0, 0, 0.07); }
+
+list row button.image-button:not(.flat):active, list row button.image-button:not(.flat):checked { color: #eeeeec; outline-color: rgba(238, 238, 236, 0.3); border-color: #1b1b1b; background-image: image(#1e1e1e); box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; }
+
+/********* Links * */
+button:link > label, button:visited > label, button:link, button:visited, *:link { color: #3584e4; }
+
+button:link > label:visited, button:visited > label:visited, button:visited, *:link:visited { color: #1b6acb; }
+
+*:selected button:link > label:visited, *:selected button:visited > label:visited, *:selected button:visited, *:selected *:link:visited { color: #a4c4ea; }
+
+button:link > label:hover, button:visited > label:hover, button:hover:link, button:hover:visited, *:link:hover { color: #629fea; }
+
+*:selected button:link > label:hover, *:selected button:visited > label:hover, *:selected button:hover:link, *:selected button:hover:visited, *:selected *:link:hover { color: #eff5fd; }
+
+button:link > label:active, button:visited > label:active, button:active:link, button:active:visited, *:link:active { color: #3584e4; }
+
+*:selected button:link > label:active, *:selected button:visited > label:active, *:selected button:active:link, *:selected button:active:visited, *:selected *:link:active { color: #d7e6fa; }
+
+button:link > label:disabled, button:visited > label:disabled, button:disabled:link, button:disabled:visited, *:link:disabled, *:link:disabled:backdrop { color: rgba(141, 141, 141, 0.8); }
+
+button:link > label:backdrop, button:visited > label:backdrop, button:backdrop:link, button:backdrop:visited, *:link:backdrop:backdrop:hover, *:link:backdrop:backdrop:hover:selected, *:link:backdrop { color: rgba(53, 132, 228, 0.9); }
+
+.selection-mode .titlebar:not(headerbar) .subtitle:link, .selection-mode.titlebar:not(headerbar) .subtitle:link, .selection-mode headerbar .subtitle:link, headerbar.selection-mode .subtitle:link, button:link > label:selected, button:visited > label:selected, button:selected:link, button:selected:visited, *:selected button:link > label, *:selected button:visited > label, *:selected button:link, *:selected button:visited, *:link:selected, *:selected *:link { color: #d7e6fa; }
+
+button:link, button:visited { text-shadow: none; }
+
+button:link:hover, button:link:active, button:link:checked, button:visited:hover, button:visited:active, button:visited:checked { text-shadow: none; }
+
+button:link > label, button:visited > label { text-decoration-line: underline; }
+
+/***************** GtkSpinButton * */
+spinbutton { font-feature-settings: "tnum"; }
+
+spinbutton:not(.vertical) { padding: 0; }
+
+.osd spinbutton:not(.vertical) entry, spinbutton:not(.vertical) entry { min-width: 28px; margin: 0; background: none; background-color: transparent; border: none; border-radius: 0; box-shadow: none; }
+
+spinbutton:not(.vertical) entry:backdrop:disabled { background-color: transparent; }
+
+spinbutton:not(.vertical) button { min-height: 16px; margin: 0; padding-bottom: 0; padding-top: 0; color: #dbdbd9; background-image: none; border-style: none none none solid; border-color: rgba(27, 27, 27, 0.3); border-radius: 0; box-shadow: none; }
+
+spinbutton:not(.vertical) button:dir(rtl) { border-style: none solid none none; }
+
+spinbutton:not(.vertical) button:hover { color: #eeeeec; background-color: rgba(238, 238, 236, 0.05); }
+
+spinbutton:not(.vertical) button:disabled { color: rgba(145, 145, 144, 0.3); background-color: transparent; }
+
+spinbutton:not(.vertical) button:active { background-color: rgba(0, 0, 0, 0.1); box-shadow: inset 0 2px 3px -1px rgba(0, 0, 0, 0.2); }
+
+spinbutton:not(.vertical) button:backdrop { color: #878786; background-color: transparent; border-color: rgba(32, 32, 32, 0.3); transition: 200ms ease-out; }
+
+spinbutton:not(.vertical) button:backdrop:disabled { color: rgba(91, 91, 91, 0.3); background-color: transparent; background-image: none; border-style: none none none solid; }
+
+spinbutton:not(.vertical) button:backdrop:disabled:dir(rtl) { border-style: none solid none none; }
+
+spinbutton:not(.vertical) button:dir(ltr):last-child { border-radius: 0 5px 5px 0; }
+
+spinbutton:not(.vertical) button:dir(rtl):first-child { border-radius: 5px 0 0 5px; }
+
+.osd spinbutton:not(.vertical) button { 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; color: #eeeeec; border-style: none none none solid; border-color: rgba(0, 0, 0, 0.4); border-radius: 0; box-shadow: none; -gtk-icon-shadow: 0 1px black; }
+
+.osd spinbutton:not(.vertical) button:dir(rtl) { border-style: none solid none none; }
+
+.osd spinbutton:not(.vertical) button:hover { 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; color: #eeeeec; border-color: rgba(0, 0, 0, 0.5); background-color: rgba(238, 238, 236, 0.1); -gtk-icon-shadow: 0 1px black; box-shadow: none; }
+
+.osd spinbutton:not(.vertical) button:backdrop { 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; color: #eeeeec; border-color: rgba(0, 0, 0, 0.5); -gtk-icon-shadow: none; box-shadow: none; }
+
+.osd spinbutton:not(.vertical) button:disabled { 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; color: #8a8a89; border-color: rgba(0, 0, 0, 0.5); -gtk-icon-shadow: none; box-shadow: none; }
+
+.osd spinbutton:not(.vertical) button:dir(ltr):last-child { border-radius: 0 5px 5px 0; }
+
+.osd spinbutton:not(.vertical) button:dir(rtl):first-child { border-radius: 5px 0 0 5px; }
+
+spinbutton.vertical:disabled { color: #919190; }
+
+spinbutton.vertical:backdrop:disabled { color: #5b5b5b; }
+
+spinbutton.vertical:drop(active) { border-color: transparent; box-shadow: none; }
+
+spinbutton.vertical entry { min-height: 32px; min-width: 32px; padding: 0; border-radius: 0; }
+
+spinbutton.vertical button { min-height: 32px; min-width: 32px; padding: 0; }
+
+spinbutton.vertical button.up { border-radius: 5px 5px 0 0; border-style: solid solid none solid; }
+
+spinbutton.vertical button.down { border-radius: 0 0 5px 5px; border-style: none solid solid solid; }
+
+.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.9)); background-clip: padding-box; box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; 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.9)); background-clip: padding-box; box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; outline-color: rgba(238, 238, 236, 0.3); }
+
+.osd spinbutton.vertical button:first-child: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 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(38, 38, 38, 0.9)); 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; }
+
+treeview spinbutton:not(.vertical) entry { min-height: 0; padding: 1px 2px; }
+
+/************** ComboBoxes * */
+combobox arrow { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); min-height: 16px; min-width: 16px; }
+
+combobox:drop(active) { box-shadow: none; }
+
+/************ Toolbars * */
+searchbar > revealer > box, .location-bar, .inline-toolbar, toolbar { -GtkWidget-window-dragging: true; padding: 4px; background-color: #353535; }
+
+toolbar { padding: 4px 3px 3px 4px; }
+
+.osd toolbar { background-color: transparent; }
+
+toolbar.osd { padding: 13px; border: none; border-radius: 5px; background-color: rgba(38, 38, 38, 0.9); }
+
+toolbar.osd.left, toolbar.osd.right, toolbar.osd.top, toolbar.osd.bottom { border-radius: 0; }
+
+toolbar.horizontal separator { margin: 0 7px 1px 6px; }
+
+toolbar.vertical separator { margin: 6px 1px 7px 0; }
+
+toolbar:not(.inline-toolbar):not(.osd) > *:not(.toggle):not(.popup) > * { margin-right: 1px; margin-bottom: 1px; }
+
+.inline-toolbar { padding: 3px; border-width: 0 1px 1px; border-radius: 0 0 5px 5px; }
+
+searchbar > revealer > box, .location-bar { border-width: 0 0 1px; padding: 3px; }
+
+searchbar > revealer > box { margin: -6px; padding: 6px; }
+
+.inline-toolbar, searchbar > revealer > box, .location-bar { border-style: solid; border-color: #1b1b1b; background-color: #2d2d2d; }
+
+.inline-toolbar:backdrop, searchbar > revealer > box:backdrop, .location-bar: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; 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; }
+
+.titlebar:not(headerbar) .title, headerbar .title { padding-left: 12px; padding-right: 12px; font-weight: bold; }
+
+.titlebar:not(headerbar) .subtitle, headerbar .subtitle { font-size: smaller; padding-left: 12px; padding-right: 12px; }
+
+.titlebar:not(headerbar) stackswitcher button:checked, .titlebar:not(headerbar) button.toggle:checked, headerbar stackswitcher button:checked, headerbar button.toggle:checked { background: image(#1e1e1e); border-color: #141414; border-top-color: #070707; }
+
+.titlebar:not(headerbar) stackswitcher button:checked:backdrop, .titlebar:not(headerbar) button.toggle:checked:backdrop, headerbar stackswitcher button:checked:backdrop, headerbar button.toggle:checked:backdrop { color: #919190; border-color: #202020; background-image: image(#2a2a2a); box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+
+.selection-mode .titlebar:not(headerbar), .selection-mode.titlebar:not(headerbar), .selection-mode headerbar, headerbar.selection-mode { color: #ffffff; border-color: #030c17; text-shadow: 0 -1px rgba(0, 0, 0, 0.5); background: #15539e linear-gradient(to top, #185cb0, #1961b9); box-shadow: inset 0 1px rgba(29, 88, 161, 0.535); }
+
+.selection-mode .titlebar:backdrop:not(headerbar), .selection-mode.titlebar:backdrop:not(headerbar), .selection-mode headerbar:backdrop, headerbar.selection-mode:backdrop { background-color: #15539e; background-image: none; box-shadow: inset 0 1px rgba(32, 91, 162, 0.442); }
+
+.selection-mode .titlebar:backdrop:not(headerbar) label, .selection-mode.titlebar:backdrop:not(headerbar) label, .selection-mode headerbar:backdrop label, headerbar.selection-mode:backdrop label { text-shadow: none; color: #ffffff; }
+
+.selection-mode .titlebar:not(headerbar) button, .selection-mode.titlebar:not(headerbar) button, .selection-mode headerbar button, headerbar.selection-mode button { color: #ffffff; outline-color: rgba(255, 255, 255, 0.3); border-color: #0f3b71; border-bottom-color: #092444; background-image: linear-gradient(to top, #155099 2px, #15539e); text-shadow: 0 -1px rgba(0, 0, 0, 0.719216); -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.719216); box-shadow: inset 0 1px rgba(255, 255, 255, 0.02), 0 1px 2px rgba(0, 0, 0, 0.07); }
+
+.selection-mode button.titlebutton, .selection-mode .titlebar:not(headerbar) button.flat, .selection-mode.titlebar:not(headerbar) button.flat, .selection-mode headerbar button.flat, headerbar.selection-mode 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; }
+
+.selection-mode .titlebar:not(headerbar) button:hover, .selection-mode.titlebar:not(headerbar) button:hover, .selection-mode headerbar button:hover, headerbar.selection-mode button:hover { color: #ffffff; outline-color: rgba(255, 255, 255, 0.3); border-color: #0f3b71; border-bottom-color: #092444; background-image: linear-gradient(to top, #155099, #1655a2 1px); text-shadow: 0 -1px rgba(0, 0, 0, 0.671216); -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.671216); box-shadow: inset 0 1px rgba(255, 255, 255, 0.02), 0 1px 2px rgba(0, 0, 0, 0.07); }
+
+.selection-mode .titlebar:not(headerbar) button:active, .selection-mode .titlebar:not(headerbar) button:checked, .selection-mode.titlebar:not(headerbar) button:active, .selection-mode.titlebar:not(headerbar) button:checked, .selection-mode headerbar button:active, .selection-mode headerbar button:checked, .selection-mode headerbar button.toggle:checked, .selection-mode headerbar button.toggle:active, headerbar.selection-mode button:active, headerbar.selection-mode button:checked, headerbar.selection-mode button.toggle:checked, headerbar.selection-mode button.toggle: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; }
+
+.selection-mode .titlebar:not(headerbar) button:backdrop, .selection-mode.titlebar:not(headerbar) button:backdrop, .selection-mode headerbar button.flat:backdrop, .selection-mode headerbar button:backdrop, headerbar.selection-mode button.flat:backdrop, headerbar.selection-mode button:backdrop { color: #d0ddec; border-color: #0f3b71; background-image: image(#15539e); text-shadow: none; -gtk-icon-shadow: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); -gtk-icon-effect: none; border-color: #030c17; }
+
+.selection-mode .titlebar:not(headerbar) button:backdrop:active, .selection-mode .titlebar:not(headerbar) button:backdrop:checked, .selection-mode.titlebar:not(headerbar) button:backdrop:active, .selection-mode.titlebar:not(headerbar) button:backdrop:checked, .selection-mode headerbar button.flat:backdrop:active, .selection-mode headerbar button.flat:backdrop:checked, .selection-mode headerbar button:backdrop:active, .selection-mode headerbar button:backdrop:checked, headerbar.selection-mode button.flat:backdrop:active, headerbar.selection-mode button.flat:backdrop:checked, headerbar.selection-mode button:backdrop:active, headerbar.selection-mode button:backdrop:checked { color: #d0dae5; border-color: #0f3b71; background-image: image(#16447c); box-shadow: inset 0 1px rgba(255, 255, 255, 0); border-color: #030c17; }
+
+.selection-mode .titlebar:not(headerbar) button:backdrop:disabled, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled, .selection-mode headerbar button.flat:backdrop:disabled, .selection-mode headerbar button:backdrop:disabled, headerbar.selection-mode button.flat:backdrop:disabled, headerbar.selection-mode button:backdrop:disabled { color: #6a8bb5; border-color: #0f3b71; background-image: image(#194d8d); text-shadow: none; -gtk-icon-shadow: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); border-color: #030c17; }
+
+.selection-mode .titlebar:not(headerbar) button:backdrop:disabled:active, .selection-mode .titlebar:not(headerbar) button:backdrop:disabled:checked, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled:active, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled:checked, .selection-mode headerbar button:backdrop:disabled:active, .selection-mode headerbar button:backdrop:disabled:checked, headerbar.selection-mode button:backdrop:disabled:active, headerbar.selection-mode button:backdrop:disabled:checked { color: #6885aa; border-color: #0f3b71; background-image: image(#16447c); box-shadow: inset 0 1px rgba(255, 255, 255, 0); border-color: #030c17; }
+
+.selection-mode button.titlebutton:backdrop, .selection-mode button.titlebutton:disabled, .selection-mode .titlebar:not(headerbar) button.flat:backdrop, .selection-mode .titlebar:not(headerbar) button.flat:disabled, .selection-mode.titlebar:not(headerbar) button.flat:backdrop, .selection-mode.titlebar:not(headerbar) button.flat:disabled, .selection-mode headerbar button.flat:backdrop, .selection-mode headerbar button.flat:disabled, .selection-mode headerbar button.flat:backdrop:disabled, headerbar.selection-mode button.flat:backdrop, headerbar.selection-mode button.flat:disabled, headerbar.selection-mode button.flat:backdrop:disabled { 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; }
+
+.selection-mode .titlebar:not(headerbar) button:disabled, .selection-mode.titlebar:not(headerbar) button:disabled, .selection-mode headerbar button:disabled, headerbar.selection-mode button:disabled { color: #8ca6c6; border-color: #0f3b71; background-image: image(#194d8d); text-shadow: none; -gtk-icon-shadow: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+
+.selection-mode .titlebar:not(headerbar) button:disabled:active, .selection-mode .titlebar:not(headerbar) button:disabled:checked, .selection-mode.titlebar:not(headerbar) button:disabled:active, .selection-mode.titlebar:not(headerbar) button:disabled:checked, .selection-mode headerbar button:disabled:active, .selection-mode headerbar button:disabled:checked, headerbar.selection-mode button:disabled:active, headerbar.selection-mode button:disabled:checked { color: #a1b2c7; border-color: #0f3b71; background-image: image(#143f73); box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+
+.selection-mode .titlebar:not(headerbar) button.suggested-action, .selection-mode.titlebar:not(headerbar) button.suggested-action, .selection-mode headerbar button.suggested-action, headerbar.selection-mode button.suggested-action { color: #eeeeec; outline-color: rgba(238, 238, 236, 0.3); border-color: #1b1b1b; border-bottom-color: #070707; background-image: linear-gradient(to top, #323232 2px, #353535); text-shadow: 0 -1px rgba(0, 0, 0, 0.834353); -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.834353); box-shadow: inset 0 1px rgba(255, 255, 255, 0.02), 0 1px 2px rgba(0, 0, 0, 0.07); border-color: #030c17; }
+
+.selection-mode .titlebar:not(headerbar) button.suggested-action:hover, .selection-mode.titlebar:not(headerbar) button.suggested-action:hover, .selection-mode headerbar button.suggested-action:hover, headerbar.selection-mode button.suggested-action:hover { color: #eeeeec; outline-color: rgba(238, 238, 236, 0.3); border-color: #1b1b1b; border-bottom-color: #070707; background-image: linear-gradient(to top, #323232, #373737 1px); text-shadow: 0 -1px rgba(0, 0, 0, 0.786353); -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.786353); box-shadow: inset 0 1px rgba(255, 255, 255, 0.02), 0 1px 2px rgba(0, 0, 0, 0.07); border-color: #030c17; }
+
+.selection-mode .titlebar:not(headerbar) button.suggested-action:active, .selection-mode.titlebar:not(headerbar) button.suggested-action:active, .selection-mode headerbar button.suggested-action:active, headerbar.selection-mode button.suggested-action:active { color: #eeeeec; outline-color: rgba(238, 238, 236, 0.3); border-color: #1b1b1b; background-image: image(#1e1e1e); box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; border-color: #030c17; }
+
+.selection-mode .titlebar:not(headerbar) button.suggested-action:disabled, .selection-mode.titlebar:not(headerbar) button.suggested-action:disabled, .selection-mode headerbar button.suggested-action:disabled, headerbar.selection-mode button.suggested-action:disabled { color: #919190; border-color: #1b1b1b; background-image: image(#323232); text-shadow: none; -gtk-icon-shadow: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); border-color: #030c17; }
+
+.selection-mode .titlebar:not(headerbar) button.suggested-action:backdrop, .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop, .selection-mode headerbar button.suggested-action:backdrop, headerbar.selection-mode button.suggested-action:backdrop { color: #919190; border-color: #202020; background-image: image(#353535); text-shadow: none; -gtk-icon-shadow: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); border-color: #030c17; }
+
+.selection-mode .titlebar:not(headerbar) button.suggested-action:backdrop:disabled, .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop:disabled, .selection-mode headerbar button.suggested-action:backdrop:disabled, headerbar.selection-mode button.suggested-action:backdrop:disabled { color: #5b5b5b; border-color: #202020; background-image: image(#323232); text-shadow: none; -gtk-icon-shadow: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); border-color: #030c17; }
+
+.selection-mode .titlebar:not(headerbar) .selection-menu, .selection-mode.titlebar:not(headerbar) .selection-menu, .selection-mode headerbar .selection-menu:backdrop, .selection-mode headerbar .selection-menu, headerbar.selection-mode .selection-menu:backdrop, headerbar.selection-mode .selection-menu { border-color: rgba(21, 83, 158, 0); background-color: rgba(21, 83, 158, 0); background-image: none; box-shadow: none; min-height: 20px; padding: 6px 10px; }
+
+.selection-mode .titlebar:not(headerbar) .selection-menu arrow, .selection-mode.titlebar:not(headerbar) .selection-menu arrow, .selection-mode headerbar .selection-menu:backdrop arrow, .selection-mode headerbar .selection-menu arrow, headerbar.selection-mode .selection-menu:backdrop arrow, headerbar.selection-mode .selection-menu arrow { -GtkArrow-arrow-scaling: 1; }
+
+.selection-mode .titlebar:not(headerbar) .selection-menu .arrow, .selection-mode.titlebar:not(headerbar) .selection-menu .arrow, .selection-mode headerbar .selection-menu:backdrop .arrow, .selection-mode headerbar .selection-menu .arrow, headerbar.selection-mode .selection-menu:backdrop .arrow, headerbar.selection-mode .selection-menu .arrow { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); color: rgba(255, 255, 255, 0.5); -gtk-icon-shadow: none; }
+
+.tiled .titlebar:not(headerbar), .tiled-top .titlebar:not(headerbar), .tiled-right .titlebar:not(headerbar), .tiled-bottom .titlebar:not(headerbar), .tiled-left .titlebar:not(headerbar), .maximized .titlebar:not(headerbar), .fullscreen .titlebar:not(headerbar), .tiled headerbar, .tiled-top headerbar, .tiled-right headerbar, .tiled-bottom headerbar, .tiled-left headerbar, .maximized headerbar, .fullscreen headerbar { border-radius: 0; }
+
+.default-decoration.titlebar:not(headerbar), headerbar.default-decoration { min-height: 28px; padding: 4px; }
+
+.default-decoration.titlebar:not(headerbar) button.titlebutton, headerbar.default-decoration button.titlebutton { min-height: 26px; min-width: 26px; margin: 0; padding: 0; }
+
+.titlebar:not(headerbar) separator.titlebutton, headerbar separator.titlebutton { opacity: 0; }
+
+.solid-csd .titlebar:dir(rtl):not(headerbar), .solid-csd .titlebar:dir(ltr):not(headerbar), .solid-csd headerbar:backdrop:dir(rtl), .solid-csd headerbar:backdrop:dir(ltr), .solid-csd headerbar:dir(rtl), .solid-csd headerbar:dir(ltr) { margin-left: -1px; margin-right: -1px; margin-top: -1px; border-radius: 0; box-shadow: none; }
+
+headerbar entry, headerbar spinbutton, headerbar separator:not(.sidebar), headerbar button { margin-top: 6px; margin-bottom: 6px; }
+
+headerbar switch { margin-top: 10px; margin-bottom: 10px; }
+
+headerbar.titlebar headerbar:not(.titlebar) { background: none; box-shadow: none; }
+
+.background .titlebar:backdrop, .background .titlebar { border-top-left-radius: 8px; border-top-right-radius: 8px; }
+
+.background.tiled .titlebar:backdrop, .background.tiled .titlebar, .background.tiled-top .titlebar:backdrop, .background.tiled-top .titlebar, .background.tiled-right .titlebar:backdrop, .background.tiled-right .titlebar, .background.tiled-bottom .titlebar:backdrop, .background.tiled-bottom .titlebar, .background.tiled-left .titlebar:backdrop, .background.tiled-left .titlebar, .background.maximized .titlebar:backdrop, .background.maximized .titlebar, .background.solid-csd .titlebar:backdrop, .background.solid-csd .titlebar { border-top-left-radius: 0; border-top-right-radius: 0; }
+
+window separator:first-child + headerbar:backdrop, window separator:first-child + headerbar, window headerbar:first-child:backdrop, window headerbar:first-child { border-top-left-radius: 7px; }
+
+window headerbar:last-child:backdrop, window headerbar:last-child { border-top-right-radius: 7px; }
+
+window stack headerbar:first-child:backdrop, window stack headerbar:first-child, window stack headerbar:last-child:backdrop, window stack headerbar:last-child { border-top-left-radius: 7px; border-top-right-radius: 7px; }
+
+window.tiled headerbar, window.tiled headerbar:first-child, window.tiled headerbar:last-child, window.tiled headerbar:only-child, window.tiled headerbar:backdrop, window.tiled headerbar:backdrop:first-child, window.tiled headerbar:backdrop:last-child, window.tiled headerbar:backdrop:only-child, window.tiled-top headerbar, window.tiled-top headerbar:first-child, window.tiled-top headerbar:last-child, window.tiled-top headerbar:only-child, window.tiled-top headerbar:backdrop, window.tiled-top headerbar:backdrop:first-child, window.tiled-top headerbar:backdrop:last-child, window.tiled-top headerbar:backdrop:only-child, window.tiled-right headerbar, window.tiled-right headerbar:first-child, window.tiled-right headerbar:last-child, window.tiled-right headerbar:only-child, window.tiled-right headerbar:backdrop, window.tiled-right headerbar:backdrop:first-child, window.tiled-right headerbar:backdrop:last-child, window.tiled-right headerbar:backdrop:only-child, window.tiled-bottom headerbar, window.tiled-bottom headerbar:first-child, window.tiled-bottom headerbar:last-child, window.tiled-bottom headerbar:only-child, window.tiled-bottom headerbar:backdrop, window.tiled-bottom headerbar:backdrop:first-child, window.tiled-bottom headerbar:backdrop:last-child, window.tiled-bottom headerbar:backdrop:only-child, window.tiled-left headerbar, window.tiled-left headerbar:first-child, window.tiled-left headerbar:last-child, window.tiled-left headerbar:only-child, window.tiled-left headerbar:backdrop, window.tiled-left headerbar:backdrop:first-child, window.tiled-left headerbar:backdrop:last-child, window.tiled-left headerbar:backdrop:only-child, window.maximized headerbar, window.maximized headerbar:first-child, window.maximized headerbar:last-child, window.maximized headerbar:only-child, window.maximized headerbar:backdrop, window.maximized headerbar:backdrop:first-child, window.maximized headerbar:backdrop:last-child, window.maximized headerbar:backdrop:only-child, window.fullscreen headerbar, window.fullscreen headerbar:first-child, window.fullscreen headerbar:last-child, window.fullscreen headerbar:only-child, window.fullscreen headerbar:backdrop, window.fullscreen headerbar:backdrop:first-child, window.fullscreen headerbar:backdrop:last-child, window.fullscreen headerbar:backdrop:only-child, window.solid-csd headerbar, window.solid-csd headerbar:first-child, window.solid-csd headerbar:last-child, window.solid-csd headerbar:only-child, window.solid-csd headerbar:backdrop, window.solid-csd headerbar:backdrop:first-child, window.solid-csd headerbar:backdrop:last-child, window.solid-csd headerbar:backdrop:only-child { border-top-left-radius: 0; border-top-right-radius: 0; }
+
+window.csd > .titlebar:not(headerbar) { padding: 0; background-color: transparent; background-image: none; border-style: none; border-color: transparent; box-shadow: none; }
+
+.titlebar:not(headerbar) separator { background-color: #1b1b1b; }
+
+window.devel headerbar.titlebar:not(.selection-mode) { background: #353535 cross-fade(10% -gtk-icontheme("system-run-symbolic"), image(transparent)) 90% 0/256px 256px no-repeat, linear-gradient(to right, transparent 65%, rgba(21, 83, 158, 0.1)), linear-gradient(to top, #232323 3px, #282828); }
+
+window.devel headerbar.titlebar:not(.selection-mode):backdrop { background: #353535 cross-fade(10% -gtk-icontheme("system-run-symbolic"), image(transparent)) 90% 0/256px 256px no-repeat, image(#353535); /* background-color would flash */ }
+
+/************ Pathbars * */
+.path-bar button.text-button, .path-bar button.image-button, .path-bar button { padding-left: 4px; padding-right: 4px; }
+
+.path-bar button.text-button.image-button label { padding-left: 0; padding-right: 0; }
+
+.path-bar button.text-button.image-button label:last-child, .path-bar button label:last-child { padding-right: 8px; }
+
+.path-bar button.text-button.image-button label:first-child, .path-bar button label:first-child { padding-left: 8px; }
+
+.path-bar button image { padding-left: 4px; padding-right: 4px; }
+
+.path-bar button.slider-button { padding-left: 0; padding-right: 0; }
+
+/************** Tree Views * */
+treeview.view { border-left-color: #8e8e8d; border-top-color: #353535; }
+
+* { -GtkTreeView-horizontal-separator: 4; -GtkTreeView-grid-line-width: 1; -GtkTreeView-grid-line-pattern: ''; -GtkTreeView-tree-line-width: 1; -GtkTreeView-tree-line-pattern: ''; -GtkTreeView-expander-size: 16; }
+
+treeview.view:selected:focus, treeview.view:selected { border-radius: 0; }
+
+treeview.view:selected:backdrop, treeview.view:selected { border-left-color: #8aa9ce; border-top-color: rgba(238, 238, 236, 0.1); }
+
+treeview.view:disabled { color: #919190; }
+
+treeview.view:disabled:selected { color: #7398c5; }
+
+treeview.view:disabled:selected:backdrop { color: #4f7aaf; }
+
+treeview.view:disabled:backdrop { color: #5b5b5b; }
+
+treeview.view.separator { min-height: 2px; color: #353535; }
+
+treeview.view.separator:backdrop { color: rgba(53, 53, 53, 0.1); }
+
+treeview.view:backdrop { border-left-color: #636362; border-top: #353535; }
+
+treeview.view:drop(active) { border-style: solid none; border-width: 1px; border-color: #030c17; }
+
+treeview.view.after:drop(active) { border-top-style: none; }
+
+treeview.view.before:drop(active) { border-bottom-style: none; }
+
+treeview.view.expander { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); color: silver; }
+
+treeview.view.expander:dir(rtl) { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); }
+
+treeview.view.expander:hover { color: white; }
+
+treeview.view.expander:selected { color: #b9cbe2; }
+
+treeview.view.expander:selected:hover { color: #ffffff; }
+
+treeview.view.expander:selected:backdrop { color: #9cafc5; }
+
+treeview.view.expander:checked { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); }
+
+treeview.view.expander:backdrop { color: #747473; }
+
+treeview.view.progressbar { background-color: #15539e; background-image: image(#15539e); box-shadow: none; }
+
+treeview.view.progressbar:selected:focus, treeview.view.progressbar:selected { box-shadow: inset 0 1px rgba(255, 255, 255, 0.05); background-image: image(#2d2d2d); }
+
+treeview.view.progressbar:selected:focus:backdrop, treeview.view.progressbar:selected:backdrop { background-color: #303030; }
+
+treeview.view.progressbar:backdrop { border-color: #303030; background-image: none; box-shadow: none; }
+
+treeview.view.trough { background-color: rgba(238, 238, 236, 0.1); }
+
+treeview.view.trough:selected:focus, treeview.view.trough:selected { background-color: #0f3b71; }
+
+treeview.view header button { color: #8e8e8d; background-color: #2d2d2d; font-weight: bold; text-shadow: none; box-shadow: none; }
+
+treeview.view header button:hover { color: #bebebd; box-shadow: none; transition: none; }
+
+treeview.view header button:active { color: #eeeeec; transition: none; }
+
+treeview.view button.dnd:active, treeview.view button.dnd:selected, treeview.view button.dnd:hover, treeview.view button.dnd, treeview.view header.button.dnd:active, treeview.view header.button.dnd:selected, treeview.view header.button.dnd:hover, treeview.view header.button.dnd { padding: 0 6px; color: #2d2d2d; background-image: none; background-color: #15539e; border-style: none; border-radius: 0; box-shadow: inset 0 0 0 1px #2d2d2d; text-shadow: none; transition: none; }
+
+treeview.view acceleditor > label { background-color: #15539e; }
+
+treeview.view header button, treeview.view header button:hover, treeview.view header button:active { padding: 0 6px; background-image: none; border-style: none solid solid none; border-color: #545453; border-radius: 0; text-shadow: none; }
+
+treeview.view header button:disabled { border-color: #353535; background-image: none; }
+
+treeview.view header button:backdrop { color: #636362; border-color: #353535; border-style: none solid solid none; background-image: none; background-color: #303030; }
+
+treeview.view header button:backdrop:disabled { border-color: #353535; background-image: none; }
+
+treeview.view header button:last-child { border-right-style: none; }
+
+/********* Menus * */
+menubar, .menubar { -GtkWidget-window-dragging: true; padding: 0px; box-shadow: inset 0 -1px rgba(0, 0, 0, 0.1); }
+
+menubar:backdrop, .menubar:backdrop { background-color: #353535; }
+
+menubar > menuitem, .menubar > menuitem { min-height: 16px; padding: 4px 8px; }
+
+menubar > menuitem menu:dir(rtl), menubar > menuitem menu:dir(ltr), .menubar > menuitem menu:dir(rtl), .menubar > menuitem menu:dir(ltr) { border-radius: 0; padding: 0; }
+
+menubar > menuitem:hover, .menubar > menuitem:hover { box-shadow: inset 0 -3px #15539e; color: #3584e4; }
+
+menubar > menuitem:disabled, .menubar > menuitem:disabled { color: #919190; box-shadow: none; }
+
+menubar .csd.popup decoration, .menubar .csd.popup decoration { border-radius: 0; }
+
+.background.popup { background-color: transparent; }
+
+menu, .menu, .context-menu { margin: 4px; padding: 4px 0px; background-color: #2f2f2f; border: 1px solid #1b1b1b; }
+
+.csd menu, .csd .menu, .csd .context-menu { border: none; border-radius: 5px; }
+
+menu:backdrop, .menu:backdrop, .context-menu:backdrop { background-color: #313131; }
+
+menu menuitem, .menu menuitem, .context-menu menuitem { min-height: 16px; min-width: 40px; padding: 4px 6px; text-shadow: none; }
+
+menu menuitem:hover, .menu menuitem:hover, .context-menu menuitem:hover { color: #ffffff; background-color: #15539e; }
+
+menu menuitem:disabled, .menu menuitem:disabled, .context-menu menuitem:disabled { color: #919190; }
+
+menu menuitem:disabled:backdrop, .menu menuitem:disabled:backdrop, .context-menu menuitem:disabled:backdrop { color: #5b5b5b; }
+
+menu menuitem:backdrop, menu menuitem:backdrop:hover, .menu menuitem:backdrop, .menu menuitem:backdrop:hover, .context-menu menuitem:backdrop, .context-menu menuitem:backdrop:hover { color: #919190; background-color: transparent; }
+
+menu menuitem arrow, .menu menuitem arrow, .context-menu menuitem arrow { min-height: 16px; min-width: 16px; }
+
+menu menuitem arrow:dir(ltr), .menu menuitem arrow:dir(ltr), .context-menu menuitem arrow:dir(ltr) { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); margin-left: 10px; }
+
+menu menuitem arrow:dir(rtl), .menu menuitem arrow:dir(rtl), .context-menu menuitem arrow:dir(rtl) { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); margin-right: 10px; }
+
+menu menuitem label:dir(rtl), menu menuitem label:dir(ltr), .menu menuitem label:dir(rtl), .menu menuitem label:dir(ltr), .context-menu menuitem label:dir(rtl), .context-menu menuitem label:dir(ltr) { color: inherit; }
+
+menu > arrow, .menu > arrow, .context-menu > arrow { 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; min-height: 16px; min-width: 16px; padding: 4px; background-color: #2f2f2f; border-radius: 0; }
+
+menu > arrow.top, .menu > arrow.top, .context-menu > arrow.top { margin-top: -4px; border-bottom: 1px solid #404040; border-top-right-radius: 5px; border-top-left-radius: 5px; -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); }
+
+menu > arrow.bottom, .menu > arrow.bottom, .context-menu > arrow.bottom { margin-top: 8px; margin-bottom: -12px; border-top: 1px solid #404040; border-bottom-right-radius: 5px; border-bottom-left-radius: 5px; -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); }
+
+menu > arrow:hover, .menu > arrow:hover, .context-menu > arrow:hover { background-color: #404040; }
+
+menu > arrow:backdrop, .menu > arrow:backdrop, .context-menu > arrow:backdrop { background-color: #313131; }
+
+menu > arrow:disabled, .menu > arrow:disabled, .context-menu > arrow:disabled { color: transparent; background-color: transparent; border-color: transparent; }
+
+menuitem accelerator { color: alpha(currentColor,0.55); }
+
+menuitem check, menuitem radio { min-height: 16px; min-width: 16px; }
+
+menuitem check:dir(ltr), menuitem radio:dir(ltr) { margin-right: 7px; }
+
+menuitem check:dir(rtl), menuitem radio:dir(rtl) { margin-left: 7px; }
+
+/*************** Popovers * */
+popover.background { padding: 2px; background-color: #353535; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3); }
+
+.csd popover.background, popover.background { border: 1px solid #1b1b1b; border-radius: 9px; }
+
+.csd popover.background { background-clip: padding-box; border-color: rgba(0, 0, 0, 0.75); }
+
+popover.background:backdrop { background-color: #353535; box-shadow: none; }
+
+popover.background > list, popover.background > .view, popover.background > iconview, popover.background > toolbar { border-style: none; background-color: transparent; }
+
+.csd popover.background.touch-selection, .csd popover.background.magnifier, popover.background.touch-selection, popover.background.magnifier { border: 1px solid rgba(255, 255, 255, 0.1); }
+
+popover.background separator { margin: 3px; }
+
+popover.background list separator { margin: 0px; }
+
+/************* Notebooks * */
+notebook > header { padding: 1px; border-color: #1b1b1b; border-width: 1px; background-color: #282828; }
+
+notebook > header:backdrop { border-color: #202020; background-color: #2e2e2e; }
+
+notebook > header tabs { margin: -1px; }
+
+notebook > header.top { border-bottom-style: solid; }
+
+notebook > header.top > tabs { margin-bottom: -2px; }
+
+notebook > header.top > tabs > tab:hover { box-shadow: inset 0 -4px #1b1b1b; }
+
+notebook > header.top > tabs > tab:backdrop { box-shadow: none; }
+
+notebook > header.top > tabs > tab:checked { box-shadow: inset 0 -4px #15539e; }
+
+notebook > header.bottom { border-top-style: solid; }
+
+notebook > header.bottom > tabs { margin-top: -2px; }
+
+notebook > header.bottom > tabs > tab:hover { box-shadow: inset 0 4px #1b1b1b; }
+
+notebook > header.bottom > tabs > tab:backdrop { box-shadow: none; }
+
+notebook > header.bottom > tabs > tab:checked { box-shadow: inset 0 4px #15539e; }
+
+notebook > header.left { border-right-style: solid; }
+
+notebook > header.left > tabs { margin-right: -2px; }
+
+notebook > header.left > tabs > tab:hover { box-shadow: inset -4px 0 #1b1b1b; }
+
+notebook > header.left > tabs > tab:backdrop { box-shadow: none; }
+
+notebook > header.left > tabs > tab:checked { box-shadow: inset -4px 0 #15539e; }
+
+notebook > header.right { border-left-style: solid; }
+
+notebook > header.right > tabs { margin-left: -2px; }
+
+notebook > header.right > tabs > tab:hover { box-shadow: inset 4px 0 #1b1b1b; }
+
+notebook > header.right > tabs > tab:backdrop { box-shadow: none; }
+
+notebook > header.right > tabs > tab:checked { box-shadow: inset 4px 0 #15539e; }
+
+notebook > header.top > tabs > arrow { border-top-style: none; }
+
+notebook > header.bottom > tabs > arrow { border-bottom-style: none; }
+
+notebook > header.top > tabs > arrow, notebook > header.bottom > tabs > arrow { margin-left: -5px; margin-right: -5px; padding-left: 4px; padding-right: 4px; }
+
+notebook > header.top > tabs > arrow.down, notebook > header.bottom > tabs > arrow.down { -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); }
+
+notebook > header.top > tabs > arrow.up, notebook > header.bottom > tabs > arrow.up { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); }
+
+notebook > header.left > tabs > arrow { border-left-style: none; }
+
+notebook > header.right > tabs > arrow { border-right-style: none; }
+
+notebook > header.left > tabs > arrow, notebook > header.right > tabs > arrow { margin-top: -5px; margin-bottom: -5px; padding-top: 4px; padding-bottom: 4px; }
+
+notebook > header.left > tabs > arrow.down, notebook > header.right > tabs > arrow.down { -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); }
+
+notebook > header.left > tabs > arrow.up, notebook > header.right > tabs > arrow.up { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); }
+
+notebook > header > tabs > arrow { min-height: 16px; min-width: 16px; border-radius: 0; }
+
+notebook > header > tabs > arrow:hover:not(:active):not(:backdrop) { background-clip: padding-box; background-image: none; background-color: rgba(255, 255, 255, 0.3); border-color: transparent; box-shadow: none; }
+
+notebook > header > tabs > arrow:disabled { 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; }
+
+notebook > header tab { min-height: 30px; min-width: 30px; padding: 3px 12px; outline-offset: -5px; color: #eeeeec; font-weight: normal; border-width: 1px; border-color: transparent; }
+
+notebook > header tab:hover { color: #eeeeec; background-color: #2b2b2b; }
+
+notebook > header tab.reorderable-page:hover { border-color: rgba(27, 27, 27, 0.3); background-color: rgba(53, 53, 53, 0.2); }
+
+notebook > header tab:backdrop { color: #6c6c6c; }
+
+notebook > header tab.reorderable-page:backdrop { border-color: transparent; background-color: transparent; }
+
+notebook > header tab:checked { color: #eeeeec; }
+
+notebook > header tab.reorderable-page:checked { border-color: rgba(27, 27, 27, 0.5); background-color: rgba(53, 53, 53, 0.5); }
+
+notebook > header tab.reorderable-page:checked:hover { background-color: rgba(53, 53, 53, 0.7); }
+
+notebook > header tab:backdrop:checked { color: #919190; }
+
+notebook > header tab.reorderable-page:backdrop:checked { border-color: #202020; background-color: #353535; }
+
+notebook > header tab button.flat { padding: 0; margin-top: 4px; margin-bottom: 4px; min-width: 20px; min-height: 20px; }
+
+notebook > header tab button.flat:hover { color: currentColor; }
+
+notebook > header tab button.flat, notebook > header tab button.flat:backdrop { color: alpha(currentColor,0.3); }
+
+notebook > header tab button.flat:last-child { margin-left: 4px; margin-right: -4px; }
+
+notebook > header tab button.flat:first-child { margin-left: -4px; margin-right: 4px; }
+
+notebook > header.top tabs, notebook > header.bottom tabs { padding-left: 4px; padding-right: 4px; }
+
+notebook > header.top tabs:not(:only-child), notebook > header.bottom tabs:not(:only-child) { margin-left: 3px; margin-right: 3px; }
+
+notebook > header.top tabs:not(:only-child):first-child, notebook > header.bottom tabs:not(:only-child):first-child { margin-left: -1px; }
+
+notebook > header.top tabs:not(:only-child):last-child, notebook > header.bottom tabs:not(:only-child):last-child { margin-right: -1px; }
+
+notebook > header.top tabs tab, notebook > header.bottom tabs tab { margin-left: 4px; margin-right: 4px; }
+
+notebook > header.top tabs tab.reorderable-page, notebook > header.bottom tabs tab.reorderable-page { border-style: none solid; }
+
+notebook > header.left tabs, notebook > header.right tabs { padding-top: 4px; padding-bottom: 4px; }
+
+notebook > header.left tabs:not(:only-child), notebook > header.right tabs:not(:only-child) { margin-top: 3px; margin-bottom: 3px; }
+
+notebook > header.left tabs:not(:only-child):first-child, notebook > header.right tabs:not(:only-child):first-child { margin-top: -1px; }
+
+notebook > header.left tabs:not(:only-child):last-child, notebook > header.right tabs:not(:only-child):last-child { margin-bottom: -1px; }
+
+notebook > header.left tabs tab, notebook > header.right tabs tab { margin-top: 4px; margin-bottom: 4px; }
+
+notebook > header.left tabs tab.reorderable-page, notebook > header.right tabs tab.reorderable-page { border-style: solid none; }
+
+notebook > header.top tab { padding-bottom: 4px; }
+
+notebook > header.bottom tab { padding-top: 4px; }
+
+notebook > stack:not(:only-child) { background-color: #2d2d2d; }
+
+notebook > stack:not(:only-child):backdrop { background-color: #303030; }
+
+/************** Scrollbars * */
+scrollbar { background-color: #313131; transition: all 300ms cubic-bezier(0.25, 0.46, 0.45, 0.94); }
+
+* { -GtkScrollbar-has-backward-stepper: false; -GtkScrollbar-has-forward-stepper: false; }
+
+scrollbar.top { border-bottom: 1px solid #1b1b1b; }
+
+scrollbar.bottom { border-top: 1px solid #1b1b1b; }
+
+scrollbar.left { border-right: 1px solid #1b1b1b; }
+
+scrollbar.right { border-left: 1px solid #1b1b1b; }
+
+scrollbar:backdrop { background-color: #2d2d2d; border-color: #202020; transition: 200ms ease-out; }
+
+scrollbar slider { min-width: 8px; min-height: 8px; margin: -1px; border: 4px solid transparent; border-radius: 10px; background-clip: padding-box; background-color: #a4a4a3; transition: all 300ms cubic-bezier(0.25, 0.46, 0.45, 0.94); }
+
+scrollbar slider:hover { background-color: #c9c9c7; }
+
+scrollbar slider:hover:active { background-color: #1b6acb; }
+
+scrollbar slider:backdrop { background-color: #5a5a59; }
+
+scrollbar slider:disabled { background-color: transparent; }
+
+scrollbar.fine-tune slider { transition: none; min-width: 6px; min-height: 6px; }
+
+scrollbar.fine-tune.horizontal slider { border-width: 5px 4px; }
+
+scrollbar.fine-tune.vertical slider { border-width: 4px 5px; }
+
+scrollbar.overlay-indicator:not(.dragging):not(.hovering) { border-color: transparent; opacity: 0.4; background-color: transparent; }
+
+scrollbar.overlay-indicator:not(.dragging):not(.hovering) slider { margin: 0; min-width: 3px; min-height: 3px; background-color: #eeeeec; border: 1px solid black; }
+
+scrollbar.overlay-indicator:not(.dragging):not(.hovering) button { min-width: 5px; min-height: 5px; background-color: #eeeeec; background-clip: padding-box; border-radius: 100%; border: 1px solid black; -gtk-icon-source: none; }
+
+scrollbar.overlay-indicator.horizontal:not(.dragging):not(.hovering) slider { margin: 0 2px; min-width: 40px; }
+
+scrollbar.overlay-indicator.horizontal:not(.dragging):not(.hovering) button { margin: 1px 2px; min-width: 5px; }
+
+scrollbar.overlay-indicator.vertical:not(.dragging):not(.hovering) slider { margin: 2px 0; min-height: 40px; }
+
+scrollbar.overlay-indicator.vertical:not(.dragging):not(.hovering) button { margin: 2px 1px; min-height: 5px; }
+
+scrollbar.overlay-indicator.dragging, scrollbar.overlay-indicator.hovering { opacity: 0.8; }
+
+scrollbar.horizontal slider { min-width: 40px; }
+
+scrollbar.vertical slider { min-height: 40px; }
+
+scrollbar button { padding: 0; min-width: 12px; min-height: 12px; border-style: none; border-radius: 0; transition-property: min-height, min-width, color; 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; color: #a4a4a3; }
+
+scrollbar button:hover { 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; color: #c9c9c7; }
+
+scrollbar button:active, scrollbar button:checked { 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; color: #1b6acb; }
+
+scrollbar button:disabled { 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; color: rgba(164, 164, 163, 0.2); }
+
+scrollbar button:backdrop { 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; color: #5a5a59; }
+
+scrollbar button:backdrop:disabled { 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; color: rgba(90, 90, 89, 0.2); }
+
+scrollbar.vertical button.down { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); }
+
+scrollbar.vertical button.up { -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); }
+
+scrollbar.horizontal button.down { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); }
+
+scrollbar.horizontal button.up { -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); }
+
+treeview ~ scrollbar.vertical { border-top: 1px solid #1b1b1b; margin-top: -1px; }
+
+/********** Switch * */
+switch { outline-offset: -4px; border: 1px solid #1b1b1b; border-radius: 14px; color: #eeeeec; background-color: #282828; text-shadow: 0 1px rgba(0, 0, 0, 0.1); /* only show i / o for the accessible theme */ }
+
+switch:checked { color: #ffffff; border-color: #030c17; background-color: #1b6acb; text-shadow: 0 1px rgba(3, 12, 23, 0.5), 0 0 2px rgba(255, 255, 255, 0.6); }
+
+switch:disabled { color: #919190; border-color: #1b1b1b; background-color: #323232; text-shadow: none; }
+
+switch:backdrop { color: #919190; border-color: #202020; background-color: #2e2e2e; text-shadow: none; transition: 200ms ease-out; }
+
+switch:backdrop:checked { border-color: #030c17; background-color: #1b6acb; }
+
+switch:backdrop:disabled { color: #5b5b5b; border-color: #202020; background-color: #323232; }
+
+switch slider { margin: -1px; min-width: 24px; min-height: 24px; border: 1px solid; border-radius: 50%; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); -gtk-outline-radius: 20px; color: #eeeeec; outline-color: rgba(238, 238, 236, 0.3); border-color: #111111; text-shadow: 0 -1px rgba(0, 0, 0, 0.786353); -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.786353); background-image: linear-gradient(to bottom, #3c3c3c 20%, #353535 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); }
+
+switch image { color: transparent; }
+
+switch:hover slider { color: #eeeeec; outline-color: rgba(238, 238, 236, 0.3); border-color: #111111; background-image: linear-gradient(to bottom, #444444 20%, #3a3a3a 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); }
+
+switch:checked > slider { border: 1px solid #030c17; }
+
+switch:disabled slider { color: #919190; border-color: #1b1b1b; background-image: image(#323232); text-shadow: none; -gtk-icon-shadow: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+
+switch:backdrop slider { transition: 200ms ease-out; color: #919190; border-color: #202020; background-image: image(#353535); text-shadow: none; -gtk-icon-shadow: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+
+switch:backdrop:checked > slider { border-color: #030c17; }
+
+switch:backdrop:disabled slider { color: #5b5b5b; 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 and Radio items * */
+.view.content-view.check:not(list), iconview.content-view.check:not(list), .content-view:not(list) check { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; background-color: #1b6acb; 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:hover:not(list), iconview.content-view.check:hover:not(list), .content-view:not(list) check:hover { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; background-color: #1b6acb; 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:active:not(list), iconview.content-view.check:active:not(list), .content-view:not(list) check:active { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; background-color: #1b6acb; 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:not(list) check:backdrop { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; background-color: #737373; 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:not(list) check:checked { margin: 4px; min-width: 32px; min-height: 32px; color: #eeeeec; background-color: #1b6acb; 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:checked:hover:not(list), iconview.content-view.check:checked:hover:not(list), .content-view:not(list) check:checked:hover { margin: 4px; min-width: 32px; min-height: 32px; color: #eeeeec; background-color: #1b6acb; 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:checked:active:not(list), iconview.content-view.check:checked:active:not(list), .content-view:not(list) check:checked:active { margin: 4px; min-width: 32px; min-height: 32px; color: #eeeeec; background-color: #1b6acb; 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:not(list) check:backdrop:checked { margin: 4px; min-width: 32px; min-height: 32px; color: rgba(238, 238, 236, 0.8); background-color: #737373; 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; }
+
+checkbutton.text-button label:not(:only-child):first-child, radiobutton.text-button label:not(:only-child):first-child { margin-left: 4px; }
+
+checkbutton.text-button label:not(:only-child):last-child, radiobutton.text-button label:not(:only-child):last-child { margin-right: 4px; }
+
+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; }
+
+popover check.left:dir(rtl), popover radio.left:dir(rtl) { margin-left: 0; margin-right: 12px; }
+
+popover check.right:dir(ltr), popover radio.right:dir(ltr) { margin-left: 12px; margin-right: 0; }
+
+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: #eeeeec; }
+
+check:hover, radio:hover { background-image: linear-gradient(to bottom, #4c4c4c 10%, #3f3f3f 90%); }
+
+check:active, radio:active { box-shadow: inset 0 1px 1px 0px black; }
+
+check:disabled, radio:disabled { box-shadow: none; color: rgba(238, 238, 236, 0.7); }
+
+check:backdrop, radio:backdrop { background-image: image(#353535); box-shadow: none; color: #eeeeec; }
+
+check:backdrop:disabled, radio:backdrop:disabled { box-shadow: none; color: rgba(238, 238, 236, 0.7); }
+
+check:checked, radio:checked { background-clip: border-box; background-image: linear-gradient(to bottom, #1f76e1 20%, #1b6acb 90%); border-color: #1b6acb; box-shadow: 0 1px rgba(0, 0, 0, 0.05); color: #ffffff; }
+
+check:checked:hover, radio:checked:hover { background-image: linear-gradient(to bottom, #3181e3 10%, #1e74dd 90%); }
+
+check:checked:active, radio:checked:active { box-shadow: inset 0 1px 1px 0px black; }
+
+check:checked:disabled, radio:checked:disabled { box-shadow: none; color: rgba(255, 255, 255, 0.7); }
+
+check:checked:backdrop, radio:checked:backdrop { background-image: image(#1b6acb); box-shadow: none; color: #ffffff; }
+
+check:checked:backdrop:disabled, radio:checked:backdrop:disabled { box-shadow: none; color: rgba(255, 255, 255, 0.7); }
+
+check:indeterminate, radio:indeterminate { background-clip: border-box; background-image: linear-gradient(to bottom, #1f76e1 20%, #1b6acb 90%); border-color: #1b6acb; box-shadow: 0 1px rgba(0, 0, 0, 0.05); color: #ffffff; }
+
+check:indeterminate:hover, radio:indeterminate:hover { background-image: linear-gradient(to bottom, #3181e3 10%, #1e74dd 90%); }
+
+check:indeterminate:active, radio:indeterminate:active { box-shadow: inset 0 1px 1px 0px black; }
+
+check:indeterminate:disabled, radio:indeterminate:disabled { box-shadow: none; color: rgba(255, 255, 255, 0.7); }
+
+check:indeterminate:backdrop, radio:indeterminate:backdrop { background-image: image(#1b6acb); box-shadow: none; color: #ffffff; }
+
+check:indeterminate:backdrop:disabled, radio:indeterminate:backdrop:disabled { box-shadow: none; color: rgba(255, 255, 255, 0.7); }
+
+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.9)); background-clip: padding-box; box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; 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.9)); background-clip: padding-box; box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; 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(38, 38, 38, 0.9)); 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; }
+
+menu menuitem check, menu menuitem radio { margin: 0; }
+
+menu menuitem check, menu menuitem check:hover, menu menuitem check:disabled, menu menuitem check:checked, menu menuitem check:checked:hover, menu menuitem check:checked:disabled, menu menuitem check:indeterminate, menu menuitem check:indeterminate:hover, menu menuitem check:indeterminate:disabled, menu menuitem radio, menu menuitem radio:hover, menu menuitem radio:disabled, menu menuitem radio:checked, menu menuitem radio:checked:hover, menu menuitem radio:checked:disabled, menu menuitem radio:indeterminate, menu menuitem radio:indeterminate:hover, menu menuitem radio:indeterminate:disabled { min-height: 14px; min-width: 14px; background-image: none; background-color: transparent; box-shadow: none; -gtk-icon-shadow: none; color: inherit; border-color: currentColor; }
+
+check { border-radius: 3px; }
+
+check:checked { -gtk-icon-source: image(-gtk-recolor(url("assets/check-symbolic.svg")), -gtk-recolor(url("assets/check-symbolic.symbolic.png"))); }
+
+check:indeterminate { -gtk-icon-source: image(-gtk-recolor(url("assets/dash-symbolic.svg")), -gtk-recolor(url("assets/dash-symbolic.symbolic.png"))); }
+
+treeview.view radio:selected:focus, treeview.view radio:selected, radio { border-radius: 100%; }
+
+treeview.view radio:checked:selected, radio:checked { -gtk-icon-source: image(-gtk-recolor(url("assets/bullet-symbolic.svg")), -gtk-recolor(url("assets/bullet-symbolic.symbolic.png"))); }
+
+treeview.view radio:indeterminate:selected, radio:indeterminate { -gtk-icon-source: image(-gtk-recolor(url("assets/dash-symbolic.svg")), -gtk-recolor(url("assets/dash-symbolic.symbolic.png"))); }
+
+radio:not(:indeterminate):not(:checked):active:not(:backdrop) { -gtk-icon-transform: scale(0); }
+
+check:not(:indeterminate):not(:checked):active:not(:backdrop) { -gtk-icon-transform: translate(6px, -3px) rotate(-45deg) scaleY(0.2) rotate(45deg) scaleX(0); }
+
+radio:active, check:active { -gtk-icon-transform: scale(0, 1); }
+
+radio:checked:not(:backdrop), radio:indeterminate:not(:backdrop), check:checked:not(:backdrop), check:indeterminate:not(:backdrop) { -gtk-icon-transform: unset; transition: 400ms; }
+
+menu menuitem radio:checked:not(:backdrop), menu menuitem radio:indeterminate:not(:backdrop), menu menuitem check:checked:not(:backdrop), menu menuitem check:indeterminate:not(:backdrop) { transition: none; }
+
+treeview.view check:selected:focus, treeview.view check:selected, treeview.view radio:selected:focus, treeview.view radio:selected { color: #ffffff; }
+
+/************ GtkScale * */
+progressbar trough, scale fill, scale trough { border: 1px solid #1b1b1b; border-radius: 3px; background-color: #282828; }
+
+progressbar trough:disabled, scale fill:disabled, scale trough:disabled { background-color: #323232; }
+
+progressbar trough:backdrop, scale fill:backdrop, scale trough:backdrop { background-color: #2e2e2e; border-color: #202020; transition: 200ms ease-out; }
+
+progressbar trough:backdrop:disabled, scale fill:backdrop:disabled, scale trough:backdrop:disabled { background-color: #323232; }
+
+row:selected progressbar trough, progressbar row:selected trough, row:selected scale fill, scale row:selected fill, row:selected scale trough, scale row:selected trough { border-color: #030c17; }
+
+.osd progressbar trough, progressbar .osd trough, .osd scale fill, scale .osd fill, .osd scale trough, scale .osd trough { border-color: rgba(0, 0, 0, 0.7); background-color: rgba(0, 0, 0, 0.5); }
+
+.osd progressbar trough:disabled, progressbar .osd trough:disabled, .osd scale fill:disabled, scale .osd fill:disabled, .osd scale trough:disabled, scale .osd trough:disabled { background-color: rgba(58, 58, 57, 0.5); }
+
+progressbar progress, scale highlight { border: 1px solid #030c17; border-radius: 3px; background-color: #15539e; }
+
+progressbar progress:disabled, scale highlight:disabled { background-color: transparent; border-color: transparent; }
+
+progressbar progress:backdrop, scale highlight:backdrop { border-color: #030c17; }
+
+progressbar progress:backdrop:disabled, scale highlight:backdrop:disabled { background-color: transparent; border-color: transparent; }
+
+row:selected progressbar progress, progressbar row:selected progress, row:selected scale highlight, scale row:selected highlight { border-color: #030c17; }
+
+.osd progressbar progress, progressbar .osd progress, .osd scale highlight, scale .osd highlight { border-color: rgba(0, 0, 0, 0.7); }
+
+.osd progressbar progress:disabled, progressbar .osd progress:disabled, .osd scale highlight:disabled, scale .osd highlight:disabled { border-color: transparent; }
+
+scale { min-height: 10px; min-width: 10px; padding: 12px; }
+
+scale fill, scale highlight { margin: -1px; }
+
+scale slider { min-height: 18px; min-width: 18px; margin: -9px; }
+
+scale.fine-tune.horizontal { padding-top: 9px; padding-bottom: 9px; min-height: 16px; }
+
+scale.fine-tune.vertical { padding-left: 9px; padding-right: 9px; min-width: 16px; }
+
+scale.fine-tune slider { margin: -6px; }
+
+scale.fine-tune fill, scale.fine-tune highlight, scale.fine-tune trough { border-radius: 5px; -gtk-outline-radius: 7px; }
+
+scale trough { outline-offset: 2px; -gtk-outline-radius: 5px; }
+
+scale fill:backdrop, scale fill { background-color: #1b1b1b; }
+
+scale fill:disabled:backdrop, scale fill:disabled { border-color: transparent; background-color: transparent; }
+
+.osd scale fill { background-color: rgba(91, 91, 90, 0.775); }
+
+.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%, #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; background-image: linear-gradient(to bottom, #353535 20%, #2b2b2b 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); }
+
+scale slider:active { border-color: #030c17; }
+
+scale slider:disabled { color: #919190; border-color: #1b1b1b; background-image: image(#323232); text-shadow: none; -gtk-icon-shadow: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+
+scale slider:backdrop { transition: 200ms ease-out; color: #919190; border-color: #202020; background-image: image(#353535); text-shadow: none; -gtk-icon-shadow: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+
+scale slider:backdrop:disabled { color: #5b5b5b; border-color: #202020; background-image: image(#323232); text-shadow: none; -gtk-icon-shadow: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+
+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(38, 38, 38, 0.9)); background-clip: padding-box; box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; 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.9)); background-clip: padding-box; box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; 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: #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: #262626; }
+
+.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.9)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; background-color: #262626; }
+
+.osd scale slider:backdrop:disabled { background-color: #262626; }
+
+scale marks, scale value { color: alpha(currentColor,0.55); font-feature-settings: "tnum"; }
+
+scale.horizontal marks.top { margin-bottom: 6px; margin-top: -12px; }
+
+scale.horizontal.fine-tune marks.top { margin-bottom: 6px; margin-top: -9px; }
+
+scale.horizontal marks.bottom { margin-top: 6px; margin-bottom: -12px; }
+
+scale.horizontal.fine-tune marks.bottom { margin-top: 6px; margin-bottom: -9px; }
+
+scale.vertical marks.top { margin-right: 6px; margin-left: -12px; }
+
+scale.vertical.fine-tune marks.top { margin-right: 6px; margin-left: -9px; }
+
+scale.vertical marks.bottom { margin-left: 6px; margin-right: -12px; }
+
+scale.vertical.fine-tune marks.bottom { margin-left: 6px; margin-right: -9px; }
+
+scale.horizontal indicator { min-height: 6px; min-width: 1px; }
+
+scale.horizontal.fine-tune indicator { min-height: 3px; }
+
+scale.vertical indicator { min-height: 1px; min-width: 6px; }
+
+scale.vertical.fine-tune indicator { min-width: 3px; }
+
+scale.horizontal.marks-before:not(.marks-after) slider { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-dark.png"), url("assets/slider-horz-scale-has-marks-above-dark@2.png")); min-height: 26px; min-width: 22px; margin-top: -14px; background-position: top; background-repeat: no-repeat; box-shadow: none; }
+
+scale.horizontal.marks-before.fine-tune:not(.marks-after) slider { margin: -7px; margin-top: -11px; }
+
+scale.horizontal.marks-before:not(.marks-after) slider:hover { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-hover-dark.png"), url("assets/slider-horz-scale-has-marks-above-hover-dark@2.png")); min-height: 26px; min-width: 22px; margin-top: -14px; background-position: top; background-repeat: no-repeat; box-shadow: none; }
+
+scale.horizontal.marks-before.fine-tune:not(.marks-after) slider { margin: -7px; margin-top: -11px; }
+
+scale.horizontal.marks-before:not(.marks-after) slider:active { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-active-dark.png"), url("assets/slider-horz-scale-has-marks-above-active-dark@2.png")); min-height: 26px; min-width: 22px; margin-top: -14px; background-position: top; background-repeat: no-repeat; box-shadow: none; }
+
+scale.horizontal.marks-before.fine-tune:not(.marks-after) slider { margin: -7px; margin-top: -11px; }
+
+scale.horizontal.marks-before:not(.marks-after) slider:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-insensitive-dark.png"), url("assets/slider-horz-scale-has-marks-above-insensitive-dark@2.png")); min-height: 26px; min-width: 22px; margin-top: -14px; background-position: top; background-repeat: no-repeat; box-shadow: none; }
+
+scale.horizontal.marks-before.fine-tune:not(.marks-after) slider { margin: -7px; margin-top: -11px; }
+
+scale.horizontal.marks-before:not(.marks-after) slider:backdrop { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-backdrop-dark.png"), url("assets/slider-horz-scale-has-marks-above-backdrop-dark@2.png")); min-height: 26px; min-width: 22px; margin-top: -14px; background-position: top; background-repeat: no-repeat; box-shadow: none; }
+
+scale.horizontal.marks-before.fine-tune:not(.marks-after) slider { margin: -7px; margin-top: -11px; }
+
+scale.horizontal.marks-before:not(.marks-after) slider:backdrop:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-backdrop-insensitive-dark.png"), url("assets/slider-horz-scale-has-marks-above-backdrop-insensitive-dark@2.png")); min-height: 26px; min-width: 22px; margin-top: -14px; background-position: top; background-repeat: no-repeat; box-shadow: none; }
+
+scale.horizontal.marks-before.fine-tune:not(.marks-after) slider { margin: -7px; margin-top: -11px; }
+
+scale.horizontal.marks-after:not(.marks-before) slider { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below-dark.png"), url("assets/slider-horz-scale-has-marks-below-dark@2.png")); min-height: 26px; min-width: 22px; margin-bottom: -14px; background-position: bottom; background-repeat: no-repeat; box-shadow: none; }
+
+scale.horizontal.marks-after.fine-tune:not(.marks-before) slider { margin: -7px; margin-bottom: -11px; }
+
+scale.horizontal.marks-after:not(.marks-before) slider:hover { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below-hover-dark.png"), url("assets/slider-horz-scale-has-marks-below-hover-dark@2.png")); min-height: 26px; min-width: 22px; margin-bottom: -14px; background-position: bottom; background-repeat: no-repeat; box-shadow: none; }
+
+scale.horizontal.marks-after.fine-tune:not(.marks-before) slider { margin: -7px; margin-bottom: -11px; }
+
+scale.horizontal.marks-after:not(.marks-before) slider:active { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below-active-dark.png"), url("assets/slider-horz-scale-has-marks-below-active-dark@2.png")); min-height: 26px; min-width: 22px; margin-bottom: -14px; background-position: bottom; background-repeat: no-repeat; box-shadow: none; }
+
+scale.horizontal.marks-after.fine-tune:not(.marks-before) slider { margin: -7px; margin-bottom: -11px; }
+
+scale.horizontal.marks-after:not(.marks-before) slider:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below-insensitive-dark.png"), url("assets/slider-horz-scale-has-marks-below-insensitive-dark@2.png")); min-height: 26px; min-width: 22px; margin-bottom: -14px; background-position: bottom; background-repeat: no-repeat; box-shadow: none; }
+
+scale.horizontal.marks-after.fine-tune:not(.marks-before) slider { margin: -7px; margin-bottom: -11px; }
+
+scale.horizontal.marks-after:not(.marks-before) slider:backdrop { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below-backdrop-dark.png"), url("assets/slider-horz-scale-has-marks-below-backdrop-dark@2.png")); min-height: 26px; min-width: 22px; margin-bottom: -14px; background-position: bottom; background-repeat: no-repeat; box-shadow: none; }
+
+scale.horizontal.marks-after.fine-tune:not(.marks-before) slider { margin: -7px; margin-bottom: -11px; }
+
+scale.horizontal.marks-after:not(.marks-before) slider:backdrop:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below-backdrop-insensitive-dark.png"), url("assets/slider-horz-scale-has-marks-below-backdrop-insensitive-dark@2.png")); min-height: 26px; min-width: 22px; margin-bottom: -14px; background-position: bottom; background-repeat: no-repeat; box-shadow: none; }
+
+scale.horizontal.marks-after.fine-tune:not(.marks-before) slider { margin: -7px; margin-bottom: -11px; }
+
+scale.vertical.marks-before:not(.marks-after) slider { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above-dark.png"), url("assets/slider-vert-scale-has-marks-above-dark@2.png")); min-height: 22px; min-width: 26px; margin-left: -14px; background-position: left bottom; background-repeat: no-repeat; box-shadow: none; }
+
+scale.vertical.marks-before.fine-tune:not(.marks-after) slider { margin: -7px; margin-left: -11px; }
+
+scale.vertical.marks-before:not(.marks-after) slider:hover { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above-hover-dark.png"), url("assets/slider-vert-scale-has-marks-above-hover-dark@2.png")); min-height: 22px; min-width: 26px; margin-left: -14px; background-position: left bottom; background-repeat: no-repeat; box-shadow: none; }
+
+scale.vertical.marks-before.fine-tune:not(.marks-after) slider { margin: -7px; margin-left: -11px; }
+
+scale.vertical.marks-before:not(.marks-after) slider:active { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above-active-dark.png"), url("assets/slider-vert-scale-has-marks-above-active-dark@2.png")); min-height: 22px; min-width: 26px; margin-left: -14px; background-position: left bottom; background-repeat: no-repeat; box-shadow: none; }
+
+scale.vertical.marks-before.fine-tune:not(.marks-after) slider { margin: -7px; margin-left: -11px; }
+
+scale.vertical.marks-before:not(.marks-after) slider:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above-insensitive-dark.png"), url("assets/slider-vert-scale-has-marks-above-insensitive-dark@2.png")); min-height: 22px; min-width: 26px; margin-left: -14px; background-position: left bottom; background-repeat: no-repeat; box-shadow: none; }
+
+scale.vertical.marks-before.fine-tune:not(.marks-after) slider { margin: -7px; margin-left: -11px; }
+
+scale.vertical.marks-before:not(.marks-after) slider:backdrop { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above-backdrop-dark.png"), url("assets/slider-vert-scale-has-marks-above-backdrop-dark@2.png")); min-height: 22px; min-width: 26px; margin-left: -14px; background-position: left bottom; background-repeat: no-repeat; box-shadow: none; }
+
+scale.vertical.marks-before.fine-tune:not(.marks-after) slider { margin: -7px; margin-left: -11px; }
+
+scale.vertical.marks-before:not(.marks-after) slider:backdrop:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above-backdrop-insensitive-dark.png"), url("assets/slider-vert-scale-has-marks-above-backdrop-insensitive-dark@2.png")); min-height: 22px; min-width: 26px; margin-left: -14px; background-position: left bottom; background-repeat: no-repeat; box-shadow: none; }
+
+scale.vertical.marks-before.fine-tune:not(.marks-after) slider { margin: -7px; margin-left: -11px; }
+
+scale.vertical.marks-after:not(.marks-before) slider { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below-dark.png"), url("assets/slider-vert-scale-has-marks-below-dark@2.png")); min-height: 22px; min-width: 26px; margin-right: -14px; background-position: right bottom; background-repeat: no-repeat; box-shadow: none; }
+
+scale.vertical.marks-after.fine-tune:not(.marks-before) slider { margin: -7px; margin-right: -11px; }
+
+scale.vertical.marks-after:not(.marks-before) slider:hover { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below-hover-dark.png"), url("assets/slider-vert-scale-has-marks-below-hover-dark@2.png")); min-height: 22px; min-width: 26px; margin-right: -14px; background-position: right bottom; background-repeat: no-repeat; box-shadow: none; }
+
+scale.vertical.marks-after.fine-tune:not(.marks-before) slider { margin: -7px; margin-right: -11px; }
+
+scale.vertical.marks-after:not(.marks-before) slider:active { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below-active-dark.png"), url("assets/slider-vert-scale-has-marks-below-active-dark@2.png")); min-height: 22px; min-width: 26px; margin-right: -14px; background-position: right bottom; background-repeat: no-repeat; box-shadow: none; }
+
+scale.vertical.marks-after.fine-tune:not(.marks-before) slider { margin: -7px; margin-right: -11px; }
+
+scale.vertical.marks-after:not(.marks-before) slider:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below-insensitive-dark.png"), url("assets/slider-vert-scale-has-marks-below-insensitive-dark@2.png")); min-height: 22px; min-width: 26px; margin-right: -14px; background-position: right bottom; background-repeat: no-repeat; box-shadow: none; }
+
+scale.vertical.marks-after.fine-tune:not(.marks-before) slider { margin: -7px; margin-right: -11px; }
+
+scale.vertical.marks-after:not(.marks-before) slider:backdrop { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below-backdrop-dark.png"), url("assets/slider-vert-scale-has-marks-below-backdrop-dark@2.png")); min-height: 22px; min-width: 26px; margin-right: -14px; background-position: right bottom; background-repeat: no-repeat; box-shadow: none; }
+
+scale.vertical.marks-after.fine-tune:not(.marks-before) slider { margin: -7px; margin-right: -11px; }
+
+scale.vertical.marks-after:not(.marks-before) slider:backdrop:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below-backdrop-insensitive-dark.png"), url("assets/slider-vert-scale-has-marks-below-backdrop-insensitive-dark@2.png")); min-height: 22px; min-width: 26px; margin-right: -14px; background-position: right bottom; background-repeat: no-repeat; box-shadow: none; }
+
+scale.vertical.marks-after.fine-tune:not(.marks-before) slider { margin: -7px; margin-right: -11px; }
+
+scale.color { min-height: 0; min-width: 0; }
+
+scale.color trough { background-image: image(#1b1b1b); background-repeat: no-repeat; }
+
+scale.color.horizontal { padding: 0 0 15px 0; }
+
+scale.color.horizontal trough { padding-bottom: 4px; background-position: 0 -3px; border-top-left-radius: 0; border-top-right-radius: 0; }
+
+scale.color.horizontal slider:dir(ltr):hover, scale.color.horizontal slider:dir(ltr):backdrop, scale.color.horizontal slider:dir(ltr):disabled, scale.color.horizontal slider:dir(ltr):backdrop:disabled, scale.color.horizontal slider:dir(ltr), scale.color.horizontal slider:dir(rtl):hover, scale.color.horizontal slider:dir(rtl):backdrop, scale.color.horizontal slider:dir(rtl):disabled, scale.color.horizontal slider:dir(rtl):backdrop:disabled, scale.color.horizontal slider:dir(rtl) { margin-bottom: -15px; margin-top: 6px; }
+
+scale.color.vertical:dir(ltr) { padding: 0 0 0 15px; }
+
+scale.color.vertical:dir(ltr) trough { padding-left: 4px; background-position: 3px 0; border-bottom-right-radius: 0; border-top-right-radius: 0; }
+
+scale.color.vertical:dir(ltr) slider:hover, scale.color.vertical:dir(ltr) slider:backdrop, scale.color.vertical:dir(ltr) slider:disabled, scale.color.vertical:dir(ltr) slider:backdrop:disabled, scale.color.vertical:dir(ltr) slider { margin-left: -15px; margin-right: 6px; }
+
+scale.color.vertical:dir(rtl) { padding: 0 15px 0 0; }
+
+scale.color.vertical:dir(rtl) trough { padding-right: 4px; background-position: -3px 0; border-bottom-left-radius: 0; border-top-left-radius: 0; }
+
+scale.color.vertical:dir(rtl) slider:hover, scale.color.vertical:dir(rtl) slider:backdrop, scale.color.vertical:dir(rtl) slider:disabled, scale.color.vertical:dir(rtl) slider:backdrop:disabled, scale.color.vertical:dir(rtl) slider { margin-right: -15px; margin-left: 6px; }
+
+scale.color.fine-tune.horizontal:dir(ltr), scale.color.fine-tune.horizontal:dir(rtl) { padding: 0 0 12px 0; }
+
+scale.color.fine-tune.horizontal:dir(ltr) trough, scale.color.fine-tune.horizontal:dir(rtl) trough { padding-bottom: 7px; background-position: 0 -6px; }
+
+scale.color.fine-tune.horizontal:dir(ltr) slider, scale.color.fine-tune.horizontal:dir(rtl) slider { margin-bottom: -15px; margin-top: 6px; }
+
+scale.color.fine-tune.vertical:dir(ltr) { padding: 0 0 0 12px; }
+
+scale.color.fine-tune.vertical:dir(ltr) trough { padding-left: 7px; background-position: 6px 0; }
+
+scale.color.fine-tune.vertical:dir(ltr) slider { margin-left: -15px; margin-right: 6px; }
+
+scale.color.fine-tune.vertical:dir(rtl) { padding: 0 12px 0 0; }
+
+scale.color.fine-tune.vertical:dir(rtl) trough { padding-right: 7px; background-position: -6px 0; }
+
+scale.color.fine-tune.vertical:dir(rtl) slider { margin-right: -15px; margin-left: 6px; }
+
+/***************** Progress bars * */
+progressbar { font-size: smaller; color: rgba(238, 238, 236, 0.4); font-feature-settings: "tnum"; }
+
+progressbar.horizontal trough, progressbar.horizontal progress { min-height: 2px; }
+
+progressbar.vertical trough, progressbar.vertical progress { min-width: 2px; }
+
+progressbar.horizontal progress { margin: 0 -1px; }
+
+progressbar.vertical progress { margin: -1px 0; }
+
+progressbar:backdrop { box-shadow: none; transition: 200ms ease-out; }
+
+progressbar progress { border-radius: 1.5px; }
+
+progressbar progress.left { border-top-left-radius: 2px; border-bottom-left-radius: 2px; }
+
+progressbar progress.right { border-top-right-radius: 2px; border-bottom-right-radius: 2px; }
+
+progressbar progress.top { border-top-right-radius: 2px; border-top-left-radius: 2px; }
+
+progressbar progress.bottom { border-bottom-right-radius: 2px; border-bottom-left-radius: 2px; }
+
+progressbar.osd { min-width: 3px; min-height: 3px; background-color: transparent; }
+
+progressbar.osd trough { border-style: none; border-radius: 0; background-color: transparent; box-shadow: none; }
+
+progressbar.osd progress { border-style: none; border-radius: 0; }
+
+progressbar trough.empty progress { all: unset; }
+
+/************* Level Bar * */
+levelbar.horizontal block { min-height: 1px; }
+
+levelbar.horizontal.discrete block { margin: 0 1px; min-width: 32px; }
+
+levelbar.vertical block { min-width: 1px; }
+
+levelbar.vertical.discrete block { margin: 1px 0; min-height: 32px; }
+
+levelbar:backdrop { transition: 200ms ease-out; }
+
+levelbar trough { border: 1px solid; padding: 2px; border-radius: 3px; color: white; border-color: #1b1b1b; background-color: #2d2d2d; box-shadow: inset 0 0 0 1px rgba(21, 83, 158, 0); }
+
+levelbar trough:backdrop { color: #d6d6d6; border-color: #202020; background-color: #303030; box-shadow: none; }
+
+levelbar block { border: 1px solid; border-radius: 1px; }
+
+levelbar block.low { border-color: #f57900; background-color: #f57900; }
+
+levelbar block.low:backdrop { border-color: #f57900; }
+
+levelbar block.high, levelbar block:not(.empty) { border-color: #15539e; background-color: #15539e; }
+
+levelbar block.high:backdrop, levelbar block:not(.empty):backdrop { border-color: #15539e; }
+
+levelbar block.full { border-color: #26ab62; background-color: #26ab62; }
+
+levelbar block.full:backdrop { border-color: #26ab62; }
+
+levelbar block.empty { background-color: transparent; border-color: rgba(238, 238, 236, 0.1); }
+
+levelbar block.empty:backdrop { border-color: rgba(145, 145, 144, 0.15); }
+
+/**************** Print dialog * */
+printdialog paper { color: #eeeeec; border: 1px solid #1b1b1b; background: white; padding: 0; }
+
+printdialog paper:backdrop { color: #919190; border-color: #202020; }
+
+printdialog .dialog-action-box { margin: 12px; }
+
+/********** Frames * */
+frame > border, .frame { box-shadow: none; margin: 0; padding: 0; border-radius: 0; border: 1px solid #1b1b1b; }
+
+frame > border.flat, .frame.flat { border-style: none; }
+
+frame > border:backdrop, .frame:backdrop { border-color: #202020; }
+
+actionbar > revealer > box { padding: 6px; border-top: 1px solid #1b1b1b; }
+
+actionbar > revealer > box:backdrop { border-color: #202020; }
+
+scrolledwindow viewport.frame { border-style: none; }
+
+scrolledwindow overshoot.top { background-image: -gtk-gradient(radial, center top, 0, center top, 0.5, to(#020202), to(rgba(2, 2, 2, 0))), -gtk-gradient(radial, center top, 0, center top, 0.6, from(rgba(238, 238, 236, 0.07)), to(rgba(238, 238, 236, 0))); background-size: 100% 5%, 100% 100%; background-repeat: no-repeat; background-position: center top; background-color: transparent; border: none; box-shadow: none; }
+
+scrolledwindow overshoot.top:backdrop { background-image: -gtk-gradient(radial, center top, 0, center top, 0.5, to(#202020), to(rgba(32, 32, 32, 0))); background-size: 100% 5%; background-repeat: no-repeat; background-position: center top; background-color: transparent; border: none; box-shadow: none; }
+
+scrolledwindow overshoot.bottom { background-image: -gtk-gradient(radial, center bottom, 0, center bottom, 0.5, to(#020202), to(rgba(2, 2, 2, 0))), -gtk-gradient(radial, center bottom, 0, center bottom, 0.6, from(rgba(238, 238, 236, 0.07)), to(rgba(238, 238, 236, 0))); background-size: 100% 5%, 100% 100%; background-repeat: no-repeat; background-position: center bottom; background-color: transparent; border: none; box-shadow: none; }
+
+scrolledwindow overshoot.bottom:backdrop { background-image: -gtk-gradient(radial, center bottom, 0, center bottom, 0.5, to(#202020), to(rgba(32, 32, 32, 0))); background-size: 100% 5%; background-repeat: no-repeat; background-position: center bottom; background-color: transparent; border: none; box-shadow: none; }
+
+scrolledwindow overshoot.left { background-image: -gtk-gradient(radial, left center, 0, left center, 0.5, to(#020202), to(rgba(2, 2, 2, 0))), -gtk-gradient(radial, left center, 0, left center, 0.6, from(rgba(238, 238, 236, 0.07)), to(rgba(238, 238, 236, 0))); background-size: 5% 100%, 100% 100%; background-repeat: no-repeat; background-position: left center; background-color: transparent; border: none; box-shadow: none; }
+
+scrolledwindow overshoot.left:backdrop { background-image: -gtk-gradient(radial, left center, 0, left center, 0.5, to(#202020), to(rgba(32, 32, 32, 0))); background-size: 5% 100%; background-repeat: no-repeat; background-position: left center; background-color: transparent; border: none; box-shadow: none; }
+
+scrolledwindow overshoot.right { background-image: -gtk-gradient(radial, right center, 0, right center, 0.5, to(#020202), to(rgba(2, 2, 2, 0))), -gtk-gradient(radial, right center, 0, right center, 0.6, from(rgba(238, 238, 236, 0.07)), to(rgba(238, 238, 236, 0))); background-size: 5% 100%, 100% 100%; background-repeat: no-repeat; background-position: right center; background-color: transparent; border: none; box-shadow: none; }
+
+scrolledwindow overshoot.right:backdrop { background-image: -gtk-gradient(radial, right center, 0, right center, 0.5, to(#202020), to(rgba(32, 32, 32, 0))); background-size: 5% 100%; background-repeat: no-repeat; background-position: right center; background-color: transparent; border: none; box-shadow: none; }
+
+scrolledwindow junction { border-color: transparent; border-image: linear-gradient(to bottom, #1b1b1b 1px, transparent 1px) 0 0 0 1/0 1px stretch; background-color: #313131; }
+
+scrolledwindow junction:dir(rtl) { border-image-slice: 0 1 0 0; }
+
+scrolledwindow junction:backdrop { border-image-source: linear-gradient(to bottom, #202020 1px, transparent 1px); background-color: #2d2d2d; transition: 200ms ease-out; }
+
+separator { background: rgba(0, 0, 0, 0.1); min-width: 1px; min-height: 1px; }
+
+/********* Lists * */
+list { color: white; background-color: #2d2d2d; border-color: #1b1b1b; }
+
+list:backdrop { color: #d6d6d6; background-color: #303030; border-color: #202020; }
+
+list row { padding: 2px; }
+
+row { transition: all 150ms cubic-bezier(0.25, 0.46, 0.45, 0.94); }
+
+row:hover { transition: none; }
+
+row:backdrop { transition: 200ms ease-out; }
+
+row.activatable.has-open-popup, row.activatable:hover { background-color: rgba(238, 238, 236, 0.05); }
+
+row.activatable:active { box-shadow: inset 0 2px 2px -2px rgba(0, 0, 0, 0.2); }
+
+row.activatable:backdrop:hover { background-color: transparent; }
+
+row.activatable:selected:active { box-shadow: inset 0 2px 3px -1px rgba(0, 0, 0, 0.5); }
+
+row.activatable.has-open-popup:selected, row.activatable:selected:hover { background-color: #2b62a6; }
+
+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(38, 38, 38, 0.9); 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; }
+
+.app-notification border, .app-notification.frame border { border: none; }
+
+/************* Expanders * */
+expander title > arrow { min-width: 16px; min-height: 16px; -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); }
+
+expander title > arrow:dir(rtl) { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); }
+
+expander title > arrow:hover { color: white; }
+
+expander title > arrow:disabled { color: #919190; }
+
+expander title > arrow:disabled:backdrop { color: #5b5b5b; }
+
+expander title > arrow:checked { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); }
+
+/************ Calendar * */
+calendar { color: white; border: 1px solid #1b1b1b; }
+
+calendar:selected { border-radius: 3px; }
+
+calendar.header { border-bottom-color: rgba(0, 0, 0, 0.1); }
+
+calendar.header:backdrop { border-bottom-color: rgba(0, 0, 0, 0.1); }
+
+calendar.button { color: rgba(238, 238, 236, 0.45); }
+
+calendar.button:hover { color: #eeeeec; }
+
+calendar.button:backdrop { color: rgba(145, 145, 144, 0.45); }
+
+calendar.button:disabled { color: rgba(145, 145, 144, 0.45); }
+
+calendar.highlight { color: #919190; }
+
+calendar.highlight:backdrop { color: #5b5b5b; }
+
+calendar:backdrop { color: #d6d6d6; border-color: #202020; }
+
+calendar:indeterminate { color: alpha(currentColor,0.1); }
+
+/*********** Dialogs * */
+messagedialog .titlebar { min-height: 20px; background-image: none; background-color: #353535; border-style: none; border-top-left-radius: 7px; border-top-right-radius: 7px; }
+
+messagedialog.csd.background { border-bottom-left-radius: 9px; border-bottom-right-radius: 9px; }
+
+messagedialog.csd .dialog-action-area button { padding: 10px 14px; border-right-style: none; border-bottom-style: none; border-radius: 0; -gtk-outline-radius: 0; }
+
+messagedialog.csd .dialog-action-area button:first-child { border-left-style: none; border-bottom-left-radius: 7px; -gtk-outline-bottom-left-radius: 7px; }
+
+messagedialog.csd .dialog-action-area button:last-child { border-bottom-right-radius: 7px; -gtk-outline-bottom-right-radius: 7px; }
+
+filechooser .dialog-action-box { border-top: 1px solid #1b1b1b; }
+
+filechooser .dialog-action-box:backdrop { border-top-color: #202020; }
+
+filechooser #pathbarbox { border-bottom: 1px solid #353535; }
+
+filechooserbutton:drop(active) { box-shadow: none; border-color: transparent; }
+
+/*********** Sidebar * */
+.sidebar { border-style: none; background-color: #313131; }
+
+stacksidebar.sidebar:dir(ltr) list, stacksidebar.sidebar.left list, stacksidebar.sidebar.left:dir(rtl) list, .sidebar:not(separator):dir(ltr), .sidebar.left:not(separator) { border-right: 1px solid #1b1b1b; border-left-style: none; }
+
+stacksidebar.sidebar:dir(rtl) list, stacksidebar.sidebar.right list, .sidebar:not(separator):dir(rtl), .sidebar.right:not(separator) { border-left: 1px solid #1b1b1b; border-right-style: none; }
+
+.sidebar:backdrop { background-color: #323232; border-color: #202020; transition: 200ms ease-out; }
+
+.sidebar list { background-color: transparent; }
+
+paned .sidebar.left, paned .sidebar.right, paned .sidebar.left:dir(rtl), paned .sidebar:dir(rtl), paned .sidebar:dir(ltr), paned .sidebar { border-style: none; }
+
+stacksidebar row { padding: 10px 4px; }
+
+stacksidebar row > label { padding-left: 6px; padding-right: 6px; }
+
+stacksidebar row.needs-attention > label { background-size: 6px 6px, 0 0; }
+
+separator.sidebar { background-color: #1b1b1b; }
+
+separator.sidebar:backdrop { background-color: #202020; }
+
+separator.sidebar.selection-mode, .selection-mode separator.sidebar { background-color: #092444; }
+
+/**************** File chooser * */
+row image.sidebar-icon { opacity: 0.7; }
+
+placessidebar > viewport.frame { border-style: none; }
+
+placessidebar row { min-height: 36px; padding: 0px; }
+
+placessidebar row > revealer { padding: 0 14px; }
+
+placessidebar row:selected { color: #ffffff; }
+
+placessidebar row:disabled { color: #919190; }
+
+placessidebar row:backdrop { color: #919190; }
+
+placessidebar row:backdrop:selected { color: #d6d6d6; }
+
+placessidebar row:backdrop:disabled { color: #5b5b5b; }
+
+placessidebar row image.sidebar-icon:dir(ltr) { padding-right: 8px; }
+
+placessidebar row image.sidebar-icon:dir(rtl) { padding-left: 8px; }
+
+placessidebar row label.sidebar-label:dir(ltr) { padding-right: 2px; }
+
+placessidebar row label.sidebar-label:dir(rtl) { padding-left: 2px; }
+
+button.sidebar-button { min-height: 26px; min-width: 26px; margin-top: 3px; margin-bottom: 3px; padding: 0; border-radius: 100%; -gtk-outline-radius: 100%; }
+
+button.sidebar-button:not(:hover):not(:active) > image, button.sidebar-button:backdrop > image { opacity: 0.7; }
+
+placessidebar row:selected:active { box-shadow: none; }
+
+placessidebar row.sidebar-placeholder-row { padding: 0 8px; min-height: 2px; background-image: image(#4e9a06); background-clip: content-box; }
+
+placessidebar row.sidebar-new-bookmark-row { color: #15539e; }
+
+placessidebar row:drop(active):not(:disabled) { color: #4e9a06; box-shadow: inset 0 1px #4e9a06, inset 0 -1px #4e9a06; }
+
+placessidebar row:drop(active):not(:disabled):selected { color: #ffffff; background-color: #4e9a06; }
+
+placesview .server-list-button > image { transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); -gtk-icon-transform: rotate(0turn); }
+
+placesview .server-list-button:checked > image { transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); -gtk-icon-transform: rotate(-0.5turn); }
+
+placesview row.activatable:hover { background-color: transparent; }
+
+placesview > actionbar > revealer > box > label { padding-left: 8px; padding-right: 8px; }
+
+/********* Paned * */
+paned > separator { min-width: 1px; min-height: 1px; -gtk-icon-source: none; border-style: none; background-color: transparent; background-image: image(#1b1b1b); background-size: 1px 1px; }
+
+paned > separator:selected { background-image: image(#15539e); }
+
+paned > separator:backdrop { background-image: image(#202020); }
+
+paned > separator.wide { min-width: 5px; min-height: 5px; background-color: #353535; background-image: image(#1b1b1b), image(#1b1b1b); background-size: 1px 1px, 1px 1px; }
+
+paned > separator.wide:backdrop { background-color: #353535; background-image: image(#202020), image(#202020); }
+
+paned.horizontal > separator { background-repeat: repeat-y; }
+
+paned.horizontal > separator:dir(ltr) { margin: 0 -8px 0 0; padding: 0 8px 0 0; background-position: left; }
+
+paned.horizontal > separator:dir(rtl) { margin: 0 0 0 -8px; padding: 0 0 0 8px; background-position: right; }
+
+paned.horizontal > separator.wide { margin: 0; padding: 0; background-repeat: repeat-y, repeat-y; background-position: left, right; }
+
+paned.vertical > separator { margin: 0 0 -8px 0; padding: 0 0 8px 0; background-repeat: repeat-x; background-position: top; }
+
+paned.vertical > separator.wide { margin: 0; padding: 0; background-repeat: repeat-x, repeat-x; background-position: bottom, top; }
+
+/************** GtkInfoBar * */
+infobar { border-style: none; }
+
+infobar.action:hover > revealer > box { background-color: #3e3b37; border-bottom: 1px solid #282828; }
+
+infobar.info, infobar.question, infobar.warning, infobar.error { text-shadow: none; }
+
+infobar.info:backdrop > revealer > box, infobar.info > revealer > box, infobar.question:backdrop > revealer > box, infobar.question > revealer > box, infobar.warning:backdrop > revealer > box, infobar.warning > revealer > box, infobar.error:backdrop > revealer > box, infobar.error > revealer > box { background-color: #44403b; border-bottom: 1px solid #282828; }
+
+infobar.info:backdrop > revealer > box label, infobar.info:backdrop > revealer > box, infobar.info > revealer > box label, infobar.info > revealer > box, infobar.question:backdrop > revealer > box label, infobar.question:backdrop > revealer > box, infobar.question > revealer > box label, infobar.question > revealer > box, infobar.warning:backdrop > revealer > box label, infobar.warning:backdrop > revealer > box, infobar.warning > revealer > box label, infobar.warning > revealer > box, infobar.error:backdrop > revealer > box label, infobar.error:backdrop > revealer > box, infobar.error > revealer > box label, infobar.error > revealer > box { color: #eeeeec; }
+
+infobar.info:backdrop, infobar.question:backdrop, infobar.warning:backdrop, infobar.error:backdrop { text-shadow: none; }
+
+infobar.info button, infobar.question button, infobar.warning button, infobar.error button { color: #eeeeec; outline-color: rgba(238, 238, 236, 0.3); border-color: #1b1b1b; border-bottom-color: #070707; background-image: linear-gradient(to top, #323232 2px, #353535); text-shadow: 0 -1px rgba(0, 0, 0, 0.834353); -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.834353); box-shadow: inset 0 1px rgba(255, 255, 255, 0.02), 0 1px 2px rgba(0, 0, 0, 0.07); }
+
+infobar.info button:hover, infobar.question button:hover, infobar.warning button:hover, infobar.error button:hover { color: #eeeeec; outline-color: rgba(238, 238, 236, 0.3); border-color: #1b1b1b; border-bottom-color: #070707; background-image: linear-gradient(to top, #323232, #373737 1px); text-shadow: 0 -1px rgba(0, 0, 0, 0.786353); -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.786353); box-shadow: inset 0 1px rgba(255, 255, 255, 0.02), 0 1px 2px rgba(0, 0, 0, 0.07); }
+
+infobar.info button:active, infobar.info button:checked, infobar.question button:active, infobar.question button:checked, infobar.warning button:active, infobar.warning button:checked, infobar.error button:active, infobar.error button:checked { color: #eeeeec; outline-color: rgba(238, 238, 236, 0.3); border-color: #1b1b1b; background-image: image(#1e1e1e); box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; }
+
+infobar.info button:disabled, infobar.question button:disabled, infobar.warning button:disabled, infobar.error button:disabled { color: #919190; border-color: #1b1b1b; background-image: image(#323232); text-shadow: none; -gtk-icon-shadow: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+
+infobar.info button:backdrop, infobar.question button:backdrop, infobar.warning button:backdrop, infobar.error button:backdrop { color: #919190; border-color: #202020; background-image: image(#353535); text-shadow: none; -gtk-icon-shadow: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); border-color: #1b1b1b; }
+
+infobar.info button:backdrop:disabled, infobar.question button:backdrop:disabled, infobar.warning button:backdrop:disabled, infobar.error button:backdrop:disabled { color: #5b5b5b; border-color: #202020; background-image: image(#323232); text-shadow: none; -gtk-icon-shadow: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); border-color: #1b1b1b; }
+
+infobar.info button:backdrop label, infobar.info button:backdrop, infobar.info button label, infobar.info button, infobar.question button:backdrop label, infobar.question button:backdrop, infobar.question button label, infobar.question button, infobar.warning button:backdrop label, infobar.warning button:backdrop, infobar.warning button label, infobar.warning button, infobar.error button:backdrop label, infobar.error button:backdrop, infobar.error button label, infobar.error button { color: #eeeeec; }
+
+infobar.info selection, infobar.question selection, infobar.warning selection, infobar.error selection { background-color: #1b1b1b; }
+
+infobar.info *:link, infobar.question *:link, infobar.warning *:link, infobar.error *:link { color: #3584e4; }
+
+/************ Tooltips * */
+tooltip { padding: 4px; /* not working */ border-radius: 5px; box-shadow: none; text-shadow: 0 1px black; }
+
+tooltip.background { background-color: rgba(0, 0, 0, 0.8); background-clip: padding-box; border: 1px solid rgba(255, 255, 255, 0.1); }
+
+tooltip decoration { background-color: transparent; }
+
+tooltip * { padding: 4px; background-color: transparent; color: white; }
+
+/***************** Color Chooser * */
+colorswatch:drop(active), colorswatch { border-style: none; }
+
+colorswatch.top { border-top-left-radius: 5.5px; border-top-right-radius: 5.5px; }
+
+colorswatch.top overlay { border-top-left-radius: 5px; border-top-right-radius: 5px; }
+
+colorswatch.bottom { border-bottom-left-radius: 5.5px; border-bottom-right-radius: 5.5px; }
+
+colorswatch.bottom overlay { border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; }
+
+colorswatch.left, colorswatch:first-child:not(.top) { border-top-left-radius: 5.5px; border-bottom-left-radius: 5.5px; }
+
+colorswatch.left overlay, colorswatch:first-child:not(.top) overlay { border-top-left-radius: 5px; border-bottom-left-radius: 5px; }
+
+colorswatch.right, colorswatch:last-child:not(.bottom) { border-top-right-radius: 5.5px; border-bottom-right-radius: 5.5px; }
+
+colorswatch.right overlay, colorswatch:last-child:not(.bottom) overlay { border-top-right-radius: 5px; border-bottom-right-radius: 5px; }
+
+colorswatch.dark { outline-color: rgba(255, 255, 255, 0.6); }
+
+colorswatch.dark overlay { color: white; }
+
+colorswatch.dark overlay:hover { border-color: #1b1b1b; }
+
+colorswatch.dark overlay:backdrop { color: rgba(255, 255, 255, 0.5); }
+
+colorswatch.light { outline-color: rgba(0, 0, 0, 0.6); }
+
+colorswatch.light overlay { color: black; }
+
+colorswatch.light overlay:hover { border-color: #1b1b1b; }
+
+colorswatch.light overlay:backdrop { color: rgba(0, 0, 0, 0.5); }
+
+colorswatch:drop(active) { box-shadow: none; }
+
+colorswatch.light:drop(active) overlay { border-color: #4e9a06; box-shadow: inset 0 0 0 2px #1b1b1b, inset 0 0 0 1px #4e9a06; }
+
+colorswatch.dark:drop(active) overlay { border-color: #4e9a06; box-shadow: inset 0 0 0 2px #1b1b1b, inset 0 0 0 1px #4e9a06; }
+
+colorswatch overlay { border: 1px solid #1b1b1b; }
+
+colorswatch overlay:hover { box-shadow: inset 0 1px rgba(255, 255, 255, 0.4), inset 0 -1px rgba(0, 0, 0, 0.2); }
+
+colorswatch overlay:backdrop, colorswatch overlay:backdrop:hover { border-color: #1b1b1b; box-shadow: none; }
+
+colorswatch#add-color-button { border-radius: 5px 5px 0 0; }
+
+colorswatch#add-color-button:only-child { border-radius: 5px; }
+
+colorswatch#add-color-button overlay { color: #eeeeec; outline-color: rgba(238, 238, 236, 0.3); border-color: #1b1b1b; border-bottom-color: #070707; background-image: linear-gradient(to top, #323232 2px, #353535); text-shadow: 0 -1px rgba(0, 0, 0, 0.834353); -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.834353); box-shadow: inset 0 1px rgba(255, 255, 255, 0.02), 0 1px 2px rgba(0, 0, 0, 0.07); }
+
+colorswatch#add-color-button overlay:hover { color: #eeeeec; outline-color: rgba(238, 238, 236, 0.3); border-color: #1b1b1b; border-bottom-color: #070707; background-image: linear-gradient(to top, #323232, #373737 1px); text-shadow: 0 -1px rgba(0, 0, 0, 0.786353); -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.786353); box-shadow: inset 0 1px rgba(255, 255, 255, 0.02), 0 1px 2px rgba(0, 0, 0, 0.07); }
+
+colorswatch#add-color-button overlay:backdrop { color: #919190; border-color: #202020; background-image: image(#353535); text-shadow: none; -gtk-icon-shadow: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+
+colorswatch:disabled { opacity: 0.5; }
+
+colorswatch:disabled overlay { border-color: rgba(0, 0, 0, 0.6); box-shadow: none; }
+
+row:selected colorswatch { box-shadow: 0 0 0 2px #ffffff; }
+
+colorswatch#editor-color-sample { border-radius: 4px; }
+
+colorswatch#editor-color-sample overlay { border-radius: 4.5px; }
+
+colorchooser .popover.osd { border-radius: 5px; }
+
+/******** Misc * */
+.content-view { background-color: #232323; }
+
+.content-view:hover { -gtk-icon-effect: highlight; }
+
+.content-view:backdrop { background-color: #232323; }
+
+.osd .scale-popup button.flat { border-style: none; border-radius: 5px; }
+
+.scale-popup button:hover { background-color: rgba(238, 238, 236, 0.1); border-radius: 5px; }
+
+/********************** Window Decorations * */
+decoration { border-radius: 8px 8px 0 0; border-width: 0px; box-shadow: 0 3px 9px 1px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(0, 0, 0, 0.75); margin: 10px; }
+
+decoration:backdrop { box-shadow: 0 3px 9px 1px transparent, 0 2px 6px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(0, 0, 0, 0.75); transition: 200ms ease-out; }
+
+.maximized decoration, .fullscreen decoration { border-radius: 0; box-shadow: none; }
+
+.tiled decoration, .tiled-top decoration, .tiled-right decoration, .tiled-bottom decoration, .tiled-left decoration { border-radius: 0; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.75), 0 0 0 20px transparent; }
+
+.tiled decoration:backdrop, .tiled-top decoration:backdrop, .tiled-right decoration:backdrop, .tiled-bottom decoration:backdrop, .tiled-left decoration:backdrop { box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.75), 0 0 0 20px transparent; }
+
+.popup decoration { box-shadow: none; }
+
+.ssd decoration { box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.75); }
+
+.ssd decoration:backdrop { box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.75); }
+
+.csd.popup decoration { border-radius: 5px; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(0, 0, 0, 0.65); }
+
+tooltip.csd decoration { border-radius: 5px; box-shadow: none; }
+
+messagedialog.csd decoration { border-radius: 8px; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(0, 0, 0, 0.65); }
+
+.solid-csd decoration { margin: 0; padding: 4px; background-color: #1b1b1b; border: solid 1px #1b1b1b; border-radius: 0; box-shadow: inset 0 0 0 3px #2d2d2d, inset 0 1px rgba(238, 238, 236, 0.07); }
+
+.solid-csd decoration:backdrop { box-shadow: inset 0 0 0 3px #353535, inset 0 1px rgba(238, 238, 236, 0.07); }
+
+button.titlebutton { text-shadow: 0 -1px rgba(0, 0, 0, 0.834353); -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.834353); }
+
+button.titlebutton:not(.appmenu) { border-radius: 9999px; padding: 6px; margin: 0 2px; min-width: 0; min-height: 0; }
+
+button.titlebutton:backdrop { -gtk-icon-shadow: none; }
+
+.selection-mode headerbar button.titlebutton, .selection-mode .titlebar button.titlebutton, headerbar.selection-mode button.titlebutton, .titlebar.selection-mode button.titlebutton { text-shadow: 0 -1px rgba(0, 0, 0, 0.719216); -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.719216); }
+
+.selection-mode headerbar button.titlebutton:backdrop, .selection-mode .titlebar button.titlebutton:backdrop, headerbar.selection-mode button.titlebutton:backdrop, .titlebar.selection-mode button.titlebutton:backdrop { -gtk-icon-shadow: none; }
+
+.view:selected:focus, .view:selected, .view text:selected:focus, textview text:selected:focus, .view text:selected, textview text:selected, .view text selection:focus, .view text selection, textview text selection:focus, textview text selection, iconview:selected:focus, iconview:selected, iconview text selection:focus, .view text selection, iconview text selection, flowbox flowboxchild:selected, entry selection, modelbutton.flat:selected, .menuitem.button.flat:selected, spinbutton:not(.vertical) selection, treeview.view:selected:focus, treeview.view:selected, row:selected, calendar:selected { background-color: #15539e; }
+
+label:selected, .selection-mode button.titlebutton, .view:selected:focus, .view:selected, .view text:selected:focus, textview text:selected:focus, .view text:selected, textview text:selected, .view text selection:focus, .view text selection, textview text selection:focus, textview text selection, iconview:selected:focus, iconview:selected, iconview text selection:focus, .view text selection, iconview text selection, flowbox flowboxchild:selected, entry selection, modelbutton.flat:selected, .menuitem.button.flat:selected, spinbutton:not(.vertical) selection, treeview.view:selected:focus, treeview.view:selected, row:selected, calendar:selected { color: #ffffff; }
+
+label:disabled selection, label:disabled:selected, .selection-mode button.titlebutton:disabled, .view:disabled:selected, textview text:disabled:selected:focus, .view text:disabled:selected, textview text:disabled:selected, .view text selection:disabled, textview text selection:disabled:focus, textview text selection:disabled, iconview:disabled:selected:focus, iconview:disabled:selected, iconview text selection:disabled:focus, iconview text selection:disabled, flowbox flowboxchild:disabled:selected, entry selection:disabled, modelbutton.flat:disabled:selected, .menuitem.button.flat:disabled:selected, spinbutton:not(.vertical) selection:disabled, treeview.view:disabled:selected, row:disabled:selected, calendar:disabled:selected { color: #8aa9ce; }
+
+label:backdrop selection, label:backdrop:selected, .selection-mode button.titlebutton:backdrop, .view:backdrop:selected, textview text:backdrop:selected:focus, .view text:backdrop:selected, textview text:backdrop:selected, .view text selection:backdrop, textview text selection:backdrop:focus, textview text selection:backdrop, iconview:backdrop:selected:focus, iconview:backdrop:selected, iconview text selection:backdrop:focus, iconview text selection:backdrop, flowbox flowboxchild:backdrop:selected, entry selection:backdrop, modelbutton.flat:backdrop:selected, .menuitem.button.flat:backdrop:selected, spinbutton:not(.vertical) selection:backdrop, treeview.view:backdrop:selected, row:backdrop:selected, calendar:backdrop:selected { color: #d6d6d6; }
+
+label:backdrop selection:disabled, label:backdrop:disabled:selected, .selection-mode button.titlebutton:backdrop:disabled, .view:backdrop:disabled:selected, .view text:backdrop:disabled:selected, textview text:backdrop:disabled:selected, .view text selection:backdrop:disabled, textview text selection:backdrop:disabled, iconview:backdrop:disabled:selected, iconview text selection:backdrop:disabled, flowbox flowboxchild:backdrop:disabled:selected, entry selection:backdrop:disabled, modelbutton.flat:backdrop:disabled:selected, .menuitem.button.flat:backdrop:disabled:selected, spinbutton:not(.vertical) selection:backdrop:disabled, row:backdrop:disabled:selected, calendar:backdrop:disabled:selected { color: #4f7aaf; }
+
+.monospace { font-family: monospace; }
+
+/********************** Touch Copy & Paste * */
+cursor-handle { background-color: transparent; background-image: none; box-shadow: none; border-style: none; }
+
+cursor-handle.top:dir(ltr), cursor-handle.bottom:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-start-dark.png"), url("assets/text-select-start-dark@2.png")); padding-left: 10px; }
+
+cursor-handle.bottom:dir(ltr), cursor-handle.top:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-end-dark.png"), url("assets/text-select-end-dark@2.png")); padding-right: 10px; }
+
+cursor-handle.insertion-cursor:dir(ltr), cursor-handle.insertion-cursor:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-dark.png"), url("assets/slider-horz-scale-has-marks-above-dark@2.png")); }
+
+cursor-handle.top:hover:dir(ltr), cursor-handle.bottom:hover:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-start-hover-dark.png"), url("assets/text-select-start-hover-dark@2.png")); padding-left: 10px; }
+
+cursor-handle.bottom:hover:dir(ltr), cursor-handle.top:hover:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-end-hover-dark.png"), url("assets/text-select-end-hover-dark@2.png")); padding-right: 10px; }
+
+cursor-handle.insertion-cursor:hover:dir(ltr), cursor-handle.insertion-cursor:hover:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-hover-dark.png"), url("assets/slider-horz-scale-has-marks-above-hover-dark@2.png")); }
+
+cursor-handle.top:active:dir(ltr), cursor-handle.bottom:active:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-start-active-dark.png"), url("assets/text-select-start-active-dark@2.png")); padding-left: 10px; }
+
+cursor-handle.bottom:active:dir(ltr), cursor-handle.top:active:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-end-active-dark.png"), url("assets/text-select-end-active-dark@2.png")); padding-right: 10px; }
+
+cursor-handle.insertion-cursor:active:dir(ltr), cursor-handle.insertion-cursor:active:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-active-dark.png"), url("assets/slider-horz-scale-has-marks-above-active-dark@2.png")); }
+
+.context-menu { font: initial; }
+
+.keycap { min-width: 20px; min-height: 25px; margin-top: 2px; padding-bottom: 3px; padding-left: 6px; padding-right: 6px; color: #eeeeec; background-color: #2d2d2d; border: 1px solid; border-color: #1b1b1b; border-radius: 5px; box-shadow: inset 0 -3px #222222; font-size: smaller; }
+
+.keycap:backdrop { background-color: #303030; color: #919190; transition: 200ms ease-out; }
+
+:not(decoration):not(window):drop(active):focus, :not(decoration):not(window):drop(active) { border-color: #4e9a06; box-shadow: inset 0 0 0 1px #4e9a06; caret-color: #4e9a06; }
+
+stackswitcher button.text-button { min-width: 100px; }
+
+stackswitcher button.circular, stackswitcher button.text-button.circular { min-width: 32px; min-height: 32px; padding: 0; }
+
+/************* App Icons * */
+/* Outline for low res icons */
+.lowres-icon { -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.05), 1px 0 rgba(0, 0, 0, 0.1), 0 1px rgba(0, 0, 0, 0.3), -1px 0 rgba(0, 0, 0, 0.1); }
+
+/* Dropshadow for large icons */
+.icon-dropshadow { -gtk-icon-shadow: 0 1px 12px rgba(0, 0, 0, 0.05), 0 -1px rgba(0, 0, 0, 0.05), 1px 0 rgba(0, 0, 0, 0.1), 0 1px rgba(0, 0, 0, 0.3), -1px 0 rgba(0, 0, 0, 0.1); }
+
+/********* Emoji * */
+popover.emoji-picker { padding-left: 0; padding-right: 0; }
+
+popover.emoji-picker entry.search { margin: 3px 5px 5px 5px; }
+
+button.emoji-section { border-color: transparent; border-width: 3px; border-style: none none solid; border-radius: 0; margin: 2px 4px 2px 4px; padding: 3px 0 0; min-width: 32px; min-height: 28px; /* reset props inherited from the button style */ background: none; box-shadow: none; text-shadow: none; outline-offset: -5px; }
+
+button.emoji-section:first-child { margin-left: 7px; }
+
+button.emoji-section:last-child { margin-right: 7px; }
+
+button.emoji-section:backdrop:not(:checked) { border-color: transparent; }
+
+button.emoji-section:hover { border-color: rgba(238, 238, 236, 0.1); }
+
+button.emoji-section:checked { border-color: #15539e; }
+
+button.emoji-section label { padding: 0; opacity: 0.55; }
+
+button.emoji-section:hover label { opacity: 0.775; }
+
+button.emoji-section:checked label { opacity: 1; }
+
+popover.emoji-picker .emoji { font-size: x-large; padding: 6px; }
+
+popover.emoji-picker .emoji :hover { background: #15539e; border-radius: 6px; }
+
+popover.emoji-completion arrow { border: none; background: none; }
+
+popover.emoji-completion contents row box { padding: 2px 10px; }
+
+popover.emoji-completion .emoji:hover { background: #424242; }
+
+/* GTK NAMED COLORS ---------------- use responsibly! */
+/*
+widget text/foreground color */
+@define-color theme_fg_color #eeeeec;
+/*
+text color for entries, views and content in general */
+@define-color theme_text_color white;
+/*
+widget base background color */
+@define-color theme_bg_color #353535;
+/*
+text widgets and the like base background color */
+@define-color theme_base_color #2d2d2d;
+/*
+base background color of selections */
+@define-color theme_selected_bg_color #15539e;
+/*
+text/foreground color of selections */
+@define-color theme_selected_fg_color #ffffff;
+/*
+base background color of insensitive widgets */
+@define-color insensitive_bg_color #323232;
+/*
+text foreground color of insensitive widgets */
+@define-color insensitive_fg_color #919190;
+/*
+insensitive text widgets and the like base background color */
+@define-color insensitive_base_color #2d2d2d;
+/*
+widget text/foreground color on backdrop windows */
+@define-color theme_unfocused_fg_color #919190;
+/*
+text color for entries, views and content in general on backdrop windows */
+@define-color theme_unfocused_text_color white;
+/*
+widget base background color on backdrop windows */
+@define-color theme_unfocused_bg_color #353535;
+/*
+text widgets and the like base background color on backdrop windows */
+@define-color theme_unfocused_base_color #303030;
+/*
+base background color of selections on backdrop windows */
+@define-color theme_unfocused_selected_bg_color #15539e;
+/*
+text/foreground color of selections on backdrop windows */
+@define-color theme_unfocused_selected_fg_color #ffffff;
+/*
+insensitive color on backdrop windows*/
+@define-color unfocused_insensitive_color #5b5b5b;
+/*
+widgets main borders color */
+@define-color borders #1b1b1b;
+/*
+widgets main borders color on backdrop windows */
+@define-color unfocused_borders #202020;
+/*
+these are pretty self explicative */
+@define-color warning_color #f57900;
+@define-color error_color #cc0000;
+@define-color success_color #26ab62;
+/*
+these colors are exported for the window manager and shouldn't be used in applications,
+read if you used those and something break with a version upgrade you're on your own... */
+@define-color wm_title shade(#eeeeec, 1.8);
+@define-color wm_unfocused_title #919190;
+@define-color wm_highlight rgba(0, 0, 0, 0);
+@define-color wm_borders_edge rgba(238, 238, 236, 0.07);
+@define-color wm_bg_a shade(#353535, 1.2);
+@define-color wm_bg_b #353535;
+@define-color wm_shadow alpha(black, 0.35);
+@define-color wm_border alpha(black, 0.18);
+@define-color wm_button_hover_color_a shade(#353535, 1.3);
+@define-color wm_button_hover_color_b #353535;
+@define-color wm_button_active_color_a shade(#353535, 0.85);
+@define-color wm_button_active_color_b shade(#353535, 0.89);
+@define-color wm_button_active_color_c shade(#353535, 0.9);
+/* content view background such as thumbnails view in Photos or Boxes */
+@define-color content_view_bg #2d2d2d;
+/* Very contrasty background for text views (@theme_text_color foreground) */
+@define-color text_view_bg #1e1e1e;
diff --git a/source/gtk3/gtk-contained-dark.scss b/source/gtk3/gtk-contained-dark.scss
new file mode 100644
index 0000000..6e57539
--- /dev/null
+++ b/source/gtk3/gtk-contained-dark.scss
@@ -0,0 +1,6 @@
+$variant: 'dark';
+
+@import 'colors';
+@import 'drawing';
+@import 'common';
+@import 'colors-public';
diff --git a/source/gtk3/gtk-contained.css b/source/gtk3/gtk-contained.css
new file mode 100644
index 0000000..729b1fc
--- /dev/null
+++ b/source/gtk3/gtk-contained.css
@@ -0,0 +1,2053 @@
+/*************************** Check and Radio buttons * */
+* { padding: 0; -GtkToolButton-icon-spacing: 4; -GtkTextView-error-underline-color: #cc0000; -GtkScrolledWindow-scrollbar-spacing: 0; -GtkToolItemGroup-expander-size: 11; -GtkWidget-text-handle-width: 20; -GtkWidget-text-handle-height: 24; -GtkDialog-button-spacing: 4; -GtkDialog-action-area-border: 0; outline-color: alpha(currentColor,0.3); outline-style: dashed; outline-offset: -3px; outline-width: 1px; -gtk-outline-radius: 3px; -gtk-secondary-caret-color: #3584e4; }
+
+/*************** Base States * */
+.background { color: #2e3436; background-color: #f6f5f4; }
+
+.background:backdrop { color: #929595; background-color: #f6f5f4; text-shadow: none; -gtk-icon-shadow: none; }
+
+/* These wildcard seems unavoidable, need to investigate. Wildcards are bad and troublesome, use them with care, or better, just don't. Everytime a wildcard is used a kitten dies, painfully. */
+*:disabled { -gtk-icon-effect: dim; }
+
+.gtkstyle-fallback { color: #2e3436; background-color: #f6f5f4; }
+
+.gtkstyle-fallback:hover { color: #2e3436; background-color: white; }
+
+.gtkstyle-fallback:active { color: #2e3436; background-color: #dfdcd8; }
+
+.gtkstyle-fallback:disabled { color: #929595; background-color: #faf9f8; }
+
+.gtkstyle-fallback:selected { color: #ffffff; background-color: #3584e4; }
+
+.view, iconview, .view text, iconview text, textview text { color: black; background-color: #ffffff; }
+
+.view:backdrop, iconview:backdrop, .view text:backdrop, iconview text:backdrop, textview text:backdrop { color: #323232; background-color: #fcfcfc; }
+
+.view:backdrop:disabled, iconview:backdrop:disabled, .view text:backdrop:disabled, iconview text:backdrop:disabled, textview text:backdrop:disabled { color: #d4cfca; }
+
+.view:disabled, iconview:disabled, .view text:disabled, iconview text:disabled, textview text:disabled { color: #929595; background-color: #faf9f8; }
+
+.view:selected:focus, iconview:selected:focus, .view:selected, iconview:selected, .view text:selected:focus, iconview text:selected:focus, textview text:selected:focus, .view text:selected, iconview text:selected, textview text:selected { border-radius: 3px; }
+
+textview border { background-color: #fbfafa; }
+
+.rubberband, rubberband, .content-view rubberband, .content-view .rubberband, treeview.view rubberband, flowbox rubberband { border: 1px solid #1b6acb; background-color: rgba(27, 106, 203, 0.2); }
+
+flowbox flowboxchild { padding: 3px; }
+
+flowbox flowboxchild:selected { outline-offset: -2px; }
+
+.content-view .tile { margin: 2px; background-color: transparent; border-radius: 0; padding: 0; }
+
+.content-view .tile:backdrop { background-color: transparent; }
+
+.content-view .tile:active, .content-view .tile:selected { background-color: transparent; }
+
+.content-view .tile:disabled { background-color: transparent; }
+
+label { caret-color: currentColor; }
+
+label selection { background-color: #3584e4; color: #ffffff; }
+
+label:disabled { color: #929595; }
+
+button label:disabled { color: inherit; }
+
+label:disabled:backdrop { color: #d4cfca; }
+
+button label:disabled:backdrop { color: inherit; }
+
+label.error { color: #cc0000; }
+
+label.error:disabled { color: rgba(204, 0, 0, 0.5); }
+
+label.error:disabled:backdrop { color: rgba(204, 0, 0, 0.4); }
+
+.dim-label, .titlebar:not(headerbar) .subtitle, headerbar .subtitle, label.separator { opacity: 0.55; text-shadow: none; }
+
+assistant .sidebar { background-color: #ffffff; border-top: 1px solid #cdc7c2; }
+
+assistant .sidebar:backdrop { background-color: #fcfcfc; border-color: #d5d0cc; }
+
+assistant.csd .sidebar { border-top-style: none; }
+
+assistant .sidebar label { padding: 6px 12px; }
+
+assistant .sidebar label.highlight { background-color: #cecece; }
+
+.osd .scale-popup, .app-notification, .app-notification.frame, .csd popover.background.osd, popover.background.osd, .csd popover.background.touch-selection, .csd popover.background.magnifier, popover.background.touch-selection, popover.background.magnifier, .osd { color: #eeeeec; border: none; background-color: rgba(53, 53, 53, 0.9); background-clip: padding-box; text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; }
+
+.osd .scale-popup:backdrop, .app-notification:backdrop, popover.background.osd:backdrop, popover.background.touch-selection:backdrop, popover.background.magnifier:backdrop, .osd:backdrop { text-shadow: none; -gtk-icon-shadow: none; }
+
+/********************* Spinner Animation * */
+@keyframes spin { to { -gtk-icon-transform: rotate(1turn); } }
+
+spinner { background: none; opacity: 0; -gtk-icon-source: -gtk-icontheme("process-working-symbolic"); }
+
+spinner:backdrop { color: #929595; }
+
+spinner:checked { opacity: 1; animation: spin 1s linear infinite; }
+
+spinner:checked:disabled { opacity: 0.5; }
+
+/********************** General Typography * */
+.large-title { font-weight: 300; font-size: 24pt; }
+
+.title-1 { font-weight: 800; font-size: 20pt; }
+
+.title-2 { font-weight: 800; font-size: 15pt; }
+
+.title-3 { font-weight: 700; font-size: 15pt; }
+
+.title-4 { font-weight: 700; font-size: 13pt; }
+
+.heading { font-weight: 700; font-size: 11pt; }
+
+.body { font-weight: 400; font-size: 11pt; }
+
+.caption-heading { font-weight: 700; font-size: 9pt; }
+
+.caption { font-weight: 400; font-size: 9pt; }
+
+/**************** Text Entries * */
+spinbutton:not(.vertical), entry { min-height: 32px; padding-left: 8px; padding-right: 8px; border: 1px solid; border-radius: 5px; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); color: black; border-color: #cdc7c2; background-color: #ffffff; box-shadow: inset 0 0 0 1px rgba(53, 132, 228, 0); }
+
+spinbutton:not(.vertical) image.left, entry image.left { margin-right: 6px; }
+
+spinbutton:not(.vertical) image.right, entry image.right { margin-left: 6px; }
+
+spinbutton.flat:not(.vertical), entry.flat:focus, entry.flat:backdrop, entry.flat:disabled, entry.flat { min-height: 0; padding: 2px; background-color: transparent; border-color: transparent; border-radius: 0; }
+
+spinbutton:focus:not(.vertical), entry:focus { box-shadow: inset 0 0 0 1px #3584e4; border-color: #3584e4; }
+
+spinbutton:disabled:not(.vertical), entry:disabled { color: #929595; border-color: #cdc7c2; background-color: #faf9f8; box-shadow: none; }
+
+spinbutton:backdrop:not(.vertical), entry:backdrop { color: #323232; border-color: #d5d0cc; background-color: #fcfcfc; box-shadow: none; transition: 200ms ease-out; }
+
+spinbutton:backdrop:disabled:not(.vertical), entry:backdrop:disabled { color: #d4cfca; border-color: #d5d0cc; background-color: #faf9f8; box-shadow: none; }
+
+spinbutton.error:not(.vertical), entry.error { color: #cc0000; border-color: #cc0000; }
+
+spinbutton.error:focus:not(.vertical), entry.error:focus { box-shadow: inset 0 0 0 1px #cc0000; border-color: #cc0000; }
+
+spinbutton.error:not(.vertical) selection, entry.error selection { background-color: #cc0000; }
+
+spinbutton.warning:not(.vertical), entry.warning { color: #f57900; border-color: #f57900; }
+
+spinbutton.warning:focus:not(.vertical), entry.warning:focus { box-shadow: inset 0 0 0 1px #f57900; border-color: #f57900; }
+
+spinbutton.warning:not(.vertical) selection, entry.warning selection { background-color: #f57900; }
+
+spinbutton:not(.vertical) image, entry image { color: #585d5e; }
+
+spinbutton:not(.vertical) image:hover, entry image:hover { color: #2e3436; }
+
+spinbutton:not(.vertical) image:active, entry image:active { color: #3584e4; }
+
+spinbutton:not(.vertical) image:backdrop, entry image:backdrop { color: #a7aaaa; }
+
+spinbutton:drop(active):not(.vertical), entry:drop(active):focus, entry:drop(active) { border-color: #4e9a06; box-shadow: inset 0 0 0 1px #4e9a06; }
+
+.osd spinbutton:not(.vertical), .osd entry { color: white; border-color: rgba(0, 0, 0, 0.7); background-color: rgba(0, 0, 0, 0.5); background-clip: padding-box; box-shadow: none; text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; }
+
+.osd spinbutton:focus:not(.vertical), .osd entry:focus { color: white; border-color: #3584e4; background-color: rgba(0, 0, 0, 0.5); background-clip: padding-box; box-shadow: inset 0 0 0 1px #3584e4; text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; }
+
+.osd spinbutton:backdrop:not(.vertical), .osd entry:backdrop { color: white; border-color: rgba(0, 0, 0, 0.7); background-color: rgba(0, 0, 0, 0.5); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; }
+
+.osd spinbutton:disabled:not(.vertical), .osd entry:disabled { color: #919190; border-color: rgba(0, 0, 0, 0.7); background-color: rgba(71, 71, 71, 0.5); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; }
+
+spinbutton:not(.vertical) progress, entry progress { margin: 2px -6px; background-color: transparent; background-image: none; border-radius: 0; border-width: 0 0 2px; border-color: #3584e4; border-style: solid; box-shadow: none; }
+
+spinbutton:not(.vertical) progress:backdrop, entry progress:backdrop { background-color: transparent; }
+
+.linked:not(.vertical) > spinbutton:focus:not(.vertical) + spinbutton:not(.vertical), .linked:not(.vertical) > spinbutton:focus:not(.vertical) + button, .linked:not(.vertical) > spinbutton:focus:not(.vertical) + combobox > box > button.combo, .linked:not(.vertical) > spinbutton:focus:not(.vertical) + entry, .linked:not(.vertical) > entry:focus + button, .linked:not(.vertical) > entry:focus + combobox > box > button.combo, .linked:not(.vertical) > entry:focus + spinbutton:not(.vertical), .linked:not(.vertical) > entry:focus + entry { border-left-color: #3584e4; }
+
+.linked:not(.vertical) > spinbutton.error:focus:not(.vertical) + spinbutton:not(.vertical), .linked:not(.vertical) > spinbutton.error:focus:not(.vertical) + button, .linked:not(.vertical) > spinbutton.error:focus:not(.vertical) + combobox > box > button.combo, .linked:not(.vertical) > spinbutton.error:focus:not(.vertical) + entry, .linked:not(.vertical) > entry.error:focus + button, .linked:not(.vertical) > entry.error:focus + combobox > box > button.combo, .linked:not(.vertical) > entry.error:focus + spinbutton:not(.vertical), .linked:not(.vertical) > entry.error:focus + entry { border-left-color: #cc0000; }
+
+.linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + spinbutton:not(.vertical), .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + button, .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + combobox > box > button.combo, .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + entry, .linked:not(.vertical) > entry:drop(active) + button, .linked:not(.vertical) > entry:drop(active) + combobox > box > button.combo, .linked:not(.vertical) > entry:drop(active) + spinbutton:not(.vertical), .linked:not(.vertical) > entry:drop(active) + entry { border-left-color: #4e9a06; }
+
+.linked.vertical > spinbutton:not(:disabled):not(.vertical) + entry:not(:disabled), .linked.vertical > spinbutton:not(:disabled):not(.vertical) + spinbutton:not(:disabled):not(.vertical), .linked.vertical > entry:not(:disabled) + entry:not(:disabled), .linked.vertical > entry:not(:disabled) + spinbutton:not(:disabled):not(.vertical) { border-top-color: #f0eeed; }
+
+.linked.vertical > spinbutton:not(:disabled):not(.vertical) + entry:not(:disabled):backdrop, .linked.vertical > spinbutton:not(:disabled):not(.vertical) + spinbutton:not(:disabled):backdrop:not(.vertical), .linked.vertical > entry:not(:disabled) + entry:not(:disabled):backdrop, .linked.vertical > entry:not(:disabled) + spinbutton:not(:disabled):backdrop:not(.vertical) { border-top-color: #f1efee; }
+
+.linked.vertical > spinbutton:disabled:not(.vertical) + spinbutton:disabled:not(.vertical), .linked.vertical > spinbutton:disabled:not(.vertical) + entry:disabled, .linked.vertical > entry:disabled + spinbutton:disabled:not(.vertical), .linked.vertical > entry:disabled + entry:disabled { border-top-color: #f0eeed; }
+
+.linked.vertical > spinbutton:not(.vertical) + spinbutton:focus:not(:only-child):not(.vertical), .linked.vertical > spinbutton:not(.vertical) + entry:focus:not(:only-child), .linked.vertical > entry + spinbutton:focus:not(:only-child):not(.vertical), .linked.vertical > entry + entry:focus:not(:only-child) { border-top-color: #3584e4; }
+
+.linked.vertical > spinbutton:not(.vertical) + spinbutton.error:focus:not(:only-child):not(.vertical), .linked.vertical > spinbutton:not(.vertical) + entry.error:focus:not(:only-child), .linked.vertical > entry + spinbutton.error:focus:not(:only-child):not(.vertical), .linked.vertical > entry + entry.error:focus:not(:only-child) { border-top-color: #cc0000; }
+
+.linked.vertical > spinbutton:not(.vertical) + spinbutton:drop(active):not(:only-child):not(.vertical), .linked.vertical > spinbutton:not(.vertical) + entry:drop(active):not(:only-child), .linked.vertical > entry + spinbutton:drop(active):not(:only-child):not(.vertical), .linked.vertical > entry + entry:drop(active):not(:only-child) { border-top-color: #4e9a06; }
+
+.linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + spinbutton:not(.vertical), .linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + entry, .linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + button, .linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + combobox > box > button.combo, .linked.vertical > entry:focus:not(:only-child) + spinbutton:not(.vertical), .linked.vertical > entry:focus:not(:only-child) + entry, .linked.vertical > entry:focus:not(:only-child) + button, .linked.vertical > entry:focus:not(:only-child) + combobox > box > button.combo { border-top-color: #3584e4; }
+
+.linked.vertical > spinbutton.error:focus:not(:only-child):not(.vertical) + spinbutton:not(.vertical), .linked.vertical > spinbutton.error:focus:not(:only-child):not(.vertical) + entry, .linked.vertical > spinbutton.error:focus:not(:only-child):not(.vertical) + button, .linked.vertical > spinbutton.error:focus:not(:only-child):not(.vertical) + combobox > box > button.combo, .linked.vertical > entry.error:focus:not(:only-child) + spinbutton:not(.vertical), .linked.vertical > entry.error:focus:not(:only-child) + entry, .linked.vertical > entry.error:focus:not(:only-child) + button, .linked.vertical > entry.error:focus:not(:only-child) + combobox > box > button.combo { border-top-color: #cc0000; }
+
+.linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + spinbutton:not(.vertical), .linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + entry, .linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + button, .linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + combobox > box > button.combo, .linked.vertical > entry:drop(active):not(:only-child) + spinbutton:not(.vertical), .linked.vertical > entry:drop(active):not(:only-child) + entry, .linked.vertical > entry:drop(active):not(:only-child) + button, .linked.vertical > entry:drop(active):not(:only-child) + combobox > box > button.combo { border-top-color: #4e9a06; }
+
+spinbutton.error:not(.vertical), entry.error { color: #cc0000; }
+
+treeview entry:focus:dir(rtl), treeview entry:focus:dir(ltr) { background-color: #ffffff; transition-property: color, background; }
+
+treeview entry.flat, treeview entry { border-radius: 0; background-image: none; background-color: #ffffff; }
+
+treeview entry.flat:focus, treeview entry:focus { border-color: #3584e4; }
+
+.entry-tag { padding: 5px; margin-top: 2px; margin-bottom: 2px; border-style: none; color: #ffffff; background-color: #3584e4; }
+
+:dir(ltr) .entry-tag { margin-left: 8px; margin-right: -5px; }
+
+:dir(rtl) .entry-tag { margin-left: -5px; margin-right: 8px; }
+
+.entry-tag:hover { background-color: #629fea; }
+
+:backdrop .entry-tag { color: #fcfcfc; background-color: #3584e4; }
+
+.entry-tag.button { background-color: transparent; color: rgba(255, 255, 255, 0.7); }
+
+:not(:backdrop) .entry-tag.button:hover { border: 1px solid #3584e4; color: #ffffff; }
+
+:not(:backdrop) .entry-tag.button:active { background-color: #3584e4; color: rgba(255, 255, 255, 0.7); }
+
+/*********** Buttons * */
+@keyframes needs_attention { from { background-image: -gtk-gradient(radial, center center, 0, center center, 0.01, to(#3584e4), to(transparent)); }
+ to { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(#3584e4), to(transparent)); } }
+
+button.titlebutton, notebook > header > tabs > arrow, button { min-height: 24px; min-width: 16px; padding: 4px 9px; border: 1px solid; border-radius: 5px; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); color: #2e3436; outline-color: rgba(46, 52, 54, 0.3); border-color: #cdc7c2; border-bottom-color: #bfb8b1; background-image: linear-gradient(to top, #edebe9 2px, #f6f5f4); text-shadow: 0 1px rgba(255, 255, 255, 0.769231); -gtk-icon-shadow: 0 1px rgba(255, 255, 255, 0.769231); box-shadow: inset 0 1px white, 0 1px 2px rgba(0, 0, 0, 0.07); }
+
+button.titlebutton, button.sidebar-button, notebook > header > tabs > arrow, notebook > header > tabs > arrow.flat, 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; transition: none; }
+
+button.titlebutton:hover, button.sidebar-button:hover, notebook > header > tabs > arrow:hover, button.flat:hover { transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); transition-duration: 500ms; }
+
+button.titlebutton:hover:active, button.sidebar-button:hover:active, notebook > header > tabs > arrow:hover:active, button.flat:hover:active { transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); }
+
+notebook > header > tabs > arrow:hover, button:hover { color: #2e3436; outline-color: rgba(46, 52, 54, 0.3); border-color: #cdc7c2; border-bottom-color: #bfb8b1; background-image: linear-gradient(to top, #f6f5f4, #f8f8f7 1px); text-shadow: 0 1px rgba(255, 255, 255, 0.769231); -gtk-icon-shadow: 0 1px rgba(255, 255, 255, 0.769231); box-shadow: inset 0 1px white, 0 1px 2px rgba(0, 0, 0, 0.07); -gtk-icon-effect: highlight; }
+
+notebook > header > tabs > arrow:active, notebook > header > tabs > arrow:checked, button:active, button:checked { color: #2e3436; outline-color: rgba(46, 52, 54, 0.3); border-color: #cdc7c2; background-image: image(#d6d1cd); box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; transition-duration: 50ms; }
+
+notebook > header > tabs > arrow:backdrop, button.flat:backdrop, button:backdrop { color: #929595; 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; -gtk-icon-effect: none; }
+
+notebook > header > tabs > arrow:backdrop:active, notebook > header > tabs > arrow:backdrop:checked, button.flat:backdrop:active, button.flat:backdrop:checked, button:backdrop:active, button:backdrop:checked { color: #929595; border-color: #d5d0cc; background-image: image(#e4e4e0); box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+
+notebook > header > tabs > arrow:backdrop:disabled, button.flat:backdrop:disabled, button:backdrop:disabled { color: #d4cfca; border-color: #d5d0cc; background-image: image(#faf9f8); text-shadow: none; -gtk-icon-shadow: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+
+notebook > header > tabs > arrow:backdrop:disabled:active, notebook > header > tabs > arrow:backdrop:disabled:checked, button.flat:backdrop:disabled:active, button.flat:backdrop:disabled:checked, button:backdrop:disabled:active, button:backdrop:disabled:checked { color: #d4cfca; border-color: #d5d0cc; background-image: image(#e4e4e0); box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+
+button.titlebutton:backdrop, button.sidebar-button:backdrop, notebook > header > tabs > arrow:backdrop, button.titlebutton:disabled, button.sidebar-button:disabled, notebook > header > tabs > arrow:disabled, button.flat:backdrop, button.flat:disabled, button.flat:backdrop:disabled { 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; }
+
+notebook > header > tabs > arrow:disabled, button:disabled { color: #929595; border-color: #cdc7c2; background-image: image(#faf9f8); text-shadow: none; -gtk-icon-shadow: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+
+notebook > header > tabs > arrow:disabled:active, notebook > header > tabs > arrow:disabled:checked, button:disabled:active, button:disabled:checked { color: #929595; border-color: #cdc7c2; background-image: image(#e4e4e0); box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+
+notebook > header > tabs > arrow.image-button, button.image-button { min-width: 24px; padding-left: 5px; padding-right: 5px; }
+
+notebook > header > tabs > arrow.text-button, button.text-button { padding-left: 16px; padding-right: 16px; }
+
+notebook > header > tabs > arrow.text-button.image-button, button.text-button.image-button { padding-left: 8px; padding-right: 8px; }
+
+notebook > header > tabs > arrow.text-button.image-button label, button.text-button.image-button label { padding-left: 8px; padding-right: 8px; }
+
+combobox:drop(active) button.combo, notebook > header > tabs > arrow:drop(active), button:drop(active) { color: #4e9a06; border-color: #4e9a06; box-shadow: inset 0 0 0 1px #4e9a06; }
+
+row:selected button { border-color: #185fb4; }
+
+row:selected button.sidebar-button:not(:active):not(:checked):not(:hover):not(disabled), row:selected button.flat:not(:active):not(:checked):not(:hover):not(disabled) { color: #ffffff; border-color: transparent; }
+
+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: #fcfcfc; }
+
+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(53, 53, 53, 0.9)); background-clip: padding-box; box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; outline-color: rgba(238, 238, 236, 0.3); border: none; box-shadow: none; }
+
+button.osd.image-button { min-width: 34px; }
+
+button.osd:hover { color: white; border-color: rgba(0, 0, 0, 0.7); background-color: transparent; background-image: image(rgba(83, 83, 83, 0.9)); background-clip: padding-box; box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; outline-color: rgba(238, 238, 236, 0.3); border: none; box-shadow: none; }
+
+button.osd:active, button.osd:checked { 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); border: none; box-shadow: none; }
+
+button.osd:disabled:backdrop, button.osd:disabled { color: #919190; border-color: rgba(0, 0, 0, 0.7); background-color: transparent; background-image: image(rgba(71, 71, 71, 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(53, 53, 53, 0.9)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; border: none; }
+
+.app-notification button, .app-notification.frame button, .csd popover.background.touch-selection button, .csd popover.background.magnifier button, popover.background.touch-selection button, popover.background.magnifier button, .osd button { color: #eeeeec; border-color: rgba(0, 0, 0, 0.7); background-color: transparent; background-image: image(rgba(53, 53, 53, 0.9)); background-clip: padding-box; box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; outline-color: rgba(238, 238, 236, 0.3); }
+
+.app-notification button:hover, popover.background.touch-selection button:hover, popover.background.magnifier button:hover, .osd button:hover { color: white; border-color: rgba(0, 0, 0, 0.7); background-color: transparent; background-image: image(rgba(83, 83, 83, 0.9)); background-clip: padding-box; box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; outline-color: rgba(238, 238, 236, 0.3); }
+
+.app-notification button:active, popover.background.touch-selection button:active, popover.background.magnifier button:active, .app-notification button:checked, popover.background.touch-selection button:checked, popover.background.magnifier button:checked, .osd button:active:backdrop, .osd button:active, .osd button:checked:backdrop, .osd button:checked { 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); }
+
+.app-notification button:disabled, popover.background.touch-selection button:disabled, popover.background.magnifier button:disabled, .osd button:disabled:backdrop, .osd button:disabled { color: #919190; border-color: rgba(0, 0, 0, 0.7); background-color: transparent; background-image: image(rgba(71, 71, 71, 0.5)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; }
+
+.app-notification button:backdrop, popover.background.touch-selection button:backdrop, popover.background.magnifier button:backdrop, .osd button:backdrop { color: #eeeeec; border-color: rgba(0, 0, 0, 0.7); background-color: transparent; background-image: image(rgba(53, 53, 53, 0.9)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; }
+
+.app-notification button.flat, popover.background.touch-selection button.flat, popover.background.magnifier 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; }
+
+.app-notification button.flat:hover, popover.background.touch-selection button.flat:hover, popover.background.magnifier button.flat:hover, .osd button.flat:hover { color: white; border-color: rgba(0, 0, 0, 0.7); background-color: transparent; background-image: image(rgba(83, 83, 83, 0.9)); background-clip: padding-box; box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; outline-color: rgba(238, 238, 236, 0.3); }
+
+.app-notification button.flat:disabled, popover.background.touch-selection button.flat:disabled, popover.background.magnifier button.flat:disabled, .osd button.flat:disabled { color: #919190; border-color: rgba(0, 0, 0, 0.7); background-color: transparent; background-image: image(rgba(71, 71, 71, 0.5)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; background-image: none; border-color: transparent; box-shadow: none; }
+
+.app-notification button.flat:backdrop, popover.background.touch-selection button.flat:backdrop, popover.background.magnifier button.flat:backdrop, .osd button.flat:backdrop { 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; }
+
+.app-notification button.flat:active, popover.background.touch-selection button.flat:active, popover.background.magnifier button.flat:active, .app-notification button.flat:checked, popover.background.touch-selection button.flat:checked, popover.background.magnifier button.flat:checked, .osd button.flat:active, .osd button.flat:checked { 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); }
+
+button.suggested-action { color: white; outline-color: rgba(255, 255, 255, 0.3); border-color: #1b6acb; border-bottom-color: #15539e; background-image: linear-gradient(to top, #2379e2 2px, #3584e4); text-shadow: 0 -1px rgba(0, 0, 0, 0.559216); -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.559216); box-shadow: inset 0 1px rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.07); }
+
+button.suggested-action.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; color: #3584e4; }
+
+button.suggested-action:hover { color: white; outline-color: rgba(255, 255, 255, 0.3); border-color: #1b6acb; border-bottom-color: #15539e; background-image: linear-gradient(to top, #3584e4, #3987e5 1px); text-shadow: 0 -1px rgba(0, 0, 0, 0.511216); -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.511216); box-shadow: inset 0 1px rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.07); }
+
+button.suggested-action:active, button.suggested-action:checked { color: white; 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; }
+
+button.suggested-action:backdrop, button.suggested-action.flat:backdrop { color: #d7e6fa; border-color: #3584e4; background-image: image(#3584e4); text-shadow: none; -gtk-icon-shadow: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+
+button.suggested-action:backdrop:active, button.suggested-action:backdrop:checked, button.suggested-action.flat:backdrop:active, button.suggested-action.flat:backdrop:checked { color: #d5e6f9; border-color: #2f80e3; background-image: image(#2f80e3); box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+
+button.suggested-action:backdrop:disabled, button.suggested-action.flat:backdrop:disabled { color: #d4cfca; border-color: #d5d0cc; background-image: image(#faf9f8); text-shadow: none; -gtk-icon-shadow: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+
+button.suggested-action:backdrop:disabled:active, button.suggested-action:backdrop:disabled:checked, button.suggested-action.flat:backdrop:disabled:active, button.suggested-action.flat:backdrop:disabled:checked { color: #78aced; border-color: #2f80e3; background-image: image(#2f80e3); box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+
+button.suggested-action.flat:backdrop, button.suggested-action.flat:disabled, button.suggested-action.flat:backdrop:disabled { 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; color: rgba(53, 132, 228, 0.8); }
+
+button.suggested-action:disabled { color: #929595; border-color: #cdc7c2; background-image: image(#faf9f8); text-shadow: none; -gtk-icon-shadow: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+
+button.suggested-action:disabled:active, button.suggested-action:disabled:checked { color: #acccf4; border-color: #1b6acb; background-image: image(#2f80e3); box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+
+.osd button.suggested-action { color: #eeeeec; border-color: rgba(0, 0, 0, 0.7); background-color: transparent; background-image: image(rgba(53, 132, 228, 0.5)); background-clip: padding-box; box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; outline-color: rgba(238, 238, 236, 0.3); }
+
+.osd button.suggested-action:hover { color: white; border-color: rgba(0, 0, 0, 0.7); background-color: transparent; background-image: image(rgba(53, 132, 228, 0.7)); background-clip: padding-box; box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; outline-color: rgba(238, 238, 236, 0.3); }
+
+.osd button.suggested-action:active:backdrop, .osd button.suggested-action:active, .osd button.suggested-action:checked:backdrop, .osd button.suggested-action:checked { color: white; border-color: rgba(0, 0, 0, 0.7); background-color: transparent; background-image: image(#3584e4); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; outline-color: rgba(238, 238, 236, 0.3); }
+
+.osd button.suggested-action:disabled:backdrop, .osd button.suggested-action:disabled { color: #919190; border-color: rgba(0, 0, 0, 0.7); background-color: transparent; background-image: image(rgba(71, 71, 71, 0.5)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; }
+
+.osd button.suggested-action:backdrop { color: #eeeeec; border-color: rgba(0, 0, 0, 0.7); background-color: transparent; background-image: image(rgba(53, 132, 228, 0.5)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; }
+
+button.destructive-action { color: white; outline-color: rgba(255, 255, 255, 0.3); border-color: #b2161d; border-bottom-color: #851015; background-image: linear-gradient(to top, #ce1921 2px, #e01b24); text-shadow: 0 -1px rgba(0, 0, 0, 0.606275); -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.606275); box-shadow: inset 0 1px rgba(255, 255, 255, 0.1), 0 1px 2px rgba(0, 0, 0, 0.07); }
+
+button.destructive-action.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; color: #e01b24; }
+
+button.destructive-action:hover { color: white; outline-color: rgba(255, 255, 255, 0.3); border-color: #b2161d; border-bottom-color: #851015; background-image: linear-gradient(to top, #e01b24, #e41c26 1px); text-shadow: 0 -1px rgba(0, 0, 0, 0.558275); -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.558275); box-shadow: inset 0 1px rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.07); }
+
+button.destructive-action:active, button.destructive-action:checked { color: white; outline-color: rgba(255, 255, 255, 0.3); border-color: #b2161d; background-image: image(#a0131a); box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; }
+
+button.destructive-action:backdrop, button.destructive-action.flat:backdrop { color: #f9d1d3; border-color: #e01b24; background-image: image(#e01b24); text-shadow: none; -gtk-icon-shadow: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+
+button.destructive-action:backdrop:active, button.destructive-action:backdrop:checked, button.destructive-action.flat:backdrop:active, button.destructive-action.flat:backdrop:checked { color: #f8d2d4; border-color: #dc1d27; background-image: image(#dc1d27); box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+
+button.destructive-action:backdrop:disabled, button.destructive-action.flat:backdrop:disabled { color: #d4cfca; border-color: #d5d0cc; background-image: image(#faf9f8); text-shadow: none; -gtk-icon-shadow: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+
+button.destructive-action:backdrop:disabled:active, button.destructive-action:backdrop:disabled:checked, button.destructive-action.flat:backdrop:disabled:active, button.destructive-action.flat:backdrop:disabled:checked { color: #e86c72; border-color: #dc1d27; background-image: image(#dc1d27); box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+
+button.destructive-action.flat:backdrop, button.destructive-action.flat:disabled, button.destructive-action.flat:backdrop:disabled { 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; color: rgba(224, 27, 36, 0.8); }
+
+button.destructive-action:disabled { color: #929595; border-color: #cdc7c2; background-image: image(#faf9f8); text-shadow: none; -gtk-icon-shadow: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+
+button.destructive-action:disabled:active, button.destructive-action:disabled:checked { color: #f1a5a8; border-color: #b2161d; background-image: image(#dc1d27); box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+
+.osd button.destructive-action { color: #eeeeec; border-color: rgba(0, 0, 0, 0.7); background-color: transparent; background-image: image(rgba(224, 27, 36, 0.5)); background-clip: padding-box; box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; outline-color: rgba(238, 238, 236, 0.3); }
+
+.osd button.destructive-action:hover { color: white; border-color: rgba(0, 0, 0, 0.7); background-color: transparent; background-image: image(rgba(224, 27, 36, 0.7)); background-clip: padding-box; box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; outline-color: rgba(238, 238, 236, 0.3); }
+
+.osd button.destructive-action:active:backdrop, .osd button.destructive-action:active, .osd button.destructive-action:checked:backdrop, .osd button.destructive-action:checked { color: white; border-color: rgba(0, 0, 0, 0.7); background-color: transparent; background-image: image(#e01b24); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; outline-color: rgba(238, 238, 236, 0.3); }
+
+.osd button.destructive-action:disabled:backdrop, .osd button.destructive-action:disabled { color: #919190; border-color: rgba(0, 0, 0, 0.7); background-color: transparent; background-image: image(rgba(71, 71, 71, 0.5)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; }
+
+.osd button.destructive-action:backdrop { color: #eeeeec; border-color: rgba(0, 0, 0, 0.7); background-color: transparent; background-image: image(rgba(224, 27, 36, 0.5)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; }
+
+.stack-switcher > button { outline-offset: -3px; }
+
+.stack-switcher > button > label { padding-left: 6px; padding-right: 6px; }
+
+.stack-switcher > button > image { padding-left: 6px; padding-right: 6px; padding-top: 3px; padding-bottom: 3px; }
+
+.stack-switcher > button.text-button { padding-left: 10px; padding-right: 10px; }
+
+.stack-switcher > button.image-button { padding-left: 2px; padding-right: 2px; }
+
+.stack-switcher > button.needs-attention:active > label, .stack-switcher > button.needs-attention:active > image, .stack-switcher > button.needs-attention:checked > label, .stack-switcher > button.needs-attention:checked > image { animation: none; background-image: none; }
+
+button.font separator, button.file separator { background-color: transparent; }
+
+button.font > box > box > label { font-weight: bold; }
+
+.primary-toolbar button { -gtk-icon-shadow: none; }
+
+button.circular { border-radius: 9999px; -gtk-outline-radius: 9999px; padding: 4px; /* circles instead of ellipses */ background-origin: padding-box, border-box; background-clip: padding-box, border-box; }
+
+button.circular label { padding: 0; }
+
+button.circular:not(.flat):not(.osd):not(:checked):not(:active):not(:disabled):not(:backdrop) { color: #2e3436; outline-color: rgba(46, 52, 54, 0.3); border-color: #cdc7c2; border-bottom-color: #bfb8b1; background-image: linear-gradient(to top, #edebe9 2px, #f6f5f4), linear-gradient(to top, #bfb8b1 25%, #cdc7c2 50%); text-shadow: 0 1px rgba(255, 255, 255, 0.769231); -gtk-icon-shadow: 0 1px rgba(255, 255, 255, 0.769231); box-shadow: inset 0 1px white, 0 1px 2px rgba(0, 0, 0, 0.07); border-color: transparent; }
+
+button.circular:hover:not(.osd):not(:checked):not(:active):not(:disabled):not(:backdrop) { color: #2e3436; outline-color: rgba(46, 52, 54, 0.3); border-color: #cdc7c2; border-bottom-color: #bfb8b1; background-image: linear-gradient(to top, #f6f5f4, #f8f8f7 1px), linear-gradient(to top, #bfb8b1 25%, #cdc7c2 50%); text-shadow: 0 1px rgba(255, 255, 255, 0.769231); -gtk-icon-shadow: 0 1px rgba(255, 255, 255, 0.769231); box-shadow: inset 0 1px white, 0 1px 2px rgba(0, 0, 0, 0.07); border-color: transparent; }
+
+stacksidebar row.needs-attention > label, .stack-switcher > button.needs-attention > label, .stack-switcher > button.needs-attention > image { animation: needs_attention 150ms ease-in; background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(#3584e4), to(transparent)), -gtk-gradient(radial, center center, 0, center center, 0.5, to(rgba(255, 255, 255, 0.769231)), to(transparent)); background-size: 6px 6px, 6px 6px; background-repeat: no-repeat; background-position: right 3px, right 4px; }
+
+stacksidebar row.needs-attention > label:backdrop, .stack-switcher > button.needs-attention > label:backdrop, .stack-switcher > button.needs-attention > image:backdrop { background-size: 6px 6px, 0 0; }
+
+stacksidebar row.needs-attention > label:dir(rtl), .stack-switcher > button.needs-attention > label:dir(rtl), .stack-switcher > button.needs-attention > image:dir(rtl) { background-position: left 3px, left 4px; }
+
+.inline-toolbar toolbutton > button { color: #2e3436; outline-color: rgba(46, 52, 54, 0.3); border-color: #cdc7c2; border-bottom-color: #bfb8b1; background-image: linear-gradient(to top, #edebe9 2px, #f6f5f4); text-shadow: 0 1px rgba(255, 255, 255, 0.769231); -gtk-icon-shadow: 0 1px rgba(255, 255, 255, 0.769231); box-shadow: inset 0 1px white, 0 1px 2px rgba(0, 0, 0, 0.07); }
+
+.inline-toolbar toolbutton > button:hover { color: #2e3436; outline-color: rgba(46, 52, 54, 0.3); border-color: #cdc7c2; border-bottom-color: #bfb8b1; background-image: linear-gradient(to top, #f6f5f4, #f8f8f7 1px); text-shadow: 0 1px rgba(255, 255, 255, 0.769231); -gtk-icon-shadow: 0 1px rgba(255, 255, 255, 0.769231); box-shadow: inset 0 1px white, 0 1px 2px rgba(0, 0, 0, 0.07); }
+
+.inline-toolbar toolbutton > button:active, .inline-toolbar toolbutton > button:checked { color: #2e3436; outline-color: rgba(46, 52, 54, 0.3); border-color: #cdc7c2; background-image: image(#d6d1cd); box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; }
+
+.inline-toolbar toolbutton > button:disabled { color: #929595; border-color: #cdc7c2; background-image: image(#faf9f8); text-shadow: none; -gtk-icon-shadow: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+
+.inline-toolbar toolbutton > button:disabled:active, .inline-toolbar toolbutton > button:disabled:checked { color: #929595; border-color: #cdc7c2; background-image: image(#e4e4e0); box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+
+.inline-toolbar toolbutton > button:backdrop { color: #929595; border-color: #d5d0cc; background-image: image(#f6f5f4); text-shadow: none; -gtk-icon-shadow: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+
+.inline-toolbar toolbutton > button:backdrop:active, .inline-toolbar toolbutton > button:backdrop:checked { color: #929595; border-color: #d5d0cc; background-image: image(#e4e4e0); box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+
+.inline-toolbar toolbutton > button:backdrop:disabled { color: #d4cfca; border-color: #d5d0cc; background-image: image(#faf9f8); text-shadow: none; -gtk-icon-shadow: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+
+.inline-toolbar toolbutton > button:backdrop:disabled:active, .inline-toolbar toolbutton > button:backdrop:disabled:checked { color: #d4cfca; border-color: #d5d0cc; background-image: image(#e4e4e0); box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+
+.linked:not(.vertical) > combobox > box > button.combo, filechooser .path-bar.linked > button, .linked:not(.vertical) > spinbutton:not(.vertical), .linked:not(.vertical) > entry, .inline-toolbar button, .linked > button, toolbar.inline-toolbar toolbutton > button.flat { border-right-style: none; border-radius: 0; -gtk-outline-radius: 0; }
+
+.linked:not(.vertical) > combobox:first-child > box > button.combo, combobox.linked button:nth-child(2):dir(rtl), filechooser .path-bar.linked > button:dir(rtl):last-child, filechooser .path-bar.linked > button:dir(ltr):first-child, .linked:not(.vertical) > spinbutton:first-child:not(.vertical), .linked:not(.vertical) > entry:first-child, .inline-toolbar button:first-child, .linked > button:first-child, toolbar.inline-toolbar toolbutton:first-child > button.flat { border-top-left-radius: 5px; border-bottom-left-radius: 5px; -gtk-outline-top-left-radius: 5px; -gtk-outline-bottom-left-radius: 5px; }
+
+.linked:not(.vertical) > combobox:last-child > box > button.combo, combobox.linked button:nth-child(2):dir(ltr), filechooser .path-bar.linked > button:dir(rtl):first-child, filechooser .path-bar.linked > button:dir(ltr):last-child, .linked:not(.vertical) > spinbutton:last-child:not(.vertical), .linked:not(.vertical) > entry:last-child, .inline-toolbar button:last-child, .linked > button:last-child, toolbar.inline-toolbar toolbutton:last-child > button.flat { border-right-style: solid; border-top-right-radius: 5px; border-bottom-right-radius: 5px; -gtk-outline-top-right-radius: 5px; -gtk-outline-bottom-right-radius: 5px; }
+
+.linked:not(.vertical) > combobox:only-child > box > button.combo, filechooser .path-bar.linked > button:only-child, .linked:not(.vertical) > spinbutton:only-child:not(.vertical), .linked:not(.vertical) > entry:only-child, .inline-toolbar button:only-child, .linked > button:only-child, toolbar.inline-toolbar toolbutton:only-child > button.flat { border-style: solid; border-radius: 5px; -gtk-outline-radius: 5px; }
+
+.linked.vertical > combobox > box > button.combo, .linked.vertical > spinbutton:not(.vertical), .linked.vertical > entry, .linked.vertical > button { border-style: solid solid none solid; border-radius: 0; -gtk-outline-radius: 0; }
+
+.linked.vertical > combobox:first-child > box > button.combo, .linked.vertical > spinbutton:first-child:not(.vertical), .linked.vertical > entry:first-child, .linked.vertical > button:first-child { border-top-left-radius: 5px; border-top-right-radius: 5px; -gtk-outline-top-left-radius: 5px; -gtk-outline-top-right-radius: 5px; }
+
+.linked.vertical > combobox:last-child > box > button.combo, .linked.vertical > spinbutton:last-child:not(.vertical), .linked.vertical > entry:last-child, .linked.vertical > button:last-child { border-bottom-style: solid; border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; -gtk-outline-bottom-left-radius: 5px; -gtk-outline-bottom-right-radius: 5px; }
+
+.linked.vertical > combobox:only-child > box > button.combo, .linked.vertical > spinbutton:only-child:not(.vertical), .linked.vertical > entry:only-child, .linked.vertical > button:only-child { border-style: solid; border-radius: 5px; -gtk-outline-radius: 5px; }
+
+.scale-popup button:backdrop:hover, .scale-popup button:backdrop:disabled, .scale-popup button:backdrop, .scale-popup button:hover, calendar.button, button:link:hover, button:link:active, button:link:checked, button:visited:hover, button:visited:active, button:visited:checked, button:link, button:visited, list row button.image-button:not(.flat), modelbutton.flat:backdrop, modelbutton.flat:backdrop:hover, modelbutton.flat, .menuitem.button.flat { background-color: transparent; background-image: none; border-color: transparent; box-shadow: inset 0 1px rgba(255, 255, 255, 0), 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; }
+
+/* menu buttons */
+modelbutton.flat, .menuitem.button.flat { min-height: 26px; padding-left: 5px; padding-right: 5px; border-radius: 5px; outline-offset: -2px; }
+
+modelbutton.flat:hover, .menuitem.button.flat:hover { background-color: white; }
+
+modelbutton.flat arrow { background: none; }
+
+modelbutton.flat arrow:hover { background: none; }
+
+modelbutton.flat arrow.left { -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); }
+
+modelbutton.flat arrow.right { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); }
+
+button.color { padding: 4px; }
+
+button.color colorswatch:only-child { box-shadow: 0 1px rgba(255, 255, 255, 0.769231); }
+
+button.color colorswatch:only-child, button.color colorswatch:only-child overlay { border-radius: 0; }
+
+.osd button.color colorswatch:only-child { box-shadow: none; }
+
+.osd button.color:disabled colorswatch:only-child, .osd button.color:backdrop colorswatch:only-child, .osd button.color:active colorswatch:only-child, .osd button.color:checked colorswatch:only-child, button.color:disabled colorswatch:only-child, button.color:backdrop colorswatch:only-child, button.color:active colorswatch:only-child, button.color:checked colorswatch:only-child { box-shadow: none; }
+
+/* list buttons */
+/* tone down as per new designs, see issue #1473, #1748 */
+list row button.image-button:not(.flat) { border: 1px solid rgba(205, 199, 194, 0.5); }
+
+list row button.image-button:not(.flat):hover { color: #2e3436; outline-color: rgba(46, 52, 54, 0.3); border-color: #cdc7c2; border-bottom-color: #bfb8b1; background-image: linear-gradient(to top, #f6f5f4, #f8f8f7 1px); text-shadow: 0 1px rgba(255, 255, 255, 0.769231); -gtk-icon-shadow: 0 1px rgba(255, 255, 255, 0.769231); box-shadow: inset 0 1px white, 0 1px 2px rgba(0, 0, 0, 0.07); }
+
+list row button.image-button:not(.flat):active, list row button.image-button:not(.flat):checked { color: #2e3436; outline-color: rgba(46, 52, 54, 0.3); border-color: #cdc7c2; background-image: image(#d6d1cd); box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; }
+
+/********* Links * */
+button:link > label, button:visited > label, button:link, button:visited, *:link { color: #1b6acb; }
+
+button:link > label:visited, button:visited > label:visited, button:visited, *:link:visited { color: #15539e; }
+
+*:selected button:link > label:visited, *:selected button:visited > label:visited, *:selected button:visited, *:selected *:link:visited { color: #a1bad8; }
+
+button:link > label:hover, button:visited > label:hover, button:hover:link, button:hover:visited, *:link:hover { color: #3584e4; }
+
+*:selected button:link > label:hover, *:selected button:visited > label:hover, *:selected button:hover:link, *:selected button:hover:visited, *:selected *:link:hover { color: #ebf3fc; }
+
+button:link > label:active, button:visited > label:active, button:active:link, button:active:visited, *:link:active { color: #1b6acb; }
+
+*:selected button:link > label:active, *:selected button:visited > label:active, *:selected button:active:link, *:selected button:active:visited, *:selected *:link:active { color: #d1e1f5; }
+
+button:link > label:disabled, button:visited > label:disabled, button:disabled:link, button:disabled:visited, *:link:disabled, *:link:disabled:backdrop { color: rgba(115, 115, 115, 0.8); }
+
+button:link > label:backdrop, button:visited > label:backdrop, button:backdrop:link, button:backdrop:visited, *:link:backdrop:backdrop:hover, *:link:backdrop:backdrop:hover:selected, *:link:backdrop { color: rgba(27, 106, 203, 0.9); }
+
+.selection-mode .titlebar:not(headerbar) .subtitle:link, .selection-mode.titlebar:not(headerbar) .subtitle:link, .selection-mode headerbar .subtitle:link, headerbar.selection-mode .subtitle:link, button:link > label:selected, button:visited > label:selected, button:selected:link, button:selected:visited, *:selected button:link > label, *:selected button:visited > label, *:selected button:link, *:selected button:visited, *:link:selected, *:selected *:link { color: #d1e1f5; }
+
+button:link, button:visited { text-shadow: none; }
+
+button:link:hover, button:link:active, button:link:checked, button:visited:hover, button:visited:active, button:visited:checked { text-shadow: none; }
+
+button:link > label, button:visited > label { text-decoration-line: underline; }
+
+/***************** GtkSpinButton * */
+spinbutton { font-feature-settings: "tnum"; }
+
+spinbutton:not(.vertical) { padding: 0; }
+
+.osd spinbutton:not(.vertical) entry, spinbutton:not(.vertical) entry { min-width: 28px; margin: 0; background: none; background-color: transparent; border: none; border-radius: 0; box-shadow: none; }
+
+spinbutton:not(.vertical) entry:backdrop:disabled { background-color: transparent; }
+
+spinbutton:not(.vertical) button { min-height: 16px; margin: 0; padding-bottom: 0; padding-top: 0; color: #43484a; background-image: none; border-style: none none none solid; border-color: rgba(205, 199, 194, 0.3); border-radius: 0; box-shadow: none; }
+
+spinbutton:not(.vertical) button:dir(rtl) { border-style: none solid none none; }
+
+spinbutton:not(.vertical) button:hover { color: #2e3436; background-color: rgba(46, 52, 54, 0.05); }
+
+spinbutton:not(.vertical) button:disabled { color: rgba(146, 149, 149, 0.3); background-color: transparent; }
+
+spinbutton:not(.vertical) button:active { background-color: rgba(0, 0, 0, 0.1); box-shadow: inset 0 2px 3px -1px rgba(0, 0, 0, 0.2); }
+
+spinbutton:not(.vertical) button:backdrop { color: #9d9f9f; background-color: transparent; border-color: rgba(213, 208, 204, 0.3); transition: 200ms ease-out; }
+
+spinbutton:not(.vertical) button:backdrop:disabled { color: rgba(212, 207, 202, 0.3); background-color: transparent; background-image: none; border-style: none none none solid; }
+
+spinbutton:not(.vertical) button:backdrop:disabled:dir(rtl) { border-style: none solid none none; }
+
+spinbutton:not(.vertical) button:dir(ltr):last-child { border-radius: 0 5px 5px 0; }
+
+spinbutton:not(.vertical) button:dir(rtl):first-child { border-radius: 5px 0 0 5px; }
+
+.osd spinbutton:not(.vertical) button { 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; color: #eeeeec; border-style: none none none solid; border-color: rgba(0, 0, 0, 0.4); border-radius: 0; box-shadow: none; -gtk-icon-shadow: 0 1px black; }
+
+.osd spinbutton:not(.vertical) button:dir(rtl) { border-style: none solid none none; }
+
+.osd spinbutton:not(.vertical) button:hover { 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; color: #eeeeec; border-color: rgba(0, 0, 0, 0.5); background-color: rgba(238, 238, 236, 0.1); -gtk-icon-shadow: 0 1px black; box-shadow: none; }
+
+.osd spinbutton:not(.vertical) button:backdrop { 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; color: #eeeeec; border-color: rgba(0, 0, 0, 0.5); -gtk-icon-shadow: none; box-shadow: none; }
+
+.osd spinbutton:not(.vertical) button:disabled { 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; color: #919190; border-color: rgba(0, 0, 0, 0.5); -gtk-icon-shadow: none; box-shadow: none; }
+
+.osd spinbutton:not(.vertical) button:dir(ltr):last-child { border-radius: 0 5px 5px 0; }
+
+.osd spinbutton:not(.vertical) button:dir(rtl):first-child { border-radius: 5px 0 0 5px; }
+
+spinbutton.vertical:disabled { color: #929595; }
+
+spinbutton.vertical:backdrop:disabled { color: #d4cfca; }
+
+spinbutton.vertical:drop(active) { border-color: transparent; box-shadow: none; }
+
+spinbutton.vertical entry { min-height: 32px; min-width: 32px; padding: 0; border-radius: 0; }
+
+spinbutton.vertical button { min-height: 32px; min-width: 32px; padding: 0; }
+
+spinbutton.vertical button.up { border-radius: 5px 5px 0 0; border-style: solid solid none solid; }
+
+spinbutton.vertical button.down { border-radius: 0 0 5px 5px; border-style: none solid solid solid; }
+
+.osd spinbutton.vertical button:first-child { color: #eeeeec; border-color: rgba(0, 0, 0, 0.7); background-color: transparent; background-image: image(rgba(53, 53, 53, 0.9)); background-clip: padding-box; box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; 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(83, 83, 83, 0.9)); background-clip: padding-box; box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; outline-color: rgba(238, 238, 236, 0.3); }
+
+.osd spinbutton.vertical button:first-child: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 spinbutton.vertical button:first-child:disabled { color: #919190; border-color: rgba(0, 0, 0, 0.7); background-color: transparent; background-image: image(rgba(71, 71, 71, 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(53, 53, 53, 0.9)); 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; }
+
+treeview spinbutton:not(.vertical) entry { min-height: 0; padding: 1px 2px; }
+
+/************** ComboBoxes * */
+combobox arrow { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); min-height: 16px; min-width: 16px; }
+
+combobox:drop(active) { box-shadow: none; }
+
+/************ Toolbars * */
+searchbar > revealer > box, .location-bar, .inline-toolbar, toolbar { -GtkWidget-window-dragging: true; padding: 4px; background-color: #f6f5f4; }
+
+toolbar { padding: 4px 3px 3px 4px; }
+
+.osd toolbar { background-color: transparent; }
+
+toolbar.osd { padding: 13px; border: none; border-radius: 5px; background-color: rgba(53, 53, 53, 0.9); }
+
+toolbar.osd.left, toolbar.osd.right, toolbar.osd.top, toolbar.osd.bottom { border-radius: 0; }
+
+toolbar.horizontal separator { margin: 0 7px 1px 6px; }
+
+toolbar.vertical separator { margin: 6px 1px 7px 0; }
+
+toolbar:not(.inline-toolbar):not(.osd) > *:not(.toggle):not(.popup) > * { margin-right: 1px; margin-bottom: 1px; }
+
+.inline-toolbar { padding: 3px; border-width: 0 1px 1px; border-radius: 0 0 5px 5px; }
+
+searchbar > revealer > box, .location-bar { border-width: 0 0 1px; padding: 3px; }
+
+searchbar > revealer > box { margin: -6px; padding: 6px; }
+
+.inline-toolbar, searchbar > revealer > box, .location-bar { border-style: solid; border-color: #cdc7c2; background-color: #eae7e5; }
+
+.inline-toolbar:backdrop, searchbar > revealer > box:backdrop, .location-bar:backdrop { border-color: #d5d0cc; background-color: #eae8e6; 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: #bfb8b1; border-radius: 0; background: #dfdcd8 linear-gradient(to top, #dad6d2, #e1dedb); box-shadow: inset 0 1px rgba(255, 255, 255, 0.8); /* Darken switchbuttons for headerbars. issue #1588 */ /* hide the close button separator */ }
+
+.titlebar:backdrop:not(headerbar), headerbar:backdrop { border-color: #d5d0cc; background-color: #f6f5f4; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0.8); transition: 200ms ease-out; }
+
+.titlebar:not(headerbar) .title, headerbar .title { padding-left: 12px; padding-right: 12px; font-weight: bold; }
+
+.titlebar:not(headerbar) .subtitle, headerbar .subtitle { font-size: smaller; padding-left: 12px; padding-right: 12px; }
+
+.titlebar:not(headerbar) stackswitcher button:checked, .titlebar:not(headerbar) button.toggle:checked, headerbar stackswitcher button:checked, headerbar button.toggle:checked { background: image(#cfcac4); border-color: #c6bfb9; border-top-color: #bab3ab; }
+
+.titlebar:not(headerbar) stackswitcher button:checked:backdrop, .titlebar:not(headerbar) button.toggle:checked:backdrop, headerbar stackswitcher button:checked:backdrop, headerbar button.toggle:checked:backdrop { color: #929595; border-color: #d5d0cc; background-image: image(#e4e4e0); box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+
+.selection-mode .titlebar:not(headerbar), .selection-mode.titlebar:not(headerbar), .selection-mode headerbar, headerbar.selection-mode { color: #ffffff; border-color: #185fb4; text-shadow: 0 -1px rgba(0, 0, 0, 0.5); background: #3584e4 linear-gradient(to top, #2c7fe3, #3987e5); box-shadow: inset 0 1px rgba(134, 181, 239, 0.9); }
+
+.selection-mode .titlebar:backdrop:not(headerbar), .selection-mode.titlebar:backdrop:not(headerbar), .selection-mode headerbar:backdrop, headerbar.selection-mode:backdrop { background-color: #3584e4; background-image: none; box-shadow: inset 0 1px rgba(154, 194, 242, 0.88); }
+
+.selection-mode .titlebar:backdrop:not(headerbar) label, .selection-mode.titlebar:backdrop:not(headerbar) label, .selection-mode headerbar:backdrop label, headerbar.selection-mode:backdrop label { text-shadow: none; color: #ffffff; }
+
+.selection-mode .titlebar:not(headerbar) button, .selection-mode.titlebar:not(headerbar) button, .selection-mode headerbar button, headerbar.selection-mode button { color: #ffffff; outline-color: rgba(255, 255, 255, 0.3); border-color: #1b6acb; border-bottom-color: #15539e; background-image: linear-gradient(to top, #2379e2 2px, #3584e4); text-shadow: 0 -1px rgba(0, 0, 0, 0.559216); -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.559216); box-shadow: inset 0 1px rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.07); }
+
+.selection-mode button.titlebutton, .selection-mode .titlebar:not(headerbar) button.flat, .selection-mode.titlebar:not(headerbar) button.flat, .selection-mode headerbar button.flat, headerbar.selection-mode 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; }
+
+.selection-mode .titlebar:not(headerbar) button:hover, .selection-mode.titlebar:not(headerbar) button:hover, .selection-mode headerbar button:hover, headerbar.selection-mode button:hover { color: #ffffff; outline-color: rgba(255, 255, 255, 0.3); border-color: #1b6acb; border-bottom-color: #15539e; background-image: linear-gradient(to top, #3584e4, #3987e5 1px); text-shadow: 0 -1px rgba(0, 0, 0, 0.511216); -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.511216); box-shadow: inset 0 1px rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.07); }
+
+.selection-mode .titlebar:not(headerbar) button:active, .selection-mode .titlebar:not(headerbar) button:checked, .selection-mode.titlebar:not(headerbar) button:active, .selection-mode.titlebar:not(headerbar) button:checked, .selection-mode headerbar button:active, .selection-mode headerbar button:checked, .selection-mode headerbar button.toggle:checked, .selection-mode headerbar button.toggle:active, headerbar.selection-mode button:active, headerbar.selection-mode button:checked, headerbar.selection-mode button.toggle:checked, headerbar.selection-mode button.toggle: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; }
+
+.selection-mode .titlebar:not(headerbar) button:backdrop, .selection-mode.titlebar:not(headerbar) button:backdrop, .selection-mode headerbar button.flat:backdrop, .selection-mode headerbar button:backdrop, headerbar.selection-mode button.flat:backdrop, headerbar.selection-mode button:backdrop { color: #d7e6fa; border-color: #3584e4; background-image: image(#3584e4); text-shadow: none; -gtk-icon-shadow: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); -gtk-icon-effect: none; border-color: #185fb4; }
+
+.selection-mode .titlebar:not(headerbar) button:backdrop:active, .selection-mode .titlebar:not(headerbar) button:backdrop:checked, .selection-mode.titlebar:not(headerbar) button:backdrop:active, .selection-mode.titlebar:not(headerbar) button:backdrop:checked, .selection-mode headerbar button.flat:backdrop:active, .selection-mode headerbar button.flat:backdrop:checked, .selection-mode headerbar button:backdrop:active, .selection-mode headerbar button:backdrop:checked, headerbar.selection-mode button.flat:backdrop:active, headerbar.selection-mode button.flat:backdrop:checked, headerbar.selection-mode button:backdrop:active, headerbar.selection-mode button:backdrop:checked { color: #d5e6f9; border-color: #2f80e3; background-image: image(#2f80e3); box-shadow: inset 0 1px rgba(255, 255, 255, 0); border-color: #185fb4; }
+
+.selection-mode .titlebar:not(headerbar) button:backdrop:disabled, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled, .selection-mode headerbar button.flat:backdrop:disabled, .selection-mode headerbar button:backdrop:disabled, headerbar.selection-mode button.flat:backdrop:disabled, headerbar.selection-mode button:backdrop:disabled { color: #8fbbf0; border-color: #5396e8; background-image: image(#5396e8); text-shadow: none; -gtk-icon-shadow: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); border-color: #185fb4; }
+
+.selection-mode .titlebar:not(headerbar) button:backdrop:disabled:active, .selection-mode .titlebar:not(headerbar) button:backdrop:disabled:checked, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled:active, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled:checked, .selection-mode headerbar button:backdrop:disabled:active, .selection-mode headerbar button:backdrop:disabled:checked, headerbar.selection-mode button:backdrop:disabled:active, headerbar.selection-mode button:backdrop:disabled:checked { color: #78aced; border-color: #2f80e3; background-image: image(#2f80e3); box-shadow: inset 0 1px rgba(255, 255, 255, 0); border-color: #185fb4; }
+
+.selection-mode button.titlebutton:backdrop, .selection-mode button.titlebutton:disabled, .selection-mode .titlebar:not(headerbar) button.flat:backdrop, .selection-mode .titlebar:not(headerbar) button.flat:disabled, .selection-mode.titlebar:not(headerbar) button.flat:backdrop, .selection-mode.titlebar:not(headerbar) button.flat:disabled, .selection-mode headerbar button.flat:backdrop, .selection-mode headerbar button.flat:disabled, .selection-mode headerbar button.flat:backdrop:disabled, headerbar.selection-mode button.flat:backdrop, headerbar.selection-mode button.flat:disabled, headerbar.selection-mode button.flat:backdrop:disabled { 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; }
+
+.selection-mode .titlebar:not(headerbar) button:disabled, .selection-mode.titlebar:not(headerbar) button:disabled, .selection-mode headerbar button:disabled, headerbar.selection-mode button:disabled { color: #a9cbf4; border-color: #1b6acb; background-image: image(#5396e8); text-shadow: none; -gtk-icon-shadow: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+
+.selection-mode .titlebar:not(headerbar) button:disabled:active, .selection-mode .titlebar:not(headerbar) button:disabled:checked, .selection-mode.titlebar:not(headerbar) button:disabled:active, .selection-mode.titlebar:not(headerbar) button:disabled:checked, .selection-mode headerbar button:disabled:active, .selection-mode headerbar button:disabled:checked, headerbar.selection-mode button:disabled:active, headerbar.selection-mode button:disabled:checked { color: #acccf4; border-color: #1b6acb; background-image: image(#2f80e3); box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+
+.selection-mode .titlebar:not(headerbar) button.suggested-action, .selection-mode.titlebar:not(headerbar) button.suggested-action, .selection-mode headerbar button.suggested-action, headerbar.selection-mode button.suggested-action { color: #2e3436; outline-color: rgba(46, 52, 54, 0.3); border-color: #cdc7c2; border-bottom-color: #bfb8b1; background-image: linear-gradient(to top, #edebe9 2px, #f6f5f4); text-shadow: 0 1px rgba(255, 255, 255, 0.769231); -gtk-icon-shadow: 0 1px rgba(255, 255, 255, 0.769231); box-shadow: inset 0 1px white, 0 1px 2px rgba(0, 0, 0, 0.07); border-color: #185fb4; }
+
+.selection-mode .titlebar:not(headerbar) button.suggested-action:hover, .selection-mode.titlebar:not(headerbar) button.suggested-action:hover, .selection-mode headerbar button.suggested-action:hover, headerbar.selection-mode button.suggested-action:hover { color: #2e3436; outline-color: rgba(46, 52, 54, 0.3); border-color: #cdc7c2; border-bottom-color: #bfb8b1; background-image: linear-gradient(to top, #f6f5f4, #f8f8f7 1px); text-shadow: 0 1px rgba(255, 255, 255, 0.769231); -gtk-icon-shadow: 0 1px rgba(255, 255, 255, 0.769231); box-shadow: inset 0 1px white, 0 1px 2px rgba(0, 0, 0, 0.07); border-color: #185fb4; }
+
+.selection-mode .titlebar:not(headerbar) button.suggested-action:active, .selection-mode.titlebar:not(headerbar) button.suggested-action:active, .selection-mode headerbar button.suggested-action:active, headerbar.selection-mode button.suggested-action:active { color: #2e3436; outline-color: rgba(46, 52, 54, 0.3); border-color: #cdc7c2; background-image: image(#d6d1cd); box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; border-color: #185fb4; }
+
+.selection-mode .titlebar:not(headerbar) button.suggested-action:disabled, .selection-mode.titlebar:not(headerbar) button.suggested-action:disabled, .selection-mode headerbar button.suggested-action:disabled, headerbar.selection-mode button.suggested-action:disabled { color: #929595; border-color: #cdc7c2; background-image: image(#faf9f8); text-shadow: none; -gtk-icon-shadow: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); border-color: #185fb4; }
+
+.selection-mode .titlebar:not(headerbar) button.suggested-action:backdrop, .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop, .selection-mode headerbar button.suggested-action:backdrop, headerbar.selection-mode button.suggested-action:backdrop { color: #929595; border-color: #d5d0cc; background-image: image(#f6f5f4); text-shadow: none; -gtk-icon-shadow: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); border-color: #185fb4; }
+
+.selection-mode .titlebar:not(headerbar) button.suggested-action:backdrop:disabled, .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop:disabled, .selection-mode headerbar button.suggested-action:backdrop:disabled, headerbar.selection-mode button.suggested-action:backdrop:disabled { color: #d4cfca; border-color: #d5d0cc; background-image: image(#faf9f8); text-shadow: none; -gtk-icon-shadow: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); border-color: #185fb4; }
+
+.selection-mode .titlebar:not(headerbar) .selection-menu, .selection-mode.titlebar:not(headerbar) .selection-menu, .selection-mode headerbar .selection-menu:backdrop, .selection-mode headerbar .selection-menu, headerbar.selection-mode .selection-menu:backdrop, headerbar.selection-mode .selection-menu { border-color: rgba(53, 132, 228, 0); background-color: rgba(53, 132, 228, 0); background-image: none; box-shadow: none; min-height: 20px; padding: 6px 10px; }
+
+.selection-mode .titlebar:not(headerbar) .selection-menu arrow, .selection-mode.titlebar:not(headerbar) .selection-menu arrow, .selection-mode headerbar .selection-menu:backdrop arrow, .selection-mode headerbar .selection-menu arrow, headerbar.selection-mode .selection-menu:backdrop arrow, headerbar.selection-mode .selection-menu arrow { -GtkArrow-arrow-scaling: 1; }
+
+.selection-mode .titlebar:not(headerbar) .selection-menu .arrow, .selection-mode.titlebar:not(headerbar) .selection-menu .arrow, .selection-mode headerbar .selection-menu:backdrop .arrow, .selection-mode headerbar .selection-menu .arrow, headerbar.selection-mode .selection-menu:backdrop .arrow, headerbar.selection-mode .selection-menu .arrow { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); color: rgba(255, 255, 255, 0.5); -gtk-icon-shadow: none; }
+
+.tiled .titlebar:not(headerbar), .tiled-top .titlebar:not(headerbar), .tiled-right .titlebar:not(headerbar), .tiled-bottom .titlebar:not(headerbar), .tiled-left .titlebar:not(headerbar), .maximized .titlebar:not(headerbar), .fullscreen .titlebar:not(headerbar), .tiled headerbar, .tiled-top headerbar, .tiled-right headerbar, .tiled-bottom headerbar, .tiled-left headerbar, .maximized headerbar, .fullscreen headerbar { border-radius: 0; }
+
+.default-decoration.titlebar:not(headerbar), headerbar.default-decoration { min-height: 28px; padding: 4px; }
+
+.default-decoration.titlebar:not(headerbar) button.titlebutton, headerbar.default-decoration button.titlebutton { min-height: 26px; min-width: 26px; margin: 0; padding: 0; }
+
+.titlebar:not(headerbar) separator.titlebutton, headerbar separator.titlebutton { opacity: 0; }
+
+.solid-csd .titlebar:dir(rtl):not(headerbar), .solid-csd .titlebar:dir(ltr):not(headerbar), .solid-csd headerbar:backdrop:dir(rtl), .solid-csd headerbar:backdrop:dir(ltr), .solid-csd headerbar:dir(rtl), .solid-csd headerbar:dir(ltr) { margin-left: -1px; margin-right: -1px; margin-top: -1px; border-radius: 0; box-shadow: none; }
+
+headerbar entry, headerbar spinbutton, headerbar separator:not(.sidebar), headerbar button { margin-top: 6px; margin-bottom: 6px; }
+
+headerbar switch { margin-top: 10px; margin-bottom: 10px; }
+
+headerbar.titlebar headerbar:not(.titlebar) { background: none; box-shadow: none; }
+
+.background .titlebar:backdrop, .background .titlebar { border-top-left-radius: 8px; border-top-right-radius: 8px; }
+
+.background.tiled .titlebar:backdrop, .background.tiled .titlebar, .background.tiled-top .titlebar:backdrop, .background.tiled-top .titlebar, .background.tiled-right .titlebar:backdrop, .background.tiled-right .titlebar, .background.tiled-bottom .titlebar:backdrop, .background.tiled-bottom .titlebar, .background.tiled-left .titlebar:backdrop, .background.tiled-left .titlebar, .background.maximized .titlebar:backdrop, .background.maximized .titlebar, .background.solid-csd .titlebar:backdrop, .background.solid-csd .titlebar { border-top-left-radius: 0; border-top-right-radius: 0; }
+
+window separator:first-child + headerbar:backdrop, window separator:first-child + headerbar, window headerbar:first-child:backdrop, window headerbar:first-child { border-top-left-radius: 7px; }
+
+window headerbar:last-child:backdrop, window headerbar:last-child { border-top-right-radius: 7px; }
+
+window stack headerbar:first-child:backdrop, window stack headerbar:first-child, window stack headerbar:last-child:backdrop, window stack headerbar:last-child { border-top-left-radius: 7px; border-top-right-radius: 7px; }
+
+window.tiled headerbar, window.tiled headerbar:first-child, window.tiled headerbar:last-child, window.tiled headerbar:only-child, window.tiled headerbar:backdrop, window.tiled headerbar:backdrop:first-child, window.tiled headerbar:backdrop:last-child, window.tiled headerbar:backdrop:only-child, window.tiled-top headerbar, window.tiled-top headerbar:first-child, window.tiled-top headerbar:last-child, window.tiled-top headerbar:only-child, window.tiled-top headerbar:backdrop, window.tiled-top headerbar:backdrop:first-child, window.tiled-top headerbar:backdrop:last-child, window.tiled-top headerbar:backdrop:only-child, window.tiled-right headerbar, window.tiled-right headerbar:first-child, window.tiled-right headerbar:last-child, window.tiled-right headerbar:only-child, window.tiled-right headerbar:backdrop, window.tiled-right headerbar:backdrop:first-child, window.tiled-right headerbar:backdrop:last-child, window.tiled-right headerbar:backdrop:only-child, window.tiled-bottom headerbar, window.tiled-bottom headerbar:first-child, window.tiled-bottom headerbar:last-child, window.tiled-bottom headerbar:only-child, window.tiled-bottom headerbar:backdrop, window.tiled-bottom headerbar:backdrop:first-child, window.tiled-bottom headerbar:backdrop:last-child, window.tiled-bottom headerbar:backdrop:only-child, window.tiled-left headerbar, window.tiled-left headerbar:first-child, window.tiled-left headerbar:last-child, window.tiled-left headerbar:only-child, window.tiled-left headerbar:backdrop, window.tiled-left headerbar:backdrop:first-child, window.tiled-left headerbar:backdrop:last-child, window.tiled-left headerbar:backdrop:only-child, window.maximized headerbar, window.maximized headerbar:first-child, window.maximized headerbar:last-child, window.maximized headerbar:only-child, window.maximized headerbar:backdrop, window.maximized headerbar:backdrop:first-child, window.maximized headerbar:backdrop:last-child, window.maximized headerbar:backdrop:only-child, window.fullscreen headerbar, window.fullscreen headerbar:first-child, window.fullscreen headerbar:last-child, window.fullscreen headerbar:only-child, window.fullscreen headerbar:backdrop, window.fullscreen headerbar:backdrop:first-child, window.fullscreen headerbar:backdrop:last-child, window.fullscreen headerbar:backdrop:only-child, window.solid-csd headerbar, window.solid-csd headerbar:first-child, window.solid-csd headerbar:last-child, window.solid-csd headerbar:only-child, window.solid-csd headerbar:backdrop, window.solid-csd headerbar:backdrop:first-child, window.solid-csd headerbar:backdrop:last-child, window.solid-csd headerbar:backdrop:only-child { border-top-left-radius: 0; border-top-right-radius: 0; }
+
+window.csd > .titlebar:not(headerbar) { padding: 0; background-color: transparent; background-image: none; border-style: none; border-color: transparent; box-shadow: none; }
+
+.titlebar:not(headerbar) separator { background-color: #cdc7c2; }
+
+window.devel headerbar.titlebar:not(.selection-mode) { background: #f6f5f4 cross-fade(10% -gtk-icontheme("system-run-symbolic"), image(transparent)) 90% 0/256px 256px no-repeat, linear-gradient(to right, transparent 65%, rgba(53, 132, 228, 0.2)), linear-gradient(to top, #d8d4d0, #dfdcd8 3px, #edebe9); }
+
+window.devel headerbar.titlebar:not(.selection-mode):backdrop { background: #f6f5f4 cross-fade(10% -gtk-icontheme("system-run-symbolic"), image(transparent)) 90% 0/256px 256px no-repeat, image(#f6f5f4); /* background-color would flash */ }
+
+/************ Pathbars * */
+.path-bar button.text-button, .path-bar button.image-button, .path-bar button { padding-left: 4px; padding-right: 4px; }
+
+.path-bar button.text-button.image-button label { padding-left: 0; padding-right: 0; }
+
+.path-bar button.text-button.image-button label:last-child, .path-bar button label:last-child { padding-right: 8px; }
+
+.path-bar button.text-button.image-button label:first-child, .path-bar button label:first-child { padding-left: 8px; }
+
+.path-bar button image { padding-left: 4px; padding-right: 4px; }
+
+.path-bar button.slider-button { padding-left: 0; padding-right: 0; }
+
+/************** Tree Views * */
+treeview.view { border-left-color: #979a9b; border-top-color: #f6f5f4; }
+
+* { -GtkTreeView-horizontal-separator: 4; -GtkTreeView-grid-line-width: 1; -GtkTreeView-grid-line-pattern: ''; -GtkTreeView-tree-line-width: 1; -GtkTreeView-tree-line-pattern: ''; -GtkTreeView-expander-size: 16; }
+
+treeview.view:selected:focus, treeview.view:selected { border-radius: 0; }
+
+treeview.view:selected:backdrop, treeview.view:selected { border-left-color: #9ac2f2; border-top-color: rgba(46, 52, 54, 0.1); }
+
+treeview.view:disabled { color: #929595; }
+
+treeview.view:disabled:selected { color: #86b5ef; }
+
+treeview.view:disabled:selected:backdrop { color: #71a8eb; }
+
+treeview.view:disabled:backdrop { color: #d4cfca; }
+
+treeview.view.separator { min-height: 2px; color: #f6f5f4; }
+
+treeview.view.separator:backdrop { color: rgba(246, 245, 244, 0.1); }
+
+treeview.view:backdrop { border-left-color: #c4c5c5; border-top: #f6f5f4; }
+
+treeview.view:drop(active) { border-style: solid none; border-width: 1px; border-color: #185fb4; }
+
+treeview.view.after:drop(active) { border-top-style: none; }
+
+treeview.view.before:drop(active) { border-bottom-style: none; }
+
+treeview.view.expander { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); color: #4d4d4d; }
+
+treeview.view.expander:dir(rtl) { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); }
+
+treeview.view.expander:hover { color: black; }
+
+treeview.view.expander:selected { color: #c2daf7; }
+
+treeview.view.expander:selected:hover { color: #ffffff; }
+
+treeview.view.expander:selected:backdrop { color: #c1d8f5; }
+
+treeview.view.expander:checked { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); }
+
+treeview.view.expander:backdrop { color: #b2b4b4; }
+
+treeview.view.progressbar { color: #ffffff; background-color: #3584e4; background-image: image(#3584e4); box-shadow: none; }
+
+treeview.view.progressbar:selected:focus, treeview.view.progressbar:selected { color: #3584e4; background-image: image(#ffffff); }
+
+treeview.view.progressbar:selected:focus:backdrop, treeview.view.progressbar:selected:backdrop { color: #3584e4; background-color: #fcfcfc; }
+
+treeview.view.progressbar:backdrop { color: #fcfcfc; background-image: none; box-shadow: none; }
+
+treeview.view.trough { background-color: rgba(46, 52, 54, 0.1); }
+
+treeview.view.trough:selected:focus, treeview.view.trough:selected { background-color: rgba(255, 255, 255, 0.3); }
+
+treeview.view header button { color: #979a9b; background-color: #ffffff; font-weight: bold; text-shadow: none; box-shadow: none; }
+
+treeview.view header button:hover { color: #636769; box-shadow: none; transition: none; }
+
+treeview.view header button:active { color: #2e3436; transition: none; }
+
+treeview.view button.dnd:active, treeview.view button.dnd:selected, treeview.view button.dnd:hover, treeview.view button.dnd, treeview.view header.button.dnd:active, treeview.view header.button.dnd:selected, treeview.view header.button.dnd:hover, treeview.view header.button.dnd { padding: 0 6px; color: #ffffff; background-image: none; background-color: #3584e4; border-style: none; border-radius: 0; box-shadow: inset 0 0 0 1px #ffffff; text-shadow: none; transition: none; }
+
+treeview.view acceleditor > label { background-color: #3584e4; }
+
+treeview.view header button, treeview.view header button:hover, treeview.view header button:active { padding: 0 6px; background-image: none; border-style: none solid solid none; border-color: #d7d2ce; border-radius: 0; text-shadow: none; }
+
+treeview.view header button:disabled { border-color: #f6f5f4; background-image: none; }
+
+treeview.view header button:backdrop { color: #c4c5c5; border-color: #f6f5f4; border-style: none solid solid none; background-image: none; background-color: #fcfcfc; }
+
+treeview.view header button:backdrop:disabled { border-color: #f6f5f4; background-image: none; }
+
+treeview.view header button:last-child { border-right-style: none; }
+
+/********* Menus * */
+menubar, .menubar { -GtkWidget-window-dragging: true; padding: 0px; box-shadow: inset 0 -1px rgba(0, 0, 0, 0.1); }
+
+menubar:backdrop, .menubar:backdrop { background-color: #f6f5f4; }
+
+menubar > menuitem, .menubar > menuitem { min-height: 16px; padding: 4px 8px; }
+
+menubar > menuitem menu:dir(rtl), menubar > menuitem menu:dir(ltr), .menubar > menuitem menu:dir(rtl), .menubar > menuitem menu:dir(ltr) { border-radius: 0; padding: 0; }
+
+menubar > menuitem:hover, .menubar > menuitem:hover { box-shadow: inset 0 -3px #3584e4; color: #1b6acb; }
+
+menubar > menuitem:disabled, .menubar > menuitem:disabled { color: #929595; box-shadow: none; }
+
+menubar .csd.popup decoration, .menubar .csd.popup decoration { border-radius: 0; }
+
+.background.popup { background-color: transparent; }
+
+menu, .menu, .context-menu { margin: 4px; padding: 4px 0px; background-color: #ffffff; border: 1px solid #cdc7c2; }
+
+.csd menu, .csd .menu, .csd .context-menu { border: none; border-radius: 5px; }
+
+menu:backdrop, .menu:backdrop, .context-menu:backdrop { background-color: #fcfcfc; }
+
+menu menuitem, .menu menuitem, .context-menu menuitem { min-height: 16px; min-width: 40px; padding: 4px 6px; text-shadow: none; }
+
+menu menuitem:hover, .menu menuitem:hover, .context-menu menuitem:hover { color: #ffffff; background-color: #3584e4; }
+
+menu menuitem:disabled, .menu menuitem:disabled, .context-menu menuitem:disabled { color: #929595; }
+
+menu menuitem:disabled:backdrop, .menu menuitem:disabled:backdrop, .context-menu menuitem:disabled:backdrop { color: #d4cfca; }
+
+menu menuitem:backdrop, menu menuitem:backdrop:hover, .menu menuitem:backdrop, .menu menuitem:backdrop:hover, .context-menu menuitem:backdrop, .context-menu menuitem:backdrop:hover { color: #929595; background-color: transparent; }
+
+menu menuitem arrow, .menu menuitem arrow, .context-menu menuitem arrow { min-height: 16px; min-width: 16px; }
+
+menu menuitem arrow:dir(ltr), .menu menuitem arrow:dir(ltr), .context-menu menuitem arrow:dir(ltr) { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); margin-left: 10px; }
+
+menu menuitem arrow:dir(rtl), .menu menuitem arrow:dir(rtl), .context-menu menuitem arrow:dir(rtl) { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); margin-right: 10px; }
+
+menu menuitem label:dir(rtl), menu menuitem label:dir(ltr), .menu menuitem label:dir(rtl), .menu menuitem label:dir(ltr), .context-menu menuitem label:dir(rtl), .context-menu menuitem label:dir(ltr) { color: inherit; }
+
+menu > arrow, .menu > arrow, .context-menu > arrow { 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; min-height: 16px; min-width: 16px; padding: 4px; background-color: #ffffff; border-radius: 0; }
+
+menu > arrow.top, .menu > arrow.top, .context-menu > arrow.top { margin-top: -4px; border-bottom: 1px solid #eaebeb; border-top-right-radius: 5px; border-top-left-radius: 5px; -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); }
+
+menu > arrow.bottom, .menu > arrow.bottom, .context-menu > arrow.bottom { margin-top: 8px; margin-bottom: -12px; border-top: 1px solid #eaebeb; border-bottom-right-radius: 5px; border-bottom-left-radius: 5px; -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); }
+
+menu > arrow:hover, .menu > arrow:hover, .context-menu > arrow:hover { background-color: #eaebeb; }
+
+menu > arrow:backdrop, .menu > arrow:backdrop, .context-menu > arrow:backdrop { background-color: #fcfcfc; }
+
+menu > arrow:disabled, .menu > arrow:disabled, .context-menu > arrow:disabled { color: transparent; background-color: transparent; border-color: transparent; }
+
+menuitem accelerator { color: alpha(currentColor,0.55); }
+
+menuitem check, menuitem radio { min-height: 16px; min-width: 16px; }
+
+menuitem check:dir(ltr), menuitem radio:dir(ltr) { margin-right: 7px; }
+
+menuitem check:dir(rtl), menuitem radio:dir(rtl) { margin-left: 7px; }
+
+/*************** Popovers * */
+popover.background { padding: 2px; background-color: #f6f5f4; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3); }
+
+.csd popover.background, popover.background { border: 1px solid #cdc7c2; border-radius: 9px; }
+
+.csd popover.background { background-clip: padding-box; border-color: rgba(0, 0, 0, 0.23); }
+
+popover.background:backdrop { background-color: #f6f5f4; box-shadow: none; }
+
+popover.background > list, popover.background > .view, popover.background > iconview, popover.background > toolbar { border-style: none; background-color: transparent; }
+
+.csd popover.background.touch-selection, .csd popover.background.magnifier, popover.background.touch-selection, popover.background.magnifier { border: 1px solid rgba(255, 255, 255, 0.1); }
+
+popover.background separator { margin: 3px; }
+
+popover.background list separator { margin: 0px; }
+
+/************* Notebooks * */
+notebook > header { padding: 1px; border-color: #cdc7c2; border-width: 1px; background-color: #e1dedb; }
+
+notebook > header:backdrop { border-color: #d5d0cc; background-color: #eae8e6; }
+
+notebook > header tabs { margin: -1px; }
+
+notebook > header.top { border-bottom-style: solid; }
+
+notebook > header.top > tabs { margin-bottom: -2px; }
+
+notebook > header.top > tabs > tab:hover { box-shadow: inset 0 -4px #cdc7c2; }
+
+notebook > header.top > tabs > tab:backdrop { box-shadow: none; }
+
+notebook > header.top > tabs > tab:checked { box-shadow: inset 0 -4px #3584e4; }
+
+notebook > header.bottom { border-top-style: solid; }
+
+notebook > header.bottom > tabs { margin-top: -2px; }
+
+notebook > header.bottom > tabs > tab:hover { box-shadow: inset 0 4px #cdc7c2; }
+
+notebook > header.bottom > tabs > tab:backdrop { box-shadow: none; }
+
+notebook > header.bottom > tabs > tab:checked { box-shadow: inset 0 4px #3584e4; }
+
+notebook > header.left { border-right-style: solid; }
+
+notebook > header.left > tabs { margin-right: -2px; }
+
+notebook > header.left > tabs > tab:hover { box-shadow: inset -4px 0 #cdc7c2; }
+
+notebook > header.left > tabs > tab:backdrop { box-shadow: none; }
+
+notebook > header.left > tabs > tab:checked { box-shadow: inset -4px 0 #3584e4; }
+
+notebook > header.right { border-left-style: solid; }
+
+notebook > header.right > tabs { margin-left: -2px; }
+
+notebook > header.right > tabs > tab:hover { box-shadow: inset 4px 0 #cdc7c2; }
+
+notebook > header.right > tabs > tab:backdrop { box-shadow: none; }
+
+notebook > header.right > tabs > tab:checked { box-shadow: inset 4px 0 #3584e4; }
+
+notebook > header.top > tabs > arrow { border-top-style: none; }
+
+notebook > header.bottom > tabs > arrow { border-bottom-style: none; }
+
+notebook > header.top > tabs > arrow, notebook > header.bottom > tabs > arrow { margin-left: -5px; margin-right: -5px; padding-left: 4px; padding-right: 4px; }
+
+notebook > header.top > tabs > arrow.down, notebook > header.bottom > tabs > arrow.down { -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); }
+
+notebook > header.top > tabs > arrow.up, notebook > header.bottom > tabs > arrow.up { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); }
+
+notebook > header.left > tabs > arrow { border-left-style: none; }
+
+notebook > header.right > tabs > arrow { border-right-style: none; }
+
+notebook > header.left > tabs > arrow, notebook > header.right > tabs > arrow { margin-top: -5px; margin-bottom: -5px; padding-top: 4px; padding-bottom: 4px; }
+
+notebook > header.left > tabs > arrow.down, notebook > header.right > tabs > arrow.down { -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); }
+
+notebook > header.left > tabs > arrow.up, notebook > header.right > tabs > arrow.up { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); }
+
+notebook > header > tabs > arrow { min-height: 16px; min-width: 16px; border-radius: 0; }
+
+notebook > header > tabs > arrow:hover:not(:active):not(:backdrop) { background-clip: padding-box; background-image: none; background-color: rgba(255, 255, 255, 0.3); border-color: transparent; box-shadow: none; }
+
+notebook > header > tabs > arrow:disabled { 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; }
+
+notebook > header tab { min-height: 30px; min-width: 30px; padding: 3px 12px; outline-offset: -5px; color: #2e3436; font-weight: normal; border-width: 1px; border-color: transparent; }
+
+notebook > header tab:hover { color: #2e3436; background-color: #edebe9; }
+
+notebook > header tab.reorderable-page:hover { border-color: rgba(205, 199, 194, 0.3); background-color: rgba(246, 245, 244, 0.2); }
+
+notebook > header tab:backdrop { color: #babbbb; }
+
+notebook > header tab.reorderable-page:backdrop { border-color: transparent; background-color: transparent; }
+
+notebook > header tab:checked { color: #2e3436; }
+
+notebook > header tab.reorderable-page:checked { border-color: rgba(205, 199, 194, 0.5); background-color: rgba(246, 245, 244, 0.5); }
+
+notebook > header tab.reorderable-page:checked:hover { background-color: rgba(246, 245, 244, 0.7); }
+
+notebook > header tab:backdrop:checked { color: #929595; }
+
+notebook > header tab.reorderable-page:backdrop:checked { border-color: #d5d0cc; background-color: #f6f5f4; }
+
+notebook > header tab button.flat { padding: 0; margin-top: 4px; margin-bottom: 4px; min-width: 20px; min-height: 20px; }
+
+notebook > header tab button.flat:hover { color: currentColor; }
+
+notebook > header tab button.flat, notebook > header tab button.flat:backdrop { color: alpha(currentColor,0.3); }
+
+notebook > header tab button.flat:last-child { margin-left: 4px; margin-right: -4px; }
+
+notebook > header tab button.flat:first-child { margin-left: -4px; margin-right: 4px; }
+
+notebook > header.top tabs, notebook > header.bottom tabs { padding-left: 4px; padding-right: 4px; }
+
+notebook > header.top tabs:not(:only-child), notebook > header.bottom tabs:not(:only-child) { margin-left: 3px; margin-right: 3px; }
+
+notebook > header.top tabs:not(:only-child):first-child, notebook > header.bottom tabs:not(:only-child):first-child { margin-left: -1px; }
+
+notebook > header.top tabs:not(:only-child):last-child, notebook > header.bottom tabs:not(:only-child):last-child { margin-right: -1px; }
+
+notebook > header.top tabs tab, notebook > header.bottom tabs tab { margin-left: 4px; margin-right: 4px; }
+
+notebook > header.top tabs tab.reorderable-page, notebook > header.bottom tabs tab.reorderable-page { border-style: none solid; }
+
+notebook > header.left tabs, notebook > header.right tabs { padding-top: 4px; padding-bottom: 4px; }
+
+notebook > header.left tabs:not(:only-child), notebook > header.right tabs:not(:only-child) { margin-top: 3px; margin-bottom: 3px; }
+
+notebook > header.left tabs:not(:only-child):first-child, notebook > header.right tabs:not(:only-child):first-child { margin-top: -1px; }
+
+notebook > header.left tabs:not(:only-child):last-child, notebook > header.right tabs:not(:only-child):last-child { margin-bottom: -1px; }
+
+notebook > header.left tabs tab, notebook > header.right tabs tab { margin-top: 4px; margin-bottom: 4px; }
+
+notebook > header.left tabs tab.reorderable-page, notebook > header.right tabs tab.reorderable-page { border-style: solid none; }
+
+notebook > header.top tab { padding-bottom: 4px; }
+
+notebook > header.bottom tab { padding-top: 4px; }
+
+notebook > stack:not(:only-child) { background-color: #ffffff; }
+
+notebook > stack:not(:only-child):backdrop { background-color: #fcfcfc; }
+
+/************** Scrollbars * */
+scrollbar { background-color: #cecece; transition: all 300ms cubic-bezier(0.25, 0.46, 0.45, 0.94); }
+
+* { -GtkScrollbar-has-backward-stepper: false; -GtkScrollbar-has-forward-stepper: false; }
+
+scrollbar.top { border-bottom: 1px solid #cdc7c2; }
+
+scrollbar.bottom { border-top: 1px solid #cdc7c2; }
+
+scrollbar.left { border-right: 1px solid #cdc7c2; }
+
+scrollbar.right { border-left: 1px solid #cdc7c2; }
+
+scrollbar:backdrop { background-color: #efedec; border-color: #d5d0cc; transition: 200ms ease-out; }
+
+scrollbar slider { min-width: 8px; min-height: 8px; margin: -1px; border: 4px solid transparent; border-radius: 10px; background-clip: padding-box; background-color: #7e8182; transition: all 300ms cubic-bezier(0.25, 0.46, 0.45, 0.94); }
+
+scrollbar slider:hover { background-color: #565b5c; }
+
+scrollbar slider:hover:active { background-color: #1b6acb; }
+
+scrollbar slider:backdrop { background-color: #cecfce; }
+
+scrollbar slider:disabled { background-color: transparent; }
+
+scrollbar.fine-tune slider { transition: none; min-width: 6px; min-height: 6px; }
+
+scrollbar.fine-tune.horizontal slider { border-width: 5px 4px; }
+
+scrollbar.fine-tune.vertical slider { border-width: 4px 5px; }
+
+scrollbar.overlay-indicator:not(.dragging):not(.hovering) { border-color: transparent; opacity: 0.4; background-color: transparent; }
+
+scrollbar.overlay-indicator:not(.dragging):not(.hovering) slider { margin: 0; min-width: 3px; min-height: 3px; background-color: #2e3436; border: 1px solid white; }
+
+scrollbar.overlay-indicator:not(.dragging):not(.hovering) button { min-width: 5px; min-height: 5px; background-color: #2e3436; background-clip: padding-box; border-radius: 100%; border: 1px solid white; -gtk-icon-source: none; }
+
+scrollbar.overlay-indicator.horizontal:not(.dragging):not(.hovering) slider { margin: 0 2px; min-width: 40px; }
+
+scrollbar.overlay-indicator.horizontal:not(.dragging):not(.hovering) button { margin: 1px 2px; min-width: 5px; }
+
+scrollbar.overlay-indicator.vertical:not(.dragging):not(.hovering) slider { margin: 2px 0; min-height: 40px; }
+
+scrollbar.overlay-indicator.vertical:not(.dragging):not(.hovering) button { margin: 2px 1px; min-height: 5px; }
+
+scrollbar.overlay-indicator.dragging, scrollbar.overlay-indicator.hovering { opacity: 0.8; }
+
+scrollbar.horizontal slider { min-width: 40px; }
+
+scrollbar.vertical slider { min-height: 40px; }
+
+scrollbar button { padding: 0; min-width: 12px; min-height: 12px; border-style: none; border-radius: 0; transition-property: min-height, min-width, color; 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; color: #7e8182; }
+
+scrollbar button:hover { 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; color: #565b5c; }
+
+scrollbar button:active, scrollbar button:checked { 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; color: #1b6acb; }
+
+scrollbar button:disabled { 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; color: rgba(126, 129, 130, 0.2); }
+
+scrollbar button:backdrop { 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; color: #cecfce; }
+
+scrollbar button:backdrop:disabled { 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; color: rgba(206, 207, 206, 0.2); }
+
+scrollbar.vertical button.down { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); }
+
+scrollbar.vertical button.up { -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); }
+
+scrollbar.horizontal button.down { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); }
+
+scrollbar.horizontal button.up { -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); }
+
+treeview ~ scrollbar.vertical { border-top: 1px solid #cdc7c2; margin-top: -1px; }
+
+/********** Switch * */
+switch { outline-offset: -4px; border: 1px solid #cdc7c2; border-radius: 14px; color: #2e3436; background-color: #e1dedb; text-shadow: 0 1px rgba(0, 0, 0, 0.1); /* only show i / o for the accessible theme */ }
+
+switch:checked { color: #ffffff; border-color: #15539e; background-color: #3584e4; text-shadow: 0 1px rgba(24, 95, 180, 0.5), 0 0 2px rgba(255, 255, 255, 0.6); }
+
+switch:disabled { color: #929595; border-color: #cdc7c2; background-color: #faf9f8; text-shadow: none; }
+
+switch:backdrop { color: #929595; border-color: #d5d0cc; background-color: #eae8e6; text-shadow: none; transition: 200ms ease-out; }
+
+switch:backdrop:checked { color: #f6f5f4; border-color: #15539e; background-color: #3584e4; }
+
+switch:backdrop:disabled { color: #d4cfca; border-color: #d5d0cc; background-color: #faf9f8; }
+
+switch slider { margin: -1px; min-width: 24px; min-height: 24px; border: 1px solid; border-radius: 50%; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); -gtk-outline-radius: 20px; 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); }
+
+switch image { color: transparent; }
+
+switch:hover slider { color: #2e3436; outline-color: rgba(46, 52, 54, 0.3); border-color: #bfb8b1; background-image: linear-gradient(to bottom, white 10%, white 90%); box-shadow: inset 0 1px white, 0 1px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.07); }
+
+switch:checked > slider { border: 1px solid #15539e; }
+
+switch:disabled slider { color: #929595; border-color: #cdc7c2; background-image: image(#faf9f8); text-shadow: none; -gtk-icon-shadow: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+
+switch:backdrop slider { transition: 200ms ease-out; color: #929595; border-color: #d5d0cc; background-image: image(#f6f5f4); text-shadow: none; -gtk-icon-shadow: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+
+switch:backdrop:checked > slider { border-color: #15539e; }
+
+switch:backdrop:disabled slider { color: #d4cfca; border-color: #d5d0cc; background-image: image(#faf9f8); text-shadow: none; -gtk-icon-shadow: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+
+row:selected switch { box-shadow: none; border-color: #15539e; }
+
+row:selected switch:backdrop { border-color: #15539e; }
+
+row:selected switch > slider:checked, row:selected switch > slider { border-color: #15539e; }
+
+/************************* Check and Radio items * */
+.view.content-view.check:not(list), iconview.content-view.check:not(list), .content-view:not(list) check { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; background-color: #3584e4; 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:hover:not(list), iconview.content-view.check:hover:not(list), .content-view:not(list) check:hover { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; background-color: #3584e4; 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:active:not(list), iconview.content-view.check:active:not(list), .content-view:not(list) check:active { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; background-color: #3584e4; 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:not(list) check:backdrop { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; background-color: #8d8d8d; 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:not(list) check:checked { margin: 4px; min-width: 32px; min-height: 32px; color: #eeeeec; background-color: #3584e4; 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:checked:hover:not(list), iconview.content-view.check:checked:hover:not(list), .content-view:not(list) check:checked:hover { margin: 4px; min-width: 32px; min-height: 32px; color: #eeeeec; background-color: #3584e4; 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:checked:active:not(list), iconview.content-view.check:checked:active:not(list), .content-view:not(list) check:checked:active { margin: 4px; min-width: 32px; min-height: 32px; color: #eeeeec; background-color: #3584e4; 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:not(list) check:backdrop:checked { margin: 4px; min-width: 32px; min-height: 32px; color: rgba(238, 238, 236, 0.8); background-color: #8d8d8d; 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; }
+
+checkbutton.text-button label:not(:only-child):first-child, radiobutton.text-button label:not(:only-child):first-child { margin-left: 4px; }
+
+checkbutton.text-button label:not(:only-child):last-child, radiobutton.text-button label:not(:only-child):last-child { margin-right: 4px; }
+
+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; }
+
+popover check.left:dir(rtl), popover radio.left:dir(rtl) { margin-left: 0; margin-right: 12px; }
+
+popover check.right:dir(ltr), popover radio.right:dir(ltr) { margin-left: 12px; margin-right: 0; }
+
+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: #2e3436; }
+
+check:hover, radio:hover { background-image: image(#f2f2f2); }
+
+check:active, radio:active { box-shadow: inset 0 1px 1px 0px rgba(0, 0, 0, 0.2); }
+
+check:disabled, radio:disabled { box-shadow: none; color: rgba(46, 52, 54, 0.7); }
+
+check:backdrop, radio:backdrop { background-image: image(white); box-shadow: none; color: #2e3436; }
+
+check:backdrop:disabled, radio:backdrop:disabled { box-shadow: none; color: rgba(46, 52, 54, 0.7); }
+
+check:checked, radio:checked { 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:checked:hover, radio:checked:hover { background-image: linear-gradient(to bottom, #5d9de9 10%, #478fe6 90%); }
+
+check:checked:active, radio:checked:active { box-shadow: inset 0 1px 1px 0px rgba(0, 0, 0, 0.2); }
+
+check:checked:disabled, radio:checked:disabled { box-shadow: none; color: rgba(255, 255, 255, 0.7); }
+
+check:checked:backdrop, radio:checked:backdrop { background-image: image(#3584e4); box-shadow: none; color: #ffffff; }
+
+check:checked:backdrop:disabled, radio:checked:backdrop:disabled { box-shadow: none; color: rgba(255, 255, 255, 0.7); }
+
+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 { background-image: linear-gradient(to bottom, #5d9de9 10%, #478fe6 90%); }
+
+check:indeterminate:active, radio:indeterminate:active { box-shadow: inset 0 1px 1px 0px rgba(0, 0, 0, 0.2); }
+
+check:indeterminate:disabled, radio:indeterminate:disabled { box-shadow: none; color: rgba(255, 255, 255, 0.7); }
+
+check:indeterminate:backdrop, radio:indeterminate:backdrop { background-image: image(#3584e4); box-shadow: none; color: #ffffff; }
+
+check:indeterminate:backdrop:disabled, radio:indeterminate:backdrop:disabled { box-shadow: none; color: rgba(255, 255, 255, 0.7); }
+
+check:backdrop, radio:backdrop { transition: 200ms ease-out; }
+
+row:selected check, row:selected radio { border-color: #15539e; }
+
+.osd check, .osd radio { color: #eeeeec; border-color: rgba(0, 0, 0, 0.7); background-color: transparent; background-image: image(rgba(53, 53, 53, 0.9)); background-clip: padding-box; box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; 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(53, 53, 53, 0.9)); background-clip: padding-box; box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; 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(53, 53, 53, 0.9)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; }
+
+.osd check:disabled, .osd radio:disabled { color: #919190; border-color: rgba(0, 0, 0, 0.7); background-color: transparent; background-image: image(rgba(71, 71, 71, 0.5)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; }
+
+menu menuitem check, menu menuitem radio { margin: 0; }
+
+menu menuitem check, menu menuitem check:hover, menu menuitem check:disabled, menu menuitem check:checked, menu menuitem check:checked:hover, menu menuitem check:checked:disabled, menu menuitem check:indeterminate, menu menuitem check:indeterminate:hover, menu menuitem check:indeterminate:disabled, menu menuitem radio, menu menuitem radio:hover, menu menuitem radio:disabled, menu menuitem radio:checked, menu menuitem radio:checked:hover, menu menuitem radio:checked:disabled, menu menuitem radio:indeterminate, menu menuitem radio:indeterminate:hover, menu menuitem radio:indeterminate:disabled { min-height: 14px; min-width: 14px; background-image: none; background-color: transparent; box-shadow: none; -gtk-icon-shadow: none; color: inherit; border-color: currentColor; }
+
+check { border-radius: 3px; }
+
+check:checked { -gtk-icon-source: image(-gtk-recolor(url("assets/check-symbolic.svg")), -gtk-recolor(url("assets/check-symbolic.symbolic.png"))); }
+
+check:indeterminate { -gtk-icon-source: image(-gtk-recolor(url("assets/dash-symbolic.svg")), -gtk-recolor(url("assets/dash-symbolic.symbolic.png"))); }
+
+treeview.view radio:selected:focus, treeview.view radio:selected, radio { border-radius: 100%; }
+
+treeview.view radio:checked:selected, radio:checked { -gtk-icon-source: image(-gtk-recolor(url("assets/bullet-symbolic.svg")), -gtk-recolor(url("assets/bullet-symbolic.symbolic.png"))); }
+
+treeview.view radio:indeterminate:selected, radio:indeterminate { -gtk-icon-source: image(-gtk-recolor(url("assets/dash-symbolic.svg")), -gtk-recolor(url("assets/dash-symbolic.symbolic.png"))); }
+
+radio:not(:indeterminate):not(:checked):active:not(:backdrop) { -gtk-icon-transform: scale(0); }
+
+check:not(:indeterminate):not(:checked):active:not(:backdrop) { -gtk-icon-transform: translate(6px, -3px) rotate(-45deg) scaleY(0.2) rotate(45deg) scaleX(0); }
+
+radio:active, check:active { -gtk-icon-transform: scale(0, 1); }
+
+radio:checked:not(:backdrop), radio:indeterminate:not(:backdrop), check:checked:not(:backdrop), check:indeterminate:not(:backdrop) { -gtk-icon-transform: unset; transition: 400ms; }
+
+menu menuitem radio:checked:not(:backdrop), menu menuitem radio:indeterminate:not(:backdrop), menu menuitem check:checked:not(:backdrop), menu menuitem check:indeterminate:not(:backdrop) { transition: none; }
+
+treeview.view check:selected:focus, treeview.view check:selected, treeview.view radio:selected:focus, treeview.view radio:selected { color: #ffffff; border-color: #185fb4; }
+
+/************ GtkScale * */
+progressbar trough, scale fill, scale trough { border: 1px solid #cdc7c2; border-radius: 3px; background-color: #e1dedb; }
+
+progressbar trough:disabled, scale fill:disabled, scale trough:disabled { background-color: #faf9f8; }
+
+progressbar trough:backdrop, scale fill:backdrop, scale trough:backdrop { background-color: #eae8e6; border-color: #d5d0cc; transition: 200ms ease-out; }
+
+progressbar trough:backdrop:disabled, scale fill:backdrop:disabled, scale trough:backdrop:disabled { background-color: #faf9f8; }
+
+row:selected progressbar trough, progressbar row:selected trough, row:selected scale fill, scale row:selected fill, row:selected scale trough, scale row:selected trough { border-color: #185fb4; }
+
+.osd progressbar trough, progressbar .osd trough, .osd scale fill, scale .osd fill, .osd scale trough, scale .osd trough { border-color: rgba(0, 0, 0, 0.7); background-color: rgba(0, 0, 0, 0.5); }
+
+.osd progressbar trough:disabled, progressbar .osd trough:disabled, .osd scale fill:disabled, scale .osd fill:disabled, .osd scale trough:disabled, scale .osd trough:disabled { background-color: rgba(71, 71, 71, 0.5); }
+
+progressbar progress, scale highlight { border: 1px solid #185fb4; border-radius: 3px; background-color: #3584e4; }
+
+progressbar progress:disabled, scale highlight:disabled { background-color: transparent; border-color: transparent; }
+
+progressbar progress:backdrop, scale highlight:backdrop { border-color: #3584e4; }
+
+progressbar progress:backdrop:disabled, scale highlight:backdrop:disabled { background-color: transparent; border-color: transparent; }
+
+row:selected progressbar progress, progressbar row:selected progress, row:selected scale highlight, scale row:selected highlight { border-color: #185fb4; }
+
+.osd progressbar progress, progressbar .osd progress, .osd scale highlight, scale .osd highlight { border-color: rgba(0, 0, 0, 0.7); }
+
+.osd progressbar progress:disabled, progressbar .osd progress:disabled, .osd scale highlight:disabled, scale .osd highlight:disabled { border-color: transparent; }
+
+scale { min-height: 10px; min-width: 10px; padding: 12px; }
+
+scale fill, scale highlight { margin: -1px; }
+
+scale slider { min-height: 18px; min-width: 18px; margin: -9px; }
+
+scale.fine-tune.horizontal { padding-top: 9px; padding-bottom: 9px; min-height: 16px; }
+
+scale.fine-tune.vertical { padding-left: 9px; padding-right: 9px; min-width: 16px; }
+
+scale.fine-tune slider { margin: -6px; }
+
+scale.fine-tune fill, scale.fine-tune highlight, scale.fine-tune trough { border-radius: 5px; -gtk-outline-radius: 7px; }
+
+scale trough { outline-offset: 2px; -gtk-outline-radius: 5px; }
+
+scale fill:backdrop, scale fill { background-color: #cdc7c2; }
+
+scale fill:disabled:backdrop, scale fill:disabled { border-color: transparent; background-color: transparent; }
+
+.osd scale fill { background-color: rgba(91, 91, 90, 0.775); }
+
+.osd scale fill:disabled:backdrop, .osd scale fill:disabled { border-color: transparent; background-color: transparent; }
+
+scale slider { 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); border: 1px solid #b8b0a8; 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: #2e3436; outline-color: rgba(46, 52, 54, 0.3); border-color: #bfb8b1; background-image: linear-gradient(to bottom, white 10%, white 90%); box-shadow: inset 0 1px white, 0 1px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.07); }
+
+scale slider:active { border-color: #185fb4; }
+
+scale slider:disabled { color: #929595; border-color: #cdc7c2; background-image: image(#faf9f8); text-shadow: none; -gtk-icon-shadow: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+
+scale slider:backdrop { transition: 200ms ease-out; color: #929595; border-color: #d5d0cc; background-image: image(#f6f5f4); text-shadow: none; -gtk-icon-shadow: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+
+scale slider:backdrop:disabled { color: #d4cfca; border-color: #d5d0cc; background-image: image(#faf9f8); text-shadow: none; -gtk-icon-shadow: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+
+row:selected scale slider:disabled, row:selected scale slider { border-color: #185fb4; }
+
+.osd scale slider { color: #eeeeec; border-color: rgba(0, 0, 0, 0.7); background-color: transparent; background-image: image(rgba(53, 53, 53, 0.9)); background-clip: padding-box; box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; outline-color: rgba(238, 238, 236, 0.3); border-color: rgba(0, 0, 0, 0.7); background-color: #353535; }
+
+.osd scale slider:hover { color: white; border-color: rgba(0, 0, 0, 0.7); background-color: transparent; background-image: image(rgba(83, 83, 83, 0.9)); background-clip: padding-box; box-shadow: inset 0 1px rgba(255, 255, 255, 0.1); text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; outline-color: rgba(238, 238, 236, 0.3); background-color: #353535; }
+
+.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: #353535; }
+
+.osd scale slider:disabled { color: #919190; border-color: rgba(0, 0, 0, 0.7); background-color: transparent; background-image: image(rgba(71, 71, 71, 0.5)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; background-color: #353535; }
+
+.osd scale slider:backdrop { color: #eeeeec; border-color: rgba(0, 0, 0, 0.7); background-color: transparent; background-image: image(rgba(53, 53, 53, 0.9)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; background-color: #353535; }
+
+.osd scale slider:backdrop:disabled { background-color: #353535; }
+
+scale marks, scale value { color: alpha(currentColor,0.55); font-feature-settings: "tnum"; }
+
+scale.horizontal marks.top { margin-bottom: 6px; margin-top: -12px; }
+
+scale.horizontal.fine-tune marks.top { margin-bottom: 6px; margin-top: -9px; }
+
+scale.horizontal marks.bottom { margin-top: 6px; margin-bottom: -12px; }
+
+scale.horizontal.fine-tune marks.bottom { margin-top: 6px; margin-bottom: -9px; }
+
+scale.vertical marks.top { margin-right: 6px; margin-left: -12px; }
+
+scale.vertical.fine-tune marks.top { margin-right: 6px; margin-left: -9px; }
+
+scale.vertical marks.bottom { margin-left: 6px; margin-right: -12px; }
+
+scale.vertical.fine-tune marks.bottom { margin-left: 6px; margin-right: -9px; }
+
+scale.horizontal indicator { min-height: 6px; min-width: 1px; }
+
+scale.horizontal.fine-tune indicator { min-height: 3px; }
+
+scale.vertical indicator { min-height: 1px; min-width: 6px; }
+
+scale.vertical.fine-tune indicator { min-width: 3px; }
+
+scale.horizontal.marks-before:not(.marks-after) slider { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above.png"), url("assets/slider-horz-scale-has-marks-above@2.png")); min-height: 26px; min-width: 22px; margin-top: -14px; background-position: top; background-repeat: no-repeat; box-shadow: none; }
+
+scale.horizontal.marks-before.fine-tune:not(.marks-after) slider { margin: -7px; margin-top: -11px; }
+
+scale.horizontal.marks-before:not(.marks-after) slider:hover { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-hover.png"), url("assets/slider-horz-scale-has-marks-above-hover@2.png")); min-height: 26px; min-width: 22px; margin-top: -14px; background-position: top; background-repeat: no-repeat; box-shadow: none; }
+
+scale.horizontal.marks-before.fine-tune:not(.marks-after) slider { margin: -7px; margin-top: -11px; }
+
+scale.horizontal.marks-before:not(.marks-after) slider:active { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-active.png"), url("assets/slider-horz-scale-has-marks-above-active@2.png")); min-height: 26px; min-width: 22px; margin-top: -14px; background-position: top; background-repeat: no-repeat; box-shadow: none; }
+
+scale.horizontal.marks-before.fine-tune:not(.marks-after) slider { margin: -7px; margin-top: -11px; }
+
+scale.horizontal.marks-before:not(.marks-after) slider:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-insensitive.png"), url("assets/slider-horz-scale-has-marks-above-insensitive@2.png")); min-height: 26px; min-width: 22px; margin-top: -14px; background-position: top; background-repeat: no-repeat; box-shadow: none; }
+
+scale.horizontal.marks-before.fine-tune:not(.marks-after) slider { margin: -7px; margin-top: -11px; }
+
+scale.horizontal.marks-before:not(.marks-after) slider:backdrop { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-backdrop.png"), url("assets/slider-horz-scale-has-marks-above-backdrop@2.png")); min-height: 26px; min-width: 22px; margin-top: -14px; background-position: top; background-repeat: no-repeat; box-shadow: none; }
+
+scale.horizontal.marks-before.fine-tune:not(.marks-after) slider { margin: -7px; margin-top: -11px; }
+
+scale.horizontal.marks-before:not(.marks-after) slider:backdrop:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-backdrop-insensitive.png"), url("assets/slider-horz-scale-has-marks-above-backdrop-insensitive@2.png")); min-height: 26px; min-width: 22px; margin-top: -14px; background-position: top; background-repeat: no-repeat; box-shadow: none; }
+
+scale.horizontal.marks-before.fine-tune:not(.marks-after) slider { margin: -7px; margin-top: -11px; }
+
+scale.horizontal.marks-after:not(.marks-before) slider { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below.png"), url("assets/slider-horz-scale-has-marks-below@2.png")); min-height: 26px; min-width: 22px; margin-bottom: -14px; background-position: bottom; background-repeat: no-repeat; box-shadow: none; }
+
+scale.horizontal.marks-after.fine-tune:not(.marks-before) slider { margin: -7px; margin-bottom: -11px; }
+
+scale.horizontal.marks-after:not(.marks-before) slider:hover { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below-hover.png"), url("assets/slider-horz-scale-has-marks-below-hover@2.png")); min-height: 26px; min-width: 22px; margin-bottom: -14px; background-position: bottom; background-repeat: no-repeat; box-shadow: none; }
+
+scale.horizontal.marks-after.fine-tune:not(.marks-before) slider { margin: -7px; margin-bottom: -11px; }
+
+scale.horizontal.marks-after:not(.marks-before) slider:active { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below-active.png"), url("assets/slider-horz-scale-has-marks-below-active@2.png")); min-height: 26px; min-width: 22px; margin-bottom: -14px; background-position: bottom; background-repeat: no-repeat; box-shadow: none; }
+
+scale.horizontal.marks-after.fine-tune:not(.marks-before) slider { margin: -7px; margin-bottom: -11px; }
+
+scale.horizontal.marks-after:not(.marks-before) slider:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below-insensitive.png"), url("assets/slider-horz-scale-has-marks-below-insensitive@2.png")); min-height: 26px; min-width: 22px; margin-bottom: -14px; background-position: bottom; background-repeat: no-repeat; box-shadow: none; }
+
+scale.horizontal.marks-after.fine-tune:not(.marks-before) slider { margin: -7px; margin-bottom: -11px; }
+
+scale.horizontal.marks-after:not(.marks-before) slider:backdrop { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below-backdrop.png"), url("assets/slider-horz-scale-has-marks-below-backdrop@2.png")); min-height: 26px; min-width: 22px; margin-bottom: -14px; background-position: bottom; background-repeat: no-repeat; box-shadow: none; }
+
+scale.horizontal.marks-after.fine-tune:not(.marks-before) slider { margin: -7px; margin-bottom: -11px; }
+
+scale.horizontal.marks-after:not(.marks-before) slider:backdrop:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-horz-scale-has-marks-below-backdrop-insensitive.png"), url("assets/slider-horz-scale-has-marks-below-backdrop-insensitive@2.png")); min-height: 26px; min-width: 22px; margin-bottom: -14px; background-position: bottom; background-repeat: no-repeat; box-shadow: none; }
+
+scale.horizontal.marks-after.fine-tune:not(.marks-before) slider { margin: -7px; margin-bottom: -11px; }
+
+scale.vertical.marks-before:not(.marks-after) slider { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above.png"), url("assets/slider-vert-scale-has-marks-above@2.png")); min-height: 22px; min-width: 26px; margin-left: -14px; background-position: left bottom; background-repeat: no-repeat; box-shadow: none; }
+
+scale.vertical.marks-before.fine-tune:not(.marks-after) slider { margin: -7px; margin-left: -11px; }
+
+scale.vertical.marks-before:not(.marks-after) slider:hover { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above-hover.png"), url("assets/slider-vert-scale-has-marks-above-hover@2.png")); min-height: 22px; min-width: 26px; margin-left: -14px; background-position: left bottom; background-repeat: no-repeat; box-shadow: none; }
+
+scale.vertical.marks-before.fine-tune:not(.marks-after) slider { margin: -7px; margin-left: -11px; }
+
+scale.vertical.marks-before:not(.marks-after) slider:active { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above-active.png"), url("assets/slider-vert-scale-has-marks-above-active@2.png")); min-height: 22px; min-width: 26px; margin-left: -14px; background-position: left bottom; background-repeat: no-repeat; box-shadow: none; }
+
+scale.vertical.marks-before.fine-tune:not(.marks-after) slider { margin: -7px; margin-left: -11px; }
+
+scale.vertical.marks-before:not(.marks-after) slider:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above-insensitive.png"), url("assets/slider-vert-scale-has-marks-above-insensitive@2.png")); min-height: 22px; min-width: 26px; margin-left: -14px; background-position: left bottom; background-repeat: no-repeat; box-shadow: none; }
+
+scale.vertical.marks-before.fine-tune:not(.marks-after) slider { margin: -7px; margin-left: -11px; }
+
+scale.vertical.marks-before:not(.marks-after) slider:backdrop { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above-backdrop.png"), url("assets/slider-vert-scale-has-marks-above-backdrop@2.png")); min-height: 22px; min-width: 26px; margin-left: -14px; background-position: left bottom; background-repeat: no-repeat; box-shadow: none; }
+
+scale.vertical.marks-before.fine-tune:not(.marks-after) slider { margin: -7px; margin-left: -11px; }
+
+scale.vertical.marks-before:not(.marks-after) slider:backdrop:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-above-backdrop-insensitive.png"), url("assets/slider-vert-scale-has-marks-above-backdrop-insensitive@2.png")); min-height: 22px; min-width: 26px; margin-left: -14px; background-position: left bottom; background-repeat: no-repeat; box-shadow: none; }
+
+scale.vertical.marks-before.fine-tune:not(.marks-after) slider { margin: -7px; margin-left: -11px; }
+
+scale.vertical.marks-after:not(.marks-before) slider { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below.png"), url("assets/slider-vert-scale-has-marks-below@2.png")); min-height: 22px; min-width: 26px; margin-right: -14px; background-position: right bottom; background-repeat: no-repeat; box-shadow: none; }
+
+scale.vertical.marks-after.fine-tune:not(.marks-before) slider { margin: -7px; margin-right: -11px; }
+
+scale.vertical.marks-after:not(.marks-before) slider:hover { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below-hover.png"), url("assets/slider-vert-scale-has-marks-below-hover@2.png")); min-height: 22px; min-width: 26px; margin-right: -14px; background-position: right bottom; background-repeat: no-repeat; box-shadow: none; }
+
+scale.vertical.marks-after.fine-tune:not(.marks-before) slider { margin: -7px; margin-right: -11px; }
+
+scale.vertical.marks-after:not(.marks-before) slider:active { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below-active.png"), url("assets/slider-vert-scale-has-marks-below-active@2.png")); min-height: 22px; min-width: 26px; margin-right: -14px; background-position: right bottom; background-repeat: no-repeat; box-shadow: none; }
+
+scale.vertical.marks-after.fine-tune:not(.marks-before) slider { margin: -7px; margin-right: -11px; }
+
+scale.vertical.marks-after:not(.marks-before) slider:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below-insensitive.png"), url("assets/slider-vert-scale-has-marks-below-insensitive@2.png")); min-height: 22px; min-width: 26px; margin-right: -14px; background-position: right bottom; background-repeat: no-repeat; box-shadow: none; }
+
+scale.vertical.marks-after.fine-tune:not(.marks-before) slider { margin: -7px; margin-right: -11px; }
+
+scale.vertical.marks-after:not(.marks-before) slider:backdrop { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below-backdrop.png"), url("assets/slider-vert-scale-has-marks-below-backdrop@2.png")); min-height: 22px; min-width: 26px; margin-right: -14px; background-position: right bottom; background-repeat: no-repeat; box-shadow: none; }
+
+scale.vertical.marks-after.fine-tune:not(.marks-before) slider { margin: -7px; margin-right: -11px; }
+
+scale.vertical.marks-after:not(.marks-before) slider:backdrop:disabled { margin: -10px; border-style: none; border-radius: 0; background-color: transparent; background-image: -gtk-scaled(url("assets/slider-vert-scale-has-marks-below-backdrop-insensitive.png"), url("assets/slider-vert-scale-has-marks-below-backdrop-insensitive@2.png")); min-height: 22px; min-width: 26px; margin-right: -14px; background-position: right bottom; background-repeat: no-repeat; box-shadow: none; }
+
+scale.vertical.marks-after.fine-tune:not(.marks-before) slider { margin: -7px; margin-right: -11px; }
+
+scale.color { min-height: 0; min-width: 0; }
+
+scale.color trough { background-image: image(#cdc7c2); background-repeat: no-repeat; }
+
+scale.color.horizontal { padding: 0 0 15px 0; }
+
+scale.color.horizontal trough { padding-bottom: 4px; background-position: 0 -3px; border-top-left-radius: 0; border-top-right-radius: 0; }
+
+scale.color.horizontal slider:dir(ltr):hover, scale.color.horizontal slider:dir(ltr):backdrop, scale.color.horizontal slider:dir(ltr):disabled, scale.color.horizontal slider:dir(ltr):backdrop:disabled, scale.color.horizontal slider:dir(ltr), scale.color.horizontal slider:dir(rtl):hover, scale.color.horizontal slider:dir(rtl):backdrop, scale.color.horizontal slider:dir(rtl):disabled, scale.color.horizontal slider:dir(rtl):backdrop:disabled, scale.color.horizontal slider:dir(rtl) { margin-bottom: -15px; margin-top: 6px; }
+
+scale.color.vertical:dir(ltr) { padding: 0 0 0 15px; }
+
+scale.color.vertical:dir(ltr) trough { padding-left: 4px; background-position: 3px 0; border-bottom-right-radius: 0; border-top-right-radius: 0; }
+
+scale.color.vertical:dir(ltr) slider:hover, scale.color.vertical:dir(ltr) slider:backdrop, scale.color.vertical:dir(ltr) slider:disabled, scale.color.vertical:dir(ltr) slider:backdrop:disabled, scale.color.vertical:dir(ltr) slider { margin-left: -15px; margin-right: 6px; }
+
+scale.color.vertical:dir(rtl) { padding: 0 15px 0 0; }
+
+scale.color.vertical:dir(rtl) trough { padding-right: 4px; background-position: -3px 0; border-bottom-left-radius: 0; border-top-left-radius: 0; }
+
+scale.color.vertical:dir(rtl) slider:hover, scale.color.vertical:dir(rtl) slider:backdrop, scale.color.vertical:dir(rtl) slider:disabled, scale.color.vertical:dir(rtl) slider:backdrop:disabled, scale.color.vertical:dir(rtl) slider { margin-right: -15px; margin-left: 6px; }
+
+scale.color.fine-tune.horizontal:dir(ltr), scale.color.fine-tune.horizontal:dir(rtl) { padding: 0 0 12px 0; }
+
+scale.color.fine-tune.horizontal:dir(ltr) trough, scale.color.fine-tune.horizontal:dir(rtl) trough { padding-bottom: 7px; background-position: 0 -6px; }
+
+scale.color.fine-tune.horizontal:dir(ltr) slider, scale.color.fine-tune.horizontal:dir(rtl) slider { margin-bottom: -15px; margin-top: 6px; }
+
+scale.color.fine-tune.vertical:dir(ltr) { padding: 0 0 0 12px; }
+
+scale.color.fine-tune.vertical:dir(ltr) trough { padding-left: 7px; background-position: 6px 0; }
+
+scale.color.fine-tune.vertical:dir(ltr) slider { margin-left: -15px; margin-right: 6px; }
+
+scale.color.fine-tune.vertical:dir(rtl) { padding: 0 12px 0 0; }
+
+scale.color.fine-tune.vertical:dir(rtl) trough { padding-right: 7px; background-position: -6px 0; }
+
+scale.color.fine-tune.vertical:dir(rtl) slider { margin-right: -15px; margin-left: 6px; }
+
+/***************** Progress bars * */
+progressbar { font-size: smaller; color: rgba(46, 52, 54, 0.4); font-feature-settings: "tnum"; }
+
+progressbar.horizontal trough, progressbar.horizontal progress { min-height: 2px; }
+
+progressbar.vertical trough, progressbar.vertical progress { min-width: 2px; }
+
+progressbar.horizontal progress { margin: 0 -1px; }
+
+progressbar.vertical progress { margin: -1px 0; }
+
+progressbar:backdrop { box-shadow: none; transition: 200ms ease-out; }
+
+progressbar progress { border-radius: 1.5px; }
+
+progressbar progress.left { border-top-left-radius: 2px; border-bottom-left-radius: 2px; }
+
+progressbar progress.right { border-top-right-radius: 2px; border-bottom-right-radius: 2px; }
+
+progressbar progress.top { border-top-right-radius: 2px; border-top-left-radius: 2px; }
+
+progressbar progress.bottom { border-bottom-right-radius: 2px; border-bottom-left-radius: 2px; }
+
+progressbar.osd { min-width: 3px; min-height: 3px; background-color: transparent; }
+
+progressbar.osd trough { border-style: none; border-radius: 0; background-color: transparent; box-shadow: none; }
+
+progressbar.osd progress { border-style: none; border-radius: 0; }
+
+progressbar trough.empty progress { all: unset; }
+
+/************* Level Bar * */
+levelbar.horizontal block { min-height: 1px; }
+
+levelbar.horizontal.discrete block { margin: 0 1px; min-width: 32px; }
+
+levelbar.vertical block { min-width: 1px; }
+
+levelbar.vertical.discrete block { margin: 1px 0; min-height: 32px; }
+
+levelbar:backdrop { transition: 200ms ease-out; }
+
+levelbar trough { border: 1px solid; padding: 2px; border-radius: 3px; color: black; border-color: #cdc7c2; background-color: #ffffff; box-shadow: inset 0 0 0 1px rgba(53, 132, 228, 0); }
+
+levelbar trough:backdrop { color: #323232; border-color: #d5d0cc; background-color: #fcfcfc; box-shadow: none; }
+
+levelbar block { border: 1px solid; border-radius: 1px; }
+
+levelbar block.low { border-color: #8f4700; background-color: #f57900; }
+
+levelbar block.low:backdrop { border-color: #f57900; }
+
+levelbar block.high, levelbar block:not(.empty) { border-color: #15539e; background-color: #3584e4; }
+
+levelbar block.high:backdrop, levelbar block:not(.empty):backdrop { border-color: #3584e4; }
+
+levelbar block.full { border-color: #1d814a; background-color: #33d17a; }
+
+levelbar block.full:backdrop { border-color: #33d17a; }
+
+levelbar block.empty { background-color: transparent; border-color: rgba(46, 52, 54, 0.2); }
+
+levelbar block.empty:backdrop { border-color: rgba(146, 149, 149, 0.15); }
+
+/**************** Print dialog * */
+printdialog paper { color: #2e3436; border: 1px solid #cdc7c2; background: white; padding: 0; }
+
+printdialog paper:backdrop { color: #929595; border-color: #d5d0cc; }
+
+printdialog .dialog-action-box { margin: 12px; }
+
+/********** Frames * */
+frame > border, .frame { box-shadow: none; margin: 0; padding: 0; border-radius: 0; border: 1px solid #cdc7c2; }
+
+frame > border.flat, .frame.flat { border-style: none; }
+
+frame > border:backdrop, .frame:backdrop { border-color: #d5d0cc; }
+
+actionbar > revealer > box { padding: 6px; border-top: 1px solid #cdc7c2; }
+
+actionbar > revealer > box:backdrop { border-color: #d5d0cc; }
+
+scrolledwindow viewport.frame { border-style: none; }
+
+scrolledwindow overshoot.top { background-image: -gtk-gradient(radial, center top, 0, center top, 0.5, to(#b6aea5), to(rgba(182, 174, 165, 0))), -gtk-gradient(radial, center top, 0, center top, 0.6, from(rgba(46, 52, 54, 0.07)), to(rgba(46, 52, 54, 0))); background-size: 100% 5%, 100% 100%; background-repeat: no-repeat; background-position: center top; background-color: transparent; border: none; box-shadow: none; }
+
+scrolledwindow overshoot.top:backdrop { background-image: -gtk-gradient(radial, center top, 0, center top, 0.5, to(#d5d0cc), to(rgba(213, 208, 204, 0))); background-size: 100% 5%; background-repeat: no-repeat; background-position: center top; background-color: transparent; border: none; box-shadow: none; }
+
+scrolledwindow overshoot.bottom { background-image: -gtk-gradient(radial, center bottom, 0, center bottom, 0.5, to(#b6aea5), to(rgba(182, 174, 165, 0))), -gtk-gradient(radial, center bottom, 0, center bottom, 0.6, from(rgba(46, 52, 54, 0.07)), to(rgba(46, 52, 54, 0))); background-size: 100% 5%, 100% 100%; background-repeat: no-repeat; background-position: center bottom; background-color: transparent; border: none; box-shadow: none; }
+
+scrolledwindow overshoot.bottom:backdrop { background-image: -gtk-gradient(radial, center bottom, 0, center bottom, 0.5, to(#d5d0cc), to(rgba(213, 208, 204, 0))); background-size: 100% 5%; background-repeat: no-repeat; background-position: center bottom; background-color: transparent; border: none; box-shadow: none; }
+
+scrolledwindow overshoot.left { background-image: -gtk-gradient(radial, left center, 0, left center, 0.5, to(#b6aea5), to(rgba(182, 174, 165, 0))), -gtk-gradient(radial, left center, 0, left center, 0.6, from(rgba(46, 52, 54, 0.07)), to(rgba(46, 52, 54, 0))); background-size: 5% 100%, 100% 100%; background-repeat: no-repeat; background-position: left center; background-color: transparent; border: none; box-shadow: none; }
+
+scrolledwindow overshoot.left:backdrop { background-image: -gtk-gradient(radial, left center, 0, left center, 0.5, to(#d5d0cc), to(rgba(213, 208, 204, 0))); background-size: 5% 100%; background-repeat: no-repeat; background-position: left center; background-color: transparent; border: none; box-shadow: none; }
+
+scrolledwindow overshoot.right { background-image: -gtk-gradient(radial, right center, 0, right center, 0.5, to(#b6aea5), to(rgba(182, 174, 165, 0))), -gtk-gradient(radial, right center, 0, right center, 0.6, from(rgba(46, 52, 54, 0.07)), to(rgba(46, 52, 54, 0))); background-size: 5% 100%, 100% 100%; background-repeat: no-repeat; background-position: right center; background-color: transparent; border: none; box-shadow: none; }
+
+scrolledwindow overshoot.right:backdrop { background-image: -gtk-gradient(radial, right center, 0, right center, 0.5, to(#d5d0cc), to(rgba(213, 208, 204, 0))); background-size: 5% 100%; background-repeat: no-repeat; background-position: right center; background-color: transparent; border: none; box-shadow: none; }
+
+scrolledwindow junction { border-color: transparent; border-image: linear-gradient(to bottom, #cdc7c2 1px, transparent 1px) 0 0 0 1/0 1px stretch; background-color: #cecece; }
+
+scrolledwindow junction:dir(rtl) { border-image-slice: 0 1 0 0; }
+
+scrolledwindow junction:backdrop { border-image-source: linear-gradient(to bottom, #d5d0cc 1px, transparent 1px); background-color: #efedec; transition: 200ms ease-out; }
+
+separator { background: rgba(0, 0, 0, 0.1); min-width: 1px; min-height: 1px; }
+
+/********* Lists * */
+list { color: black; background-color: #ffffff; border-color: #cdc7c2; }
+
+list:backdrop { color: #323232; background-color: #fcfcfc; border-color: #d5d0cc; }
+
+list row { padding: 2px; }
+
+row { transition: all 150ms cubic-bezier(0.25, 0.46, 0.45, 0.94); }
+
+row:hover { transition: none; }
+
+row:backdrop { transition: 200ms ease-out; }
+
+row.activatable.has-open-popup, row.activatable:hover { background-color: rgba(46, 52, 54, 0.05); }
+
+row.activatable:active { box-shadow: inset 0 2px 2px -2px rgba(0, 0, 0, 0.2); }
+
+row.activatable:backdrop:hover { background-color: transparent; }
+
+row.activatable:selected:active { box-shadow: inset 0 2px 3px -1px rgba(0, 0, 0, 0.5); }
+
+row.activatable.has-open-popup:selected, row.activatable:selected:hover { background-color: #347cd3; }
+
+row.activatable:selected:backdrop { background-color: #3584e4; }
+
+/********************* App Notifications * */
+.app-notification, .app-notification.frame { padding: 10px; border-radius: 0 0 5px 5px; background-color: rgba(53, 53, 53, 0.9); 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; }
+
+.app-notification border, .app-notification.frame border { border: none; }
+
+/************* Expanders * */
+expander title > arrow { min-width: 16px; min-height: 16px; -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); }
+
+expander title > arrow:dir(rtl) { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); }
+
+expander title > arrow:hover { color: #748489; }
+
+expander title > arrow:disabled { color: #929595; }
+
+expander title > arrow:disabled:backdrop { color: #d4cfca; }
+
+expander title > arrow:checked { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); }
+
+/************ Calendar * */
+calendar { color: black; border: 1px solid #cdc7c2; }
+
+calendar:selected { border-radius: 3px; }
+
+calendar.header { border-bottom-color: rgba(0, 0, 0, 0.1); }
+
+calendar.header:backdrop { border-bottom-color: rgba(0, 0, 0, 0.1); }
+
+calendar.button { color: rgba(46, 52, 54, 0.45); }
+
+calendar.button:hover { color: #2e3436; }
+
+calendar.button:backdrop { color: rgba(146, 149, 149, 0.45); }
+
+calendar.button:disabled { color: rgba(146, 149, 149, 0.45); }
+
+calendar.highlight { color: #929595; }
+
+calendar.highlight:backdrop { color: #d4cfca; }
+
+calendar:backdrop { color: #323232; border-color: #d5d0cc; }
+
+calendar:indeterminate { color: alpha(currentColor,0.1); }
+
+/*********** Dialogs * */
+messagedialog .titlebar { min-height: 20px; background-image: none; background-color: #f6f5f4; border-style: none; border-top-left-radius: 7px; border-top-right-radius: 7px; }
+
+messagedialog.csd.background { border-bottom-left-radius: 9px; border-bottom-right-radius: 9px; }
+
+messagedialog.csd .dialog-action-area button { padding: 10px 14px; border-right-style: none; border-bottom-style: none; border-radius: 0; -gtk-outline-radius: 0; }
+
+messagedialog.csd .dialog-action-area button:first-child { border-left-style: none; border-bottom-left-radius: 7px; -gtk-outline-bottom-left-radius: 7px; }
+
+messagedialog.csd .dialog-action-area button:last-child { border-bottom-right-radius: 7px; -gtk-outline-bottom-right-radius: 7px; }
+
+filechooser .dialog-action-box { border-top: 1px solid #cdc7c2; }
+
+filechooser .dialog-action-box:backdrop { border-top-color: #d5d0cc; }
+
+filechooser #pathbarbox { border-bottom: 1px solid #f6f5f4; }
+
+filechooserbutton:drop(active) { box-shadow: none; border-color: transparent; }
+
+/*********** Sidebar * */
+.sidebar { border-style: none; background-color: #fbfafa; }
+
+stacksidebar.sidebar:dir(ltr) list, stacksidebar.sidebar.left list, stacksidebar.sidebar.left:dir(rtl) list, .sidebar:not(separator):dir(ltr), .sidebar.left:not(separator) { border-right: 1px solid #cdc7c2; border-left-style: none; }
+
+stacksidebar.sidebar:dir(rtl) list, stacksidebar.sidebar.right list, .sidebar:not(separator):dir(rtl), .sidebar.right:not(separator) { border-left: 1px solid #cdc7c2; border-right-style: none; }
+
+.sidebar:backdrop { background-color: #f9f9f8; border-color: #d5d0cc; transition: 200ms ease-out; }
+
+.sidebar list { background-color: transparent; }
+
+paned .sidebar.left, paned .sidebar.right, paned .sidebar.left:dir(rtl), paned .sidebar:dir(rtl), paned .sidebar:dir(ltr), paned .sidebar { border-style: none; }
+
+stacksidebar row { padding: 10px 4px; }
+
+stacksidebar row > label { padding-left: 6px; padding-right: 6px; }
+
+stacksidebar row.needs-attention > label { background-size: 6px 6px, 0 0; }
+
+separator.sidebar { background-color: #cdc7c2; }
+
+separator.sidebar:backdrop { background-color: #d5d0cc; }
+
+separator.sidebar.selection-mode, .selection-mode separator.sidebar { background-color: #15539e; }
+
+/**************** File chooser * */
+row image.sidebar-icon { opacity: 0.7; }
+
+placessidebar > viewport.frame { border-style: none; }
+
+placessidebar row { min-height: 36px; padding: 0px; }
+
+placessidebar row > revealer { padding: 0 14px; }
+
+placessidebar row:selected { color: #ffffff; }
+
+placessidebar row:disabled { color: #929595; }
+
+placessidebar row:backdrop { color: #929595; }
+
+placessidebar row:backdrop:selected { color: #fcfcfc; }
+
+placessidebar row:backdrop:disabled { color: #d4cfca; }
+
+placessidebar row image.sidebar-icon:dir(ltr) { padding-right: 8px; }
+
+placessidebar row image.sidebar-icon:dir(rtl) { padding-left: 8px; }
+
+placessidebar row label.sidebar-label:dir(ltr) { padding-right: 2px; }
+
+placessidebar row label.sidebar-label:dir(rtl) { padding-left: 2px; }
+
+button.sidebar-button { min-height: 26px; min-width: 26px; margin-top: 3px; margin-bottom: 3px; padding: 0; border-radius: 100%; -gtk-outline-radius: 100%; }
+
+button.sidebar-button:not(:hover):not(:active) > image, button.sidebar-button:backdrop > image { opacity: 0.7; }
+
+placessidebar row:selected:active { box-shadow: none; }
+
+placessidebar row.sidebar-placeholder-row { padding: 0 8px; min-height: 2px; background-image: image(#4e9a06); background-clip: content-box; }
+
+placessidebar row.sidebar-new-bookmark-row { color: #3584e4; }
+
+placessidebar row:drop(active):not(:disabled) { color: #4e9a06; box-shadow: inset 0 1px #4e9a06, inset 0 -1px #4e9a06; }
+
+placessidebar row:drop(active):not(:disabled):selected { color: #ffffff; background-color: #4e9a06; }
+
+placesview .server-list-button > image { transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); -gtk-icon-transform: rotate(0turn); }
+
+placesview .server-list-button:checked > image { transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); -gtk-icon-transform: rotate(-0.5turn); }
+
+placesview row.activatable:hover { background-color: transparent; }
+
+placesview > actionbar > revealer > box > label { padding-left: 8px; padding-right: 8px; }
+
+/********* Paned * */
+paned > separator { min-width: 1px; min-height: 1px; -gtk-icon-source: none; border-style: none; background-color: transparent; background-image: image(#cdc7c2); background-size: 1px 1px; }
+
+paned > separator:selected { background-image: image(#3584e4); }
+
+paned > separator:backdrop { background-image: image(#d5d0cc); }
+
+paned > separator.wide { min-width: 5px; min-height: 5px; background-color: #f6f5f4; background-image: image(#cdc7c2), image(#cdc7c2); background-size: 1px 1px, 1px 1px; }
+
+paned > separator.wide:backdrop { background-color: #f6f5f4; background-image: image(#d5d0cc), image(#d5d0cc); }
+
+paned.horizontal > separator { background-repeat: repeat-y; }
+
+paned.horizontal > separator:dir(ltr) { margin: 0 -8px 0 0; padding: 0 8px 0 0; background-position: left; }
+
+paned.horizontal > separator:dir(rtl) { margin: 0 0 0 -8px; padding: 0 0 0 8px; background-position: right; }
+
+paned.horizontal > separator.wide { margin: 0; padding: 0; background-repeat: repeat-y, repeat-y; background-position: left, right; }
+
+paned.vertical > separator { margin: 0 0 -8px 0; padding: 0 0 8px 0; background-repeat: repeat-x; background-position: top; }
+
+paned.vertical > separator.wide { margin: 0; padding: 0; background-repeat: repeat-x, repeat-x; background-position: bottom, top; }
+
+/************** GtkInfoBar * */
+infobar { border-style: none; }
+
+infobar.action:hover > revealer > box { background-color: #f4ebe1; border-bottom: 1px solid #d8d4d0; }
+
+infobar.info, infobar.question, infobar.warning, infobar.error { text-shadow: none; }
+
+infobar.info:backdrop > revealer > box, infobar.info > revealer > box, infobar.question:backdrop > revealer > box, infobar.question > revealer > box, infobar.warning:backdrop > revealer > box, infobar.warning > revealer > box, infobar.error:backdrop > revealer > box, infobar.error > revealer > box { background-color: #f1e6d9; border-bottom: 1px solid #d8d4d0; }
+
+infobar.info:backdrop > revealer > box label, infobar.info:backdrop > revealer > box, infobar.info > revealer > box label, infobar.info > revealer > box, infobar.question:backdrop > revealer > box label, infobar.question:backdrop > revealer > box, infobar.question > revealer > box label, infobar.question > revealer > box, infobar.warning:backdrop > revealer > box label, infobar.warning:backdrop > revealer > box, infobar.warning > revealer > box label, infobar.warning > revealer > box, infobar.error:backdrop > revealer > box label, infobar.error:backdrop > revealer > box, infobar.error > revealer > box label, infobar.error > revealer > box { color: #2e3436; }
+
+infobar.info:backdrop, infobar.question:backdrop, infobar.warning:backdrop, infobar.error:backdrop { text-shadow: none; }
+
+infobar.info button, infobar.question button, infobar.warning button, infobar.error button { color: #2e3436; outline-color: rgba(46, 52, 54, 0.3); border-color: #cdc7c2; border-bottom-color: #bfb8b1; background-image: linear-gradient(to top, #edebe9 2px, #f6f5f4); text-shadow: 0 1px rgba(255, 255, 255, 0.769231); -gtk-icon-shadow: 0 1px rgba(255, 255, 255, 0.769231); box-shadow: inset 0 1px white, 0 1px 2px rgba(0, 0, 0, 0.07); }
+
+infobar.info button:hover, infobar.question button:hover, infobar.warning button:hover, infobar.error button:hover { color: #2e3436; outline-color: rgba(46, 52, 54, 0.3); border-color: #cdc7c2; border-bottom-color: #bfb8b1; background-image: linear-gradient(to top, #f6f5f4, #f8f8f7 1px); text-shadow: 0 1px rgba(255, 255, 255, 0.769231); -gtk-icon-shadow: 0 1px rgba(255, 255, 255, 0.769231); box-shadow: inset 0 1px white, 0 1px 2px rgba(0, 0, 0, 0.07); }
+
+infobar.info button:active, infobar.info button:checked, infobar.question button:active, infobar.question button:checked, infobar.warning button:active, infobar.warning button:checked, infobar.error button:active, infobar.error button:checked { color: #2e3436; outline-color: rgba(46, 52, 54, 0.3); border-color: #cdc7c2; background-image: image(#d6d1cd); box-shadow: inset 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; }
+
+infobar.info button:disabled, infobar.question button:disabled, infobar.warning button:disabled, infobar.error button:disabled { color: #929595; border-color: #cdc7c2; background-image: image(#faf9f8); text-shadow: none; -gtk-icon-shadow: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+
+infobar.info button:backdrop, infobar.question button:backdrop, infobar.warning button:backdrop, infobar.error button:backdrop { color: #929595; border-color: #d5d0cc; background-image: image(#f6f5f4); text-shadow: none; -gtk-icon-shadow: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); border-color: #dfdcd8; }
+
+infobar.info button:backdrop:disabled, infobar.question button:backdrop:disabled, infobar.warning button:backdrop:disabled, infobar.error button:backdrop:disabled { color: #d4cfca; border-color: #d5d0cc; background-image: image(#faf9f8); text-shadow: none; -gtk-icon-shadow: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); border-color: #dfdcd8; }
+
+infobar.info button:backdrop label, infobar.info button:backdrop, infobar.info button label, infobar.info button, infobar.question button:backdrop label, infobar.question button:backdrop, infobar.question button label, infobar.question button, infobar.warning button:backdrop label, infobar.warning button:backdrop, infobar.warning button label, infobar.warning button, infobar.error button:backdrop label, infobar.error button:backdrop, infobar.error button label, infobar.error button { color: #2e3436; }
+
+infobar.info selection, infobar.question selection, infobar.warning selection, infobar.error selection { background-color: #dfdcd8; }
+
+infobar.info *:link, infobar.question *:link, infobar.warning *:link, infobar.error *:link { color: #1b6acb; }
+
+/************ Tooltips * */
+tooltip { padding: 4px; /* not working */ border-radius: 5px; box-shadow: none; text-shadow: 0 1px black; }
+
+tooltip.background { background-color: rgba(0, 0, 0, 0.8); background-clip: padding-box; border: 1px solid rgba(255, 255, 255, 0.1); }
+
+tooltip decoration { background-color: transparent; }
+
+tooltip * { padding: 4px; background-color: transparent; color: white; }
+
+/***************** Color Chooser * */
+colorswatch:drop(active), colorswatch { border-style: none; }
+
+colorswatch.top { border-top-left-radius: 5.5px; border-top-right-radius: 5.5px; }
+
+colorswatch.top overlay { border-top-left-radius: 5px; border-top-right-radius: 5px; }
+
+colorswatch.bottom { border-bottom-left-radius: 5.5px; border-bottom-right-radius: 5.5px; }
+
+colorswatch.bottom overlay { border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; }
+
+colorswatch.left, colorswatch:first-child:not(.top) { border-top-left-radius: 5.5px; border-bottom-left-radius: 5.5px; }
+
+colorswatch.left overlay, colorswatch:first-child:not(.top) overlay { border-top-left-radius: 5px; border-bottom-left-radius: 5px; }
+
+colorswatch.right, colorswatch:last-child:not(.bottom) { border-top-right-radius: 5.5px; border-bottom-right-radius: 5.5px; }
+
+colorswatch.right overlay, colorswatch:last-child:not(.bottom) overlay { border-top-right-radius: 5px; border-bottom-right-radius: 5px; }
+
+colorswatch.dark { outline-color: rgba(255, 255, 255, 0.6); }
+
+colorswatch.dark overlay { color: white; }
+
+colorswatch.dark overlay:hover { border-color: rgba(0, 0, 0, 0.8); }
+
+colorswatch.dark overlay:backdrop { color: rgba(255, 255, 255, 0.5); }
+
+colorswatch.light { outline-color: rgba(0, 0, 0, 0.6); }
+
+colorswatch.light overlay { color: black; }
+
+colorswatch.light overlay:hover { border-color: rgba(0, 0, 0, 0.5); }
+
+colorswatch.light overlay:backdrop { color: rgba(0, 0, 0, 0.5); }
+
+colorswatch:drop(active) { box-shadow: none; }
+
+colorswatch.light:drop(active) overlay { border-color: #4e9a06; box-shadow: inset 0 0 0 2px #3d7805, inset 0 0 0 1px #4e9a06; }
+
+colorswatch.dark:drop(active) overlay { border-color: #4e9a06; box-shadow: inset 0 0 0 2px rgba(0, 0, 0, 0.3), inset 0 0 0 1px #4e9a06; }
+
+colorswatch overlay { border: 1px solid rgba(0, 0, 0, 0.3); }
+
+colorswatch overlay:hover { box-shadow: inset 0 1px rgba(255, 255, 255, 0.4), inset 0 -1px rgba(0, 0, 0, 0.2); }
+
+colorswatch overlay:backdrop, colorswatch overlay:backdrop:hover { border-color: rgba(0, 0, 0, 0.3); box-shadow: none; }
+
+colorswatch#add-color-button { border-radius: 5px 5px 0 0; }
+
+colorswatch#add-color-button:only-child { border-radius: 5px; }
+
+colorswatch#add-color-button overlay { color: #2e3436; outline-color: rgba(46, 52, 54, 0.3); border-color: #cdc7c2; border-bottom-color: #bfb8b1; background-image: linear-gradient(to top, #edebe9 2px, #f6f5f4); text-shadow: 0 1px rgba(255, 255, 255, 0.769231); -gtk-icon-shadow: 0 1px rgba(255, 255, 255, 0.769231); box-shadow: inset 0 1px white, 0 1px 2px rgba(0, 0, 0, 0.07); }
+
+colorswatch#add-color-button overlay:hover { color: #2e3436; outline-color: rgba(46, 52, 54, 0.3); border-color: #cdc7c2; border-bottom-color: #bfb8b1; background-image: linear-gradient(to top, #f6f5f4, #f8f8f7 1px); text-shadow: 0 1px rgba(255, 255, 255, 0.769231); -gtk-icon-shadow: 0 1px rgba(255, 255, 255, 0.769231); box-shadow: inset 0 1px white, 0 1px 2px rgba(0, 0, 0, 0.07); }
+
+colorswatch#add-color-button overlay:backdrop { color: #929595; border-color: #d5d0cc; background-image: image(#f6f5f4); text-shadow: none; -gtk-icon-shadow: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0); }
+
+colorswatch:disabled { opacity: 0.5; }
+
+colorswatch:disabled overlay { border-color: rgba(0, 0, 0, 0.6); box-shadow: none; }
+
+row:selected colorswatch { box-shadow: 0 0 0 2px #ffffff; }
+
+colorswatch#editor-color-sample { border-radius: 4px; }
+
+colorswatch#editor-color-sample overlay { border-radius: 4.5px; }
+
+colorchooser .popover.osd { border-radius: 5px; }
+
+/******** Misc * */
+.content-view { background-color: #e6e3e0; }
+
+.content-view:hover { -gtk-icon-effect: highlight; }
+
+.content-view:backdrop { background-color: #e6e3e0; }
+
+.osd .scale-popup button.flat { border-style: none; border-radius: 5px; }
+
+.scale-popup button:hover { background-color: rgba(46, 52, 54, 0.1); border-radius: 5px; }
+
+/********************** Window Decorations * */
+decoration { border-radius: 8px 8px 0 0; border-width: 0px; box-shadow: 0 3px 9px 1px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(0, 0, 0, 0.23); margin: 10px; }
+
+decoration:backdrop { box-shadow: 0 3px 9px 1px transparent, 0 2px 6px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(0, 0, 0, 0.18); transition: 200ms ease-out; }
+
+.maximized decoration, .fullscreen decoration { border-radius: 0; box-shadow: none; }
+
+.tiled decoration, .tiled-top decoration, .tiled-right decoration, .tiled-bottom decoration, .tiled-left decoration { border-radius: 0; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.18), 0 0 0 20px transparent; }
+
+.tiled decoration:backdrop, .tiled-top decoration:backdrop, .tiled-right decoration:backdrop, .tiled-bottom decoration:backdrop, .tiled-left decoration:backdrop { box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.18), 0 0 0 20px transparent; }
+
+.popup decoration { box-shadow: none; }
+
+.ssd decoration { box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.23); }
+
+.ssd decoration:backdrop { box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.18); }
+
+.csd.popup decoration { border-radius: 5px; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(0, 0, 0, 0.13); }
+
+tooltip.csd decoration { border-radius: 5px; box-shadow: none; }
+
+messagedialog.csd decoration { border-radius: 8px; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(0, 0, 0, 0.13); }
+
+.solid-csd decoration { margin: 0; padding: 4px; background-color: #cdc7c2; border: solid 1px #cdc7c2; border-radius: 0; box-shadow: inset 0 0 0 3px white, inset 0 1px rgba(255, 255, 255, 0.8); }
+
+.solid-csd decoration:backdrop { box-shadow: inset 0 0 0 3px #f6f5f4, inset 0 1px rgba(255, 255, 255, 0.8); }
+
+button.titlebutton { text-shadow: 0 1px rgba(255, 255, 255, 0.769231); -gtk-icon-shadow: 0 1px rgba(255, 255, 255, 0.769231); }
+
+button.titlebutton:not(.appmenu) { border-radius: 9999px; padding: 6px; margin: 0 2px; min-width: 0; min-height: 0; }
+
+button.titlebutton:backdrop { -gtk-icon-shadow: none; }
+
+.selection-mode headerbar button.titlebutton, .selection-mode .titlebar button.titlebutton, headerbar.selection-mode button.titlebutton, .titlebar.selection-mode button.titlebutton { text-shadow: 0 -1px rgba(0, 0, 0, 0.559216); -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.559216); }
+
+.selection-mode headerbar button.titlebutton:backdrop, .selection-mode .titlebar button.titlebutton:backdrop, headerbar.selection-mode button.titlebutton:backdrop, .titlebar.selection-mode button.titlebutton:backdrop { -gtk-icon-shadow: none; }
+
+.view:selected:focus, .view:selected, .view text:selected:focus, textview text:selected:focus, .view text:selected, textview text:selected, .view text selection:focus, .view text selection, textview text selection:focus, textview text selection, iconview:selected:focus, iconview:selected, iconview text selection:focus, .view text selection, iconview text selection, flowbox flowboxchild:selected, entry selection, modelbutton.flat:selected, .menuitem.button.flat:selected, spinbutton:not(.vertical) selection, treeview.view:selected:focus, treeview.view:selected, row:selected, calendar:selected { background-color: #3584e4; }
+
+label:selected, .selection-mode button.titlebutton, .view:selected:focus, .view:selected, .view text:selected:focus, textview text:selected:focus, .view text:selected, textview text:selected, .view text selection:focus, .view text selection, textview text selection:focus, textview text selection, iconview:selected:focus, iconview:selected, iconview text selection:focus, .view text selection, iconview text selection, flowbox flowboxchild:selected, entry selection, modelbutton.flat:selected, .menuitem.button.flat:selected, spinbutton:not(.vertical) selection, treeview.view:selected:focus, treeview.view:selected, row:selected, calendar:selected { color: #ffffff; }
+
+label:disabled selection, label:disabled:selected, .selection-mode button.titlebutton:disabled, .view:disabled:selected, textview text:disabled:selected:focus, .view text:disabled:selected, textview text:disabled:selected, .view text selection:disabled, textview text selection:disabled:focus, textview text selection:disabled, iconview:disabled:selected:focus, iconview:disabled:selected, iconview text selection:disabled:focus, iconview text selection:disabled, flowbox flowboxchild:disabled:selected, entry selection:disabled, modelbutton.flat:disabled:selected, .menuitem.button.flat:disabled:selected, spinbutton:not(.vertical) selection:disabled, treeview.view:disabled:selected, row:disabled:selected, calendar:disabled:selected { color: #9ac2f2; }
+
+label:backdrop selection, label:backdrop:selected, .selection-mode button.titlebutton:backdrop, .view:backdrop:selected, textview text:backdrop:selected:focus, .view text:backdrop:selected, textview text:backdrop:selected, .view text selection:backdrop, textview text selection:backdrop:focus, textview text selection:backdrop, iconview:backdrop:selected:focus, iconview:backdrop:selected, iconview text selection:backdrop:focus, iconview text selection:backdrop, flowbox flowboxchild:backdrop:selected, entry selection:backdrop, modelbutton.flat:backdrop:selected, .menuitem.button.flat:backdrop:selected, spinbutton:not(.vertical) selection:backdrop, treeview.view:backdrop:selected, row:backdrop:selected, calendar:backdrop:selected { color: #fcfcfc; }
+
+label:backdrop selection:disabled, label:backdrop:disabled:selected, .selection-mode button.titlebutton:backdrop:disabled, .view:backdrop:disabled:selected, .view text:backdrop:disabled:selected, textview text:backdrop:disabled:selected, .view text selection:backdrop:disabled, textview text selection:backdrop:disabled, iconview:backdrop:disabled:selected, iconview text selection:backdrop:disabled, flowbox flowboxchild:backdrop:disabled:selected, entry selection:backdrop:disabled, modelbutton.flat:backdrop:disabled:selected, .menuitem.button.flat:backdrop:disabled:selected, spinbutton:not(.vertical) selection:backdrop:disabled, row:backdrop:disabled:selected, calendar:backdrop:disabled:selected { color: #71a8eb; }
+
+.monospace { font-family: monospace; }
+
+/********************** Touch Copy & Paste * */
+cursor-handle { background-color: transparent; background-image: none; box-shadow: none; border-style: none; }
+
+cursor-handle.top:dir(ltr), cursor-handle.bottom:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-start.png"), url("assets/text-select-start@2.png")); padding-left: 10px; }
+
+cursor-handle.bottom:dir(ltr), cursor-handle.top:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-end.png"), url("assets/text-select-end@2.png")); padding-right: 10px; }
+
+cursor-handle.insertion-cursor:dir(ltr), cursor-handle.insertion-cursor:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above.png"), url("assets/slider-horz-scale-has-marks-above@2.png")); }
+
+cursor-handle.top:hover:dir(ltr), cursor-handle.bottom:hover:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-start-hover.png"), url("assets/text-select-start-hover@2.png")); padding-left: 10px; }
+
+cursor-handle.bottom:hover:dir(ltr), cursor-handle.top:hover:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-end-hover.png"), url("assets/text-select-end-hover@2.png")); padding-right: 10px; }
+
+cursor-handle.insertion-cursor:hover:dir(ltr), cursor-handle.insertion-cursor:hover:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-hover.png"), url("assets/slider-horz-scale-has-marks-above-hover@2.png")); }
+
+cursor-handle.top:active:dir(ltr), cursor-handle.bottom:active:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-start-active.png"), url("assets/text-select-start-active@2.png")); padding-left: 10px; }
+
+cursor-handle.bottom:active:dir(ltr), cursor-handle.top:active:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-end-active.png"), url("assets/text-select-end-active@2.png")); padding-right: 10px; }
+
+cursor-handle.insertion-cursor:active:dir(ltr), cursor-handle.insertion-cursor:active:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-active.png"), url("assets/slider-horz-scale-has-marks-above-active@2.png")); }
+
+.context-menu { font: initial; }
+
+.keycap { min-width: 20px; min-height: 25px; margin-top: 2px; padding-bottom: 3px; padding-left: 6px; padding-right: 6px; color: #2e3436; background-color: #ffffff; border: 1px solid; border-color: #e1dedb; border-radius: 5px; box-shadow: inset 0 -3px #f8f7f6; font-size: smaller; }
+
+.keycap:backdrop { background-color: #fcfcfc; color: #929595; transition: 200ms ease-out; }
+
+:not(decoration):not(window):drop(active):focus, :not(decoration):not(window):drop(active) { border-color: #4e9a06; box-shadow: inset 0 0 0 1px #4e9a06; caret-color: #4e9a06; }
+
+stackswitcher button.text-button { min-width: 100px; }
+
+stackswitcher button.circular, stackswitcher button.text-button.circular { min-width: 32px; min-height: 32px; padding: 0; }
+
+/************* App Icons * */
+/* Outline for low res icons */
+.lowres-icon { -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.05), 1px 0 rgba(0, 0, 0, 0.1), 0 1px rgba(0, 0, 0, 0.3), -1px 0 rgba(0, 0, 0, 0.1); }
+
+/* Dropshadow for large icons */
+.icon-dropshadow { -gtk-icon-shadow: 0 1px 12px rgba(0, 0, 0, 0.05), 0 -1px rgba(0, 0, 0, 0.05), 1px 0 rgba(0, 0, 0, 0.1), 0 1px rgba(0, 0, 0, 0.3), -1px 0 rgba(0, 0, 0, 0.1); }
+
+/********* Emoji * */
+popover.emoji-picker { padding-left: 0; padding-right: 0; }
+
+popover.emoji-picker entry.search { margin: 3px 5px 5px 5px; }
+
+button.emoji-section { border-color: transparent; border-width: 3px; border-style: none none solid; border-radius: 0; margin: 2px 4px 2px 4px; padding: 3px 0 0; min-width: 32px; min-height: 28px; /* reset props inherited from the button style */ background: none; box-shadow: none; text-shadow: none; outline-offset: -5px; }
+
+button.emoji-section:first-child { margin-left: 7px; }
+
+button.emoji-section:last-child { margin-right: 7px; }
+
+button.emoji-section:backdrop:not(:checked) { border-color: transparent; }
+
+button.emoji-section:hover { border-color: #cdc7c2; }
+
+button.emoji-section:checked { border-color: #3584e4; }
+
+button.emoji-section label { padding: 0; opacity: 0.55; }
+
+button.emoji-section:hover label { opacity: 0.775; }
+
+button.emoji-section:checked label { opacity: 1; }
+
+popover.emoji-picker .emoji { font-size: x-large; padding: 6px; }
+
+popover.emoji-picker .emoji :hover { background: #3584e4; border-radius: 6px; }
+
+popover.emoji-completion arrow { border: none; background: none; }
+
+popover.emoji-completion contents row box { padding: 2px 10px; }
+
+popover.emoji-completion .emoji:hover { background: white; }
+
+/* GTK NAMED COLORS ---------------- use responsibly! */
+/*
+widget text/foreground color */
+@define-color theme_fg_color #2e3436;
+/*
+text color for entries, views and content in general */
+@define-color theme_text_color black;
+/*
+widget base background color */
+@define-color theme_bg_color #f6f5f4;
+/*
+text widgets and the like base background color */
+@define-color theme_base_color #ffffff;
+/*
+base background color of selections */
+@define-color theme_selected_bg_color #3584e4;
+/*
+text/foreground color of selections */
+@define-color theme_selected_fg_color #ffffff;
+/*
+base background color of insensitive widgets */
+@define-color insensitive_bg_color #faf9f8;
+/*
+text foreground color of insensitive widgets */
+@define-color insensitive_fg_color #929595;
+/*
+insensitive text widgets and the like base background color */
+@define-color insensitive_base_color #ffffff;
+/*
+widget text/foreground color on backdrop windows */
+@define-color theme_unfocused_fg_color #929595;
+/*
+text color for entries, views and content in general on backdrop windows */
+@define-color theme_unfocused_text_color black;
+/*
+widget base background color on backdrop windows */
+@define-color theme_unfocused_bg_color #f6f5f4;
+/*
+text widgets and the like base background color on backdrop windows */
+@define-color theme_unfocused_base_color #fcfcfc;
+/*
+base background color of selections on backdrop windows */
+@define-color theme_unfocused_selected_bg_color #3584e4;
+/*
+text/foreground color of selections on backdrop windows */
+@define-color theme_unfocused_selected_fg_color #ffffff;
+/*
+insensitive color on backdrop windows*/
+@define-color unfocused_insensitive_color #d4cfca;
+/*
+widgets main borders color */
+@define-color borders #cdc7c2;
+/*
+widgets main borders color on backdrop windows */
+@define-color unfocused_borders #d5d0cc;
+/*
+these are pretty self explicative */
+@define-color warning_color #f57900;
+@define-color error_color #cc0000;
+@define-color success_color #33d17a;
+/*
+these colors are exported for the window manager and shouldn't be used in applications,
+read if you used those and something break with a version upgrade you're on your own... */
+@define-color wm_title shade(#2e3436, 1.8);
+@define-color wm_unfocused_title #929595;
+@define-color wm_highlight rgba(255, 255, 255, 0.8);
+@define-color wm_borders_edge rgba(255, 255, 255, 0.8);
+@define-color wm_bg_a shade(#f6f5f4, 1.2);
+@define-color wm_bg_b #f6f5f4;
+@define-color wm_shadow alpha(black, 0.35);
+@define-color wm_border alpha(black, 0.18);
+@define-color wm_button_hover_color_a shade(#f6f5f4, 1.3);
+@define-color wm_button_hover_color_b #f6f5f4;
+@define-color wm_button_active_color_a shade(#f6f5f4, 0.85);
+@define-color wm_button_active_color_b shade(#f6f5f4, 0.89);
+@define-color wm_button_active_color_c shade(#f6f5f4, 0.9);
+/* content view background such as thumbnails view in Photos or Boxes */
+@define-color content_view_bg #ffffff;
+/* Very contrasty background for text views (@theme_text_color foreground) */
+@define-color text_view_bg #ffffff;
diff --git a/source/gtk3/gtk-contained.scss b/source/gtk3/gtk-contained.scss
new file mode 100644
index 0000000..ee5e202
--- /dev/null
+++ b/source/gtk3/gtk-contained.scss
@@ -0,0 +1,12 @@
+// General guidelines:
+// - very unlikely you want to edit something else than _common.scss
+// - keep the number of defined colors to a minimum, use the color blending functions if
+// you need a subtle shade
+// - if you need to inverse a color function use the @if directive to match for dark $variant
+
+$variant: 'light';
+
+@import 'colors';
+@import 'drawing';
+@import 'common';
+@import 'colors-public';
diff --git a/source/gtk3/gtk-dark.css b/source/gtk3/gtk-dark.css
new file mode 100644
index 0000000..c22854d
--- /dev/null
+++ b/source/gtk3/gtk-dark.css
@@ -0,0 +1 @@
+@import url("resource:///org/gtk/libgtk/theme/Adwaita/gtk-contained-dark.css");
diff --git a/source/gtk3/gtk-new.css b/source/gtk3/gtk-new.css
new file mode 100644
index 0000000..46e484b
--- /dev/null
+++ b/source/gtk3/gtk-new.css
@@ -0,0 +1,1860 @@
+/*************************** Check and Radio buttons * */
+/*************************** Check and Radio buttons * */
+calendar:selected, row:selected, treeview.view:selected:focus, treeview.view:selected, modelbutton.flat:selected, .menuitem.button.flat:selected, spinbutton:not(.vertical) selection, entry selection, flowbox flowboxchild:selected, .view text selection:focus, iconview text selection:focus, .view text selection, iconview text selection, textview text selection:focus, textview text selection, .view:selected:focus, iconview:selected:focus, .view:selected, iconview:selected, .view text:selected:focus, iconview text:selected:focus, textview text:selected:focus, .view text:selected, iconview text:selected, textview text:selected { background-color: #386b00; }
+
+.selection-mode button.titlebutton, label:selected, calendar:selected, row:selected, treeview.view:selected:focus, treeview.view:selected, modelbutton.flat:selected, .menuitem.button.flat:selected, spinbutton:not(.vertical) selection, entry selection, flowbox flowboxchild:selected, .view text selection:focus, iconview text selection:focus, .view text selection, iconview text selection, textview text selection:focus, textview text selection, .view:selected:focus, iconview:selected:focus, .view:selected, iconview:selected, .view text:selected:focus, iconview text:selected:focus, textview text:selected:focus, .view text:selected, iconview text:selected, textview text:selected { color: #000000; }
+
+label:disabled selection, .selection-mode button.titlebutton:disabled, label:disabled:selected, calendar:disabled:selected, row:disabled:selected, treeview.view:disabled:selected, modelbutton.flat:disabled:selected, .menuitem.button.flat:disabled:selected, spinbutton:not(.vertical) selection:disabled, entry selection:disabled, flowbox flowboxchild:disabled:selected, .view text selection:disabled, iconview text selection:disabled, textview text selection:disabled:focus, textview text selection:disabled, .view:disabled:selected, iconview:disabled:selected, .view text:disabled:selected, iconview text:disabled:selected, textview text:disabled:selected { color: #1c3600; }
+
+label:backdrop selection, .selection-mode button.titlebutton:backdrop, label:backdrop:selected, calendar:backdrop:selected, row:backdrop:selected, treeview.view:backdrop:selected, modelbutton.flat:backdrop:selected, .menuitem.button.flat:backdrop:selected, spinbutton:not(.vertical) selection:backdrop, entry selection:backdrop, flowbox flowboxchild:backdrop:selected, .view text selection:backdrop, iconview text selection:backdrop, textview text selection:backdrop:focus, textview text selection:backdrop, .view:backdrop:selected, iconview:backdrop:selected, .view text:backdrop:selected, iconview text:backdrop:selected, textview text:backdrop:selected { color: #8d8c8a; }
+
+label:backdrop selection:disabled, .selection-mode button.titlebutton:backdrop:disabled, label:backdrop:disabled:selected, calendar:backdrop:disabled:selected, row:backdrop:disabled:selected, modelbutton.flat:backdrop:disabled:selected, .menuitem.button.flat:backdrop:disabled:selected, spinbutton:not(.vertical) selection:backdrop:disabled, entry selection:backdrop:disabled, flowbox flowboxchild:backdrop:disabled:selected, .view text selection:backdrop:disabled, iconview text selection:backdrop:disabled, textview text selection:backdrop:disabled, .view:backdrop:disabled:selected, iconview:backdrop:disabled:selected, .view text:backdrop:disabled:selected, iconview text:backdrop:disabled:selected, textview text:backdrop:disabled:selected { color: #52752a; }
+
+* { padding: 0; -GtkToolButton-icon-spacing: 4; -GtkTextView-error-underline-color: #990000; -GtkScrolledWindow-scrollbar-spacing: 0; -GtkToolItemGroup-expander-size: 11; -GtkWidget-text-handle-width: 20; -GtkWidget-text-handle-height: 24; -GtkDialog-button-spacing: 4; -GtkDialog-action-area-border: 0; outline-color: alpha(currentColor,0.3); outline-style: dashed; outline-offset: -3px; outline-width: 1px; -gtk-outline-radius: 3px; -gtk-secondary-caret-color: #386b00; }
+
+/*************** Base States * */
+.background { color: #241f31; background-color: #a7a7a7; }
+
+.background:backdrop { color: #66636c; background-color: #a7a7a7; text-shadow: none; -gtk-icon-shadow: none; }
+
+/* These wildcard seems unavoidable, need to investigate. Wildcards are bad and troublesome, use them with care, or better, just don't. Everytime a wildcard is used a kitten dies, painfully. */
+*:disabled { -gtk-icon-effect: dim; }
+
+.gtkstyle-fallback { color: #241f31; background-color: #a7a7a7; }
+
+.gtkstyle-fallback:hover { color: #241f31; background-color: #c1c1c1; }
+
+.gtkstyle-fallback:active { color: #241f31; background-color: #8e8e8e; }
+
+.gtkstyle-fallback:disabled { color: #552222; background-color: #938989; }
+
+.gtkstyle-fallback:selected { color: #000000; background-color: #386b00; }
+
+.view, iconview, .view text, iconview text, textview text { color: #241f31; background-color: #908f8d; }
+
+.view:backdrop, iconview:backdrop, .view text:backdrop, iconview text:backdrop, textview text:backdrop { color: #393543; background-color: #8d8c8a; }
+
+.view:backdrop:disabled, iconview:backdrop:disabled, .view text:backdrop:disabled, iconview text:backdrop:disabled, textview text:backdrop:disabled { color: #818181; }
+
+.view:disabled, iconview:disabled, .view text:disabled, iconview text:disabled, textview text:disabled { color: #552222; background-color: #938989; }
+
+.view:selected:focus, iconview:selected:focus, .view:selected, iconview:selected, .view text:selected:focus, iconview text:selected:focus, textview text:selected:focus, .view text:selected, iconview text:selected, textview text:selected { border-radius: 3px; }
+
+textview border { background-color: #9c9b9a; }
+
+.rubberband, rubberband, .content-view rubberband, .content-view .rubberband, treeview.view rubberband, flowbox rubberband { border: 1px solid #1d3800; background-color: rgba(29, 56, 0, 0.2); }
+
+flowbox flowboxchild { padding: 3px; }
+
+flowbox flowboxchild:selected { outline-offset: -2px; }
+
+.content-view .tile { margin: 2px; background-color: transparent; border-radius: 0; padding: 0; }
+
+.content-view .tile:backdrop { background-color: transparent; }
+
+.content-view .tile:active, .content-view .tile:selected { background-color: transparent; }
+
+.content-view .tile:disabled { background-color: transparent; }
+
+label { caret-color: currentColor; }
+
+label selection { background-color: #386b00; color: #000000; }
+
+label:disabled { color: #552222; }
+
+button label:disabled { color: inherit; }
+
+label:disabled:backdrop { color: #818181; }
+
+button label:disabled:backdrop { color: inherit; }
+
+label.error { color: #990000; }
+
+label.error:disabled { color: rgba(153, 0, 0, 0.5); }
+
+label.error:disabled:backdrop { color: rgba(153, 0, 0, 0.4); }
+
+.dim-label, .titlebar:not(headerbar) .subtitle, headerbar .subtitle, label.separator { opacity: 0.55; text-shadow: none; }
+
+assistant .sidebar { background-color: #908f8d; border-top: 1px solid #797979; }
+
+assistant .sidebar:backdrop { background-color: #8d8c8a; border-color: #828282; }
+
+assistant.csd .sidebar { border-top-style: none; }
+
+assistant .sidebar label { padding: 6px 12px; }
+
+assistant .sidebar label.highlight { background-color: #8d8c8f; }
+
+.osd .scale-popup, .app-notification, .app-notification.frame, .csd popover.background.osd, popover.background.osd, .csd popover.background.touch-selection, .csd popover.background.magnifier, popover.background.touch-selection, popover.background.magnifier, .osd { color: #002269; border: 1px solid #002269; background-color: rgba(103, 137, 180, 0.7); background-clip: padding-box; }
+
+/********************* Spinner Animation * */
+@keyframes spin { to { -gtk-icon-transform: rotate(1turn); } }
+
+spinner { background: none; opacity: 0.1; -gtk-icon-source: -gtk-icontheme("process-working-symbolic"); }
+
+spinner:backdrop { color: #66636c; }
+
+spinner:checked { opacity: 1; animation: spin 1s linear infinite; }
+
+spinner:checked:disabled { opacity: 0.5; color: #552222; }
+
+/********************** General Typography * */
+.large-title { font-weight: 300; font-size: 24pt; }
+
+.title-1 { font-weight: 800; font-size: 20pt; }
+
+.title-2 { font-weight: 800; font-size: 15pt; }
+
+.title-3 { font-weight: 700; font-size: 15pt; }
+
+.title-4 { font-weight: 700; font-size: 13pt; }
+
+.heading { font-weight: 700; font-size: 11pt; }
+
+.body { font-weight: 400; font-size: 11pt; }
+
+.caption-heading { font-weight: 700; font-size: 9pt; }
+
+.caption { font-weight: 400; font-size: 9pt; }
+
+/**************** Text Entries * */
+spinbutton:not(.vertical), entry { min-height: 28px; padding-left: 8px; padding-right: 8px; border: 1px solid; border-radius: 5px; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); color: #241f31; border-color: #797979; background-color: #908f8d; box-shadow: inset 0 0 0 1px rgba(56, 107, 0, 0), inset 0 1px 2px rgba(0, 0, 0, 0.4), 0 1px rgba(255, 255, 255, 0.5); }
+
+spinbutton:not(.vertical) image.left, entry image.left { margin-right: 6px; }
+
+spinbutton:not(.vertical) image.right, entry image.right { margin-left: 6px; }
+
+spinbutton.flat:not(.vertical), entry.flat:focus, entry.flat:backdrop, entry.flat:disabled, entry.flat { min-height: 0; padding: 2px; background-color: transparent; border-color: transparent; border-radius: 0; }
+
+spinbutton:focus:not(.vertical), entry:focus { box-shadow: inset 0 0 0 1px #386b00, inset 0 1px 2px rgba(0, 0, 0, 0.4), 0 1px rgba(255, 255, 255, 0.5); border-color: #386b00; }
+
+spinbutton:disabled:not(.vertical), entry:disabled { color: #552222; border-color: #552222; background-color: #938989; box-shadow: none; }
+
+spinbutton:backdrop:not(.vertical), entry:backdrop { color: #393543; border-color: #828282; background-color: #8d8c8a; box-shadow: none; transition: 200ms ease-out; }
+
+spinbutton:backdrop:disabled:not(.vertical), entry:backdrop:disabled { color: #818181; border-color: #828282; background-color: #938989; box-shadow: none; }
+
+spinbutton.error:not(.vertical), entry.error { color: #990000; border-color: #990000; }
+
+spinbutton.error:focus:not(.vertical), entry.error:focus { box-shadow: inset 0 0 0 1px #990000, inset 0 1px 2px rgba(0, 0, 0, 0.4), 0 1px rgba(255, 255, 255, 0.5); border-color: #990000; }
+
+spinbutton.error:not(.vertical) selection, entry.error selection { background-color: #990000; }
+
+spinbutton.warning:not(.vertical), entry.warning { color: #f57900; border-color: #f57900; }
+
+spinbutton.warning:focus:not(.vertical), entry.warning:focus { box-shadow: inset 0 0 0 1px #f57900, inset 0 1px 2px rgba(0, 0, 0, 0.4), 0 1px rgba(255, 255, 255, 0.5); border-color: #f57900; }
+
+spinbutton.warning:not(.vertical) selection, entry.warning selection { background-color: #f57900; }
+
+spinbutton:not(.vertical) image, entry image { color: #3a3543; }
+
+spinbutton:not(.vertical) image:hover, entry image:hover { color: #241f31; }
+
+spinbutton:not(.vertical) image:active, entry image:active { color: #386b00; }
+
+spinbutton:not(.vertical) image:backdrop, entry image:backdrop { color: #6e6b72; }
+
+spinbutton:drop(active):not(.vertical), entry:drop(active):focus, entry:drop(active) { border-color: #73d216; box-shadow: inset 0 0 0 1px #73d216; }
+
+.osd spinbutton:not(.vertical), .osd entry { color: #002269; border-color: #002269; background-color: rgba(0, 34, 105, 0.5); background-clip: padding-box; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4); text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; }
+
+.osd spinbutton:focus:not(.vertical), .osd entry:focus { color: #002269; border-color: #386b00; background-color: rgba(0, 34, 105, 0.5); background-clip: padding-box; box-shadow: inset 0 0 0 1px #386b00, 0 1px 2px rgba(0, 0, 0, 0.4); text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; }
+
+.osd spinbutton:backdrop:not(.vertical), .osd entry:backdrop { color: #002269; border-color: #002269; background-color: rgba(0, 34, 105, 0.5); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; }
+
+.osd spinbutton:disabled:not(.vertical), .osd entry:disabled { color: #34568f; border-color: #002269; background-color: rgba(93, 127, 173, 0.5); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; }
+
+spinbutton:not(.vertical) progress, entry progress { margin: 2px -6px; background-color: transparent; background-image: none; border-radius: 0; border-width: 0 0 2px; border-color: #386b00; border-style: solid; box-shadow: none; }
+
+spinbutton:not(.vertical) progress:backdrop, entry progress:backdrop { background-color: transparent; }
+
+.linked:not(.vertical) > spinbutton:focus:not(.vertical) + spinbutton:not(.vertical), .linked:not(.vertical) > spinbutton:focus:not(.vertical) + button, .linked:not(.vertical) > spinbutton:focus:not(.vertical) + combobox > box > button.combo, .linked:not(.vertical) > spinbutton:focus:not(.vertical) + entry, .linked:not(.vertical) > entry:focus + button, .linked:not(.vertical) > entry:focus + combobox > box > button.combo, .linked:not(.vertical) > entry:focus + spinbutton:not(.vertical), .linked:not(.vertical) > entry:focus + entry { border-left-color: #386b00; }
+
+.linked:not(.vertical) > spinbutton:focus.error:not(.vertical) + spinbutton:not(.vertical), .linked:not(.vertical) > spinbutton:focus.error:not(.vertical) + button, .linked:not(.vertical) > spinbutton:focus.error:not(.vertical) + combobox > box > button.combo, .linked:not(.vertical) > spinbutton:focus.error:not(.vertical) + entry, .linked:not(.vertical) > entry:focus.error + button, .linked:not(.vertical) > entry:focus.error + combobox > box > button.combo, .linked:not(.vertical) > entry:focus.error + spinbutton:not(.vertical), .linked:not(.vertical) > entry:focus.error + entry { border-left-color: #990000; }
+
+.linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + spinbutton:not(.vertical), .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + button, .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + combobox > box > button.combo, .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + entry, .linked:not(.vertical) > entry:drop(active) + button, .linked:not(.vertical) > entry:drop(active) + combobox > box > button.combo, .linked:not(.vertical) > entry:drop(active) + spinbutton:not(.vertical), .linked:not(.vertical) > entry:drop(active) + entry { border-left-color: #73d216; }
+
+.linked.vertical > spinbutton:not(:disabled):not(.vertical) + entry:not(:disabled), .linked.vertical > spinbutton:not(:disabled):not(.vertical) + spinbutton:not(:disabled):not(.vertical), .linked.vertical > entry:not(:disabled) + entry:not(:disabled), .linked.vertical > entry:not(:disabled) + spinbutton:not(:disabled):not(.vertical) { border-top-color: #898887; }
+
+.linked.vertical > spinbutton:not(:disabled):not(.vertical) + entry:not(:disabled):backdrop, .linked.vertical > spinbutton:not(:disabled):not(.vertical) + spinbutton:not(:disabled):backdrop:not(.vertical), .linked.vertical > entry:not(:disabled) + entry:not(:disabled):backdrop, .linked.vertical > entry:not(:disabled) + spinbutton:not(:disabled):backdrop:not(.vertical) { border-top-color: #8a8988; }
+
+.linked.vertical > spinbutton:disabled:not(.vertical) + spinbutton:disabled:not(.vertical), .linked.vertical > spinbutton:disabled:not(.vertical) + entry:disabled, .linked.vertical > entry:disabled + spinbutton:disabled:not(.vertical), .linked.vertical > entry:disabled + entry:disabled { border-top-color: #898887; }
+
+.linked.vertical > spinbutton:not(.vertical) + spinbutton:focus:not(:only-child):not(.vertical), .linked.vertical > spinbutton:not(.vertical) + entry:focus:not(:only-child), .linked.vertical > entry + spinbutton:focus:not(:only-child):not(.vertical), .linked.vertical > entry + entry:focus:not(:only-child) { border-top-color: #386b00; }
+
+.linked.vertical > spinbutton:not(.vertical) + spinbutton:focus.error:not(:only-child):not(.vertical), .linked.vertical > spinbutton:not(.vertical) + entry:focus.error:not(:only-child), .linked.vertical > entry + spinbutton:focus.error:not(:only-child):not(.vertical), .linked.vertical > entry + entry:focus.error:not(:only-child) { border-top-color: #990000; }
+
+.linked.vertical > spinbutton:not(.vertical) + spinbutton:drop(active):not(:only-child):not(.vertical), .linked.vertical > spinbutton:not(.vertical) + entry:drop(active):not(:only-child), .linked.vertical > entry + spinbutton:drop(active):not(:only-child):not(.vertical), .linked.vertical > entry + entry:drop(active):not(:only-child) { border-top-color: #73d216; }
+
+.linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + spinbutton:not(.vertical), .linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + entry, .linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + button, .linked.vertical > spinbutton:focus:not(:only-child):not(.vertical) + combobox > box > button.combo, .linked.vertical > entry:focus:not(:only-child) + spinbutton:not(.vertical), .linked.vertical > entry:focus:not(:only-child) + entry, .linked.vertical > entry:focus:not(:only-child) + button, .linked.vertical > entry:focus:not(:only-child) + combobox > box > button.combo { border-top-color: #386b00; }
+
+.linked.vertical > spinbutton:focus.error:not(:only-child):not(.vertical) + spinbutton:not(.vertical), .linked.vertical > spinbutton:focus.error:not(:only-child):not(.vertical) + entry, .linked.vertical > spinbutton:focus.error:not(:only-child):not(.vertical) + button, .linked.vertical > spinbutton:focus.error:not(:only-child):not(.vertical) + combobox > box > button.combo, .linked.vertical > entry:focus.error:not(:only-child) + spinbutton:not(.vertical), .linked.vertical > entry:focus.error:not(:only-child) + entry, .linked.vertical > entry:focus.error:not(:only-child) + button, .linked.vertical > entry:focus.error:not(:only-child) + combobox > box > button.combo { border-top-color: #990000; }
+
+.linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + spinbutton:not(.vertical), .linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + entry, .linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + button, .linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + combobox > box > button.combo, .linked.vertical > entry:drop(active):not(:only-child) + spinbutton:not(.vertical), .linked.vertical > entry:drop(active):not(:only-child) + entry, .linked.vertical > entry:drop(active):not(:only-child) + button, .linked.vertical > entry:drop(active):not(:only-child) + combobox > box > button.combo { border-top-color: #73d216; }
+
+spinbutton.error:not(.vertical), entry.error { color: #990000; }
+
+treeview entry:focus:dir(rtl), treeview entry:focus:dir(ltr) { background-color: #908f8d; transition-property: color, background; }
+
+treeview entry.flat, treeview entry { border-radius: 0; background-image: none; background-color: #908f8d; }
+
+treeview entry.flat:focus, treeview entry:focus { border-color: #386b00; }
+
+.entry-tag { padding: 5px; margin-top: 2px; margin-bottom: 2px; border-style: none; color: #000000; background-color: #386b00; }
+
+:dir(ltr) .entry-tag { margin-left: 8px; margin-right: -5px; }
+
+:dir(rtl) .entry-tag { margin-left: -5px; margin-right: 8px; }
+
+.entry-tag:hover { background-color: #539e00; }
+
+:backdrop .entry-tag { color: #8d8c8a; background-color: #386b00; }
+
+.entry-tag.button { background-color: transparent; color: rgba(0, 0, 0, 0.7); }
+
+:not(:backdrop) .entry-tag.button:hover { border: 1px solid #386b00; color: #000000; }
+
+:not(:backdrop) .entry-tag.button:active { background-color: #386b00; color: rgba(0, 0, 0, 0.7); }
+
+/****************************************************** Buttons * */
+@keyframes needs_attention { from { background-image: -gtk-gradient(radial, center center, 0, center center, 0.01, to(#386b00), to(transparent)); }
+ to { background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(#386b00), to(transparent)); } }
+
+button.titlebutton, scrollbar slider, notebook > header > tabs > arrow, button { min-height: 24px; min-width: 16px; padding: 2px 6px; border: 1px solid; border-radius: 5px; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); color: #241f31; background-color: #bcbeb9; outline-color: rgba(56, 107, 0, 0.5); background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.15)); text-shadow: 0 1px rgba(255, 255, 255, 0.3); -gtk-icon-shadow: 0 1px rgba(255, 255, 255, 0.3); box-shadow: inset 0 1px rgba(255, 255, 255, 0.5), 0 1px 2px rgba(0, 0, 0, 0.4); }
+
+button.titlebutton:not(:hover):not(:active):not(:checked):not(:disabled), button.sidebar-button, notebook > header > tabs > arrow, scrollbar slider.flat:not(:hover):not(:active):not(:checked):not(:disabled), notebook > header > tabs > arrow.flat:not(:hover):not(:active):not(:checked):not(:disabled), button.flat:not(:hover):not(:active):not(:checked):not(:disabled) { 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; transition: none; }
+
+scrollbar slider:hover, notebook > header > tabs > arrow:hover, button:hover { background-color: shade(#bcbeb9, 1.1); -gtk-icon-effect: highlight; }
+
+scrollbar slider:active, notebook > header > tabs > arrow:active, button:active { box-shadow: 0 1px rgba(255, 255, 255, 0.5), inset 0 1px 2px rgba(0, 0, 0, 0.4); transition-duration: 50ms; }
+
+scrollbar slider:checked, notebook > header > tabs > arrow:checked, button:checked, button:checked:active { color: #000000; background-color: #386b00; text-shadow: 0 1px rgba(255, 255, 255, 0.3); -gtk-icon-shadow: 0 1px rgba(255, 255, 255, 0.3); box-shadow: 0 1px rgba(255, 255, 255, 0.5), inset 0 1px 2px rgba(0, 0, 0, 0.4); transition-duration: 50ms; }
+
+scrollbar slider:checked:hover:not(:active), notebook > header > tabs > arrow:checked:hover:not(:active), button:checked:hover:not(:active) { color: #000000; background-color: shade(#386b00, 1.1); text-shadow: 0 1px rgba(255, 255, 255, 0.3); -gtk-icon-shadow: 0 1px rgba(255, 255, 255, 0.3); box-shadow: 0 1px rgba(255, 255, 255, 0.5), inset 0 1px 2px rgba(0, 0, 0, 0.4); }
+
+scrollbar slider:backdrop, notebook > header > tabs > arrow:backdrop, button:backdrop.flat, button:backdrop { background-image: none; transition: 200ms ease-out; -gtk-icon-effect: none; }
+
+button.titlebutton:backdrop:not(:hover):not(:active):not(:checked):not(:disabled), button.sidebar-button:backdrop, notebook > header > tabs > arrow:backdrop, button.titlebutton:disabled:not(:hover):not(:active):not(:checked):not(:disabled), button.sidebar-button:disabled, notebook > header > tabs > arrow:disabled, scrollbar slider.flat:backdrop, scrollbar slider.flat:disabled, button.flat:backdrop, button.flat:disabled, button.flat:backdrop:disabled { 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; }
+
+scrollbar slider:disabled, notebook > header > tabs > arrow:disabled, button:disabled { color: #552222; background-color: #938989; background-image: none; }
+
+scrollbar slider:disabled:active, notebook > header > tabs > arrow:disabled:active, scrollbar slider:disabled:checked, notebook > header > tabs > arrow:disabled:checked, button:disabled:active, button:disabled:checked { color: #552222; background-color: #858574; }
+
+scrollbar slider.image-button, notebook > header > tabs > arrow.image-button, button.image-button { min-width: 24px; padding-left: 2px; padding-right: 2px; }
+
+scrollbar slider.text-button, notebook > header > tabs > arrow.text-button, button.text-button { padding-left: 16px; padding-right: 16px; }
+
+scrollbar slider.text-button.image-button, notebook > header > tabs > arrow.text-button.image-button, button.text-button.image-button { padding-left: 8px; padding-right: 8px; }
+
+scrollbar slider.text-button.image-button label, notebook > header > tabs > arrow.text-button.image-button label, button.text-button.image-button label { padding-left: 8px; padding-right: 8px; }
+
+combobox:drop(active) button.combo, scrollbar slider:drop(active), notebook > header > tabs > arrow:drop(active), button:drop(active) { color: #73d216; border-color: #73d216; box-shadow: inset 0 0 0 1px #73d216; }
+
+row:selected button { border-color: #101f00; }
+
+row:selected button.sidebar-button:not(:active):not(:checked):not(:hover):not(disabled), row:selected button.flat:not(:active):not(:checked):not(:hover):not(disabled) { color: #000000; border-color: transparent; }
+
+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: #8d8c8a; }
+
+button.osd { min-width: 26px; min-height: 32px; color: #002269; border-radius: 5px; border: none; box-shadow: none; }
+
+button.osd.image-button { min-width: 34px; }
+
+button.osd:hover { border: none; box-shadow: none; }
+
+button.osd:active, button.osd:checked { border: none; box-shadow: none; }
+
+button.osd:disabled:backdrop, button.osd:disabled { border: none; }
+
+button.osd:backdrop { border: none; }
+
+.app-notification button, .app-notification.frame button, .csd popover.background.touch-selection button, .csd popover.background.magnifier button, popover.background.touch-selection button, popover.background.magnifier button, .osd button { color: #002269; background-color: rgba(103, 137, 180, 0.7); outline-color: rgba(56, 107, 0, 0.5); background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.15)); text-shadow: 0 1px rgba(255, 255, 255, 0.3); -gtk-icon-shadow: 0 1px rgba(255, 255, 255, 0.3); box-shadow: inset 0 1px rgba(255, 255, 255, 0.5), 0 1px 2px rgba(0, 0, 0, 0.4); }
+
+.app-notification button:hover, popover.background.touch-selection button:hover, popover.background.magnifier button:hover, .osd button:hover { background-color: shade(rgba(103, 137, 180, 0.7), 1.1); }
+
+.app-notification button:active, popover.background.touch-selection button:active, popover.background.magnifier button:active, .app-notification button:checked, popover.background.touch-selection button:checked, popover.background.magnifier button:checked, .osd button:active:backdrop, .osd button:active, .osd button:checked:backdrop, .osd button:checked { box-shadow: 0 1px rgba(255, 255, 255, 0.5), inset 0 1px 2px rgba(0, 0, 0, 0.4); }
+
+.app-notification button:disabled, popover.background.touch-selection button:disabled, popover.background.magnifier button:disabled, .osd button:disabled:backdrop, .osd button:disabled { color: #552222; background-color: #938989; background-image: none; }
+
+.app-notification button:backdrop, popover.background.touch-selection button:backdrop, popover.background.magnifier button:backdrop, .osd button:backdrop { background-image: none; }
+
+.app-notification button.flat, popover.background.touch-selection button.flat, popover.background.magnifier button.flat, .osd button.flat { box-shadow: none; text-shadow: 0 1px black; -gtk-icon-shadow: 0 1px black; }
+
+.app-notification button.flat:not(:hover):not(:active):not(:checked):not(:disabled), popover.background.touch-selection button.flat:not(:hover):not(:active):not(:checked):not(:disabled), popover.background.magnifier button.flat:not(:hover):not(:active):not(:checked):not(:disabled), .osd button.flat:not(:hover):not(:active):not(:checked):not(:disabled) { 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; }
+
+.app-notification button.flat:hover, popover.background.touch-selection button.flat:hover, popover.background.magnifier button.flat:hover, .osd button.flat:hover { background-color: shade(rgba(103, 137, 180, 0.7), 1.1); }
+
+.app-notification button.flat:disabled, popover.background.touch-selection button.flat:disabled, popover.background.magnifier button.flat:disabled, .osd button.flat:disabled { color: #552222; background-color: #938989; background-image: none; background-image: none; border-color: transparent; box-shadow: none; }
+
+.app-notification button.flat:backdrop, popover.background.touch-selection button.flat:backdrop, popover.background.magnifier button.flat:backdrop, .osd button.flat:backdrop { 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; }
+
+.app-notification button.flat:active, popover.background.touch-selection button.flat:active, popover.background.magnifier button.flat:active, .app-notification button.flat:checked, popover.background.touch-selection button.flat:checked, popover.background.magnifier button.flat:checked, .osd button.flat:active, .osd button.flat:checked { box-shadow: 0 1px rgba(255, 255, 255, 0.5), inset 0 1px 2px rgba(0, 0, 0, 0.4); }
+
+button.suggested-action { color: white; background-color: #386b00; outline-color: rgba(56, 107, 0, 0.5); background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.15)); text-shadow: 0 -1px rgba(0, 0, 0, 0.832157); -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.832157); box-shadow: inset 0 1px rgba(255, 255, 255, 0.3), 0 1px 2px rgba(0, 0, 0, 0.4); }
+
+button.suggested-action.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; color: #386b00; }
+
+button.suggested-action:hover { background-color: shade(#386b00, 1.1); }
+
+button.suggested-action:active, button.suggested-action:checked { box-shadow: 0 1px rgba(255, 255, 255, 0.3), inset 0 1px 2px rgba(0, 0, 0, 0.4); }
+
+button.suggested-action:backdrop, button.suggested-action.flat:backdrop { background-image: none; }
+
+button.suggested-action.flat:backdrop, button.suggested-action.flat:disabled, button.suggested-action.flat:backdrop:disabled { 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; color: rgba(56, 107, 0, 0.8); }
+
+button.suggested-action:disabled { color: #552222; background-color: #938989; background-image: none; }
+
+button.suggested-action:disabled:active, button.suggested-action:disabled:checked { color: #552222; background-color: #858574; }
+
+button.destructive-action { color: white; background-color: #990000; outline-color: rgba(56, 107, 0, 0.5); background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.15)); text-shadow: 0 -1px rgba(0, 0, 0, 0.76); -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.76); box-shadow: inset 0 1px rgba(255, 255, 255, 0.3), 0 1px 2px rgba(0, 0, 0, 0.4); }
+
+button.destructive-action.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; color: #990000; }
+
+button.destructive-action:hover { background-color: shade(#990000, 1.1); }
+
+button.destructive-action:active, button.destructive-action:checked { box-shadow: 0 1px rgba(255, 255, 255, 0.3), inset 0 1px 2px rgba(0, 0, 0, 0.4); }
+
+button.destructive-action:backdrop, button.destructive-action.flat:backdrop { background-image: none; }
+
+button.destructive-action.flat:backdrop, button.destructive-action.flat:disabled, button.destructive-action.flat:backdrop:disabled { 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; color: rgba(153, 0, 0, 0.8); }
+
+button.destructive-action:disabled { color: #552222; background-color: #938989; background-image: none; }
+
+button.destructive-action:disabled:active, button.destructive-action:disabled:checked { color: #552222; background-color: #858574; }
+
+.stack-switcher > button { outline-offset: -3px; }
+
+.stack-switcher > button > label { padding-left: 6px; padding-right: 6px; }
+
+.stack-switcher > button > image { padding-left: 6px; padding-right: 6px; padding-top: 3px; padding-bottom: 3px; }
+
+.stack-switcher > button.text-button { padding-left: 10px; padding-right: 10px; }
+
+.stack-switcher > button.image-button { padding-left: 2px; padding-right: 2px; }
+
+.stack-switcher > button.needs-attention:active > label, .stack-switcher > button.needs-attention:active > image, .stack-switcher > button.needs-attention:checked > label, .stack-switcher > button.needs-attention:checked > image { animation: none; background-image: none; }
+
+button.font separator, button.file separator { background-color: transparent; }
+
+button.font > box > box > label { font-weight: bold; }
+
+.primary-toolbar button { -gtk-icon-shadow: none; }
+
+button.circular { border-radius: 9999px; -gtk-outline-radius: 9999px; padding: 2px; /* circles instead of ellipses */ background-origin: padding-box, border-box; background-clip: padding-box, border-box; }
+
+button.circular label { padding: 0; }
+
+button.circular:not(.flat):not(.osd):not(:checked):not(:active):not(:disabled):not(:backdrop) { color: #241f31; background-color: #bcbeb9; outline-color: rgba(56, 107, 0, 0.5); background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.15)); text-shadow: 0 1px rgba(255, 255, 255, 0.3); -gtk-icon-shadow: 0 1px rgba(255, 255, 255, 0.3); box-shadow: inset 0 1px rgba(255, 255, 255, 0.5), 0 1px 2px rgba(0, 0, 0, 0.4); }
+
+button.circular:hover:not(.osd):not(:checked):not(:active):not(:disabled):not(:backdrop) { background-color: shade(#bcbeb9, 1.1); }
+
+stacksidebar row.needs-attention > label, .stack-switcher > button.needs-attention > label, .stack-switcher > button.needs-attention > image { animation: needs_attention 150ms ease-in; background-image: -gtk-gradient(radial, center center, 0, center center, 0.5, to(#386b00), to(transparent)), -gtk-gradient(radial, center center, 0, center center, 0.5, to(rgba(255, 255, 255, 0.769231)), to(transparent)); background-size: 6px 6px, 6px 6px; background-repeat: no-repeat; background-position: right 3px, right 4px; }
+
+stacksidebar row.needs-attention > label:backdrop, .stack-switcher > button.needs-attention > label:backdrop, .stack-switcher > button.needs-attention > image:backdrop { background-size: 6px 6px, 0 0; }
+
+stacksidebar row.needs-attention > label:dir(rtl), .stack-switcher > button.needs-attention > label:dir(rtl), .stack-switcher > button.needs-attention > image:dir(rtl) { background-position: left 3px, left 4px; }
+
+.inline-toolbar toolbutton > button { color: #241f31; background-color: #bcbeb9; outline-color: rgba(56, 107, 0, 0.5); background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.15)); text-shadow: 0 1px rgba(255, 255, 255, 0.3); -gtk-icon-shadow: 0 1px rgba(255, 255, 255, 0.3); box-shadow: inset 0 1px rgba(255, 255, 255, 0.5), 0 1px 2px rgba(0, 0, 0, 0.4); }
+
+.inline-toolbar toolbutton > button:hover { background-color: shade(#bcbeb9, 1.1); }
+
+.inline-toolbar toolbutton > button:active, .inline-toolbar toolbutton > button:checked { box-shadow: 0 1px rgba(255, 255, 255, 0.5), inset 0 1px 2px rgba(0, 0, 0, 0.4); }
+
+.inline-toolbar toolbutton > button:disabled { color: #552222; background-color: #938989; background-image: none; }
+
+.inline-toolbar toolbutton > button:disabled:active, .inline-toolbar toolbutton > button:disabled:checked { color: #552222; background-color: #858574; }
+
+.inline-toolbar toolbutton > button:backdrop { background-image: none; }
+
+.linked:not(.vertical) > combobox > box > button.combo, filechooser .path-bar.linked > button, .linked:not(.vertical) > spinbutton:not(.vertical), .linked:not(.vertical) > entry, .inline-toolbar button, .linked > button, toolbar.inline-toolbar toolbutton > button.flat { border-right-style: none; border-radius: 0; -gtk-outline-radius: 0; }
+
+.linked:not(.vertical) > combobox:first-child > box > button.combo, combobox.linked button:nth-child(2):dir(rtl), filechooser .path-bar.linked > button:dir(rtl):last-child, filechooser .path-bar.linked > button:dir(ltr):first-child, .linked:not(.vertical) > spinbutton:first-child:not(.vertical), .linked:not(.vertical) > entry:first-child, .inline-toolbar button:first-child, .linked > button:first-child, toolbar.inline-toolbar toolbutton:first-child > button.flat { border-top-left-radius: 5px; border-bottom-left-radius: 5px; -gtk-outline-top-left-radius: 5px; -gtk-outline-bottom-left-radius: 5px; }
+
+.linked:not(.vertical) > combobox:last-child > box > button.combo, combobox.linked button:nth-child(2):dir(ltr), filechooser .path-bar.linked > button:dir(rtl):first-child, filechooser .path-bar.linked > button:dir(ltr):last-child, .linked:not(.vertical) > spinbutton:last-child:not(.vertical), .linked:not(.vertical) > entry:last-child, .inline-toolbar button:last-child, .linked > button:last-child, toolbar.inline-toolbar toolbutton:last-child > button.flat { border-right-style: solid; border-top-right-radius: 5px; border-bottom-right-radius: 5px; -gtk-outline-top-right-radius: 5px; -gtk-outline-bottom-right-radius: 5px; }
+
+.linked:not(.vertical) > combobox:only-child > box > button.combo, filechooser .path-bar.linked > button:only-child, .linked:not(.vertical) > spinbutton:only-child:not(.vertical), .linked:not(.vertical) > entry:only-child, .inline-toolbar button:only-child, .linked > button:only-child, toolbar.inline-toolbar toolbutton:only-child > button.flat { border-style: solid; border-radius: 5px; -gtk-outline-radius: 5px; }
+
+.linked.vertical > combobox > box > button.combo, .linked.vertical > spinbutton:not(.vertical), .linked.vertical > entry, .linked.vertical > button { border-style: solid solid none solid; border-radius: 0; -gtk-outline-radius: 0; }
+
+.linked.vertical > combobox:first-child > box > button.combo, .linked.vertical > spinbutton:first-child:not(.vertical), .linked.vertical > entry:first-child, .linked.vertical > button:first-child { border-top-left-radius: 5px; border-top-right-radius: 5px; -gtk-outline-top-left-radius: 5px; -gtk-outline-top-right-radius: 5px; }
+
+.linked.vertical > combobox:last-child > box > button.combo, .linked.vertical > spinbutton:last-child:not(.vertical), .linked.vertical > entry:last-child, .linked.vertical > button:last-child { border-bottom-style: solid; border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; -gtk-outline-bottom-left-radius: 5px; -gtk-outline-bottom-right-radius: 5px; }
+
+.linked.vertical > combobox:only-child > box > button.combo, .linked.vertical > spinbutton:only-child:not(.vertical), .linked.vertical > entry:only-child, .linked.vertical > button:only-child { border-style: solid; border-radius: 5px; -gtk-outline-radius: 5px; }
+
+.scale-popup button:backdrop:hover, .scale-popup button:backdrop:disabled, .scale-popup button:backdrop, .scale-popup button:hover, calendar.button, button:link:hover, button:link:active, button:link:checked, button:visited:hover, button:visited:active, button:visited:checked, button:link, button:visited, list row button.image-button:not(.flat), modelbutton.flat:backdrop, modelbutton.flat:backdrop:hover, .menuitem.button.flat:backdrop, .menuitem.button.flat:backdrop:hover, modelbutton.flat:not(:hover):not(:active):not(:checked):not(:disabled), .menuitem.button.flat:not(:hover):not(:active):not(:checked):not(:disabled) { background-color: transparent; background-image: none; border-color: transparent; box-shadow: inset 0 1px rgba(255, 255, 255, 0), 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; }
+
+/* menu buttons */
+modelbutton.flat, .menuitem.button.flat { min-height: 26px; padding-left: 5px; padding-right: 5px; border-radius: 5px; outline-offset: -2px; }
+
+modelbutton.flat:hover, .menuitem.button.flat:hover { background-color: #b4b4b4; }
+
+modelbutton.flat arrow { background: none; }
+
+modelbutton.flat arrow:hover { background: none; }
+
+modelbutton.flat arrow.left { -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); }
+
+modelbutton.flat arrow.right { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); }
+
+button.color { padding: 4px; }
+
+button.color colorswatch:only-child { box-shadow: 0 1px rgba(255, 255, 255, 0.769231); }
+
+button.color colorswatch:only-child, button.color colorswatch:only-child overlay { border-radius: 0; }
+
+.osd button.color colorswatch:only-child { box-shadow: none; }
+
+.osd button.color:disabled colorswatch:only-child, .osd button.color:backdrop colorswatch:only-child, .osd button.color:active colorswatch:only-child, .osd button.color:checked colorswatch:only-child, button.color:disabled colorswatch:only-child, button.color:backdrop colorswatch:only-child, button.color:active colorswatch:only-child, button.color:checked colorswatch:only-child { box-shadow: none; }
+
+/* list buttons */
+/* tone down as per new designs, see issue #1473, #1748 */
+list row button.image-button:not(.flat) { border: 1px solid rgba(121, 121, 121, 0.5); }
+
+list row button.image-button:not(.flat):hover { background-color: shade(#bcbeb9, 1.1); }
+
+list row button.image-button:not(.flat):active, list row button.image-button:not(.flat):checked { box-shadow: 0 1px rgba(255, 255, 255, 0.5), inset 0 1px 2px rgba(0, 0, 0, 0.4); }
+
+/********* Links * */
+button:link > label, button:visited > label, button:link, button:visited, *:link { color: #1d3800; }
+
+button:link > label:visited, button:visited > label:visited, button:visited, *:link:visited { color: #030500; }
+
+*:selected button:link > label:visited, *:selected button:visited > label:visited, *:selected button:visited, *:selected *:link:visited { color: #010200; }
+
+button:link > label:hover, button:visited > label:hover, button:hover:link, button:hover:visited, *:link:hover { color: #386b00; }
+
+*:selected button:link > label:hover, *:selected button:visited > label:hover, *:selected button:hover:link, *:selected button:hover:visited, *:selected *:link:hover { color: #060b00; }
+
+button:link > label:active, button:visited > label:active, button:active:link, button:active:visited, *:link:active { color: #1d3800; }
+
+*:selected button:link > label:active, *:selected button:visited > label:active, *:selected button:active:link, *:selected button:active:visited, *:selected *:link:active { color: #060b00; }
+
+button:link > label:disabled, button:visited > label:disabled, button:disabled:link, button:disabled:visited, *:link:disabled, *:link:disabled:backdrop { color: rgba(28, 28, 28, 0.8); }
+
+button:link > label:backdrop, button:visited > label:backdrop, button:backdrop:link, button:backdrop:visited, *:link:backdrop:backdrop:hover, *:link:backdrop:backdrop:hover:selected, *:link:backdrop { color: rgba(29, 56, 0, 0.9); }
+
+.selection-mode .titlebar:not(headerbar) .subtitle:link, .selection-mode.titlebar:not(headerbar) .subtitle:link, .selection-mode headerbar .subtitle:link, headerbar.selection-mode .subtitle:link, button:link > label:selected, button:visited > label:selected, button:selected:link, button:selected:visited, *:selected button:link > label, *:selected button:visited > label, *:selected button:link, *:selected button:visited, *:link:selected, *:selected *:link { color: #060b00; }
+
+button:link, button:visited { text-shadow: none; }
+
+button:link:hover, button:link:active, button:link:checked, button:visited:hover, button:visited:active, button:visited:checked { text-shadow: none; }
+
+button:link > label, button:visited > label { text-decoration-line: underline; }
+
+/***************** GtkSpinButton * */
+spinbutton { font-feature-settings: "tnum"; }
+
+spinbutton:not(.vertical) { padding: 0; }
+
+.osd spinbutton:not(.vertical) entry, spinbutton:not(.vertical) entry { min-width: 28px; margin: 0; background: none; background-color: transparent; border: none; border-radius: 0; box-shadow: none; }
+
+spinbutton:not(.vertical) entry:backdrop:disabled { background-color: transparent; }
+
+spinbutton:not(.vertical) button { padding: 0; }
+
+.osd spinbutton:not(.vertical) button { 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; color: #002269; border-style: none none none solid; border-color: rgba(0, 34, 105, 0.7); border-radius: 0; box-shadow: none; -gtk-icon-shadow: 0 1px black; }
+
+.osd spinbutton:not(.vertical) button:dir(rtl) { border-style: none solid none none; }
+
+.osd spinbutton:not(.vertical) button:hover { 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; color: #002269; border-color: rgba(0, 34, 105, 0.5); background-color: rgba(0, 34, 105, 0.1); -gtk-icon-shadow: 0 1px black; box-shadow: none; }
+
+.osd spinbutton:not(.vertical) button:backdrop { 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; color: #002269; border-color: rgba(0, 34, 105, 0.5); -gtk-icon-shadow: none; box-shadow: none; }
+
+.osd spinbutton:not(.vertical) button:disabled { 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; color: #34568f; border-color: rgba(0, 34, 105, 0.5); -gtk-icon-shadow: none; box-shadow: none; }
+
+.osd spinbutton:not(.vertical) button:dir(ltr):last-child { border-radius: 0 5px 5px 0; }
+
+.osd spinbutton:not(.vertical) button:dir(rtl):first-child { border-radius: 5px 0 0 5px; }
+
+spinbutton.vertical:disabled { color: #552222; }
+
+spinbutton.vertical:backdrop:disabled { color: #818181; }
+
+spinbutton.vertical:drop(active) { border-color: transparent; box-shadow: none; }
+
+spinbutton.vertical entry { min-height: 32px; min-width: 32px; padding: 0; border-radius: 0; }
+
+spinbutton.vertical button { min-height: 32px; min-width: 32px; padding: 0; }
+
+spinbutton.vertical button.up { border-radius: 5px 5px 0 0; border-style: solid solid none solid; }
+
+spinbutton.vertical button.down { border-radius: 0 0 5px 5px; border-style: none solid solid solid; }
+
+treeview spinbutton:not(.vertical) { min-height: 0; border-style: none; border-radius: 0; }
+
+treeview spinbutton:not(.vertical) entry { min-height: 0; padding: 1px 2px; }
+
+/************** ComboBoxes * */
+combobox arrow { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); min-height: 16px; min-width: 16px; }
+
+combobox:drop(active) { box-shadow: none; }
+
+/************ Toolbars * */
+searchbar > revealer > box, .location-bar, .inline-toolbar, toolbar { -GtkWidget-window-dragging: true; padding: 4px; background-color: #a7a7a7; }
+
+toolbar { padding: 4px 3px 3px 4px; }
+
+.osd toolbar { background-color: transparent; }
+
+toolbar.osd { padding: 13px; border: none; border-radius: 5px; background-color: rgba(103, 137, 180, 0.7); }
+
+toolbar.osd.left, toolbar.osd.right, toolbar.osd.top, toolbar.osd.bottom { border-radius: 0; }
+
+toolbar.horizontal separator { margin: 0 7px 1px 6px; }
+
+toolbar.vertical separator { margin: 6px 1px 7px 0; }
+
+toolbar:not(.inline-toolbar):not(.osd) > *:not(.toggle):not(.popup) > * { margin-right: 1px; margin-bottom: 1px; }
+
+.inline-toolbar { padding: 3px; border-width: 0 1px 1px; border-radius: 0 0 5px 5px; }
+
+searchbar > revealer > box, .location-bar { border-width: 0 0 1px; padding: 3px; }
+
+searchbar > revealer > box { margin: -6px; padding: 6px; }
+
+.inline-toolbar, searchbar > revealer > box, .location-bar { border-style: solid; border-color: #797979; background-color: #999999; }
+
+.inline-toolbar:backdrop, searchbar > revealer > box:backdrop, .location-bar:backdrop { border-color: #828282; background-color: #9a9a9a; box-shadow: none; transition: 200ms ease-out; }
+
+/*************** Header bars * */
+.titlebar:not(headerbar), headerbar { padding: 0 6px; min-height: 40px; border-width: 0 0 1px; border-style: solid; border-color: #6a6a6a; border-radius: 0; background: #8e8e8e linear-gradient(to top, #888888, #909090); box-shadow: inset 0 1px rgba(255, 255, 255, 0.8); /* Darken switchbuttons for headerbars. issue #1588 */ /* hide the close button separator */ }
+
+.titlebar:backdrop:not(headerbar), headerbar:backdrop { border-color: #828282; background-color: #a7a7a7; background-image: none; box-shadow: inset 0 1px rgba(255, 255, 255, 0.8); transition: 200ms ease-out; }
+
+.titlebar:not(headerbar) .title, headerbar .title { padding-left: 12px; padding-right: 12px; font-weight: bold; }
+
+.titlebar:not(headerbar) .subtitle, headerbar .subtitle { font-size: smaller; padding-left: 12px; padding-right: 12px; }
+
+.selection-mode .titlebar:not(headerbar), .selection-mode.titlebar:not(headerbar), .selection-mode headerbar, headerbar.selection-mode { color: #000000; border-color: #101f00; text-shadow: 0 -1px rgba(0, 0, 0, 0.5); background: #386b00 linear-gradient(to top, #336100, #3b7000); box-shadow: inset 0 1px rgba(136, 166, 102, 0.9); }
+
+.selection-mode .titlebar:backdrop:not(headerbar), .selection-mode.titlebar:backdrop:not(headerbar), .selection-mode headerbar:backdrop, headerbar.selection-mode:backdrop { background-color: #386b00; background-image: none; box-shadow: inset 0 1px rgba(156, 181, 128, 0.88); }
+
+.selection-mode .titlebar:backdrop:not(headerbar) label, .selection-mode.titlebar:backdrop:not(headerbar) label, .selection-mode headerbar:backdrop label, headerbar.selection-mode:backdrop label { text-shadow: none; color: #000000; }
+
+.selection-mode .titlebar:not(headerbar) button, .selection-mode.titlebar:not(headerbar) button, .selection-mode headerbar button, headerbar.selection-mode button { color: #000000; background-color: #386b00; outline-color: rgba(56, 107, 0, 0.5); background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.15)); text-shadow: 0 1px rgba(255, 255, 255, 0.3); -gtk-icon-shadow: 0 1px rgba(255, 255, 255, 0.3); box-shadow: inset 0 1px rgba(255, 255, 255, 0.3), 0 1px 2px rgba(0, 0, 0, 0.4); }
+
+.selection-mode button.titlebutton, .selection-mode .titlebar:not(headerbar) button.flat, .selection-mode.titlebar:not(headerbar) button.flat, .selection-mode headerbar button.flat, headerbar.selection-mode 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; }
+
+.selection-mode .titlebar:not(headerbar) button:hover, .selection-mode.titlebar:not(headerbar) button:hover, .selection-mode headerbar button:hover, headerbar.selection-mode button:hover { background-color: shade(#386b00, 1.1); }
+
+.selection-mode .titlebar:not(headerbar) button:active, .selection-mode .titlebar:not(headerbar) button:checked, .selection-mode.titlebar:not(headerbar) button:active, .selection-mode.titlebar:not(headerbar) button:checked, .selection-mode headerbar button:active, .selection-mode headerbar button:checked, .selection-mode headerbar button.toggle:checked, .selection-mode headerbar button.toggle:active, headerbar.selection-mode button:active, headerbar.selection-mode button:checked, headerbar.selection-mode button.toggle:checked, headerbar.selection-mode button.toggle:active { box-shadow: 0 1px rgba(255, 255, 255, 0.3), inset 0 1px 2px rgba(0, 0, 0, 0.4); }
+
+.selection-mode .titlebar:not(headerbar) button:backdrop, .selection-mode.titlebar:not(headerbar) button:backdrop, .selection-mode headerbar button:backdrop.flat, .selection-mode headerbar button:backdrop, headerbar.selection-mode button:backdrop.flat, headerbar.selection-mode button:backdrop { background-image: none; -gtk-icon-effect: none; border-color: #101f00; }
+
+.selection-mode .titlebar:not(headerbar) button:backdrop:active, .selection-mode .titlebar:not(headerbar) button:backdrop:checked, .selection-mode.titlebar:not(headerbar) button:backdrop:active, .selection-mode.titlebar:not(headerbar) button:backdrop:checked, .selection-mode headerbar button:backdrop.flat:active, .selection-mode headerbar button:backdrop.flat:checked, .selection-mode headerbar button:backdrop:active, .selection-mode headerbar button:backdrop:checked, headerbar.selection-mode button:backdrop.flat:active, headerbar.selection-mode button:backdrop.flat:checked, headerbar.selection-mode button:backdrop:active, headerbar.selection-mode button:backdrop:checked { border-color: #101f00; }
+
+.selection-mode .titlebar:not(headerbar) button:backdrop:disabled, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled, .selection-mode headerbar button:backdrop.flat:disabled, .selection-mode headerbar button:backdrop:disabled, headerbar.selection-mode button:backdrop.flat:disabled, headerbar.selection-mode button:backdrop:disabled { border-color: #101f00; }
+
+.selection-mode .titlebar:not(headerbar) button:backdrop:disabled:active, .selection-mode .titlebar:not(headerbar) button:backdrop:disabled:checked, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled:active, .selection-mode.titlebar:not(headerbar) button:backdrop:disabled:checked, .selection-mode headerbar button:backdrop:disabled:active, .selection-mode headerbar button:backdrop:disabled:checked, headerbar.selection-mode button:backdrop:disabled:active, headerbar.selection-mode button:backdrop:disabled:checked { border-color: #101f00; }
+
+.selection-mode button.titlebutton:backdrop, .selection-mode button.titlebutton:disabled, .selection-mode .titlebar:not(headerbar) button.flat:backdrop, .selection-mode .titlebar:not(headerbar) button.flat:disabled, .selection-mode.titlebar:not(headerbar) button.flat:backdrop, .selection-mode.titlebar:not(headerbar) button.flat:disabled, .selection-mode headerbar button.flat:backdrop, .selection-mode headerbar button.flat:disabled, .selection-mode headerbar button.flat:backdrop:disabled, headerbar.selection-mode button.flat:backdrop, headerbar.selection-mode button.flat:disabled, headerbar.selection-mode button.flat:backdrop:disabled { 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; }
+
+.selection-mode .titlebar:not(headerbar) button:disabled, .selection-mode.titlebar:not(headerbar) button:disabled, .selection-mode headerbar button:disabled, headerbar.selection-mode button:disabled { color: #552222; background-color: #938989; background-image: none; }
+
+.selection-mode .titlebar:not(headerbar) button:disabled:active, .selection-mode .titlebar:not(headerbar) button:disabled:checked, .selection-mode.titlebar:not(headerbar) button:disabled:active, .selection-mode.titlebar:not(headerbar) button:disabled:checked, .selection-mode headerbar button:disabled:active, .selection-mode headerbar button:disabled:checked, headerbar.selection-mode button:disabled:active, headerbar.selection-mode button:disabled:checked { color: #552222; background-color: #858574; }
+
+.selection-mode .titlebar:not(headerbar) button.suggested-action, .selection-mode.titlebar:not(headerbar) button.suggested-action, .selection-mode headerbar button.suggested-action, headerbar.selection-mode button.suggested-action { color: #241f31; background-color: #bcbeb9; outline-color: rgba(56, 107, 0, 0.5); background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.15)); text-shadow: 0 1px rgba(255, 255, 255, 0.3); -gtk-icon-shadow: 0 1px rgba(255, 255, 255, 0.3); box-shadow: inset 0 1px rgba(255, 255, 255, 0.5), 0 1px 2px rgba(0, 0, 0, 0.4); border-color: #101f00; }
+
+.selection-mode .titlebar:not(headerbar) button.suggested-action:hover, .selection-mode.titlebar:not(headerbar) button.suggested-action:hover, .selection-mode headerbar button.suggested-action:hover, headerbar.selection-mode button.suggested-action:hover { background-color: shade(#bcbeb9, 1.1); border-color: #101f00; }
+
+.selection-mode .titlebar:not(headerbar) button.suggested-action:active, .selection-mode.titlebar:not(headerbar) button.suggested-action:active, .selection-mode headerbar button.suggested-action:active, headerbar.selection-mode button.suggested-action:active { box-shadow: 0 1px rgba(255, 255, 255, 0.5), inset 0 1px 2px rgba(0, 0, 0, 0.4); border-color: #101f00; }
+
+.selection-mode .titlebar:not(headerbar) button.suggested-action:disabled, .selection-mode.titlebar:not(headerbar) button.suggested-action:disabled, .selection-mode headerbar button.suggested-action:disabled, headerbar.selection-mode button.suggested-action:disabled { color: #552222; background-color: #938989; background-image: none; border-color: #101f00; }
+
+.selection-mode .titlebar:not(headerbar) button.suggested-action:backdrop, .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop, .selection-mode headerbar button.suggested-action:backdrop, headerbar.selection-mode button.suggested-action:backdrop { background-image: none; border-color: #101f00; }
+
+.selection-mode .titlebar:not(headerbar) button.suggested-action:backdrop:disabled, .selection-mode.titlebar:not(headerbar) button.suggested-action:backdrop:disabled, .selection-mode headerbar button.suggested-action:backdrop:disabled, headerbar.selection-mode button.suggested-action:backdrop:disabled { border-color: #101f00; }
+
+.selection-mode .titlebar:not(headerbar) .selection-menu, .selection-mode.titlebar:not(headerbar) .selection-menu, .selection-mode headerbar .selection-menu:backdrop, .selection-mode headerbar .selection-menu, headerbar.selection-mode .selection-menu:backdrop, headerbar.selection-mode .selection-menu { border-color: rgba(56, 107, 0, 0); background-color: rgba(56, 107, 0, 0); background-image: none; box-shadow: none; min-height: 20px; padding: 4px 10px; }
+
+.selection-mode .titlebar:not(headerbar) .selection-menu arrow, .selection-mode.titlebar:not(headerbar) .selection-menu arrow, .selection-mode headerbar .selection-menu:backdrop arrow, .selection-mode headerbar .selection-menu arrow, headerbar.selection-mode .selection-menu:backdrop arrow, headerbar.selection-mode .selection-menu arrow { -GtkArrow-arrow-scaling: 1; }
+
+.selection-mode .titlebar:not(headerbar) .selection-menu .arrow, .selection-mode.titlebar:not(headerbar) .selection-menu .arrow, .selection-mode headerbar .selection-menu:backdrop .arrow, .selection-mode headerbar .selection-menu .arrow, headerbar.selection-mode .selection-menu:backdrop .arrow, headerbar.selection-mode .selection-menu .arrow { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); color: rgba(0, 0, 0, 0.5); -gtk-icon-shadow: none; }
+
+.tiled .titlebar:not(headerbar), .tiled-top .titlebar:not(headerbar), .tiled-right .titlebar:not(headerbar), .tiled-bottom .titlebar:not(headerbar), .tiled-left .titlebar:not(headerbar), .maximized .titlebar:not(headerbar), .fullscreen .titlebar:not(headerbar), .tiled headerbar, .tiled-top headerbar, .tiled-right headerbar, .tiled-bottom headerbar, .tiled-left headerbar, .maximized headerbar, .fullscreen headerbar { border-radius: 0; }
+
+.default-decoration.titlebar:not(headerbar), headerbar.default-decoration { min-height: 28px; padding: 4px; }
+
+.default-decoration.titlebar:not(headerbar) button.titlebutton, headerbar.default-decoration button.titlebutton { min-height: 26px; min-width: 26px; margin: 0; padding: 0; }
+
+.titlebar:not(headerbar) separator.titlebutton, headerbar separator.titlebutton { opacity: 0; }
+
+.solid-csd .titlebar:dir(rtl):not(headerbar), .solid-csd .titlebar:dir(ltr):not(headerbar), .solid-csd headerbar:backdrop:dir(rtl), .solid-csd headerbar:backdrop:dir(ltr), .solid-csd headerbar:dir(rtl), .solid-csd headerbar:dir(ltr) { margin-left: -1px; margin-right: -1px; margin-top: -1px; border-radius: 0; box-shadow: none; }
+
+headerbar entry, headerbar spinbutton, headerbar separator:not(.sidebar), headerbar button { margin-top: 5px; margin-bottom: 5px; }
+
+headerbar switch { margin-top: 7px; margin-bottom: 7px; }
+
+headerbar.titlebar headerbar:not(.titlebar) { background: none; box-shadow: none; }
+
+.background .titlebar:backdrop, .background .titlebar { border-top-left-radius: 8px; border-top-right-radius: 8px; }
+
+.background.tiled .titlebar:backdrop, .background.tiled .titlebar, .background.tiled-top .titlebar:backdrop, .background.tiled-top .titlebar, .background.tiled-right .titlebar:backdrop, .background.tiled-right .titlebar, .background.tiled-bottom .titlebar:backdrop, .background.tiled-bottom .titlebar, .background.tiled-left .titlebar:backdrop, .background.tiled-left .titlebar, .background.maximized .titlebar:backdrop, .background.maximized .titlebar, .background.solid-csd .titlebar:backdrop, .background.solid-csd .titlebar { border-top-left-radius: 0; border-top-right-radius: 0; }
+
+window separator:first-child + headerbar:backdrop, window separator:first-child + headerbar, window headerbar:first-child:backdrop, window headerbar:first-child { border-top-left-radius: 7px; }
+
+window headerbar:last-child:backdrop, window headerbar:last-child { border-top-right-radius: 7px; }
+
+window stack headerbar:first-child:backdrop, window stack headerbar:first-child, window stack headerbar:last-child:backdrop, window stack headerbar:last-child { border-top-left-radius: 7px; border-top-right-radius: 7px; }
+
+window.tiled headerbar, window.tiled headerbar:first-child, window.tiled headerbar:last-child, window.tiled headerbar:only-child, window.tiled headerbar:backdrop, window.tiled headerbar:backdrop:first-child, window.tiled headerbar:backdrop:last-child, window.tiled headerbar:backdrop:only-child, window.tiled-top headerbar, window.tiled-top headerbar:first-child, window.tiled-top headerbar:last-child, window.tiled-top headerbar:only-child, window.tiled-top headerbar:backdrop, window.tiled-top headerbar:backdrop:first-child, window.tiled-top headerbar:backdrop:last-child, window.tiled-top headerbar:backdrop:only-child, window.tiled-right headerbar, window.tiled-right headerbar:first-child, window.tiled-right headerbar:last-child, window.tiled-right headerbar:only-child, window.tiled-right headerbar:backdrop, window.tiled-right headerbar:backdrop:first-child, window.tiled-right headerbar:backdrop:last-child, window.tiled-right headerbar:backdrop:only-child, window.tiled-bottom headerbar, window.tiled-bottom headerbar:first-child, window.tiled-bottom headerbar:last-child, window.tiled-bottom headerbar:only-child, window.tiled-bottom headerbar:backdrop, window.tiled-bottom headerbar:backdrop:first-child, window.tiled-bottom headerbar:backdrop:last-child, window.tiled-bottom headerbar:backdrop:only-child, window.tiled-left headerbar, window.tiled-left headerbar:first-child, window.tiled-left headerbar:last-child, window.tiled-left headerbar:only-child, window.tiled-left headerbar:backdrop, window.tiled-left headerbar:backdrop:first-child, window.tiled-left headerbar:backdrop:last-child, window.tiled-left headerbar:backdrop:only-child, window.maximized headerbar, window.maximized headerbar:first-child, window.maximized headerbar:last-child, window.maximized headerbar:only-child, window.maximized headerbar:backdrop, window.maximized headerbar:backdrop:first-child, window.maximized headerbar:backdrop:last-child, window.maximized headerbar:backdrop:only-child, window.fullscreen headerbar, window.fullscreen headerbar:first-child, window.fullscreen headerbar:last-child, window.fullscreen headerbar:only-child, window.fullscreen headerbar:backdrop, window.fullscreen headerbar:backdrop:first-child, window.fullscreen headerbar:backdrop:last-child, window.fullscreen headerbar:backdrop:only-child, window.solid-csd headerbar, window.solid-csd headerbar:first-child, window.solid-csd headerbar:last-child, window.solid-csd headerbar:only-child, window.solid-csd headerbar:backdrop, window.solid-csd headerbar:backdrop:first-child, window.solid-csd headerbar:backdrop:last-child, window.solid-csd headerbar:backdrop:only-child { border-top-left-radius: 0; border-top-right-radius: 0; }
+
+window.csd > .titlebar:not(headerbar) { padding: 0; background-color: transparent; background-image: none; border-style: none; border-color: transparent; box-shadow: none; }
+
+.titlebar:not(headerbar) separator { background-color: #797979; }
+
+window.devel headerbar.titlebar:not(.selection-mode) { background: #a7a7a7 cross-fade(10% -gtk-icontheme("system-run-symbolic"), image(transparent)) 90% 0/256px 256px no-repeat, linear-gradient(to right, transparent 65%, rgba(56, 107, 0, 0.2)), linear-gradient(to top, #868686, #8e8e8e 3px, #9d9d9d); }
+
+window.devel headerbar.titlebar:not(.selection-mode):backdrop { background: #a7a7a7 cross-fade(10% -gtk-icontheme("system-run-symbolic"), image(transparent)) 90% 0/256px 256px no-repeat, image(#a7a7a7); /* background-color would flash */ }
+
+/************ Pathbars * */
+.path-bar button.text-button, .path-bar button.image-button, .path-bar button { padding-left: 4px; padding-right: 4px; }
+
+.path-bar button.text-button.image-button label { padding-left: 0; padding-right: 0; }
+
+.path-bar button.text-button.image-button label:last-child, .path-bar button label:last-child { padding-right: 8px; }
+
+.path-bar button.text-button.image-button label:first-child, .path-bar button label:first-child { padding-left: 8px; }
+
+.path-bar button image { padding-left: 4px; padding-right: 4px; }
+
+.path-bar button.slider-button { padding-left: 0; padding-right: 0; }
+
+/************** Tree Views * */
+treeview.view { border-left-color: #5a575f; border-top-color: #a7a7a7; }
+
+* { -GtkTreeView-horizontal-separator: 4; -GtkTreeView-grid-line-width: 1; -GtkTreeView-grid-line-pattern: ''; -GtkTreeView-tree-line-width: 1; -GtkTreeView-tree-line-pattern: ''; -GtkTreeView-expander-size: 16; }
+
+treeview.view:selected:focus, treeview.view:selected { border-radius: 0; }
+
+treeview.view:selected:backdrop, treeview.view:selected { border-left-color: #1c3600; border-top-color: rgba(36, 31, 49, 0.1); }
+
+treeview.view:disabled { color: #552222; }
+
+treeview.view:disabled:selected { color: #224000; }
+
+treeview.view:disabled:selected:backdrop { color: #52752a; }
+
+treeview.view:disabled:backdrop { color: #818181; }
+
+treeview.view.separator { min-height: 2px; color: #a7a7a7; }
+
+treeview.view.separator:backdrop { color: rgba(167, 167, 167, 0.1); }
+
+treeview.view:backdrop { border-left-color: #87858a; border-top: #a7a7a7; }
+
+treeview.view:drop(active) { border-style: solid none; border-width: 1px; border-color: #101f00; }
+
+treeview.view:drop(active).after { border-top-style: none; }
+
+treeview.view:drop(active).before { border-bottom-style: none; }
+
+treeview.view.expander { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); color: #44414d; }
+
+treeview.view.expander:dir(rtl) { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); }
+
+treeview.view.expander:hover { color: #241f31; }
+
+treeview.view.expander:selected { color: #112000; }
+
+treeview.view.expander:selected:hover { color: #000000; }
+
+treeview.view.expander:selected:backdrop { color: #748261; }
+
+treeview.view.expander:checked { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); }
+
+treeview.view.expander:backdrop { color: #726f75; }
+
+treeview.view.progressbar { color: #908f8d; background-color: #386b00; background-image: image(#386b00); box-shadow: none; }
+
+treeview.view.progressbar:selected:focus, treeview.view.progressbar:selected { color: #386b00; background-image: image(#908f8d); }
+
+treeview.view.progressbar:selected:focus:backdrop, treeview.view.progressbar:selected:backdrop { color: #386b00; background-color: #8d8c8a; }
+
+treeview.view.progressbar:backdrop { color: #8d8c8a; background-image: none; box-shadow: none; }
+
+treeview.view.trough { background-color: rgba(36, 31, 49, 0.1); }
+
+treeview.view.trough:selected:focus, treeview.view.trough:selected { background-color: rgba(0, 0, 0, 0.3); }
+
+treeview.view header button { color: #5a575f; background-color: #908f8d; font-weight: bold; text-shadow: none; box-shadow: none; }
+
+treeview.view header button:hover { color: #3f3b48; box-shadow: none; transition: none; }
+
+treeview.view header button:active { color: #241f31; transition: none; }
+
+treeview.view button.dnd:active, treeview.view button.dnd:selected, treeview.view button.dnd:hover, treeview.view button.dnd, treeview.view header.button.dnd:active, treeview.view header.button.dnd:selected, treeview.view header.button.dnd:hover, treeview.view header.button.dnd { padding: 0 6px; color: #908f8d; background-image: none; background-color: #386b00; border-style: none; border-radius: 0; box-shadow: inset 0 0 0 1px #908f8d; text-shadow: none; transition: none; }
+
+treeview.view acceleditor > label { background-color: #386b00; }
+
+treeview.view header button, treeview.view header button:hover, treeview.view header button:active { padding: 0 6px; background-image: none; border-style: none solid solid none; border-color: #7e7d7d; border-radius: 0; text-shadow: none; }
+
+treeview.view header button:disabled { border-color: #a7a7a7; background-image: none; background-color: #938989; color: #552222; }
+
+treeview.view header button:backdrop { border-color: #a7a7a7; border-style: none solid solid none; background-image: none; background-color: #8d8c8a; }
+
+treeview.view header button:backdrop:disabled { border-color: #a7a7a7; background-image: none; background-color: #938989; color: #552222; }
+
+treeview.view header button:last-child { border-right-style: none; }
+
+/********* Menus * */
+menubar, .menubar { -GtkWidget-window-dragging: true; padding: 0px; box-shadow: inset 0 -1px rgba(0, 0, 0, 0.1); }
+
+menubar:backdrop, .menubar:backdrop { background-color: #a7a7a7; }
+
+menubar > menuitem, .menubar > menuitem { min-height: 16px; padding: 4px 8px; }
+
+menubar > menuitem menu:dir(rtl), menubar > menuitem menu:dir(ltr), .menubar > menuitem menu:dir(rtl), .menubar > menuitem menu:dir(ltr) { border-radius: 0; padding: 0; }
+
+menubar > menuitem:hover, .menubar > menuitem:hover { box-shadow: inset 0 -3px #386b00; color: #1d3800; }
+
+menubar > menuitem:disabled, .menubar > menuitem:disabled { color: #552222; box-shadow: none; }
+
+menubar .csd.popup decoration, .menubar .csd.popup decoration { border-radius: 0; }
+
+.background.popup { background-color: transparent; }
+
+menu, .menu, .context-menu { margin: 4px; padding: 4px 0px; background-color: #908f8d; border: 1px solid #797979; }
+
+.csd menu, .csd .menu, .csd .context-menu { border: none; border-radius: 5px; }
+
+menu:backdrop, .menu:backdrop, .context-menu:backdrop { background-color: #8d8c8a; }
+
+menu menuitem, .menu menuitem, .context-menu menuitem { min-height: 16px; min-width: 40px; padding: 4px 6px; text-shadow: none; }
+
+menu menuitem:hover, .menu menuitem:hover, .context-menu menuitem:hover { color: #000000; background-color: #386b00; }
+
+menu menuitem:disabled, .menu menuitem:disabled, .context-menu menuitem:disabled { color: #552222; }
+
+menu menuitem:disabled:backdrop, .menu menuitem:disabled:backdrop, .context-menu menuitem:disabled:backdrop { color: #818181; }
+
+menu menuitem:backdrop, menu menuitem:backdrop:hover, .menu menuitem:backdrop, .menu menuitem:backdrop:hover, .context-menu menuitem:backdrop, .context-menu menuitem:backdrop:hover { color: #66636c; background-color: transparent; }
+
+menu menuitem arrow, .menu menuitem arrow, .context-menu menuitem arrow { min-height: 16px; min-width: 16px; }
+
+menu menuitem arrow:dir(ltr), .menu menuitem arrow:dir(ltr), .context-menu menuitem arrow:dir(ltr) { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); margin-left: 10px; }
+
+menu menuitem arrow:dir(rtl), .menu menuitem arrow:dir(rtl), .context-menu menuitem arrow:dir(rtl) { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); margin-right: 10px; }
+
+menu menuitem label:dir(rtl), menu menuitem label:dir(ltr), .menu menuitem label:dir(rtl), .menu menuitem label:dir(ltr), .context-menu menuitem label:dir(rtl), .context-menu menuitem label:dir(ltr) { color: inherit; }
+
+menu > arrow, .menu > arrow, .context-menu > arrow { 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; min-height: 16px; min-width: 16px; padding: 4px; background-color: #908f8d; border-radius: 0; }
+
+menu > arrow.top, .menu > arrow.top, .context-menu > arrow.top { margin-top: -4px; border-bottom: 1px solid #858484; border-top-right-radius: 5px; border-top-left-radius: 5px; -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); }
+
+menu > arrow.bottom, .menu > arrow.bottom, .context-menu > arrow.bottom { margin-top: 8px; margin-bottom: -12px; border-top: 1px solid #858484; border-bottom-right-radius: 5px; border-bottom-left-radius: 5px; -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); }
+
+menu > arrow:hover, .menu > arrow:hover, .context-menu > arrow:hover { background-color: #858484; }
+
+menu > arrow:backdrop, .menu > arrow:backdrop, .context-menu > arrow:backdrop { background-color: #8d8c8a; }
+
+menu > arrow:disabled, .menu > arrow:disabled, .context-menu > arrow:disabled { color: transparent; background-color: transparent; border-color: transparent; }
+
+menuitem accelerator { color: alpha(currentColor,0.55); }
+
+menuitem check, menuitem radio { min-height: 16px; min-width: 16px; }
+
+menuitem check:dir(ltr), menuitem radio:dir(ltr) { margin-right: 7px; }
+
+menuitem check:dir(rtl), menuitem radio:dir(rtl) { margin-left: 7px; }
+
+/*************** Popovers * */
+popover.background { padding: 2px; background-color: #a7a7a7; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3); }
+
+.csd popover.background, popover.background { border: 1px solid #797979; border-radius: 9px; }
+
+.csd popover.background { background-clip: padding-box; border-color: rgba(0, 0, 0, 0.23); }
+
+popover.background:backdrop { background-color: #a7a7a7; box-shadow: none; }
+
+popover.background > list, popover.background > .view, popover.background > iconview, popover.background > toolbar { border-style: none; background-color: transparent; }
+
+.csd popover.background.touch-selection, .csd popover.background.magnifier, popover.background.touch-selection, popover.background.magnifier { border: 1px solid rgba(255, 255, 255, 0.1); }
+
+popover.background separator { margin: 3px; }
+
+popover.background list separator { margin: 0px; }
+
+/************* Notebooks * */
+notebook > header { padding: 1px; border-color: #797979; border-width: 1px; background-color: #909090; }
+
+notebook > header:backdrop { border-color: #828282; background-color: #9a9a9a; }
+
+notebook > header tabs { margin: -1px; }
+
+notebook > header.top { border-bottom-style: solid; }
+
+notebook > header.top > tabs { margin-bottom: -2px; }
+
+notebook > header.top > tabs > tab:hover { box-shadow: inset 0 -4px #797979; }
+
+notebook > header.top > tabs > tab:backdrop { box-shadow: none; }
+
+notebook > header.top > tabs > tab:checked { box-shadow: inset 0 -4px #386b00; }
+
+notebook > header.bottom { border-top-style: solid; }
+
+notebook > header.bottom > tabs { margin-top: -2px; }
+
+notebook > header.bottom > tabs > tab:hover { box-shadow: inset 0 4px #797979; }
+
+notebook > header.bottom > tabs > tab:backdrop { box-shadow: none; }
+
+notebook > header.bottom > tabs > tab:checked { box-shadow: inset 0 4px #386b00; }
+
+notebook > header.left { border-right-style: solid; }
+
+notebook > header.left > tabs { margin-right: -2px; }
+
+notebook > header.left > tabs > tab:hover { box-shadow: inset -4px 0 #797979; }
+
+notebook > header.left > tabs > tab:backdrop { box-shadow: none; }
+
+notebook > header.left > tabs > tab:checked { box-shadow: inset -4px 0 #386b00; }
+
+notebook > header.right { border-left-style: solid; }
+
+notebook > header.right > tabs { margin-left: -2px; }
+
+notebook > header.right > tabs > tab:hover { box-shadow: inset 4px 0 #797979; }
+
+notebook > header.right > tabs > tab:backdrop { box-shadow: none; }
+
+notebook > header.right > tabs > tab:checked { box-shadow: inset 4px 0 #386b00; }
+
+notebook > header.top > tabs > arrow { border-top-style: none; }
+
+notebook > header.bottom > tabs > arrow { border-bottom-style: none; }
+
+notebook > header.top > tabs > arrow, notebook > header.bottom > tabs > arrow { margin-left: -5px; margin-right: -5px; padding-left: 4px; padding-right: 4px; }
+
+notebook > header.top > tabs > arrow.down, notebook > header.bottom > tabs > arrow.down { -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); }
+
+notebook > header.top > tabs > arrow.up, notebook > header.bottom > tabs > arrow.up { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); }
+
+notebook > header.left > tabs > arrow { border-left-style: none; }
+
+notebook > header.right > tabs > arrow { border-right-style: none; }
+
+notebook > header.left > tabs > arrow, notebook > header.right > tabs > arrow { margin-top: -5px; margin-bottom: -5px; padding-top: 4px; padding-bottom: 4px; }
+
+notebook > header.left > tabs > arrow.down, notebook > header.right > tabs > arrow.down { -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); }
+
+notebook > header.left > tabs > arrow.up, notebook > header.right > tabs > arrow.up { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); }
+
+notebook > header > tabs > arrow { min-height: 16px; min-width: 16px; border-radius: 0; }
+
+notebook > header > tabs > arrow:hover:not(:active):not(:backdrop) { background-clip: padding-box; background-image: none; background-color: rgba(255, 255, 255, 0.3); border-color: transparent; box-shadow: none; }
+
+notebook > header > tabs > arrow:disabled { 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; }
+
+notebook > header tab { min-height: 30px; min-width: 30px; padding: 3px 12px; outline-offset: -5px; color: #241f31; font-weight: normal; border-width: 1px; border-color: transparent; }
+
+notebook > header tab:hover { color: #241f31; background-color: #9d9d9d; }
+
+notebook > header tab:hover.reorderable-page { border-color: rgba(121, 121, 121, 0.3); background-color: rgba(167, 167, 167, 0.2); }
+
+notebook > header tab:backdrop { color: #807e84; }
+
+notebook > header tab:backdrop.reorderable-page { border-color: transparent; background-color: transparent; }
+
+notebook > header tab:checked { color: #241f31; }
+
+notebook > header tab:checked.reorderable-page { border-color: rgba(121, 121, 121, 0.5); background-color: rgba(167, 167, 167, 0.5); }
+
+notebook > header tab:checked.reorderable-page:hover { background-color: rgba(167, 167, 167, 0.7); }
+
+notebook > header tab:backdrop:checked { color: #66636c; }
+
+notebook > header tab:backdrop:checked.reorderable-page { border-color: #828282; background-color: #a7a7a7; }
+
+notebook > header tab button.flat { padding: 0; margin-top: 4px; margin-bottom: 4px; min-width: 20px; min-height: 20px; }
+
+notebook > header tab button.flat:hover { color: currentColor; }
+
+notebook > header tab button.flat, notebook > header tab button.flat:backdrop { color: alpha(currentColor,0.3); }
+
+notebook > header tab button.flat:last-child { margin-left: 4px; margin-right: -4px; }
+
+notebook > header tab button.flat:first-child { margin-left: -4px; margin-right: 4px; }
+
+notebook > header.top tabs, notebook > header.bottom tabs { padding-left: 4px; padding-right: 4px; }
+
+notebook > header.top tabs:not(:only-child), notebook > header.bottom tabs:not(:only-child) { margin-left: 3px; margin-right: 3px; }
+
+notebook > header.top tabs:not(:only-child):first-child, notebook > header.bottom tabs:not(:only-child):first-child { margin-left: -1px; }
+
+notebook > header.top tabs:not(:only-child):last-child, notebook > header.bottom tabs:not(:only-child):last-child { margin-right: -1px; }
+
+notebook > header.top tabs tab, notebook > header.bottom tabs tab { margin-left: 4px; margin-right: 4px; }
+
+notebook > header.top tabs tab.reorderable-page, notebook > header.bottom tabs tab.reorderable-page { border-style: none solid; }
+
+notebook > header.left tabs, notebook > header.right tabs { padding-top: 4px; padding-bottom: 4px; }
+
+notebook > header.left tabs:not(:only-child), notebook > header.right tabs:not(:only-child) { margin-top: 3px; margin-bottom: 3px; }
+
+notebook > header.left tabs:not(:only-child):first-child, notebook > header.right tabs:not(:only-child):first-child { margin-top: -1px; }
+
+notebook > header.left tabs:not(:only-child):last-child, notebook > header.right tabs:not(:only-child):last-child { margin-bottom: -1px; }
+
+notebook > header.left tabs tab, notebook > header.right tabs tab { margin-top: 4px; margin-bottom: 4px; }
+
+notebook > header.left tabs tab.reorderable-page, notebook > header.right tabs tab.reorderable-page { border-style: solid none; }
+
+notebook > header.top tab { padding-bottom: 4px; }
+
+notebook > header.bottom tab { padding-top: 4px; }
+
+notebook > stack:not(:only-child) { background-color: #908f8d; }
+
+notebook > stack:not(:only-child):backdrop { background-color: #8d8c8a; }
+
+/************** Scrollbars * */
+scrollbar { background-color: #8d8c8f; transition: all 300ms cubic-bezier(0.25, 0.46, 0.45, 0.94); }
+
+* { -GtkScrollbar-has-backward-stepper: false; -GtkScrollbar-has-forward-stepper: false; }
+
+scrollbar.top { border-bottom: 1px solid #797979; }
+
+scrollbar.bottom { border-top: 1px solid #797979; }
+
+scrollbar.left { border-right: 1px solid #797979; }
+
+scrollbar.right { border-left: 1px solid #797979; }
+
+scrollbar:backdrop { background-color: #9f9f9f; border-color: #828282; transition: 200ms ease-out; }
+
+scrollbar slider { padding: 0; background-image: none; min-width: 8px; min-height: 8px; margin: 3px; border-radius: 10px; background-clip: padding-box; background-color: #585560; transition: all 300ms cubic-bezier(0.25, 0.46, 0.45, 0.94); }
+
+scrollbar slider:hover { background-color: #3e3a49; }
+
+scrollbar slider:hover:active { background-color: #1d3800; }
+
+scrollbar slider:backdrop { background-color: #8d8c8f; }
+
+scrollbar slider:disabled { background-color: transparent; }
+
+scrollbar.fine-tune slider, scrollbar.fine-tune slider:hover, scrollbar.fine-tune slider:active { background-color: #6789b4; }
+
+scrollbar.horizontal slider { min-width: 40px; }
+
+scrollbar.vertical slider { min-height: 40px; }
+
+scrollbar button { padding: 0; min-width: 12px; min-height: 12px; border-style: none; border-radius: 0; transition-property: min-height, min-width, color; 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; color: #585560; }
+
+scrollbar button:hover { 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; color: #3e3a49; }
+
+scrollbar button:active, scrollbar button:checked { 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; color: #1d3800; }
+
+scrollbar button:disabled { 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; color: rgba(88, 85, 96, 0.2); }
+
+scrollbar button:backdrop { 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; color: #8d8c8f; }
+
+scrollbar button:backdrop:disabled { 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; color: rgba(141, 140, 143, 0.2); }
+
+scrollbar.vertical button.down { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); }
+
+scrollbar.vertical button.up { -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); }
+
+scrollbar.horizontal button.down { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); }
+
+scrollbar.horizontal button.up { -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); }
+
+treeview ~ scrollbar.vertical { border-top: 1px solid #797979; margin-top: -1px; }
+
+/********** Switch * */
+switch { outline-offset: -4px; border: 1px solid #797979; border-radius: 14px; color: #241f31; background-color: #909090; text-shadow: 0 1px rgba(0, 0, 0, 0.1); /* only show i / o for the accessible theme */ }
+
+switch:checked { color: #000000; border-color: #030500; background-color: #386b00; text-shadow: 0 1px rgba(16, 31, 0, 0.5), 0 0 2px rgba(255, 255, 255, 0.6); }
+
+switch:disabled { color: #552222; border-color: #797979; background-color: #938989; text-shadow: none; }
+
+switch:backdrop { color: #66636c; border-color: #828282; background-color: #9a9a9a; text-shadow: none; transition: 200ms ease-out; }
+
+switch:backdrop:checked { color: #a7a7a7; border-color: #030500; background-color: #386b00; }
+
+switch:backdrop:disabled { color: #818181; border-color: #828282; background-color: #938989; }
+
+switch slider { margin: -1px; min-width: 24px; min-height: 24px; border: 1px solid; border-radius: 50%; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); -gtk-outline-radius: 20px; color: #241f31; background-color: #bcbeb9; outline-color: rgba(56, 107, 0, 0.5); background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.15)); text-shadow: 0 1px rgba(255, 255, 255, 0.3); -gtk-icon-shadow: 0 1px rgba(255, 255, 255, 0.3); box-shadow: inset 0 1px rgba(255, 255, 255, 0.5), 0 1px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.4); }
+
+switch image { color: transparent; }
+
+switch:hover slider { background-color: shade(#bcbeb9, 1.1); }
+
+switch:checked > slider { border: 1px solid #030500; }
+
+switch:disabled slider { color: #552222; background-color: #938989; background-image: none; }
+
+switch:backdrop slider { transition: 200ms ease-out; background-image: none; }
+
+switch:backdrop:checked > slider { border-color: #030500; }
+
+row:selected switch { box-shadow: none; border-color: #030500; }
+
+row:selected switch:backdrop { border-color: #030500; }
+
+row:selected switch > slider:checked, row:selected switch > slider { border-color: #030500; }
+
+/************************* Check and Radio items * */
+.view.content-view.check:not(list), iconview.content-view.check:not(list), .content-view:not(list) check { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; background-color: #386b00; 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:hover:not(list), iconview.content-view.check:hover:not(list), .content-view:not(list) check:hover { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; background-color: #386b00; 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:active:not(list), iconview.content-view.check:active:not(list), .content-view:not(list) check:active { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; background-color: #386b00; 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:not(list) check:backdrop { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; background-color: #363636; 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:not(list) check:checked { margin: 4px; min-width: 32px; min-height: 32px; color: #002269; background-color: #386b00; 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:checked:hover:not(list), iconview.content-view.check:checked:hover:not(list), .content-view:not(list) check:checked:hover { margin: 4px; min-width: 32px; min-height: 32px; color: #002269; background-color: #386b00; 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:checked:active:not(list), iconview.content-view.check:checked:active:not(list), .content-view:not(list) check:checked:active { margin: 4px; min-width: 32px; min-height: 32px; color: #002269; background-color: #386b00; 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:not(list) check:backdrop:checked { margin: 4px; min-width: 32px; min-height: 32px; color: rgba(0, 34, 105, 0.8); background-color: #363636; 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; }
+
+checkbutton.text-button label:not(:only-child):first-child, radiobutton.text-button label:not(:only-child):first-child { margin-left: 4px; }
+
+checkbutton.text-button label:not(:only-child):last-child, radiobutton.text-button label:not(:only-child):last-child { margin-right: 4px; }
+
+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; }
+
+popover check.left:dir(rtl), popover radio.left:dir(rtl) { margin-left: 0; margin-right: 12px; }
+
+popover check.right:dir(ltr), popover radio.right:dir(ltr) { margin-left: 12px; margin-right: 0; }
+
+check, radio { background-clip: padding-box; background-image: linear-gradient(to bottom, #c9cac6 20%, #bcbeb9 90%); border-color: #6a6a6a; box-shadow: 0 1px rgba(0, 0, 0, 0.05); color: #000000; }
+
+check:hover, radio:hover { background-image: linear-gradient(to bottom, #d3d4d1 10%, #c6c8c4 90%); }
+
+check:active, radio:active { box-shadow: inset 0 1px rgba(0, 0, 0, 0.2); background-image: image(#afb2ac); }
+
+check:disabled, radio:disabled { box-shadow: none; color: #552222; }
+
+check:backdrop, radio:backdrop { background-image: image(#bcbeb9); box-shadow: none; color: #000000; }
+
+check:backdrop:disabled, radio:backdrop:disabled { box-shadow: none; color: #552222; }
+
+check:checked, radio:checked { background-clip: border-box; background-image: linear-gradient(to bottom, #458500 20%, #386b00 90%); border-color: #030500; box-shadow: 0 1px rgba(0, 0, 0, 0.05); color: #000000; }
+
+check:checked:hover, radio:checked:hover { background-image: linear-gradient(to bottom, #509900 10%, #437f00 90%); }
+
+check:checked:active, radio:checked:active { box-shadow: inset 0 1px rgba(0, 0, 0, 0.2); background-image: image(#2b5200); }
+
+check:checked:disabled, radio:checked:disabled { box-shadow: none; color: #552222; }
+
+check:checked:backdrop, radio:checked:backdrop { background-image: image(#386b00); box-shadow: none; color: #000000; }
+
+check:checked:backdrop:disabled, radio:checked:backdrop:disabled { box-shadow: none; color: #552222; }
+
+check:indeterminate, radio:indeterminate { background-clip: border-box; background-image: linear-gradient(to bottom, #458500 20%, #386b00 90%); border-color: #030500; box-shadow: 0 1px rgba(0, 0, 0, 0.05); color: #000000; }
+
+check:indeterminate:hover, radio:indeterminate:hover { background-image: linear-gradient(to bottom, #509900 10%, #437f00 90%); }
+
+check:indeterminate:active, radio:indeterminate:active { box-shadow: inset 0 1px rgba(0, 0, 0, 0.2); background-image: image(#2b5200); }
+
+check:indeterminate:disabled, radio:indeterminate:disabled { box-shadow: none; color: #552222; }
+
+check:indeterminate:backdrop, radio:indeterminate:backdrop { background-image: image(#386b00); box-shadow: none; color: #000000; }
+
+check:indeterminate:backdrop:disabled, radio:indeterminate:backdrop:disabled { box-shadow: none; color: #552222; }
+
+check:backdrop, radio:backdrop { transition: 200ms ease-out; }
+
+check:disabled, radio:disabled { color: #552222; border-color: #552222; }
+
+row:selected check, row:selected radio { border-color: #030500; }
+
+menu menuitem check, menu menuitem radio { margin: 0; }
+
+menu menuitem check, menu menuitem check:hover, menu menuitem check:disabled, menu menuitem check:checked, menu menuitem check:checked:hover, menu menuitem check:checked:disabled, menu menuitem check:indeterminate, menu menuitem check:indeterminate:hover, menu menuitem check:indeterminate:disabled, menu menuitem radio, menu menuitem radio:hover, menu menuitem radio:disabled, menu menuitem radio:checked, menu menuitem radio:checked:hover, menu menuitem radio:checked:disabled, menu menuitem radio:indeterminate, menu menuitem radio:indeterminate:hover, menu menuitem radio:indeterminate:disabled { min-height: 14px; min-width: 14px; background-image: none; background-color: transparent; box-shadow: none; -gtk-icon-shadow: none; color: inherit; border-color: currentColor; }
+
+check { border-radius: 3px; }
+
+check:checked { -gtk-icon-source: image(-gtk-recolor(url("assets/check-symbolic.svg")), -gtk-recolor(url("assets/check-symbolic.symbolic.png"))); }
+
+check:indeterminate { -gtk-icon-source: image(-gtk-recolor(url("assets/dash-symbolic.svg")), -gtk-recolor(url("assets/dash-symbolic.symbolic.png"))); }
+
+treeview.view radio:selected:focus, treeview.view radio:selected, radio { border-radius: 100%; }
+
+treeview.view radio:checked:selected, radio:checked { -gtk-icon-source: image(-gtk-recolor(url("assets/bullet-symbolic.svg")), -gtk-recolor(url("assets/bullet-symbolic.symbolic.png"))); }
+
+treeview.view radio:indeterminate:selected, radio:indeterminate { -gtk-icon-source: image(-gtk-recolor(url("assets/dash-symbolic.svg")), -gtk-recolor(url("assets/dash-symbolic.symbolic.png"))); }
+
+radio:not(:indeterminate):not(:checked):active:not(:backdrop) { -gtk-icon-transform: scale(0); }
+
+check:not(:indeterminate):not(:checked):active:not(:backdrop) { -gtk-icon-transform: translate(6px, -3px) rotate(-45deg) scaleY(0.2) rotate(45deg) scaleX(0); }
+
+radio:active, check:active { -gtk-icon-transform: scale(0, 1); }
+
+radio:checked:not(:backdrop), radio:indeterminate:not(:backdrop), check:checked:not(:backdrop), check:indeterminate:not(:backdrop) { -gtk-icon-transform: unset; transition: 400ms; }
+
+menu menuitem radio:checked:not(:backdrop), menu menuitem radio:indeterminate:not(:backdrop), menu menuitem check:checked:not(:backdrop), menu menuitem check:indeterminate:not(:backdrop) { transition: none; }
+
+treeview.view check:selected:focus, treeview.view check:selected, treeview.view radio:selected:focus, treeview.view radio:selected { color: #000000; border-color: #101f00; }
+
+/************ GtkScale * */
+progressbar trough, scale fill, scale trough { border: 1px solid #797979; border-radius: 3px; background-color: #909090; }
+
+progressbar trough:disabled, scale fill:disabled, scale trough:disabled { background-color: #938989; }
+
+progressbar trough:backdrop, scale fill:backdrop, scale trough:backdrop { background-color: #9a9a9a; border-color: #828282; transition: 200ms ease-out; }
+
+progressbar trough:backdrop:disabled, scale fill:backdrop:disabled, scale trough:backdrop:disabled { background-color: #938989; }
+
+row:selected progressbar trough, progressbar row:selected trough, row:selected scale fill, scale row:selected fill, row:selected scale trough, scale row:selected trough { border-color: #101f00; }
+
+.osd progressbar trough, progressbar .osd trough, .osd scale fill, scale .osd fill, .osd scale trough, scale .osd trough { border-color: #002269; background-color: rgba(0, 34, 105, 0.8); }
+
+.osd progressbar trough:disabled, progressbar .osd trough:disabled, .osd scale fill:disabled, scale .osd fill:disabled, .osd scale trough:disabled, scale .osd trough:disabled { background-color: rgba(93, 127, 173, 0.5); }
+
+progressbar progress, scale highlight { border: 1px solid #101f00; border-radius: 3px; background-color: #386b00; }
+
+progressbar progress:disabled, scale highlight:disabled { background-color: #877474; border-color: transparent; }
+
+progressbar progress:backdrop, scale highlight:backdrop { border-color: #386b00; }
+
+progressbar progress:backdrop:disabled, scale highlight:backdrop:disabled { background-color: transparent; border-color: transparent; }
+
+row:selected progressbar progress, progressbar row:selected progress, row:selected scale highlight, scale row:selected highlight { border-color: #101f00; }
+
+.osd progressbar progress, progressbar .osd progress, .osd scale highlight, scale .osd highlight { border-color: #002269; }
+
+.osd progressbar progress:disabled, progressbar .osd progress:disabled, .osd scale highlight:disabled, scale .osd highlight:disabled { border-color: transparent; }
+
+scale { min-height: 10px; min-width: 10px; padding: 12px; }
+
+scale fill, scale highlight { margin: -1px; }
+
+scale slider { min-height: 18px; min-width: 18px; margin: -9px; }
+
+scale.fine-tune.horizontal { padding-top: 9px; padding-bottom: 9px; min-height: 16px; }
+
+scale.fine-tune.vertical { padding-left: 9px; padding-right: 9px; min-width: 16px; }
+
+scale.fine-tune slider { margin: -6px; }
+
+scale.fine-tune fill, scale.fine-tune highlight, scale.fine-tune trough { border-radius: 5px; -gtk-outline-radius: 7px; }
+
+scale trough { outline-offset: 2px; -gtk-outline-radius: 5px; }
+
+scale fill:backdrop, scale fill { background-color: #797979; }
+
+scale fill:disabled:backdrop, scale fill:disabled { border-color: transparent; background-color: transparent; }
+
+.osd scale fill { background-color: #002269; }
+
+.osd scale fill:disabled:backdrop, .osd scale fill:disabled { border-color: transparent; background-color: transparent; }
+
+scale slider { color: #241f31; background-color: #bcbeb9; outline-color: rgba(56, 107, 0, 0.5); background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.15)); text-shadow: 0 1px rgba(255, 255, 255, 0.3); -gtk-icon-shadow: 0 1px rgba(255, 255, 255, 0.3); box-shadow: inset 0 1px rgba(255, 255, 255, 0.5), 0 1px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.4); border: 1px solid #626262; 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 { background-color: shade(#bcbeb9, 1.1); }
+
+scale slider:active { border-color: #101f00; }
+
+scale slider:disabled { color: #552222; background-color: #938989; background-image: none; }
+
+scale slider:backdrop { transition: 200ms ease-out; background-image: none; }
+
+row:selected scale slider:disabled, row:selected scale slider { border-color: #101f00; }
+
+.osd scale slider { border-color: #001d5a; background-color: #6789b4; }
+
+.osd scale slider:hover { background-color: #6789b4; }
+
+.osd scale slider:active { background-color: #6789b4; }
+
+.osd scale slider:disabled { background-color: #6789b4; }
+
+.osd scale slider:backdrop { background-color: #6789b4; }
+
+.osd scale slider:backdrop:disabled { background-color: #6789b4; }
+
+scale marks, scale value { color: alpha(currentColor,0.55); font-feature-settings: "tnum"; }
+
+scale.horizontal marks.top { margin-bottom: 6px; margin-top: -12px; }
+
+scale.horizontal.fine-tune marks.top { margin-bottom: 6px; margin-top: -9px; }
+
+scale.horizontal marks.bottom { margin-top: 6px; margin-bottom: -12px; }
+
+scale.horizontal.fine-tune marks.bottom { margin-top: 6px; margin-bottom: -9px; }
+
+scale.vertical marks.top { margin-right: 6px; margin-left: -12px; }
+
+scale.vertical.fine-tune marks.top { margin-right: 6px; margin-left: -9px; }
+
+scale.vertical marks.bottom { margin-left: 6px; margin-right: -12px; }
+
+scale.vertical.fine-tune marks.bottom { margin-left: 6px; margin-right: -9px; }
+
+scale.horizontal indicator { min-height: 6px; min-width: 1px; }
+
+scale.horizontal.fine-tune indicator { min-height: 3px; }
+
+scale.horizontal.marks-after slider { border-radius: 5px 5px 100% 100%; }
+
+scale.horizontal.marks-before slider { border-radius: 100% 100% 5px 5px; }
+
+scale.vertical indicator { min-height: 1px; min-width: 6px; }
+
+scale.vertical.fine-tune indicator { min-width: 3px; }
+
+scale.vertical.marks-after slider { border-radius: 5px 100% 100% 5px; }
+
+scale.vertical.marks-before slider { border-radius: 100% 5px 5px 100%; }
+
+scale.color { min-height: 0; min-width: 0; }
+
+scale.color trough { background-image: image(#797979); background-repeat: no-repeat; }
+
+scale.color.horizontal { padding: 0 0 15px 0; }
+
+scale.color.horizontal trough { padding-bottom: 4px; background-position: 0 -3px; border-top-left-radius: 0; border-top-right-radius: 0; }
+
+scale.color.horizontal slider:dir(ltr):hover, scale.color.horizontal slider:dir(ltr):backdrop, scale.color.horizontal slider:dir(ltr):disabled, scale.color.horizontal slider:dir(ltr):backdrop:disabled, scale.color.horizontal slider:dir(ltr), scale.color.horizontal slider:dir(rtl):hover, scale.color.horizontal slider:dir(rtl):backdrop, scale.color.horizontal slider:dir(rtl):disabled, scale.color.horizontal slider:dir(rtl):backdrop:disabled, scale.color.horizontal slider:dir(rtl) { margin-bottom: -15px; margin-top: 6px; }
+
+scale.color.vertical:dir(ltr) { padding: 0 0 0 15px; }
+
+scale.color.vertical:dir(ltr) trough { padding-left: 4px; background-position: 3px 0; border-bottom-right-radius: 0; border-top-right-radius: 0; }
+
+scale.color.vertical:dir(ltr) slider:hover, scale.color.vertical:dir(ltr) slider:backdrop, scale.color.vertical:dir(ltr) slider:disabled, scale.color.vertical:dir(ltr) slider:backdrop:disabled, scale.color.vertical:dir(ltr) slider { margin-left: -15px; margin-right: 6px; }
+
+scale.color.vertical:dir(rtl) { padding: 0 15px 0 0; }
+
+scale.color.vertical:dir(rtl) trough { padding-right: 4px; background-position: -3px 0; border-bottom-left-radius: 0; border-top-left-radius: 0; }
+
+scale.color.vertical:dir(rtl) slider:hover, scale.color.vertical:dir(rtl) slider:backdrop, scale.color.vertical:dir(rtl) slider:disabled, scale.color.vertical:dir(rtl) slider:backdrop:disabled, scale.color.vertical:dir(rtl) slider { margin-right: -15px; margin-left: 6px; }
+
+scale.color.fine-tune.horizontal:dir(ltr), scale.color.fine-tune.horizontal:dir(rtl) { padding: 0 0 12px 0; }
+
+scale.color.fine-tune.horizontal:dir(ltr) trough, scale.color.fine-tune.horizontal:dir(rtl) trough { padding-bottom: 7px; background-position: 0 -6px; }
+
+scale.color.fine-tune.horizontal:dir(ltr) slider, scale.color.fine-tune.horizontal:dir(rtl) slider { margin-bottom: -15px; margin-top: 6px; }
+
+scale.color.fine-tune.vertical:dir(ltr) { padding: 0 0 0 12px; }
+
+scale.color.fine-tune.vertical:dir(ltr) trough { padding-left: 7px; background-position: 6px 0; }
+
+scale.color.fine-tune.vertical:dir(ltr) slider { margin-left: -15px; margin-right: 6px; }
+
+scale.color.fine-tune.vertical:dir(rtl) { padding: 0 12px 0 0; }
+
+scale.color.fine-tune.vertical:dir(rtl) trough { padding-right: 7px; background-position: -6px 0; }
+
+scale.color.fine-tune.vertical:dir(rtl) slider { margin-right: -15px; margin-left: 6px; }
+
+/***************** Progress bars * */
+progressbar { font-size: smaller; color: rgba(36, 31, 49, 0.4); font-feature-settings: "tnum"; }
+
+progressbar.horizontal trough, progressbar.horizontal progress { min-height: 2px; }
+
+progressbar.vertical trough, progressbar.vertical progress { min-width: 2px; }
+
+progressbar.horizontal progress { margin: 0 -1px; }
+
+progressbar.vertical progress { margin: -1px 0; }
+
+progressbar:backdrop { box-shadow: none; transition: 200ms ease-out; }
+
+progressbar progress { border-radius: 1.5px; }
+
+progressbar progress.left { border-top-left-radius: 2px; border-bottom-left-radius: 2px; }
+
+progressbar progress.right { border-top-right-radius: 2px; border-bottom-right-radius: 2px; }
+
+progressbar progress.top { border-top-right-radius: 2px; border-top-left-radius: 2px; }
+
+progressbar progress.bottom { border-bottom-right-radius: 2px; border-bottom-left-radius: 2px; }
+
+progressbar.osd { min-width: 3px; min-height: 3px; background-color: transparent; }
+
+progressbar.osd trough { border-style: none; border-radius: 0; background-color: transparent; box-shadow: none; }
+
+progressbar.osd progress { border-style: none; border-radius: 0; }
+
+progressbar trough.empty progress { all: unset; }
+
+/************* Level Bar * */
+levelbar.horizontal block { min-height: 3px; }
+
+levelbar.horizontal.discrete block { margin: 0 1px; min-width: 32px; }
+
+levelbar.vertical block { min-width: 3px; }
+
+levelbar.vertical.discrete block { margin: 1px 0; min-height: 32px; }
+
+levelbar:backdrop { transition: 200ms ease-out; }
+
+levelbar trough { border: 1px solid; padding: 1px; border-radius: 3px; color: #241f31; border-color: #797979; background-color: #908f8d; box-shadow: inset 0 0 0 1px rgba(56, 107, 0, 0), inset 0 1px 2px rgba(0, 0, 0, 0.4), 0 1px rgba(255, 255, 255, 0.5); }
+
+levelbar trough:backdrop { color: #393543; border-color: #828282; background-color: #8d8c8a; box-shadow: none; }
+
+levelbar block { border: 1px solid; border-radius: 1px; }
+
+levelbar block.low { border-color: #8f4700; background-color: #f57900; }
+
+levelbar block.low:backdrop { border-color: #f57900; }
+
+levelbar block.high, levelbar block:not(.empty) { border-color: #030500; background-color: #386b00; }
+
+levelbar block.high:backdrop, levelbar block:not(.empty):backdrop { border-color: #386b00; }
+
+levelbar block.full { border-color: #40760c; background-color: #73d216; }
+
+levelbar block.full:backdrop { border-color: #73d216; }
+
+levelbar block.empty { background-color: transparent; border-color: rgba(36, 31, 49, 0.2); }
+
+levelbar block.empty:backdrop { border-color: rgba(102, 99, 108, 0.15); }
+
+/**************** Print dialog * */
+printdialog paper { color: #241f31; border: 1px solid #797979; background: white; padding: 0; }
+
+printdialog paper:backdrop { color: #66636c; border-color: #828282; }
+
+printdialog .dialog-action-box { margin: 12px; }
+
+/********** Frames * */
+frame > border, .frame { box-shadow: none; margin: 0; padding: 0; border-radius: 0; border: 1px solid #797979; }
+
+frame > border.flat, .frame.flat { border-style: none; }
+
+frame > border:backdrop, .frame:backdrop { border-color: #828282; }
+
+actionbar > revealer > box { padding: 6px; border-top: 1px solid #797979; }
+
+actionbar > revealer > box:backdrop { border-color: #828282; }
+
+scrolledwindow viewport.frame { border-style: none; }
+
+scrolledwindow overshoot.top { background-image: -gtk-gradient(radial, center top, 0, center top, 0.5, to(#606060), to(rgba(96, 96, 96, 0))), -gtk-gradient(radial, center top, 0, center top, 0.6, from(rgba(36, 31, 49, 0.07)), to(rgba(36, 31, 49, 0))); background-size: 100% 5%, 100% 100%; background-repeat: no-repeat; background-position: center top; background-color: transparent; border: none; box-shadow: none; }
+
+scrolledwindow overshoot.top:backdrop { background-image: -gtk-gradient(radial, center top, 0, center top, 0.5, to(#828282), to(rgba(130, 130, 130, 0))); background-size: 100% 5%; background-repeat: no-repeat; background-position: center top; background-color: transparent; border: none; box-shadow: none; }
+
+scrolledwindow overshoot.bottom { background-image: -gtk-gradient(radial, center bottom, 0, center bottom, 0.5, to(#606060), to(rgba(96, 96, 96, 0))), -gtk-gradient(radial, center bottom, 0, center bottom, 0.6, from(rgba(36, 31, 49, 0.07)), to(rgba(36, 31, 49, 0))); background-size: 100% 5%, 100% 100%; background-repeat: no-repeat; background-position: center bottom; background-color: transparent; border: none; box-shadow: none; }
+
+scrolledwindow overshoot.bottom:backdrop { background-image: -gtk-gradient(radial, center bottom, 0, center bottom, 0.5, to(#828282), to(rgba(130, 130, 130, 0))); background-size: 100% 5%; background-repeat: no-repeat; background-position: center bottom; background-color: transparent; border: none; box-shadow: none; }
+
+scrolledwindow overshoot.left { background-image: -gtk-gradient(radial, left center, 0, left center, 0.5, to(#606060), to(rgba(96, 96, 96, 0))), -gtk-gradient(radial, left center, 0, left center, 0.6, from(rgba(36, 31, 49, 0.07)), to(rgba(36, 31, 49, 0))); background-size: 5% 100%, 100% 100%; background-repeat: no-repeat; background-position: left center; background-color: transparent; border: none; box-shadow: none; }
+
+scrolledwindow overshoot.left:backdrop { background-image: -gtk-gradient(radial, left center, 0, left center, 0.5, to(#828282), to(rgba(130, 130, 130, 0))); background-size: 5% 100%; background-repeat: no-repeat; background-position: left center; background-color: transparent; border: none; box-shadow: none; }
+
+scrolledwindow overshoot.right { background-image: -gtk-gradient(radial, right center, 0, right center, 0.5, to(#606060), to(rgba(96, 96, 96, 0))), -gtk-gradient(radial, right center, 0, right center, 0.6, from(rgba(36, 31, 49, 0.07)), to(rgba(36, 31, 49, 0))); background-size: 5% 100%, 100% 100%; background-repeat: no-repeat; background-position: right center; background-color: transparent; border: none; box-shadow: none; }
+
+scrolledwindow overshoot.right:backdrop { background-image: -gtk-gradient(radial, right center, 0, right center, 0.5, to(#828282), to(rgba(130, 130, 130, 0))); background-size: 5% 100%; background-repeat: no-repeat; background-position: right center; background-color: transparent; border: none; box-shadow: none; }
+
+scrolledwindow junction { border-color: transparent; border-image: linear-gradient(to bottom, #797979 1px, transparent 1px) 0 0 0 1/0 1px stretch; background-color: #8d8c8f; }
+
+scrolledwindow junction:dir(rtl) { border-image-slice: 0 1 0 0; }
+
+scrolledwindow junction:backdrop { border-image-source: linear-gradient(to bottom, #828282 1px, transparent 1px); background-color: #9f9f9f; transition: 200ms ease-out; }
+
+separator { background: rgba(0, 0, 0, 0.1); min-width: 1px; min-height: 1px; }
+
+/********* Lists * */
+list { color: #241f31; background-color: #908f8d; border-color: #797979; }
+
+list:backdrop { color: #393543; background-color: #8d8c8a; border-color: #828282; }
+
+list row { padding: 2px; }
+
+row { transition: all 150ms cubic-bezier(0.25, 0.46, 0.45, 0.94); }
+
+row:hover { transition: none; }
+
+row:backdrop { transition: 200ms ease-out; }
+
+row.activatable.has-open-popup, row.activatable:hover { background-color: rgba(36, 31, 49, 0.05); }
+
+row.activatable:active { box-shadow: inset 0 2px 2px -2px rgba(0, 0, 0, 0.2); }
+
+row.activatable:backdrop:hover { background-color: transparent; }
+
+row.activatable:selected:active { box-shadow: inset 0 2px 3px -1px rgba(0, 0, 0, 0.5); }
+
+row.activatable:selected.has-open-popup, row.activatable:selected:hover { background-color: #366305; }
+
+row.activatable:selected:backdrop { background-color: #386b00; }
+
+/********************* App Notifications * */
+.app-notification, .app-notification.frame { padding: 10px; border-radius: 0 0 5px 5px; background-color: rgba(103, 137, 180, 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; }
+
+.app-notification border, .app-notification.frame border { border: none; }
+
+/************* Expanders * */
+expander title > arrow { min-width: 16px; min-height: 16px; -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); }
+
+expander title > arrow:dir(rtl) { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); }
+
+expander title > arrow:hover { color: #695a8f; }
+
+expander title > arrow:disabled { color: #552222; }
+
+expander title > arrow:disabled:backdrop { color: #818181; }
+
+expander title > arrow:checked { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); }
+
+/************ Calendar * */
+calendar { color: #241f31; border: 1px solid #797979; }
+
+calendar:selected { border-radius: 3px; }
+
+calendar.header { border-bottom-color: rgba(0, 0, 0, 0.1); }
+
+calendar.header:backdrop { border-bottom-color: rgba(0, 0, 0, 0.1); }
+
+calendar.button { color: rgba(36, 31, 49, 0.45); }
+
+calendar.button:hover { color: #241f31; }
+
+calendar.button:backdrop { color: rgba(102, 99, 108, 0.45); }
+
+calendar.button:disabled { color: rgba(85, 34, 34, 0.45); }
+
+calendar.highlight { color: #552222; }
+
+calendar.highlight:backdrop { color: #818181; }
+
+calendar:backdrop { color: #393543; border-color: #828282; }
+
+calendar:indeterminate { color: alpha(currentColor,0.1); }
+
+/*********** Dialogs * */
+messagedialog .titlebar { min-height: 20px; background-image: none; background-color: #a7a7a7; border-style: none; border-top-left-radius: 7px; border-top-right-radius: 7px; }
+
+messagedialog.csd.background { border-bottom-left-radius: 9px; border-bottom-right-radius: 9px; }
+
+messagedialog.csd .dialog-action-area button { padding: 10px 14px; border-right-style: none; border-bottom-style: none; border-radius: 0; -gtk-outline-radius: 0; }
+
+messagedialog.csd .dialog-action-area button:first-child { border-left-style: none; border-bottom-left-radius: 7px; -gtk-outline-bottom-left-radius: 7px; }
+
+messagedialog.csd .dialog-action-area button:last-child { border-bottom-right-radius: 7px; -gtk-outline-bottom-right-radius: 7px; }
+
+filechooser .dialog-action-box { border-top: 1px solid #797979; }
+
+filechooser .dialog-action-box:backdrop { border-top-color: #828282; }
+
+filechooser #pathbarbox { border-bottom: 1px solid #a7a7a7; }
+
+filechooserbutton:drop(active) { box-shadow: none; border-color: transparent; }
+
+/*********** Sidebar * */
+.sidebar { border-style: none; background-color: #9c9b9a; }
+
+stacksidebar.sidebar:dir(ltr) list, stacksidebar.sidebar.left list, stacksidebar.sidebar.left:dir(rtl) list, .sidebar:not(separator):dir(ltr), .sidebar:not(separator).left { border-right: 1px solid #797979; border-left-style: none; }
+
+stacksidebar.sidebar:dir(rtl) list, stacksidebar.sidebar.right list, .sidebar:not(separator):dir(rtl), .sidebar:not(separator).right { border-left: 1px solid #797979; border-right-style: none; }
+
+.sidebar:backdrop { background-color: #9a9a99; border-color: #828282; transition: 200ms ease-out; }
+
+.sidebar list { background-color: transparent; }
+
+paned .sidebar.left, paned .sidebar.right, paned .sidebar.left:dir(rtl), paned .sidebar:dir(rtl), paned .sidebar:dir(ltr), paned .sidebar { border-style: none; }
+
+stacksidebar row { padding: 10px 4px; }
+
+stacksidebar row > label { padding-left: 6px; padding-right: 6px; }
+
+stacksidebar row.needs-attention > label { background-size: 6px 6px, 0 0; }
+
+separator.sidebar { background-color: #797979; }
+
+separator.sidebar:backdrop { background-color: #828282; }
+
+separator.sidebar.selection-mode, .selection-mode separator.sidebar { background-color: #030500; }
+
+/**************** File chooser * */
+row image.sidebar-icon { opacity: 1; }
+
+placessidebar > viewport.frame { border-style: none; }
+
+placessidebar row { min-height: 36px; padding: 0px; }
+
+placessidebar row > revealer { padding: 0 14px; }
+
+placessidebar row:selected { color: #000000; }
+
+placessidebar row:disabled { color: #552222; }
+
+placessidebar row:backdrop { color: #66636c; }
+
+placessidebar row:backdrop:selected { color: #8d8c8a; }
+
+placessidebar row:backdrop:disabled { color: #818181; }
+
+placessidebar row image.sidebar-icon:dir(ltr) { padding-right: 8px; }
+
+placessidebar row image.sidebar-icon:dir(rtl) { padding-left: 8px; }
+
+placessidebar row label.sidebar-label:dir(ltr) { padding-right: 2px; }
+
+placessidebar row label.sidebar-label:dir(rtl) { padding-left: 2px; }
+
+button.sidebar-button { min-height: 26px; min-width: 26px; margin-top: 3px; margin-bottom: 3px; padding: 0; border-radius: 100%; -gtk-outline-radius: 100%; }
+
+button.sidebar-button:not(:hover):not(:active) > image, button.sidebar-button:backdrop > image { opacity: 1; }
+
+placessidebar row:selected:active { box-shadow: none; }
+
+placessidebar row.sidebar-placeholder-row { padding: 0 8px; min-height: 2px; background-image: image(#73d216); background-clip: content-box; }
+
+placessidebar row.sidebar-new-bookmark-row { color: #386b00; }
+
+placessidebar row:drop(active):not(:disabled) { color: #73d216; box-shadow: inset 0 1px #73d216, inset 0 -1px #73d216; }
+
+placessidebar row:drop(active):not(:disabled):selected { color: #000000; background-color: #73d216; }
+
+placesview .server-list-button > image { transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); -gtk-icon-transform: rotate(0turn); }
+
+placesview .server-list-button:checked > image { transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); -gtk-icon-transform: rotate(-0.5turn); }
+
+placesview row.activatable:hover { background-color: transparent; }
+
+placesview > actionbar > revealer > box > label { padding-left: 8px; padding-right: 8px; }
+
+/********* Paned * */
+paned > separator { min-width: 1px; min-height: 1px; -gtk-icon-source: none; border-style: none; background-color: transparent; background-image: image(#797979); background-size: 1px 1px; }
+
+paned > separator:selected { background-image: image(#386b00); }
+
+paned > separator:backdrop { background-image: image(#828282); }
+
+paned > separator.wide { min-width: 5px; min-height: 5px; background-color: #a7a7a7; background-image: image(#797979), image(#797979); background-size: 1px 1px, 1px 1px; }
+
+paned > separator.wide:backdrop { background-color: #a7a7a7; background-image: image(#828282), image(#828282); }
+
+paned.horizontal > separator { background-repeat: repeat-y; }
+
+paned.horizontal > separator:dir(ltr) { margin: 0 -8px 0 0; padding: 0 8px 0 0; background-position: left; }
+
+paned.horizontal > separator:dir(rtl) { margin: 0 0 0 -8px; padding: 0 0 0 8px; background-position: right; }
+
+paned.horizontal > separator.wide { margin: 0; padding: 0; background-repeat: repeat-y, repeat-y; background-position: left, right; }
+
+paned.vertical > separator { margin: 0 0 -8px 0; padding: 0 0 8px 0; background-repeat: repeat-x; background-position: top; }
+
+paned.vertical > separator.wide { margin: 0; padding: 0; background-repeat: repeat-x, repeat-x; background-position: bottom, top; }
+
+/************** GtkInfoBar * */
+infobar { border-style: none; }
+
+infobar.action:hover > revealer > box { background-color: white; border-bottom: 1px solid #868686; }
+
+infobar.info, infobar.question, infobar.warning, infobar.error { text-shadow: none; }
+
+infobar.info:backdrop > revealer > box, infobar.info > revealer > box, infobar.question:backdrop > revealer > box, infobar.question > revealer > box, infobar.warning:backdrop > revealer > box, infobar.warning > revealer > box, infobar.error:backdrop > revealer > box, infobar.error > revealer > box { background-color: white; border-bottom: 1px solid #868686; }
+
+infobar.info:backdrop > revealer > box label, infobar.info:backdrop > revealer > box, infobar.info > revealer > box label, infobar.info > revealer > box, infobar.question:backdrop > revealer > box label, infobar.question:backdrop > revealer > box, infobar.question > revealer > box label, infobar.question > revealer > box, infobar.warning:backdrop > revealer > box label, infobar.warning:backdrop > revealer > box, infobar.warning > revealer > box label, infobar.warning > revealer > box, infobar.error:backdrop > revealer > box label, infobar.error:backdrop > revealer > box, infobar.error > revealer > box label, infobar.error > revealer > box { color: #241f31; }
+
+infobar.info:backdrop, infobar.question:backdrop, infobar.warning:backdrop, infobar.error:backdrop { text-shadow: none; }
+
+infobar.info button, infobar.question button, infobar.warning button, infobar.error button { color: #241f31; background-color: #a7a7a7; outline-color: rgba(56, 107, 0, 0.5); background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.15)); text-shadow: 0 1px rgba(255, 255, 255, 0.3); -gtk-icon-shadow: 0 1px rgba(255, 255, 255, 0.3); box-shadow: inset 0 1px rgba(255, 255, 255, 0.5), 0 1px 2px rgba(0, 0, 0, 0.4); }
+
+infobar.info button:hover, infobar.question button:hover, infobar.warning button:hover, infobar.error button:hover { background-color: shade(#a7a7a7, 1.1); }
+
+infobar.info button:active, infobar.info button:checked, infobar.question button:active, infobar.question button:checked, infobar.warning button:active, infobar.warning button:checked, infobar.error button:active, infobar.error button:checked { box-shadow: 0 1px rgba(255, 255, 255, 0.5), inset 0 1px 2px rgba(0, 0, 0, 0.4); }
+
+infobar.info button:disabled, infobar.question button:disabled, infobar.warning button:disabled, infobar.error button:disabled { color: #552222; background-color: #938989; background-image: none; }
+
+infobar.info button:backdrop, infobar.question button:backdrop, infobar.warning button:backdrop, infobar.error button:backdrop { background-image: none; border-color: #8e8e8e; }
+
+infobar.info button:backdrop:disabled, infobar.question button:backdrop:disabled, infobar.warning button:backdrop:disabled, infobar.error button:backdrop:disabled { border-color: #8e8e8e; }
+
+infobar.info button:backdrop label, infobar.info button:backdrop, infobar.info button label, infobar.info button, infobar.question button:backdrop label, infobar.question button:backdrop, infobar.question button label, infobar.question button, infobar.warning button:backdrop label, infobar.warning button:backdrop, infobar.warning button label, infobar.warning button, infobar.error button:backdrop label, infobar.error button:backdrop, infobar.error button label, infobar.error button { color: #241f31; }
+
+infobar.info selection, infobar.question selection, infobar.warning selection, infobar.error selection { background-color: #8e8e8e; }
+
+infobar.info *:link, infobar.question *:link, infobar.warning *:link, infobar.error *:link { color: #1d3800; }
+
+/************ Tooltips * */
+tooltip { padding: 4px; /* not working */ border-radius: 5px; text-shadow: none; }
+
+tooltip.background { background-color: rgba(103, 137, 180, 0.8); background-clip: padding-box; border: 1px solid #002269; }
+
+tooltip decoration { background-color: transparent; }
+
+tooltip * { padding: 4px; background-color: transparent; color: #002269; }
+
+/***************** Color Chooser * */
+colorswatch:drop(active), colorswatch { border-style: none; }
+
+colorswatch.top { border-top-left-radius: 5.5px; border-top-right-radius: 5.5px; }
+
+colorswatch.top overlay { border-top-left-radius: 5px; border-top-right-radius: 5px; }
+
+colorswatch.bottom { border-bottom-left-radius: 5.5px; border-bottom-right-radius: 5.5px; }
+
+colorswatch.bottom overlay { border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; }
+
+colorswatch.left, colorswatch:first-child:not(.top) { border-top-left-radius: 5.5px; border-bottom-left-radius: 5.5px; }
+
+colorswatch.left overlay, colorswatch:first-child:not(.top) overlay { border-top-left-radius: 5px; border-bottom-left-radius: 5px; }
+
+colorswatch.right, colorswatch:last-child:not(.bottom) { border-top-right-radius: 5.5px; border-bottom-right-radius: 5.5px; }
+
+colorswatch.right overlay, colorswatch:last-child:not(.bottom) overlay { border-top-right-radius: 5px; border-bottom-right-radius: 5px; }
+
+colorswatch.dark { outline-color: rgba(255, 255, 255, 0.6); }
+
+colorswatch.dark overlay { color: white; }
+
+colorswatch.dark overlay:hover { border-color: rgba(0, 0, 0, 0.8); }
+
+colorswatch.dark overlay:backdrop { color: rgba(255, 255, 255, 0.5); }
+
+colorswatch.light { outline-color: rgba(0, 0, 0, 0.6); }
+
+colorswatch.light overlay { color: black; }
+
+colorswatch.light overlay:hover { border-color: rgba(0, 0, 0, 0.5); }
+
+colorswatch.light overlay:backdrop { color: rgba(0, 0, 0, 0.5); }
+
+colorswatch:drop(active) { box-shadow: none; }
+
+colorswatch:drop(active).light overlay { border-color: #73d216; box-shadow: inset 0 0 0 2px #61b213, inset 0 0 0 1px #73d216; }
+
+colorswatch:drop(active).dark overlay { border-color: #73d216; box-shadow: inset 0 0 0 2px rgba(0, 0, 0, 0.3), inset 0 0 0 1px #73d216; }
+
+colorswatch overlay { border: 1px solid rgba(0, 0, 0, 0.3); }
+
+colorswatch overlay:hover { box-shadow: inset 0 1px rgba(255, 255, 255, 0.4), inset 0 -1px rgba(0, 0, 0, 0.2); }
+
+colorswatch overlay:backdrop, colorswatch overlay:backdrop:hover { border-color: rgba(0, 0, 0, 0.3); box-shadow: none; }
+
+colorswatch#add-color-button { border-radius: 5px 5px 0 0; }
+
+colorswatch#add-color-button:only-child { border-radius: 5px; }
+
+colorswatch#add-color-button overlay { color: #241f31; background-color: #bcbeb9; outline-color: rgba(56, 107, 0, 0.5); background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.15)); text-shadow: 0 1px rgba(255, 255, 255, 0.3); -gtk-icon-shadow: 0 1px rgba(255, 255, 255, 0.3); box-shadow: inset 0 1px rgba(255, 255, 255, 0.5), 0 1px 2px rgba(0, 0, 0, 0.4); }
+
+colorswatch#add-color-button overlay:hover { background-color: shade(#bcbeb9, 1.1); }
+
+colorswatch#add-color-button overlay:backdrop { background-image: none; }
+
+colorswatch:disabled { opacity: 0.5; }
+
+colorswatch:disabled overlay { border-color: rgba(0, 0, 0, 0.6); box-shadow: none; }
+
+row:selected colorswatch { box-shadow: 0 0 0 2px #000000; }
+
+colorswatch#editor-color-sample { border-radius: 4px; }
+
+colorswatch#editor-color-sample overlay { border-radius: 4.5px; }
+
+colorchooser .popover.osd { border-radius: 5px; }
+
+/******** Misc * */
+.content-view { background-color: #959595; }
+
+.content-view:hover { -gtk-icon-effect: highlight; }
+
+.content-view:backdrop { background-color: #959595; }
+
+.osd .scale-popup button.flat { border-style: none; border-radius: 5px; }
+
+.scale-popup button:hover { background-color: rgba(36, 31, 49, 0.1); border-radius: 5px; }
+
+/********************** Window Decorations * */
+decoration { border-radius: 8px 8px 0 0; border-width: 0px; box-shadow: 0 3px 9px 1px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(0, 0, 0, 0.23); margin: 10px; }
+
+decoration:backdrop { box-shadow: 0 3px 9px 1px transparent, 0 2px 6px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(0, 0, 0, 0.18); transition: 200ms ease-out; }
+
+.maximized decoration, .fullscreen decoration { border-radius: 0; box-shadow: none; }
+
+.tiled decoration, .tiled-top decoration, .tiled-right decoration, .tiled-bottom decoration, .tiled-left decoration { border-radius: 0; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.18), 0 0 0 20px transparent; }
+
+.tiled decoration:backdrop, .tiled-top decoration:backdrop, .tiled-right decoration:backdrop, .tiled-bottom decoration:backdrop, .tiled-left decoration:backdrop { box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.18), 0 0 0 20px transparent; }
+
+.popup decoration { box-shadow: none; }
+
+.ssd decoration { box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.23); }
+
+.ssd decoration:backdrop { box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.18); }
+
+.csd.popup decoration { border-radius: 5px; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(0, 0, 0, 0.13); }
+
+tooltip.csd decoration { border-radius: 5px; box-shadow: none; }
+
+messagedialog.csd decoration { border-radius: 8px; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(0, 0, 0, 0.13); }
+
+.solid-csd decoration { margin: 0; padding: 4px; background-color: #797979; border: solid 1px #797979; border-radius: 0; box-shadow: inset 0 0 0 3px #b4b4b4, inset 0 1px rgba(255, 255, 255, 0.8); }
+
+.solid-csd decoration:backdrop { box-shadow: inset 0 0 0 3px #a7a7a7, inset 0 1px rgba(255, 255, 255, 0.8); }
+
+button.titlebutton { text-shadow: 0 1px rgba(255, 255, 255, 0.3); -gtk-icon-shadow: 0 1px rgba(255, 255, 255, 0.3); }
+
+button.titlebutton:not(.appmenu) { border-radius: 9999px; padding: 5px; margin: 0 2px; min-width: 0; min-height: 0; }
+
+button.titlebutton.close { background-color: #990000; color: white; }
+
+button.titlebutton:backdrop { -gtk-icon-shadow: none; }
+
+.selection-mode headerbar button.titlebutton, .selection-mode .titlebar button.titlebutton, headerbar.selection-mode button.titlebutton, .titlebar.selection-mode button.titlebutton { text-shadow: 0 -1px rgba(0, 0, 0, 0.832157); -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.832157); }
+
+.selection-mode headerbar button.titlebutton:backdrop, .selection-mode .titlebar button.titlebutton:backdrop, headerbar.selection-mode button.titlebutton:backdrop, .titlebar.selection-mode button.titlebutton:backdrop { -gtk-icon-shadow: none; }
+
+.monospace { font-family: monospace; }
+
+/********************** Touch Copy & Paste * */
+cursor-handle { background-color: transparent; background-image: none; box-shadow: none; border-style: none; }
+
+cursor-handle.top:dir(ltr), cursor-handle.bottom:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-start.png"), url("assets/text-select-start@2.png")); padding-left: 10px; }
+
+cursor-handle.bottom:dir(ltr), cursor-handle.top:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-end.png"), url("assets/text-select-end@2.png")); padding-right: 10px; }
+
+cursor-handle.insertion-cursor:dir(ltr), cursor-handle.insertion-cursor:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above.png"), url("assets/slider-horz-scale-has-marks-above@2.png")); }
+
+cursor-handle.top:hover:dir(ltr), cursor-handle.bottom:hover:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-start-hover.png"), url("assets/text-select-start-hover@2.png")); padding-left: 10px; }
+
+cursor-handle.bottom:hover:dir(ltr), cursor-handle.top:hover:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-end-hover.png"), url("assets/text-select-end-hover@2.png")); padding-right: 10px; }
+
+cursor-handle.insertion-cursor:hover:dir(ltr), cursor-handle.insertion-cursor:hover:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-hover.png"), url("assets/slider-horz-scale-has-marks-above-hover@2.png")); }
+
+cursor-handle.top:active:dir(ltr), cursor-handle.bottom:active:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-start-active.png"), url("assets/text-select-start-active@2.png")); padding-left: 10px; }
+
+cursor-handle.bottom:active:dir(ltr), cursor-handle.top:active:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-end-active.png"), url("assets/text-select-end-active@2.png")); padding-right: 10px; }
+
+cursor-handle.insertion-cursor:active:dir(ltr), cursor-handle.insertion-cursor:active:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-active.png"), url("assets/slider-horz-scale-has-marks-above-active@2.png")); }
+
+.context-menu { font: initial; }
+
+.keycap { min-width: 20px; min-height: 25px; margin-top: 2px; padding-bottom: 3px; padding-left: 6px; padding-right: 6px; color: #241f31; background-color: #908f8d; border: 1px solid; border-color: #909090; border-radius: 5px; box-shadow: inset 0 -3px #a2a2a2; font-size: smaller; }
+
+.keycap:backdrop { background-color: #8d8c8a; color: #66636c; transition: 200ms ease-out; }
+
+:not(decoration):not(window):drop(active):focus, :not(decoration):not(window):drop(active) { border-color: #73d216; box-shadow: inset 0 0 0 1px #73d216; caret-color: #73d216; }
+
+stackswitcher button.text-button { min-width: 100px; }
+
+stackswitcher button.circular, stackswitcher button.text-button.circular { min-width: 32px; min-height: 32px; padding: 0; }
+
+/************* App Icons * */
+/* Outline for low res icons */
+.lowres-icon { -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.05), 1px 0 rgba(0, 0, 0, 0.1), 0 1px rgba(0, 0, 0, 0.3), -1px 0 rgba(0, 0, 0, 0.1); }
+
+/* Dropshadow for large icons */
+.icon-dropshadow { -gtk-icon-shadow: 0 1px 12px rgba(0, 0, 0, 0.05), 0 -1px rgba(0, 0, 0, 0.05), 1px 0 rgba(0, 0, 0, 0.1), 0 1px rgba(0, 0, 0, 0.3), -1px 0 rgba(0, 0, 0, 0.1); }
+
+/********* Emoji * */
+popover.emoji-picker { padding-left: 0; padding-right: 0; }
+
+popover.emoji-picker entry.search { margin: 3px 5px 5px 5px; }
+
+button.emoji-section { border-color: transparent; border-width: 3px; border-style: none none solid; border-radius: 0; margin: 2px 4px 2px 4px; padding: 3px 0 0; min-width: 32px; min-height: 28px; /* reset props inherited from the button style */ background: none; box-shadow: none; text-shadow: none; outline-offset: -5px; }
+
+button.emoji-section:first-child { margin-left: 7px; }
+
+button.emoji-section:last-child { margin-right: 7px; }
+
+button.emoji-section:backdrop:not(:checked) { border-color: transparent; }
+
+button.emoji-section:hover { border-color: #797979; }
+
+button.emoji-section:checked { border-color: #386b00; }
+
+button.emoji-section label { padding: 0; opacity: 0.55; }
+
+button.emoji-section:hover label { opacity: 0.775; }
+
+button.emoji-section:checked label { opacity: 1; }
+
+popover.emoji-picker .emoji { font-size: x-large; padding: 6px; }
+
+popover.emoji-picker .emoji :hover { background: #386b00; border-radius: 6px; }
+
+popover.emoji-completion arrow { border: none; background: none; }
+
+popover.emoji-completion contents row box { padding: 2px 10px; }
+
+popover.emoji-completion .emoji:hover { background: #b4b4b4; }
+
+/* GTK NAMED COLORS ---------------- use responsibly! */
+/*
+widget text/foreground color */
+@define-color theme_fg_color #241f31;
+/*
+text color for entries, views and content in general */
+@define-color theme_text_color #241f31;
+/*
+widget base background color */
+@define-color theme_bg_color #a7a7a7;
+/*
+text widgets and the like base background color */
+@define-color theme_base_color #908f8d;
+/*
+base background color of selections */
+@define-color theme_selected_bg_color #386b00;
+/*
+text/foreground color of selections */
+@define-color theme_selected_fg_color #000000;
+/*
+base background color of insensitive widgets */
+@define-color insensitive_bg_color #938989;
+/*
+text foreground color of insensitive widgets */
+@define-color insensitive_fg_color #552222;
+/*
+insensitive text widgets and the like base background color */
+@define-color insensitive_base_color #908f8d;
+/*
+widget text/foreground color on backdrop windows */
+@define-color theme_unfocused_fg_color #66636c;
+/*
+text color for entries, views and content in general on backdrop windows */
+@define-color theme_unfocused_text_color #241f31;
+/*
+widget base background color on backdrop windows */
+@define-color theme_unfocused_bg_color #a7a7a7;
+/*
+text widgets and the like base background color on backdrop windows */
+@define-color theme_unfocused_base_color #8d8c8a;
+/*
+base background color of selections on backdrop windows */
+@define-color theme_unfocused_selected_bg_color #386b00;
+/*
+text/foreground color of selections on backdrop windows */
+@define-color theme_unfocused_selected_fg_color #000000;
+/*
+insensitive color on backdrop windows*/
+@define-color unfocused_insensitive_color #818181;
+/*
+widgets main borders color */
+@define-color borders #797979;
+/*
+widgets main borders color on backdrop windows */
+@define-color unfocused_borders #828282;
+/*
+these are pretty self explicative */
+@define-color warning_color #f57900;
+@define-color error_color #990000;
+@define-color success_color #73d216;
+/*
+these colors are exported for the window manager and shouldn't be used in applications,
+read if you used those and something break with a version upgrade you're on your own... */
+@define-color wm_title shade(#241f31, 1.8);
+@define-color wm_unfocused_title #66636c;
+@define-color wm_highlight rgba(255, 255, 255, 0.8);
+@define-color wm_borders_edge rgba(255, 255, 255, 0.8);
+@define-color wm_bg_a shade(#a7a7a7, 1.2);
+@define-color wm_bg_b #a7a7a7;
+@define-color wm_shadow alpha(black, 0.35);
+@define-color wm_border alpha(black, 0.18);
+@define-color wm_button_hover_color_a shade(#a7a7a7, 1.3);
+@define-color wm_button_hover_color_b #a7a7a7;
+@define-color wm_button_active_color_a shade(#a7a7a7, 0.85);
+@define-color wm_button_active_color_b shade(#a7a7a7, 0.89);
+@define-color wm_button_active_color_c shade(#a7a7a7, 0.9);
+/* content view background such as thumbnails view in Photos or Boxes */
+@define-color content_view_bg #908f8d;
+/* Very contrasty background for text views (@theme_text_color foreground) */
+@define-color text_view_bg #908f8d;
diff --git a/source/gtk3/gtk.css b/source/gtk3/gtk.css
new file mode 100644
index 0000000..fc3a3a6
--- /dev/null
+++ b/source/gtk3/gtk.css
@@ -0,0 +1 @@
+@import url("resource:///org/gtk/libgtk/theme/Adwaita/gtk-contained.css");
diff --git a/source/gtk3/meson.build b/source/gtk3/meson.build
new file mode 100644
index 0000000..7a799f9
--- /dev/null
+++ b/source/gtk3/meson.build
@@ -0,0 +1,30 @@
+scss_files = files([
+ '_colors-public.scss',
+ '_colors.scss',
+ '_common.scss',
+ '_drawing.scss',
+])
+
+theme_variants = [
+ 'dark',
+]
+
+theme_deps += custom_target('Adwaita',
+ input: 'gtk-contained.scss',
+ output: 'gtk-contained.css',
+ command: [
+ sassc, sassc_opts, '@INPUT@', '@OUTPUT@',
+ ],
+ depend_files: scss_files,
+ build_by_default: true)
+
+foreach variant: theme_variants
+ theme_deps += custom_target('Adwaita-' + variant,
+ input: 'gtk-contained-@0@.scss'.format(variant),
+ output: 'gtk-contained-@0@.css'.format(variant),
+ command: [
+ sassc, sassc_opts, '@INPUT@', '@OUTPUT@',
+ ],
+ depend_files: scss_files,
+ build_by_default: true)
+endforeach
diff --git a/source/gtk3/parse-sass.sh b/source/gtk3/parse-sass.sh
new file mode 100755
index 0000000..f2bd6e1
--- /dev/null
+++ b/source/gtk3/parse-sass.sh
@@ -0,0 +1,13 @@
+#! /bin/bash
+
+if [ ! "$(which sassc 2> /dev/null)" ]; then
+ echo sassc needs to be installed to generate the css.
+ exit 1
+fi
+
+SASSC_OPT="-M -t compact"
+
+echo Generating the css...
+
+sassc $SASSC_OPT gtk-contained.scss gtk-contained.css
+sassc $SASSC_OPT gtk-contained-dark.scss gtk-contained-dark.css
diff --git a/source/gtk3/render-assets.sh b/source/gtk3/render-assets.sh
new file mode 100755
index 0000000..7fd8d98
--- /dev/null
+++ b/source/gtk3/render-assets.sh
@@ -0,0 +1,34 @@
+#! /bin/bash
+
+INKSCAPE="flatpak run org.inkscape.Inkscape"
+OPTIPNG="/usr/bin/optipng"
+
+SRC_FILE="assets.svg"
+ASSETS_DIR="assets"
+INDEX="assets.txt"
+
+for i in `cat $INDEX`
+do
+if [ -f $ASSETS_DIR/$i.png ]; then
+ echo $ASSETS_DIR/$i.png exists.
+else
+ echo
+ echo Rendering $ASSETS_DIR/$i.png
+ $INKSCAPE --export-id=$i \
+ --export-id-only \
+ --export-png=$ASSETS_DIR/$i.png $SRC_FILE >/dev/null #\
+ # && $OPTIPNG -o7 --quiet $ASSETS_DIR/$i.png
+fi
+if [ -f $ASSETS_DIR/$i@2.png ]; then
+ echo $ASSETS_DIR/$i@2.png exists.
+else
+ echo
+ echo Rendering $ASSETS_DIR/$i@2.png
+ $INKSCAPE --export-id=$i \
+ --export-dpi=180 \
+ --export-id-only \
+ --export-png=$ASSETS_DIR/$i@2.png $SRC_FILE >/dev/null #\
+ # && $OPTIPNG -o7 --quiet $ASSETS_DIR/$i@2.png
+fi
+done
+exit 0
diff --git a/source/gtk4/Default-dark.scss b/source/gtk4/Default-dark.scss
new file mode 100644
index 0000000..9207802
--- /dev/null
+++ b/source/gtk4/Default-dark.scss
@@ -0,0 +1,7 @@
+$variant: 'dark';
+$contrast: 'normal';
+
+@import 'colors';
+@import 'drawing';
+@import 'common';
+@import 'colors-public';
diff --git a/source/gtk4/Default-hc-dark.scss b/source/gtk4/Default-hc-dark.scss
new file mode 100644
index 0000000..3a7bbea
--- /dev/null
+++ b/source/gtk4/Default-hc-dark.scss
@@ -0,0 +1,7 @@
+$variant: 'dark';
+$contrast: 'high';
+
+@import 'colors';
+@import 'colors-public';
+@import 'drawing';
+@import 'common';
diff --git a/source/gtk4/Default-hc.scss b/source/gtk4/Default-hc.scss
new file mode 100644
index 0000000..85293a9
--- /dev/null
+++ b/source/gtk4/Default-hc.scss
@@ -0,0 +1,7 @@
+$variant: 'light';
+$contrast: 'high';
+
+@import 'colors';
+@import 'colors-public';
+@import 'drawing';
+@import 'common';
diff --git a/source/gtk4/Default-light.scss b/source/gtk4/Default-light.scss
new file mode 100644
index 0000000..d11373b
--- /dev/null
+++ b/source/gtk4/Default-light.scss
@@ -0,0 +1,13 @@
+// General guidelines:
+// - very unlikely you want to edit something else than _common.scss
+// - keep the number of defined colors to a minimum, use the color blending functions if
+// you need a subtle shade
+// - if you need to inverse a color function use the @if directive to match for dark $variant
+
+$variant: 'light';
+$contrast: 'normal';
+
+@import 'colors';
+@import 'drawing';
+@import 'common';
+@import 'colors-public';
diff --git a/source/gtk4/README b/source/gtk4/README
new file mode 100644
index 0000000..f2132f7
--- /dev/null
+++ b/source/gtk4/README
@@ -0,0 +1,45 @@
+Summary
+-------
+
+* To be able to use the latest/adequate version of sass, install sassc
+* meson will regenerate the CSS every time you modify the SCSS files.
+* Note that meson always builds out-of-tree, so the modified css files will
+ appear in your builddir.
+
+Theme variants
+--------------
+
+The Default theme comes in 4 variants: light, dark, hc (highcontrast) and
+hc-dark (highcontrast inverse). The generated CSS files for the variants
+are called Default-$variant.css. For technical reasons, GTK adds one level
+of include wrappers around these, which are called gtk-$variant.css.
+
+How to tweak the theme
+----------------------
+
+Default is a complex theme, so to keep it maintainable it's written and
+processed in SASS. The generated CSS is then transformed into a gresource file
+during gtk build and used at runtime in a non-legible or editable form.
+
+It is very likely your change will happen in the _common.scss file. That's where
+all the widget selectors are defined. Here's a rundown of the "supporting"
+stylesheets, that are unlikely to be the right place for a drive by stylesheet
+fix:
+
+_colors.scss - global color definitions. We keep the number of defined
+ colors to a necessary minimum, most colors are derived
+ from a handful of basics. It covers both the light variant
+ and the dark variant.
+
+_colors-public.scss - SCSS colors exported through gtk to allow for 3rd party
+ apps color mixing.
+
+_drawing.scss - drawing helper mixings/functions to allow easier
+ definition of widget drawing under specific context. This
+ is why Default isn't 15000 LOC.
+
+_common.scss - actual definitions of style for each widget. This is
+ where you are likely to add/remove your changes.
+
+You can read about SASS at http://sass-lang.com/documentation/. Once you make
+your changes to the _common.scss file, GTK will rebuild the CSS files.
diff --git a/source/gtk4/_colors-public.scss b/source/gtk4/_colors-public.scss
new file mode 100644
index 0000000..3b638e2
--- /dev/null
+++ b/source/gtk4/_colors-public.scss
@@ -0,0 +1,119 @@
+//apps rely on some named colors to be exported
+/* GTK NAMED COLORS
+ ----------------
+ use responsibly! */
+
+// Sass thinks we're using the colors in the variables as strings and may shoot
+// warning, it's innocuous and can be defeated by using "" + $var
+/*
+widget text/foreground color */
+@define-color theme_fg_color #{"" +$fg_color};
+
+/*
+text color for entries, views and content in general */
+@define-color theme_text_color #{"" +$text_color};
+
+/*
+widget base background color */
+@define-color theme_bg_color #{"" +$bg_color};
+
+/*
+text widgets and the like base background color */
+@define-color theme_base_color #{"" +$base_color};
+
+/*
+base background color of selections */
+@define-color theme_selected_bg_color #{"" +$selected_bg_color};
+
+/*
+text/foreground color of selections */
+@define-color theme_selected_fg_color #{"" +$selected_fg_color};
+
+/*
+base background color of insensitive widgets */
+@define-color insensitive_bg_color #{"" +$insensitive_bg_color};
+
+/*
+text foreground color of insensitive widgets */
+@define-color insensitive_fg_color #{"" +$insensitive_fg_color};
+
+/*
+insensitive text widgets and the like base background color */
+@define-color insensitive_base_color #{"" +$base_color};
+
+/*
+widget text/foreground color on backdrop windows */
+@define-color theme_unfocused_fg_color #{"" +$backdrop_fg_color};
+
+/*
+text color for entries, views and content in general on backdrop windows */
+@define-color theme_unfocused_text_color #{"" +$text_color};
+
+/*
+widget base background color on backdrop windows */
+@define-color theme_unfocused_bg_color #{"" +$backdrop_bg_color};
+
+/*
+text widgets and the like base background color on backdrop windows */
+@define-color theme_unfocused_base_color #{"" +$backdrop_base_color};
+
+/*
+base background color of selections on backdrop windows */
+@define-color theme_unfocused_selected_bg_color #{"" +$selected_bg_color};
+
+/*
+text/foreground color of selections on backdrop windows */
+@define-color theme_unfocused_selected_fg_color #{"" + $selected_fg_color};
+
+/*
+insensitive color on backdrop windows*/
+@define-color unfocused_insensitive_color #{"" + $backdrop_insensitive_color};
+
+/*
+widgets main borders color */
+@define-color borders #{"" +$borders_color};
+
+/*
+widgets main borders color on backdrop windows */
+@define-color unfocused_borders #{"" +$backdrop_borders_color};
+
+/*
+these are pretty self explicative */
+@define-color warning_color #{"" +$warning_color};
+@define-color error_color #{"" +$error_color};
+@define-color success_color #{"" +$success_color};
+//@define-color destructive_color #{$destructive_color}
+
+//WM
+
+$_wm_highlight: if($variant=='light', $top_hilight, // Sass gets mad if this is
+ transparentize(black,1)); // done directly in the
+ // color definition
+
+/*
+these colors are exported for the window manager and shouldn't be used in applications,
+read if you used those and something break with a version upgrade you're on your own... */
+@define-color wm_title shade(#{$fg_color}, 1.8);
+@define-color wm_unfocused_title #{$backdrop_fg_color};
+@define-color wm_highlight #{"" + $_wm_highlight};
+@define-color wm_borders_edge #{"" + $borders_edge};
+
+@define-color wm_bg_a shade(#{$bg_color}, 1.2);
+@define-color wm_bg_b #{$bg_color};
+
+@define-color wm_shadow alpha(black, 0.35);
+@define-color wm_border alpha(black, 0.18);
+
+@define-color wm_button_hover_color_a shade(#{$bg_color}, 1.3);
+@define-color wm_button_hover_color_b #{$bg_color};
+@define-color wm_button_active_color_a shade(#{$bg_color}, 0.85);
+@define-color wm_button_active_color_b shade(#{$bg_color}, 0.89);
+@define-color wm_button_active_color_c shade(#{$bg_color}, 0.9);
+
+//FIXME this is really an API
+
+/* content view background such as thumbnails view in Photos or Boxes */
+@define-color content_view_bg #{"" + $base_color};
+
+/* Very contrasty background for text views (@theme_text_color foreground) */
+@define-color text_view_bg #{"" + if($variant == 'light', $base_color, darken($base_color,6%))};
diff --git a/source/gtk4/_colors.scss b/source/gtk4/_colors.scss
new file mode 100644
index 0000000..199d32c
--- /dev/null
+++ b/source/gtk4/_colors.scss
@@ -0,0 +1,58 @@
+// When color definition differs for dark and light variant
+// it gets @if ed depending on $variant
+
+/*$base_color: if($variant == 'light', #ffffff, lighten(desaturate(#241f31, 100%), 2%));
+$text_color: if($variant == 'light', black, white);
+$bg_color: if($variant == 'light', #f6f5f4, darken(desaturate(#3d3846, 100%), 4%));
+$fg_color: if($variant == 'light', #2e3436, #eeeeec);
+
+$selected_fg_color: #ffffff;
+$selected_bg_color: if($variant == 'light', #3584e4, darken(#3584e4, 20%));*/
+
+@import '../common/theme_colors.scss';
+@import '../common/common_colors.scss';
+
+$selected_text_bg_color: transparentize($selected_bg_color, 0.7);
+
+
+$headerbar_bg_color: if($variant == 'light', lighten($bg_color, 5%), darken($bg_color, 3%));
+
+$menu_selected_color: $selected_bg_color;//if($variant == 'light', darken($bg_color, 6%), darken($bg_color, 8%));
+
+
+
+
+
+//special cased widget colors
+$switch_bg_color: $selected_bg_color;
+$switch_borders_color: if($variant == 'light',darken($switch_bg_color,15%),darken($switch_bg_color,30%));
+
+$alt_focus_border_color: if($variant == 'light', transparentize(white, 0.2), transparentize(white,0.7));
+$dim_label_opacity: 0.55;
+
+// High Contrast color overrides
+@if $contrast == 'high' {
+
+ $fg_color: if($variant == 'light', darken($fg_color, 3%), lighten($fg_color, 2%));
+ $bg_color: if($variant == 'light', lighten($bg_color, 3%), darken($bg_color, 2%));
+ $selected_bg_color: darken($selected_bg_color,10%);
+ $selected_borders_color: darken($selected_borders_color, 10%);
+ $borders_color: if($variant == 'light', darken($borders_color, 30%), lighten($borders_color, 30%));
+ $alt_borders_color: if($variant == 'light', darken($alt_borders_color, 33%), lighten($alt_borders_color, 28%));
+ $menu_color: $base_color;
+ $menu_selected_color: darken($bg_color,10%);
+
+ //insensitive state derived colors
+ $insensitive_fg_color: mix($fg_color, $bg_color, 50%);
+ $insensitive_bg_color: mix($bg_color, $base_color, 60%);
+ $insensitive_borders_color: mix($borders_color, $bg_color, 80%);
+
+ //focus rings
+ $focus_border_color: if($variant == 'light', transparentize($selected_bg_color, 0.2), transparentize(white, 0.4));
+ $alt_focus_border_color: if($variant == 'light', white, transparentize(white,0.4));
+
+ $dim_label_opacity: 0.9;
+
+ $switch_borders_color: if($variant == 'light',darken($switch_bg_color,15%),lighten($switch_bg_color,15%));
+
+}
diff --git a/source/gtk4/_common.scss b/source/gtk4/_common.scss
new file mode 100644
index 0000000..3930171
--- /dev/null
+++ b/source/gtk4/_common.scss
@@ -0,0 +1,4252 @@
+@import '../common/common_common.scss';
+
+$assets: if($contrast=='normal', 'assets', 'assets-hc');
+$focus_transition: outline-width 200ms $ease-out-quad, outline-offset 200ms $ease-out-quad;
+$menu_margin: $menu_radius; //margin around menuitems & sidebar items
+$window_radius: $button_radius + 3;
+$popover_radius: $button_radius + 4;
+
+/***************
+ * Base States *
+ ***************/
+.background {
+ color: $fg_color;
+ background-color: $bg_color;
+
+ &:backdrop {
+ text-shadow: none;
+ -gtk-icon-shadow: none;
+ }
+}
+
+dnd {
+ color: $fg-color;
+}
+
+.normal-icons {
+ -gtk-icon-size: 16px;
+}
+
+.large-icons {
+ -gtk-icon-size: 32px;
+}
+
+image:disabled {
+ -gtk-icon-filter: opacity(0.5);
+}
+
+.view,
+%view {
+ color: $text_color;
+ background-color: $base_color;
+
+ &:disabled {
+ color: $insensitive_fg_color;
+ background-color: $insensitive_bg_color;
+ }
+
+ &:selected {
+ &:focus, & {
+ @extend %selected_items;
+
+ border-radius: 3px;
+ }
+ }
+}
+
+textview {
+ > text {
+ @extend %view;
+
+ background-color: transparent;
+
+ > selection {
+ background-color: $backdrop_selected_bg_color;
+
+ &:focus-within {
+ background-color: $selected_text_bg_color;
+ }
+ }
+ }
+
+ &:drop(active) {
+ caret-color: $drop_target_color;
+ }
+}
+
+textview > border { background-color: mix($bg_color, $base_color, 50%); }
+
+iconview {
+ @extend .view;
+
+ @include focus-ring();
+
+ &:drop(active) {
+ box-shadow: none;
+ }
+
+ > dndtarget:drop(active) {
+ border-style: solid;
+ border-width: 1px;
+ border-color: $selected_borders_color;
+ }
+}
+
+rubberband {
+ border: 1px solid darken($selected_bg_color, 10%);
+ background-color: transparentize(darken($selected_bg_color, 10%), 0.8);
+}
+
+flowbox {
+ > rubberband { @extend rubberband; }
+
+ > flowboxchild {
+ padding: 3px;
+ transition: $focus_transition;
+
+ @include focus-ring();
+
+ &:selected {
+ outline-color: $alt_focus_border_color;
+
+ @extend %selected_items;
+ }
+ }
+}
+
+gridview {
+ > rubberband { @extend rubberband; }
+
+ > child {
+ padding: 3px;
+ transition: $focus_transition;
+
+ @include focus-ring();
+
+ &:selected {
+ outline-color: $alt_focus_border_color;
+
+ @extend %selected_items;
+ }
+
+ box { //cells
+ border-spacing: 8px; //label separation
+ margin: 12px;
+ }
+ }
+}
+
+coverflow cover {
+ color: $text_color;
+ background-color: $base_color;
+ border: 1px solid black;
+}
+
+label {
+ @include focus-ring();
+
+ &.separator {
+ @extend .dim-label;
+ }
+
+ &:selected { @extend %nobg_selected_items; }
+
+ > selection {
+ background-color: $backdrop_selected_bg_color;
+ color: $selected_fg_color;
+ &:focus-within {
+ background-color: $selected_text_bg_color;
+ }
+ }
+
+ &:disabled {
+ color: $insensitive_fg_color;
+
+ button & { color: inherit; }
+
+ > selection { @extend %selected_items_disabled; }
+ }
+
+ &.error {
+ color: $error_color;
+ &:disabled { color: transparentize($error_color,0.5); }
+ }
+}
+
+.dim-label {
+ opacity: $dim_label_opacity;
+ text-shadow: none;
+}
+
+window.assistant {
+ .sidebar {
+ padding: $menu-margin;
+ border-top: 1px solid $borders_color;
+ }
+
+ &.csd .sidebar { border-top-style: none; }
+
+ .sidebar > label { padding: 6px 12px; }
+
+ .sidebar > label.highlight {
+ background-color: $menu_selected_color;
+ border-radius: $menu-margin;
+ }
+}
+
+window.aboutdialog image.large-icons {
+ -gtk-icon-size: 128px;
+}
+
+%osd,
+.osd {
+ color: $osd_fg_color;
+ border: 1px solid $osd_borders_color;
+ background-color: $osd_bg_color;
+ background-clip: padding-box;
+ //-gtk-icon-shadow: 0 1px black;
+
+}
+
+
+/*********************
+ * Spinner Animation *
+ *********************/
+@keyframes spin {
+ to { transform: rotate(1turn); }
+}
+
+spinner {
+ background: none;
+ opacity: 0.1; // non spinning spinner makes no sense
+ -gtk-icon-source: -gtk-icontheme('process-working-symbolic');
+
+ &:checked {
+ opacity: 1;
+ animation: spin 1s linear infinite;
+
+ &:disabled { opacity: 0.5; color: $insensitive_fg_color; }
+ }
+}
+
+/**********************
+ * General Typography *
+ **********************/
+
+.large-title {
+ font-weight: 300;
+ font-size: 24pt;
+}
+.title-1 {
+ font-weight: 800;
+ font-size: 20pt;
+}
+.title-2 {
+ font-weight: 800;
+ font-size: 15pt;
+}
+.title-3 {
+ font-weight: 700;
+ font-size: 15pt;
+}
+.title-4 {
+ font-weight: 700;
+ font-size: 13pt;
+}
+.heading {
+ font-weight: 700;
+ font-size: 11pt;
+}
+.body {
+ font-weight: 400;
+ font-size: 11pt;
+}
+.caption-heading {
+ font-weight: 700;
+ font-size: 9pt;
+}
+.caption {
+ font-weight: 400;
+ font-size: 9pt;
+}
+
+/****************
+ * Text Entries *
+ ****************/
+
+%entry,
+entry {
+ %entry_basic, & {
+ min-height: 32px;
+ padding-left: 8px;
+ padding-right: 8px;
+ border: 1px solid;
+ border-radius: $button_radius;
+ border-spacing: 6px;
+ transition: all 200ms $ease-out-quad;
+
+ @include entry(normal);
+
+ @include focus-ring($focus-state: 'focus-within');
+
+ > image { // icons inside the entry
+ &.left { margin-right: 6px; }
+ &.right { margin-left: 6px; }
+ }
+
+ > text > placeholder {
+ @extend .dim-label;
+ }
+
+ > text > block-cursor {
+ @include entry(block_cursor);
+ }
+
+ &.flat {
+ &:focus-within, &:backdrop, &:disabled, &:backdrop:disabled, & {
+ min-height: 0;
+ padding: 2px;
+ background-color: transparent;
+ border-color: transparent;
+ border-radius: 0;
+ }
+ }
+
+ &:focus-within {
+ @include entry(focus);
+ > placeholder {
+ opacity: 0; /* We hide placeholders on focus */
+ }
+ }
+
+ &:disabled { @include entry(insensitive); }
+
+ > text > selection {
+ background-color: $backdrop_selected_bg_color;
+ color: transparent;
+ &:focus-within {
+ background-color: $selected_text_bg_color;
+ color: $fg_color;
+ }
+ }
+
+ // entry error and warning style
+ @each $e_type, $e_color in (error, $error_color),
+ (warning, $warning_color) {
+ &.#{$e_type} {
+ color: $e_color;
+
+ @include focus-ring($focus-state: 'focus-within', $fc: transparentize($e_color, 0.5));
+
+ &:focus-within { @include entry(focus, $e_color); }
+
+ > selection { background-color: $e_color; }
+ }
+ }
+
+ > image { // entry icons colors
+ color: mix($fg_color, $base_color, 80%);
+
+ &:hover { color: $fg_color; }
+
+ &:active { color: $selected_bg_color; }
+
+ }
+
+ &.password image.caps-lock-indicator {
+ color: mix($backdrop_fg_color, $backdrop_base_color, 80%);
+ }
+
+ &:drop(active) {
+ &:focus-within, & {
+ border-color: $drop_target_color;
+ box-shadow: inset 0 0 0 1px $drop_target_color;
+ }
+ }
+
+ .osd & {
+ @include entry(osd);
+
+ &:focus-within { @include entry(osd-focus); }
+
+ &:disabled { @include entry(osd-insensitive); }
+ }
+ }
+
+ > progress {
+ margin-bottom: 2px;
+ }
+
+ progress > trough > progress {
+ background-color: transparent;
+ background-image: none;
+ border-radius: 0;
+ border-width: 0 0 2px;
+ border-color: $selected_bg_color;
+ border-style: solid;
+ box-shadow: none;
+
+ }
+
+ // linked entries
+ .linked:not(.vertical) > & { @extend %linked; }
+
+ .linked:not(.vertical) > &:drop(active) + &,
+ .linked:not(.vertical) > &:drop(active) + button,
+ .linked:not(.vertical) > &:drop(active) + menubutton > button,
+ .linked:not(.vertical) > &:drop(active) + dropdown > button,
+ .linked:not(.vertical) > &:drop(active) + colorbutton > button,
+ .linked:not(.vertical) > &:drop(active) + fontbutton > button,
+ .linked:not(.vertical) > &:drop(active) + filechooserbutton > button,
+ .linked:not(.vertical) > &:drop(active) + filechooserbutton > combobox > box > button.combo,
+ .linked:not(.vertical) > &:drop(active) + appchooserbutton > combobox > box > button.combo,
+ .linked:not(.vertical) > &:drop(active) + combobox > box > button.combo { border-left-color: $drop_target_color; }
+
+ // Vertically linked entries
+ // FIXME: take care of "colored" entries
+ .linked.vertical > & {
+ @extend %linked_vertical;
+
+ // brighter border between linked entries
+ &:not(:disabled) + entry:not(:disabled),
+ &:not(:disabled) + %entry:not(:disabled) {
+ border-top-color: mix($borders_color, $base_color, 30%);
+ }
+
+ // brighter border between linked insensitive entries
+ &:disabled + %entry:disabled,
+ &:disabled + entry:disabled { border-top-color: mix($borders_color, $base_color, 30%); }
+
+ + %entry:drop(active):not(:only-child),
+ + entry:drop(active):not(:only-child) { border-top-color: $drop_target_color; }
+
+ &:drop(active):not(:only-child) {
+ + %entry,
+ + entry,
+ + button,
+ + menubutton > button,
+ + dropdown > button,
+ + colorbutton > button,
+ + fontbutton > button,
+ + filechooserbutton > button,
+ + filechooserbutton > combobox > box > button.combo,
+ + appchooserbutton > combobox > box > button.combo,
+ + combobox > box > button.combo { border-top-color: $drop_target_color; }
+ }
+ }
+
+ &.error { color: $error_color; }
+}
+
+treeview entry {
+ &:focus-within {
+ &:dir(rtl), &:dir(ltr) { // specificity bump hack
+ background-color: $base_color;
+ transition-property: color, background;
+ }
+ }
+
+ &.flat, & {
+ border-radius: 0;
+ background-image: none;
+ background-color: $base_color;
+
+ &:focus-within { border-color: $selected_bg_color; }
+ }
+}
+
+/*******************
+ * Editable Labels *
+ *******************/
+editablelabel > stack > text {
+ @include entry(normal);
+}
+
+/***********
+ * Buttons *
+ ***********/
+// stuff for .needs-attention
+$_dot_color: if($variant=='light', $selected_bg_color,
+ lighten($selected_bg_color,15%));
+@keyframes needs_attention {
+ from { background-image: radial-gradient(farthest-side, $_dot_color 0%, transparentize($_dot_color, 1) 0%); }
+ to { background-image: radial-gradient(farthest-side, $_dot_color 95%, transparentize($_dot_color, 1)); }
+}
+
+
+/******************************************************
+ * Buttons *
+ ******************************************************/
+
+
+%button,
+button {
+ @at-root %button_basic, & {
+
+ min-height: $button_min_height;
+ min-width: $button_min_width;
+ padding: $_btn_pad;
+ border: 1px solid;
+ border-radius: $button_radius;
+ transition: $button_transition;
+
+ @include button(normal);
+
+ @include focus-ring();
+
+ &:hover {
+ @include button(hover);
+ -gtk-icon-filter: brightness(1.2);
+ }
+
+ &.keyboard-activating,
+ &:active {
+ @include button(active);
+
+ transition-duration: 50ms;
+ }
+
+ &:checked:hover:not(:active) { @include button(checked-hover); }
+ &:checked, &:checked:active { @include button(checked-active); }
+
+ &:backdrop {
+ &.flat, & {
+ @include button(backdrop);
+
+ transition: $backdrop_transition;
+
+ &:not(:disabled) { -gtk-icon-filter: none; }
+
+ &:active,
+ &:checked { @include button(backdrop-active); }
+
+ &:disabled {
+ @include button(backdrop-insensitive);
+
+ &:active,
+ &:checked { @include button(backdrop-insensitive-active); }
+ }
+ }
+ }
+
+ &:disabled {
+ @include button(insensitive);
+ -gtk-icon-filter: opacity(0.5);
+
+ &:active,
+ &:checked { @include button(insensitive-active); }
+ }
+
+ @at-root %button_basic_flat,
+ &.flat:not(:hover):not(:active):not(:checked):not(:disabled) {
+ @include button(undecorated);
+ // to avoid adjacent buttons borders clashing when transitioning, the transition on the normal state is set
+ // to none, while it's added back in the hover state, so the button decoration will fade in on hover, but
+ // it won't fade out when the pointer leave the button allocation area. To make the transition more evident
+ // in this case the duration is increased.
+ transition: none;
+
+ //&:hover {
+ // @include button(undecorated-hover);
+ // transition: $button_transition;
+ // transition-duration: 500ms;
+ //}
+ //&.keyboard-activating,
+ //&:active,
+ //&:checked {
+ // @include button(undecorated-active);
+ // transition: $button_transition;
+ //}
+ //&:backdrop, &:disabled, &:backdrop:disabled { @include button(undecorated); }
+ }
+
+ &.image-button {
+ min-width: 24px;
+ padding-left: 5px;
+ padding-right: 5px;
+ }
+
+ &.text-button {
+ padding-left: 16px;
+ padding-right: 16px;
+ }
+
+ &.text-button.image-button {
+ padding-left: 8px;
+ padding-right: 8px;
+
+ label {
+ padding-left: 8px;
+ padding-right: 8px;
+ }
+ }
+
+ &.arrow-button {
+ padding-left: 10px;
+ padding-right: 10px;
+
+ > box {
+ border-spacing: 4px;
+ }
+ }
+
+ @at-root %button_basic_drop_active,
+ &:drop(active) {
+ color: $drop_target_color;
+ border-color: $drop_target_color;
+ box-shadow: inset 0 0 0 1px $drop_target_color;
+ }
+ }
+
+ @at-root %button_selected, & {
+ row:selected & {
+ @if $variant == 'light' { border-color: $selected_borders_color; }
+ }
+
+ @at-root %button_selected_flat, &.flat {
+ row:selected & {
+ &:not(:active):not(:checked):not(:hover):not(disabled) {
+ color: $selected_fg_color;
+ border-color: transparent;
+
+ &:backdrop { color: if($variant=='light', $backdrop_base_color, $backdrop_fg_color); }
+ }
+ }
+ }
+ }
+
+
+ // big standalone buttons like in Documents pager
+ &.osd {
+ min-width: 26px;
+ min-height: 32px;
+
+ &.image-button {
+ min-width: 30px;
+ &:only-child {
+ margin: 4px;
+ border-radius: 50%; // completely round when it is a single button
+ box-shadow: 0 1px 2px transparentize(black, 0.8); // drop shadow for the only child
+ };
+ }
+
+ color: $osd_fg_color;
+ border-radius: 5px;
+
+ @include button(osd);
+
+ border: none;
+ box-shadow: none;
+
+ &:hover {
+ @include button(osd-hover);
+
+ border: none;
+ box-shadow: none;
+ }
+
+ &:active,
+ &:checked {
+ @include button(osd-active);
+
+ border: none;
+ box-shadow: none;
+ }
+ }
+
+ //overlay / OSD style
+ @at-root %osd_button,
+ .osd & {
+ @include button(normal, $osd_bg_color, $osd_fg_color);
+
+ &:hover { @include button(hover, $osd_bg_color, $osd_fg_color); }
+
+ &:active,
+ &:checked { &:backdrop, & { @include button(active, $osd_bg_color, $osd_fg_color); }}
+
+ &:disabled { &:backdrop, & { @include button(insensitive); }}
+
+ &.flat {
+ &:not(:hover):not(:active):not(:checked):not(:disabled) {@include button(undecorated, $osd_bg_color, $osd_fg_color);}
+
+ //box-shadow: none;
+ -gtk-icon-shadow: 0 1px black;
+
+ &:hover { @include button(hover, $osd_bg_color, $osd_fg_color); }
+
+ &:disabled {
+ @include button(insensitive);
+ //background-image: none;
+ //border-color: transparent;
+ //box-shadow: none;
+ }
+
+ &:active,
+ &:checked { @include button(active, $osd_bg_color, $osd_fg_color); }
+ }
+ }
+
+ // Suggested and Destructive Action buttons
+ @each $b_type, $b_color in (suggested-action, $selected_bg_color),
+ (destructive-action, $destructive_color) {
+ &.#{$b_type} {
+ @include button(normal, $b_color, white);
+ @include focus-ring($fc: $alt_focus_border_color);
+
+ &.flat {
+ @include button(undecorated);
+
+ color: $b_color; //FIXME: does it work on the dark variant?
+ }
+
+ &:hover { @include button(hover, $b_color, white); }
+
+ &:active,
+ &:checked { @include button(active, $b_color, white); }
+
+ &.flat {
+ &:disabled {
+ @include button(undecorated);
+
+ color: transparentize($b_color, 0.2);
+ }
+ }
+
+ &:disabled {
+ @include button(insensitive);
+
+ &:active,
+ &:checked { @include button(insensitive-active, $b_color, white); }
+ }
+
+ .osd & {
+ @include button(osd, $b_color);
+
+ &:hover { @include button(osd-hover, $b_color); }
+
+ &:active,
+ &:checked { &:backdrop, & { @include button(osd-active, $b_color); }}
+
+ &:disabled { &:backdrop, & { @include button(osd-insensitive, $b_color); }}
+
+ }
+ }
+ }
+
+ stackswitcher > & {
+ // to position the needs attention dot, padding is added to the button
+ // child, a label needs just lateral padding while an icon needs vertical
+ // padding added too.
+
+ > label {
+ padding: 0 6px;
+ margin: 0 -6px;
+ }
+
+ > image {
+ padding: 3px 6px;
+ margin: -3px -6px;
+ }
+
+ &.needs-attention {
+ > label,
+ > image { @extend %needs_attention; }
+ }
+ }
+
+ // hide separators
+ &.font{
+ separator { background-color: transparent; }
+ > box { border-spacing: 6px; }
+ > box > box > label { font-weight: bold; }
+ }
+
+ .linked:not(.vertical) > & { @extend %linked; }
+
+ .linked.vertical > & { @extend %linked_vertical; }
+
+ menubutton.circular &,
+ &.circular { // force circular button shape
+ min-width: 32px;
+ min-height: 32px;
+ padding: 0;
+ border-radius: 9999px;
+
+ label { padding: 0; }
+ }
+}
+
+%needs_attention {
+ // the dot is drawn by using two radial gradient, the first one is the actual dot, the other
+ // simulates the shadow labels and icons normally have in buttons.
+ animation: needs_attention 150ms ease-in;
+
+ background-image: radial-gradient(farthest-side, $_dot_color 96%, transparentize($_dot_color,1 ));
+ background-size: 6px 6px, 6px 6px;
+ background-repeat: no-repeat;
+
+ @if $variant == 'light' { background-position: right 3px, right 4px; }
+
+ @else { background-position: right 3px, right 2px; }
+
+ &:backdrop { background-size: 6px 6px, 0 0;}
+
+ &:dir(rtl) {
+ @if $variant == 'light' { background-position: left 3px, left 4px; }
+
+ @else { background-position: left 3px, left 2px; }
+ }
+}
+
+
+%linked_not_left {
+ border-top-left-radius: 0;
+ border-bottom-left-radius: 0;
+}
+
+%linked_not_right {
+ border-right-style: none;
+ border-top-right-radius: 0;
+ border-bottom-right-radius: 0;
+}
+
+// 1st/last child are at text start/end
+%linked {
+ &:dir(ltr) {
+ &:not(:first-child) { @extend %linked_not_left; }
+ &:not(:last-child) { @extend %linked_not_right; }
+ }
+
+ &:dir(rtl) {
+ &:not(:first-child) { @extend %linked_not_right; }
+ &:not(:last-child) { @extend %linked_not_left; }
+ }
+}
+
+%linked_not_top {
+ border-top-left-radius: 0;
+ border-top-right-radius: 0;
+}
+
+%linked_not_bottom {
+ border-bottom-style: none;
+ border-bottom-left-radius: 0;
+ border-bottom-right-radius: 0;
+}
+
+%linked_vertical {
+ &:not(:first-child) { @extend %linked_not_top; }
+
+ &:not(:last-child) { @extend %linked_not_bottom; }
+}
+
+%undecorated_button {
+ background-color: transparent;
+ background-image: none;
+ border-color: transparent;
+ box-shadow: inset 0 1px transparentize(white, 1),
+ 0 1px transparentize(white, 1);
+ text-shadow: none;
+ -gtk-icon-shadow: none;
+}
+
+.linked:not(.vertical) > menubutton,
+.linked:not(.vertical) > dropdown,
+.linked:not(.vertical) > colorbutton,
+.linked:not(.vertical) > fontbutton,
+.linked:not(.vertical) > filechooserbutton {
+ &:dir(ltr) {
+ &:not(:first-child) > button { @extend %linked_not_left; }
+ &:not(:last-child) > button { @extend %linked_not_right; }
+ }
+
+ &:dir(rtl) {
+ &:not(:first-child) > button { @extend %linked_not_right; }
+ &:not(:last-child) > button { @extend %linked_not_left; }
+ }
+}
+
+.linked.vertical > menubutton,
+.linked.vertical > dropdown,
+.linked.vertical > colorbutton,
+.linked.vertical > fontbutton,
+.linked.vertical > filechooserbutton {
+ &:not(:first-child) > button { @extend %linked_not_top; }
+ &:not(:last-child) > button { @extend %linked_not_bottom; }
+}
+
+/* menu buttons */
+modelbutton.flat {
+ min-height: 26px;
+ padding-left: 5px;
+ padding-right: 5px;
+ border-radius: $button_radius;
+
+ &:not(:hover):not(:active):not(:checked):not(:disabled) {@extend %undecorated_button;}
+
+ //&:hover { background-color: $menu_selected_color; }
+ &:hover:not(.osd):not(:checked):not(:active):not(:disabled):not(:backdrop) {
+ @include button(hover);//, $backimage: $_border_bg);
+ }
+
+ &:disabled {
+ @include button(insensitive);//color: $insensitive_fg_color;
+ }
+
+ &:selected { @extend %selected_items; }
+}
+
+modelbutton.flat arrow {
+ background: none;
+ min-width: 16px;
+ min-height: 16px;
+ opacity: 1; //we don't dim icon
+
+ //&:hover { background: none; }
+ &:hover:not(.osd):not(:checked):not(:active):not(:disabled):not(:backdrop) {
+ @include button(hover);//, $backimage: $_border_bg);
+ }
+
+ &.left { -gtk-icon-source: -gtk-icontheme("go-previous-symbolic"); }
+
+ &.right { -gtk-icon-source: -gtk-icontheme("go-next-symbolic"); }
+}
+
+/* oldstyle toolbar buttons */
+
+.toolbar > button,
+.toolbar > :not(.linked) > button,
+.toolbar :not(.linked) > menubutton > button,
+.toolbar :not(.linked) > scalebutton > button,
+.toolbar :not(.linked) > dropdown > button,
+.toolbar :not(.linked) > colorbutton > button,
+.toolbar :not(.linked) > fontbutton > button,
+.toolbar :not(.linked) > appchooserbutton > button,
+.toolbar :not(.linked) > combobox > box > button {
+ margin: 1px;
+
+ &:not(:hover):not(:active):not(:checked):not(:disabled) {@extend %button_basic_flat;}
+}
+
+button.color {
+ padding: 4px;
+
+ > colorswatch:only-child {
+ &, > overlay { border-radius: 0; }
+
+ @if $variant == 'light' {
+ box-shadow: 0 1px $shadow_color;
+
+ .osd & { box-shadow: none; }
+ }
+ }
+
+ @if $variant == 'light' {
+ .osd &, & {
+ &:disabled,
+ &:active,
+ &:checked { colorswatch:only-child { box-shadow: none; }}
+ }
+ }
+}
+
+/* list buttons */
+/* tone down as per new designs, see issue #1473 */
+%list_button,
+list > row button.image-button:not(.flat) {
+ @extend %undecorated_button;
+ border: 1px solid transparentize($borders_color, .5);
+ &:hover { @include button(hover); }
+ &:active,
+ &:checked { @include button(active); }
+
+ @each $b_type, $b_color in (suggested-action, $selected_bg_color),
+ (destructive-action, $destructive_color) {
+ &.#{$b_type} { // allow colored buttons in lists #3643
+ @include button(normal, $b_color, white);
+ @include focus-ring($fc: $alt_focus_border_color);
+ }
+ }
+}
+
+/*********
+ * Links *
+ *********/
+
+%link,
+link {
+ color: $link_color;
+ text-decoration: underline;
+
+ &:visited {
+ color: $link_visited_color;
+
+ *:selected & { color: mix($selected_fg_color, $link_visited_color, 60%); }
+ }
+
+ &:hover {
+ $_fg: lighten($link_color, 10%);
+ color: $_fg;
+
+ *:selected & { color: mix($selected_fg_color, $_fg, 90%); }
+ }
+
+ &:active {
+ color: $link_color;
+
+ *:selected & { color: mix($selected_fg_color, $link_color, 80%); }
+ }
+
+ &:disabled { color: transparentize(desaturate($link_color, 100%), 0.2); }
+
+ @at-root %link_selected,
+ &:selected,
+ *:selected & { color: mix($selected_fg_color, $link_color, 80%); }
+}
+
+link {
+ @include focus-ring();
+}
+
+button.link {
+ @extend %link;
+
+ &,
+ &:hover,
+ &:active,
+ &:checked {
+ @extend %undecorated_button;
+
+ text-shadow: none;
+ }
+
+ > label {
+ text-decoration: underline;
+ }
+}
+
+
+/*****************
+ * GtkSpinButton *
+ *****************/
+spinbutton {
+ &:not(.vertical) {
+ // in this horizontal configuration, the whole spinbutton
+ // behaves as the entry, so we extend the entry styling
+ // and nuke the style on the internal entry
+ @extend %entry;
+
+ padding: 0;
+ border-spacing: 0;
+
+ %spinbutton_horz_entry {
+ min-width: 28px;
+ // reset all the other props since the spinbutton node is styled here
+ margin: 0;
+ background: none;
+ background-color: transparent;
+ border: none;
+ border-radius: 0;
+ box-shadow: none;
+ padding: 6px;
+
+ &:backdrop:disabled { background-color: $insensitive_bg_color; }
+ }
+
+ > text {
+ @extend %spinbutton_horz_entry;
+ }
+
+ /* :not here just to bump specificity above that of the list button styling */
+ //this instead of the big removed part. Just to make things easier, though it may not be as beautiful.
+ > button.image-button.up:not(.flat),
+ > button.image-button.down:not(.flat) {
+ padding: 0;
+ }
+
+
+
+ }
+
+ // OSD horizontal
+ .osd &:not(.vertical) {
+ > text {
+ @extend %spinbutton_horz_entry;
+ }
+
+ > button.image-button.up:not(.flat),
+ > button.image-button.down:not(.flat) {
+ @include button(undecorated);
+
+ color: $osd_fg_color;
+ border-style: none none none solid;
+ border-color: transparentize($osd_borders_color, 0.3);
+ border-radius: 0;
+ box-shadow: none;
+ -gtk-icon-shadow: 0 1px black;
+
+ &:dir(rtl) { border-style: none solid none none; }
+
+ &:hover {
+ @include button(undecorated);
+
+ color: $osd_fg_color;
+ border-color: transparentize(opacify($osd_borders_color, 1), 0.5);
+ background-color: darken($osd_bg_color,10%);
+ -gtk-icon-shadow: 0 1px black;
+ box-shadow: none;
+ }
+
+ &:disabled {
+ @include button(undecorated);
+
+ color: $osd_insensitive_fg_color;
+ border-color: transparentize(opacify($osd_borders_color, 1), 0.5);
+ -gtk-icon-shadow: none;
+ box-shadow: none;
+ }
+
+ &:dir(ltr):last-child { border-radius: 0 $button_radius $button_radius 0; }
+
+ &:dir(rtl):first-child { border-radius: $button_radius 0 0 $button_radius; }
+ }
+ }
+
+ // Vertical
+ &.vertical {
+ // in the vertical configuration, we treat the spinbutton
+ // as a box, and tweak the style of the entry in the middle
+ // so that it's linked
+
+ // FIXME: this should not be set at all, but otherwise it gets the wrong
+ // color
+ &:disabled { color: $insensitive_fg_color; }
+
+ &:drop(active) {
+ border-color: transparent;
+ box-shadow: none;
+ }
+
+ > text {
+ @extend %entry;
+
+ min-height: 32px;
+ min-width: 32px;
+ padding: 0;
+ border-radius: 0;
+
+ > selection {
+ background-color: $backdrop_selected_bg_color;
+ color: transparent;
+ &:focus-within {
+ background-color: $selected_text_bg_color;
+ color: $selected_fg_color;
+ }
+ }
+ > block-cursor { @include entry(block_cursor); }
+ }
+
+ > button {
+ min-height: 32px;
+ min-width: 32px;
+ padding: 0;
+
+ &.up { @extend %top_button; }
+
+ &.down { @extend %bottom_button; }
+ }
+
+ %top_button {
+ border-bottom-style: none;
+ border-bottom-left-radius: 0;
+ border-bottom-right-radius: 0;
+ }
+
+ %bottom_button {
+ border-top-style: none;
+ border-top-left-radius: 0;
+ border-top-right-radius: 0;
+ }
+ }
+
+ // OSD vertical
+ .osd &.vertical > button:first-child {
+ @include button(osd);
+
+ &:hover { @include button(osd-hover);}
+
+ &:active { @include button(osd-active); }
+
+ &:disabled { @include button(osd-insensitive); }
+ }
+
+ // Misc
+ treeview &:not(.vertical) {
+ min-height: 0;
+ border-style: none;
+ border-radius: 0;
+
+ > text {
+ min-height: 0;
+ padding: 1px 2px;
+ }
+ }
+
+ font-feature-settings: "tnum";
+}
+
+
+/**************
+ * ComboBoxes *
+ **************/
+dropdown > popover.menu.background > contents { padding: 0; } //allow search entries with no margin
+
+dropdown > button > box {
+ border-spacing: 6px;
+
+ > stack > row.activatable:hover {
+ background: none;
+ box-shadow: none;
+ }
+}
+
+dropdown,
+combobox {
+ arrow {
+ -gtk-icon-source: -gtk-icontheme('pan-down-symbolic');
+ min-height: 16px;
+ min-width: 16px;
+ }
+
+ // align menu labels with the button label
+ > popover.menu > contents modelbutton {
+ padding-left: 9px;
+ padding-right: 9px;
+ }
+
+ &.linked {
+ button:nth-child(2) {
+ &:dir(ltr) { @extend %linked_not_left; }
+ &:dir(rtl) { @extend %linked_not_right; }
+ }
+ }
+
+ &:drop(active) { // FIXME: untested
+ box-shadow: none;
+
+ button.combo { @extend %button_basic_drop_active; }
+ }
+
+ // newstyle
+ popover {
+ margin-top: 6px;
+ padding: 0;
+
+ listview {
+
+ margin: 8px 0;
+
+ > row.activatable {
+ padding: 8px;
+
+ &:selected {
+ &, &:hover {
+ outline-color: $alt_focus_border_color;
+ color: $text-color;
+ background-color: $menu_selected_color;
+ box-shadow: none;
+ }
+ }
+ }
+ }
+
+ // drodowns with searchboxes on top
+ .dropdown-searchbar {
+ padding: 6px;
+ border-bottom: 1px solid $borders_color;
+ }
+ }
+}
+
+
+// the combo is a composite widget so the way we do button linking doesn't
+// work, special case needed. See
+// https://bugzilla.gnome.org/show_bug.cgi?id=733979
+
+.linked:not(.vertical) > filechooserbutton > combobox,
+.linked:not(.vertical) > appchooserbutton > combobox,
+.linked:not(.vertical) > combobox {
+ &:dir(ltr) {
+ &:not(:first-child) > box > button.combo { @extend %linked_not_left; }
+ &:not(:last-child) > box > button.combo { @extend %linked_not_right; }
+ }
+
+ &:dir(rtl) {
+ &:not(:first-child) > box > button.combo { @extend %linked_not_right; }
+ &:not(:last-child) > box > button.combo { @extend %linked_not_left; }
+ }
+}
+
+.linked.vertical > filechooserbutton > combobox,
+.linked.vertical > appchooserbutton > combobox,
+.linked.vertical > combobox {
+ &:not(:first-child) > box > button.combo { @extend %linked_not_top; }
+ &:not(:last-child) > box > button.combo { @extend %linked_not_bottom; }
+}
+
+
+/************
+ * Toolbars *
+ ************/
+%toolbar {
+ padding: 4px;
+ border-spacing: 4px;
+ background-color: $bg_color;
+}
+
+.toolbar {
+ @extend %toolbar;
+
+ // on OSD
+ .osd & { background-color: transparent; }
+
+ // stand-alone OSD toolbars
+ &.osd {
+ padding: 13px;
+ border: none;
+ border-radius: 5px;
+ background-color: $osd_bg_color;
+
+ &.left,
+ &.right,
+ &.top,
+ &.bottom { border-radius: 0; } // positional classes for `attached` osd toolbars
+ }
+
+ // toolbar separators
+ &.horizontal > separator { margin: 4px 0; }
+ &.vertical > separator { margin: 0 4px; }
+}
+
+//searchbar & location-bar
+searchbar > revealer > box {
+ padding: 6px;
+ border-spacing: 6px;
+ @extend %toolbar;
+
+ @extend %darkbar;
+
+ border-width: 0 0 1px;
+}
+
+%darkbar {
+ border-style: solid;
+ border-color: $borders_color;
+ $_bg: mix($bg_color, $borders_color, 70%);
+ background-color: $_bg;
+
+ &:backdrop {
+ border-color: $backdrop_borders_color;
+ background-color: $backdrop_dark_fill;
+ box-shadow: none;
+ transition: $backdrop_transition;
+ }
+}
+
+/**************
+ * GtkInfoBar *
+ **************/
+infobar {
+ > revealer > box {
+ padding: 8px;
+ border-spacing: 12px;
+ }
+
+ &.action:hover > revealer > box {
+ background-color: if($variant == 'light', desaturate(lighten(invert($selected_bg_color), 47%), 30%),
+ desaturate(darken(invert($selected_bg_color), 42%), 70%));
+ }
+
+ &.info,
+ &.question,
+ &.warning,
+ &.error {
+ > revealer > box {
+ border-bottom: 1px solid lighten($borders_color, 5%);
+ background-color: if($variant == 'light', desaturate(lighten(invert($selected_bg_color), 45%), 30%),
+ desaturate(darken(invert($selected_bg_color), 40%), 70%));
+ }
+ }
+}
+
+ //close button for info and searchbar (#3215)
+
+ infobar .close,
+ searchbar .close {
+ @include button(undecorated);
+ min-width: 16px;
+ min-height: 16px;
+ padding: 4px;
+ border-radius: 50%;
+
+ &:hover { @include button(hover); }
+ }
+
+
+/*****************
+ * Title buttons *
+ *****************/
+
+windowcontrols {
+ border-spacing: 6px;
+
+ &:not(.empty) {
+ &.start:dir(ltr),
+ &.end:dir(rtl) {
+ margin-right: 7px;
+ }
+
+ &.start:dir(rtl),
+ &.end:dir(ltr) {
+ margin-left: 7px;
+ }
+ }
+
+ button {
+ @extend %button_basic;
+
+ &:not(:hover):not(:active):not(:checked):not(:disabled) {@extend %button_basic_flat;}
+
+
+ border-radius: 9999px;
+ padding: 6px;
+ margin: 0 2px;
+ min-width: 0;
+ min-height: 0;
+ &:hover {
+ //special case hover colors inside a headerbar
+ @include button(hover);//;button(undecorated-hover,$c:darken($headerbar_bg_color,6%));
+ }
+ &:active,
+ &:checked { @include button(active);//button(undecorated-active,$c:darken($headerbar_bg_color,10%));
+ }
+ &.close { background-color: $error_color; color: white;}
+ }
+}
+
+
+/***************
+ * Header bars *
+ ***************/
+%titlebar,
+headerbar {
+ padding: 0 6px;
+ min-height: 46px;
+ border-width: 0 0 1px;
+ border-style: solid;
+ border-color: $alt_borders_color;
+ border-radius: 0;
+
+ @include headerbar_fill(darken($bg_color, 10%));
+
+ &:backdrop {
+ border-color: $backdrop_borders_color;
+ background-color: $bg_color;
+ background-image: none;
+
+ transition: $backdrop_transition;
+ }
+
+ .title {
+ padding-left: 12px;
+ padding-right: 12px;
+ font-weight: bold;
+ }
+
+ .subtitle {
+ font-size: smaller;
+ padding-left: 12px;
+ padding-right: 12px;
+
+ @extend .dim-label;
+ }
+
+ /* Darken switchbuttons for headerbars. issue #1588 */ //removed
+
+
+ // squared corners when the window is maximized, tiled, or fullscreen
+ .tiled &,
+ .tiled-top &,
+ .tiled-left &,
+ .tiled-right &,
+ .tiled-bottom &,
+ .maximized &,
+ .fullscreen & {
+ &:backdrop, & {
+ border-radius: 0;
+ }
+ }
+
+ &.default-decoration {
+ min-height: 28px;
+ padding: 4px;
+
+ windowcontrols {
+ button,
+ menubutton {
+ min-height: 26px;
+ min-width: 26px;
+ margin: 0;
+ padding: 0;
+ }
+
+ menubutton button {
+ min-height: 20px;
+ min-width: 20px;
+ margin: 0;
+ padding: 4px;
+ }
+ }
+ }
+
+ .solid-csd & {
+ &:backdrop, & {
+ &:dir(rtl), &:dir(ltr) { // specificity bump
+ margin-left: -1px;
+ margin-right: -1px;
+ margin-top: -1px;
+ border-radius: 0;
+ box-shadow: none;
+ }
+ }
+ }
+}
+
+headerbar {
+ > windowhandle > box {
+ &,
+ > box.start,
+ > box.end {
+ border-spacing: 6px;
+ }
+ }
+
+ // add vertical margins to common widget on the headerbar to avoid them spanning the whole height
+ entry,
+ spinbutton,
+ separator:not(.sidebar),
+ button,
+ menubutton {
+ margin-top: 6px;
+ margin-bottom: 6px;
+ }
+
+ // Reset margins for buttons inside menubutton
+ menubutton > button {
+ margin-top: 0px;
+ margin-bottom: 0px;
+ }
+
+ switch {
+ margin-top: 10px;
+ margin-bottom: 10px;
+ }
+}
+
+
+.titlebar:not(headerbar) {
+ window.csd > & {
+ // in csd we assume every titlebar is a headerbar so reset anything, this is needed for split toolbars cases
+ padding: 0;
+ background-color: transparent;
+ background-image: none;
+ border-style: none;
+ border-color: transparent;
+ }
+
+ separator { background-color: $borders_color; } // FIXME: use darker border?
+
+ @extend %titlebar;
+}
+
+// Development versions of apps to use a differently styled headerbar
+
+window.devel {
+ headerbar.titlebar {
+ $c: darken($bg_color, 10%);
+ $gradient: cross-fade(10% -gtk-icontheme("system-run-symbolic"), image(transparent)) 90% 0/256px 256px no-repeat,
+ linear-gradient(to right, transparent 65%, transparentize($selected_bg_color, 0.8)),
+ linear-gradient(to top, darken($c, 3%), $c 3px, lighten($c, 6%));
+ @if $variant == 'dark' {
+ $gradient: cross-fade(10% -gtk-icontheme("system-run-symbolic"), image(transparent)) 90% 0/256px 256px no-repeat,
+ linear-gradient(to right, transparent 65%, transparentize($selected_bg_color, 0.9)),
+ linear-gradient(to top, lighten($c, 3%) 3px, lighten($c, 5%));
+ }
+
+ background: $bg_color $gradient;
+
+ &:backdrop {
+ background: $bg_color cross-fade(10% -gtk-icontheme("system-run-symbolic"), image(transparent)) 90% 0/256px 256px no-repeat,
+ image($bg_color); /* background-color would flash */
+ }
+ }
+}
+
+/************
+ * Pathbars *
+ ************/
+
+pathbar > button {
+ &.text-button, &.image-button, & {
+ padding-left: 4px;
+ padding-right: 4px;
+ }
+
+ &.text-button.image-button label {
+ padding-left: 0;
+ padding-right: 0;
+ }
+
+ &.text-button.image-button, & {
+ label:last-child { padding-right: 8px; }
+ label:first-child { padding-left: 8px; }
+ }
+
+ image {
+ padding-left: 4px;
+ padding-right: 4px;
+ }
+
+ &.slider-button {
+ padding-left: 0;
+ padding-right: 0;
+ }
+}
+
+
+/**************
+ * Tree Views *
+ **************/
+
+$_treeview_borders_color: if($variant=='light',mix($borders_color, $base_color,80%),mix($fg_color, $base_color, 20%));
+$_treeview_backdrop_borders_color: if($variant=='light',mix($backdrop_borders_color, $base_color, 80%),mix($backdrop_fg_color, $base_color, 20%));
+columnview.view,
+treeview.view {
+ border-left-color: $_treeview_borders_color; // this is actually the tree lines color,
+ border-top-color: $_treeview_borders_color; // while this is the grid lines color, better then nothing
+
+ @include focus-ring();
+
+ > rubberband { @extend rubberband; } // to avoid borders being overridden by the previously set props
+
+ &:selected {
+ &:focus, & {
+ border-radius: 0;
+ outline-color: $alt_focus_border_color;
+
+ @extend %selected_items;
+ }
+ }
+
+ &:disabled {
+ color: $insensitive_fg_color;
+
+ &:selected {
+ color: mix($selected_fg_color, $selected_bg_color, 40%);
+ &:backdrop { color: mix($backdrop_selected_fg_color, $selected_bg_color, 30%); }
+ }
+ }
+
+ &.separator {
+ min-height: 2px;
+ color: $_treeview_borders_color;
+ }
+
+ &:backdrop {
+ border-left-color: $_treeview_backdrop_borders_color;
+ border-top: $_treeview_backdrop_borders_color;
+ }
+
+ &:drop(active) {
+ box-shadow: none;
+ }
+
+ > dndtarget:drop(active) {
+ border-style: solid none;
+ border-width: 1px;
+ border-color: $selected_borders_color;
+
+ &.after { border-top-style: none; }
+
+ &.before { border-bottom-style: none; }
+ }
+
+ &.expander {
+ // GtkTreeView uses the larger of the expander’s min-width and min-height
+ min-width: 16px;
+ min-height: 16px;
+ -gtk-icon-source: -gtk-icontheme('pan-end-symbolic');
+
+ &:dir(rtl) { -gtk-icon-source: -gtk-icontheme('pan-end-symbolic-rtl'); }
+
+ color: mix($text_color, $base_color, 70%);
+
+ &:hover { color: $text_color; }
+
+ &:selected {
+ color: mix($selected_fg_color, $selected_bg_color, 70%);
+
+ &:hover { color: $selected_fg_color; }
+ }
+
+ &:checked { -gtk-icon-source: -gtk-icontheme('pan-down-symbolic'); }
+ }
+
+ &.progressbar { // progress bar in treeviews
+ @if $variant == light { color: $base_color; }
+
+ background-color: $selected_bg_color;
+ background-image: image($selected_bg_color);
+ box-shadow: none;
+
+ &:selected {
+ &:focus, & {
+
+ @if $variant == 'light' {
+ color: $selected_bg_color;
+
+ }
+
+ @else { box-shadow: inset 0 1px transparentize(white, 0.95); }
+
+ background-image: image($base_color);
+
+ &:backdrop {
+ @if $variant == 'light' {
+ color: $selected_bg_color;
+ }
+ background-color: $backdrop_base_color;
+ }
+ }
+ }
+ }
+
+ &.trough { // progress bar trough in treeviews
+ background-color: transparentize($fg_color,0.9);
+
+ &:selected {
+ &:focus, & {
+ background-color: if($variant == 'light',
+ transparentize($selected_fg_color, 0.7),
+ darken($selected_bg_color, 10%));
+
+ }
+ }
+ }
+
+ > header {
+ > button {
+ $_column_header_color: mix($fg_color, $base_color, 50%);
+
+ @extend %column_header_button;
+
+ color: $_column_header_color;
+ background-color: $base_color;
+ font-weight: bold;
+ text-shadow: none;
+ box-shadow: none;
+
+ &:hover {
+ @extend %column_header_button;
+
+ color: mix($_column_header_color, $fg_color, 50%);
+ box-shadow: none;
+ transition: none; //I shouldn't need this
+ }
+
+ &:active {
+ @extend %column_header_button;
+
+ color: $fg_color;
+ transition: none; //I shouldn't need this
+ }
+ sort-indicator {
+ &.ascending {
+ -gtk-icon-source: -gtk-icontheme('pan-up-symbolic');
+ }
+ &.descending {
+ -gtk-icon-source: -gtk-icontheme('pan-down-symbolic');
+ }
+
+ min-height: 16px;
+ min-width: 16px;
+ }
+ }
+ }
+
+ button.dnd,
+ header.button.dnd { // for treeview-like derive widgets
+ &:active, &:selected, &:hover, & {
+ padding: 0 6px;
+ color: $base_color;
+ background-image: none;
+ background-color: $selected_bg_color;
+ border-style: none;
+ border-radius: 0;
+ box-shadow: inset 0 0 0 1px $base_color;
+ text-shadow: none;
+ transition: none;
+ }
+ }
+
+ acceleditor > label { background-color: $selected_bg_color; } // see tests/testaccel to test
+}
+
+%column_header_button {
+ padding: 0 6px;
+ background-image: none;
+ border-style: none none solid solid;
+ border-color: $_treeview_borders_color;
+ border-radius: 0;
+ text-shadow: none;
+
+ &:disabled {
+ border-color: $bg_color;
+ background-image: none;
+ background-color: $insensitive_bg_color;
+ color: $insensitive_fg_color;
+ }
+
+ &:last-child { &:backdrop, & { border-right-style: none; }}
+}
+
+/***************
+ * Popovers *
+ ***************/
+
+popover.background {
+ background-color: transparent;
+ font: initial; // Decouple the font of popovers from their entry/textview
+
+ > arrow,
+ > contents {
+ $_popover_border: if($variant=='light', transparentize(black, 0.77), transparentize(black, 0.25));
+
+ background-color: $menu_color;
+ background-clip: padding-box;
+ border: 1px solid $_popover_border;
+ box-shadow: 0 1px 2px transparentize(black, 0.7);
+ }
+
+ &:backdrop {
+ background-color: transparent;
+ }
+
+ > contents {
+ padding: 8px;
+ border-radius: $popover_radius;
+
+ > list,
+ > .view,
+ > .toolbar {
+ border-style: none;
+ background-color: transparent;
+ }
+
+ separator {
+ background-color: mix($bg_color, $borders_color, 30%);
+ margin: 3px;
+ }
+
+ list separator { margin: 0; }
+ }
+
+ .osd &,
+ &.touch-selection,
+ &.magnifier {
+ background-color: transparent;
+
+ > arrow,
+ > contents {
+ @extend %osd;
+
+ border: 1px solid transparentize(white, 0.9);
+ box-shadow: none;
+ }
+ }
+
+ &.touch-selection,
+ &.magnifier {
+ button { @extend %osd_button; }
+ }
+}
+
+magnifier {
+ background-color: $base_color;
+}
+
+/**********************
+ * Popover Base Menus *
+ **********************/
+
+$_menu-padding: 12px; //inner menuitem padding
+//global $menu-margin for outside menuitems
+
+popover.menu {
+ padding: 0;
+
+ box.inline-buttons {
+ padding: 0 $_menu-padding;
+
+ button.image-button.model {
+ @include button(undecorated);
+
+ min-height: 30px;
+ min-width: 30px;
+ padding: 0;
+ border: none;
+ outline: none;
+ transition: none;
+
+ &:selected { background: image($menu_selected_color); }
+ }
+ }
+
+ box.circular-buttons {
+ padding: $_menu-padding $_menu-padding 6px;
+
+ button.circular.image-button.model {
+ @extend %list_button;
+
+ padding: 11px;
+ &:focus {
+ background-color: $menu_selected_color;
+ border-color: $menu_selected_color;
+ }
+ }
+ }
+
+ & > arrow,
+ &.background > contents {
+ background-color: $menu_color;
+ padding: $menu-margin;
+ }
+
+ &.background separator {
+ margin: 6px 0;
+ }
+
+ accelerator {
+ color: gtkalpha(currentColor,0.55);
+
+ &:dir(ltr) { margin-left: $_menu-padding; }
+ &:dir(rtl) { margin-right: $_menu-padding; }
+ }
+
+ check,
+ radio {
+ @include check('menu', 'transparent', $text_color);
+
+ &:hover { @include check('menu-active', 'transparent', $text_color); }
+ &:active { @include check('menu-active', 'transparent', $text_color); }
+ }
+
+ //only menu radios have a border
+ //radio { border-color: $borders_color;
+ // &:active { border-color: transparentize($borders_color,0.5); }
+ //}
+
+ arrow.left,
+ radio.left,
+ check.left {
+ margin-left: -2px;
+ margin-right: 6px;
+ }
+
+ arrow.right,
+ radio.right,
+ check.right {
+ margin-left: 6px;
+ margin-right: -2px;
+ }
+
+ modelbutton {
+ min-height: 30px;
+ min-width: 40px;
+ padding: 0 $_menu-padding;
+ border-radius: $menu-margin;
+
+ &:selected {
+ color: $text-color;
+ background-color: $menu_selected_color;
+ }
+ &:selected:active {
+ //@extend %selected_items;
+ //color: $selected_fg_color;
+ background-color: darken($bg_color,14%); // matching buttons
+ }
+ }
+
+ label.title {
+ font-weight: bold;
+ padding: 4px ($_menu-padding + 20px); //this will fall apart with font sizing
+ }
+}
+
+// initial styling for popover menu and bar
+menubar {
+ padding: 0px;
+ box-shadow: inset 0 -1px transparentize(black, 0.9);
+
+ > item {
+ min-height: 16px;
+ padding: 4px 8px;
+
+ &:selected { //Seems like it :hover even with keyboard focus
+ box-shadow: inset 0 -3px $selected_bg_color;
+ color: $link_color;
+ }
+
+ &:disabled {
+ color: $insensitive_fg_color;
+ box-shadow: none;
+ }
+ }
+
+ & > item popover.menu.background > contents {
+ padding: $menu-margin;
+ }
+ //nested submenus
+ & > item popover.menu popover.menu {
+ padding: 0 0 4px 0;
+ }
+ & > item popover.menu.background popover.menu.background > contents {
+ margin: 0;
+ border-radius: $popover_radius; //including top
+ }
+}
+
+
+/*************
+ * Notebooks *
+ *************/
+notebook {
+ @include focus-ring("> header > tabs > tab:checked", $offset: -2px, $focus-state: 'focus:focus-visible');
+
+ > header {
+ padding: 1px;
+ border-color: $borders_color;
+ border-width: 1px;
+ background-color: $dark_fill;
+
+ > tabs { margin: -1px; }
+
+ &.top {
+ border-bottom-style: solid;
+ > tabs {
+ margin-bottom: -2px;
+ > tab {
+ &:hover { box-shadow: inset 0 -4px $borders_color; }
+
+
+ &:checked { box-shadow: inset 0 -4px $selected_bg_color; }
+ }
+ }
+ }
+
+ &.bottom {
+ border-top-style: solid;
+ > tabs {
+ margin-top: -2px;
+ > tab {
+ &:hover { box-shadow: inset 0 4px $borders_color; }
+
+ &:checked { box-shadow: inset 0 4px $selected_bg_color; }
+ }
+ }
+ }
+
+ &.left {
+ border-right-style: solid;
+ > tabs {
+ margin-right: -2px;
+ > tab {
+ &:hover { box-shadow: inset -4px 0 $borders_color; }
+
+ &:checked { box-shadow: inset -4px 0 $selected_bg_color; }
+ }
+ }
+ }
+
+ &.right {
+ border-left-style: solid;
+ > tabs {
+ margin-left: -2px;
+ > tab {
+ &:hover { box-shadow: inset 4px 0 $borders_color; }
+
+ &:checked { box-shadow: inset 4px 0 $selected_bg_color; }
+ }
+ }
+ }
+
+ &.top > tabs > arrow {
+ @extend %notebook_vert_arrows;
+
+ border-top-style: none;
+ }
+
+ &.bottom > tabs > arrow {
+ @extend %notebook_vert_arrows;
+
+ border-bottom-style: none;
+ }
+
+ @at-root %notebook_vert_arrows {
+ margin-left: -5px;
+ margin-right: -5px;
+ padding-left: 4px;
+ padding-right: 4px;
+
+ &.down { -gtk-icon-source: -gtk-icontheme('pan-start-symbolic'); }
+
+ &.up { -gtk-icon-source: -gtk-icontheme('pan-end-symbolic'); }
+ }
+
+ &.left > tabs > arrow {
+ @extend %notebook_horz_arrows;
+
+ border-left-style: none;
+ }
+
+ &.right > tabs > arrow {
+ @extend %notebook_horz_arrows;
+
+ border-right-style: none;
+ }
+
+ @at-root %notebook_horz_arrows {
+ margin-top: -5px;
+ margin-bottom: -5px;
+ padding-top: 4px;
+ padding-bottom: 4px;
+
+ &.down { -gtk-icon-source: -gtk-icontheme('pan-up-symbolic'); }
+
+ &.up { -gtk-icon-source: -gtk-icontheme('pan-down-symbolic'); }
+ }
+
+ > tabs > arrow {
+ @extend %button_basic;
+
+ @extend %button_basic_flat;
+
+ min-height: 16px;
+ min-width: 16px;
+ border-radius: 0;
+
+ &:hover:not(:active):not(:backdrop) {
+ background-clip: padding-box;
+ background-image: none;
+ background-color: transparentize(white, 0.7);
+ border-color: transparent;
+ box-shadow: none;
+ }
+
+ &:disabled { @include button(undecorated); }
+ }
+
+ > tabs > tab {
+ transition: $focus_transition;
+ min-height: 30px;
+ min-width: 30px;
+ padding: 3px 12px;
+
+ color: $fg_color;
+ font-weight: normal;
+
+ border-width: 1px; // for reorderable tabs
+ border-color: transparent; //
+
+ &:hover {
+ color: $fg_color;
+ background-color: darken($dark_fill,4%);
+
+ &.reorderable-page {
+ border-color: transparentize($borders_color, 0.7);
+ background-color: transparentize($bg_color, 0.8);
+ }
+ }
+
+ &:not(:checked) {
+ outline-color: transparent;
+ }
+
+ &:checked {
+ color: $fg_color;
+ &.reorderable-page {
+ border-color: transparentize($borders_color, 0.5);
+ background-color: transparentize($bg_color, 0.5);
+
+ &:hover { background-color: transparentize($bg_color, 0.3); }
+ }
+ }
+
+ // colors the button like the label, overridden otherwise
+ button.flat {
+ color: gtkalpha(currentColor, 0.3);
+ &:hover { color: currentColor; }
+
+ padding: 0;
+ margin-top: 4px;
+ margin-bottom: 4px;
+ // FIXME: generalize .small-button?
+ min-width: 20px;
+ min-height: 20px;
+
+ &:last-child {
+ margin-left: 4px;
+ margin-right: -4px;
+ }
+
+ &:first-child {
+ margin-left: -4px;
+ margin-right: 4px;
+ }
+ }
+ }
+
+ &.top,
+ &.bottom {
+ > tabs {
+ padding-left: 4px;
+ padding-right: 4px;
+
+ &:not(:only-child) {
+ margin-left: 3px;
+ margin-right: 3px;
+
+ &:first-child { margin-left: -1px; }
+ &:last-child { margin-right: -1px; }
+ }
+
+ > tab {
+ margin-left: 4px;
+ margin-right: 4px;
+
+ &.reorderable-page { border-style: none solid; }
+ }
+ }
+ }
+
+ &.left,
+ &.right {
+ > tabs {
+ padding-top: 4px;
+ padding-bottom: 4px;
+
+ &:not(:only-child) {
+ margin-top: 3px;
+ margin-bottom: 3px;
+
+ &:first-child { margin-top: -1px; }
+ &:last-child { margin-bottom: -1px; }
+ }
+
+ > tab {
+ margin-top: 4px;
+ margin-bottom: 4px;
+
+ &.reorderable-page { border-style: solid none; }
+ }
+ }
+ }
+
+ &.top > tabs > tab { padding-bottom: 4px; }
+ &.bottom > tabs > tab { padding-top: 4px; }
+ }
+
+ > stack:not(:only-child) { // the :not(:only-child) is for "hidden" notebooks
+ background-color: $base_color;
+ }
+}
+
+
+/**************
+ * Scrollbars *
+ **************/
+
+scrollbar {
+ $_slider_min_length: 40px;
+ $_slider_width: 8px;
+ $_scrollbar_transition: all 300ms $ease-out-quad;
+ $_fine-tune_slider_border: $_slider_width - 3; //#3672
+
+ background-color: $scrollbar_bg_color;
+ transition: $_scrollbar_transition;
+
+ // scrollbar border
+ &.top { border-bottom: 1px solid $borders_color; }
+ &.bottom { border-top: 1px solid $borders_color; }
+ &.left { border-right: 1px solid $borders_color; }
+ &.right { border-left: 1px solid $borders_color; }
+
+ > range > trough > slider {
+ @extend %button_basic;
+ padding: 0;
+ background-image: none;
+
+ min-width: $_slider_width;
+ min-height: $_slider_width;
+ margin: 3px;
+ //border: 4px solid transparent;
+ border-radius: 10px;
+ background-clip: padding-box;
+ background-color: $scrollbar_slider_color;
+ transition: $_scrollbar_transition;
+
+ &:hover { background-color: $scrollbar_slider_hover_color; }
+
+ &:hover:active { background-color: $scrollbar_slider_active_color; }
+
+ &:disabled { background-color: transparent; }
+ }
+
+ > range.fine-tune {
+ > trough > slider {
+ //transition: none;
+ //min-width: $_fine-tune_slider_border+1;
+ //min-height: $_fine-tune_slider_border+1;
+ &, &:hover, &:active {background-color: $hint_bg;}
+ }
+
+ //&.horizontal > trough > slider { border-width: $_fine-tune_slider_border 4px; }
+ //&.vertical > trough > slider { border-width: 4px $_fine-tune_slider_border; }
+ }
+
+
+
+ &.horizontal > range > trough > slider { min-width: $_slider_min_length; }
+ &.vertical > range > trough > slider { min-height: $_slider_min_length; }
+}
+
+treeview ~ scrollbar.vertical {
+ border-top: 1px solid $borders_color;
+ margin-top: -1px;
+}
+
+/**********
+ * Switch *
+ **********/
+switch {
+ font-weight: bold;
+ font-size: smaller;
+
+ // similar to the .scale
+ border: 1px solid $borders_color;
+ border-radius: 14px;
+ color: $fg_color;
+ background-color: $dark_fill;
+ transition: $focus_transition;
+
+ @include focus-ring($offset: 0, $outer: true);
+
+ headerbar & { background-color: darken($dark_fill,8%); } //3504
+
+ &:checked {
+ color: $selected_fg_color;
+ border-color: $switch_borders_color;
+ background-color: $switch_bg_color;
+ }
+
+ &:disabled {
+ color: $insensitive_fg_color;
+ border-color: $borders_color;
+ background-color: $insensitive_bg_color;
+ text-shadow: none;
+ }
+
+ > slider {
+ @include button(normal);
+
+ margin: -1px;
+ min-width: 24px;
+ min-height: 24px;
+ border: 1px solid;
+ border-color: $borders_color;
+ border-radius: 50%;
+ transition: $button_transition;
+ }
+
+ > image { color: transparent; } /* only show i / o for the accessible theme */
+
+ &:hover > slider {
+ @include button(hover);
+ }
+
+ &:checked > slider { border: 1px solid $switch_borders_color; }
+
+ &:disabled > slider { @include button(insensitive); }
+
+
+ row:selected & {
+ outline-color: $alt_focus_border_color;
+
+ @if $variant == 'light' {
+ box-shadow: none;
+ border-color: $switch_borders_color;
+
+ > slider { &:checked, & { border-color: $switch_borders_color; } }
+ }
+ }
+}
+
+
+/*************************
+ * Check and Radio items *
+ *************************/
+// draw regular check and radio items using our PNG assets
+// all assets are rendered from assets.svg. never add pngs directly
+
+
+//selection-mode
+@each $check_state, $check_icon, $check_color, $check_background in
+ ('', 'none', 'transparent', $checkradio_bg_color),
+ (':hover', 'none', 'transparent', $checkradio_bg_color),
+ (':active', 'none', 'transparent', $checkradio_bg_color),
+ (':backdrop', 'none', 'transparent', '#{desaturate($checkradio_bg_color, 100%)}'),
+ (':checked', '-gtk-icontheme(\'object-select-symbolic\')', $osd_fg_color, $checkradio_bg_color),
+ (':checked:hover', '-gtk-icontheme(\'object-select-symbolic\')', $osd_fg_color, $checkradio_bg_color),
+ (':checked:active', '-gtk-icontheme(\'object-select-symbolic\')', $osd_fg_color, $checkradio_bg_color),
+ (':backdrop:checked', '-gtk-icontheme(\'object-select-symbolic\')', '#{transparentize($osd_fg_color, 0.2)}', '#{desaturate($checkradio_bg_color, 100%)}'), {
+
+ .view.content-view.check#{$check_state}:not(list),
+ .content-view .tile check#{$check_state}:not(list) {
+ margin: 4px;
+ min-width: 32px;
+ min-height: 32px;
+ color: #{$check_color};
+ background-color: #{$check_background};
+ border-radius: 5px;
+ background-image: none;
+ transition: 200ms;
+ box-shadow: none;
+ border-width: 0;
+ -gtk-icon-source: #{$check_icon};
+ -gtk-icon-shadow: none;
+ }
+}
+
+checkbutton {
+ border-spacing: 4px;
+ border-radius: $button_radius;
+ transition: $focus_transition;
+
+ @include focus-ring();
+
+ &.text-button {
+ // this is for a nice focus on check and radios text
+ padding: 4px;
+ }
+}
+
+check,
+radio {
+ min-height: 14px;
+ min-width: 14px;
+ border: 1px solid;
+ -gtk-icon-source: none;
+
+ & {
+ // for unchecked
+ $_c: if($variant=='light', white, $bg_color);
+
+ @each $state, $t in ("", "normal"),
+ (":hover", "hover"),
+ (":active", "active"),
+ (":disabled", "insensitive") {
+ {$state} {
+ @include check($t, $_c);
+ }
+ }
+ }
+
+ & {
+ // for checked
+ @each $t in (':checked'), (':indeterminate') {
+ {$t} {
+ @each $state, $t in ("", "normal"),
+ (":hover", "hover"),
+ (":active", "active"),
+ (":disabled", "insensitive") {
+ {$state} {
+ @include check($t, $checkradio_bg_color, $checkradio_fg_color, $checked: true);
+ }
+ }
+ }
+ }
+ }
+ &:disabled {
+ color:$insensitive_fg_color;
+ border-color: $insensitive_fg_color;
+ }
+
+ @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: $checkradio_borders_color; }
+ }
+
+ .osd & {
+ @include button(osd);
+
+ &:hover { @include button(osd); }
+ &:active { @include button(osd-active); }
+ &:disabled { @include button(osd-insensitive); }
+ }
+}
+
+%check,
+check {
+ border-radius: 3px;
+ -gtk-icon-size: 14px;
+
+ &:checked { -gtk-icon-source: -gtk-scaled(-gtk-recolor(url("#{$assets}/check-symbolic.symbolic.png")),
+ -gtk-recolor(url("#{$assets}/check@2-symbolic.symbolic.png"))); }
+
+ &:indeterminate { -gtk-icon-source: -gtk-scaled(-gtk-recolor(url("#{$assets}/dash-symbolic.symbolic.png")),
+ -gtk-recolor(url("#{$assets}/dash@2-symbolic.symbolic.png"))); }
+}
+
+%radio,
+radio {
+ border-radius: 100%;
+ -gtk-icon-size: 14px;
+
+ &:checked { -gtk-icon-source: -gtk-scaled(-gtk-recolor(url("#{$assets}/bullet-symbolic.symbolic.png")),
+ -gtk-recolor(url("#{$assets}/bullet@2-symbolic.symbolic.png"))); }
+
+ &:indeterminate { -gtk-icon-source: -gtk-scaled(-gtk-recolor(url("#{$assets}/dash-symbolic.symbolic.png")),
+ -gtk-recolor(url("#{$assets}/dash@2-symbolic.symbolic.png"))); }
+}
+
+treeview.view check,
+treeview.view radio {
+ &:selected {
+ &:focus, & {
+ color: $checkradio_fg_color;
+
+ @if $variant == 'light' { border-color: $selected_borders_color; }
+ }
+ }
+}
+
+treeview.view radio:selected { &:selected, &:focus, & { @extend %radio; }} // This is a workaround
+
+
+/************
+ * GtkScale *
+ ************/
+%scale_trough {
+ border: 1px solid $borders_color;
+ border-radius: 3px;
+ background-color: $dark_fill;
+ //padding:1px;
+
+ headerbar & { background-color: darken($dark_fill,8%); } //3504
+
+ &:disabled {
+ background-color: $insensitive_bg_color;
+ border-color: $insensitive_borders_color;
+ }
+
+ // ...on selected list rows
+ row:selected & {
+ &:disabled, & {
+ outline-color: $alt_focus_border_color;
+ border-color: $selected_borders_color;
+ }
+ }
+
+ // OSD
+ .osd & {
+ border-color: $osd_borders_color;
+ background-color: transparentize($osd_borders_color, 0.2);
+
+ &:disabled { background-color: $osd_insensitive_bg_color; }
+ }
+}
+
+%scale_highlight {
+ border: 1px solid $progress_border_color;
+ border-radius: 3px;
+ background-color: $selected_bg_color;
+
+ &:disabled {
+ background-color: transparent;
+ border-color: transparent;
+ }
+
+ // ...on selected list rows
+ row:selected & { &:disabled, & { border-color: $selected_borders_color; }}
+
+ // OSD
+ .osd & {
+ border-color: $osd_borders_color;
+
+ &:disabled { border-color: transparent; }
+ }
+}
+
+scale {
+ // sizing
+ $_marks_length: 6px;
+ $_marks_distance: 6px;
+
+ min-height: 10px;
+ min-width: 10px;
+ padding: 12px;
+
+ @include focus-ring("> trough", $offset: 10px);
+
+ // those are inside the trough node, I need them to show their own border over the trough one, so negative margin
+ > trough {
+ transition: $focus_transition;
+
+ > fill,
+ > highlight { margin: -1px; }
+
+ // the slider is inside the trough, so to have make it bigger there's a negative margin
+
+ > slider {
+ min-height: 18px;
+ min-width: 18px;
+ margin: -9px;
+ }
+ }
+
+ // click-and-hold the slider to activate
+ &.fine-tune {
+ &.horizontal {
+ padding-top: 9px;
+ padding-bottom: 9px;
+ min-height: 16px;
+ }
+
+ &.vertical {
+ padding-left: 9px;
+ padding-right: 9px;
+ min-width: 16px;
+ }
+
+ // to make the trough grow in fine-tune mode
+ > trough > slider { margin: -6px; }
+
+ > trough > fill,
+ > trough > highlight,
+ > trough {
+ border-radius: 5px;
+ }
+ }
+
+ // the backing bit
+ > trough {
+ @extend %scale_trough;
+ }
+
+ // the colored part of the backing bit
+ > trough > highlight { @extend %scale_highlight; }
+
+ // this is another differently styled part of the backing bit, the most relevant use case is for example
+ // in media player to indicate how much video stream as been cached
+ > trough > fill {
+ @extend %scale_trough;
+
+
+ &:disabled {
+ border-color: transparent;
+ background-color: transparent;
+ }
+
+ // OSD
+ .osd & {
+ background-color: mix($osd_fg_color, $osd_borders_color, 25%);
+
+ &:disabled {
+ border-color: transparent;
+ background-color: transparent;
+ }
+ }
+ }
+
+ > trough > slider {
+ @include button(normal);
+ border-width: 1px;
+ border-style: solid;
+ border-radius: 100%;
+ transition: $button_transition;
+ transition-property: background, border, box-shadow;
+
+ &:hover { @include button(hover); }
+
+ &:active { border-color: $selected_borders_color; }
+
+ &:disabled { @include button(insensitive); }
+
+ // ...on selected list rows
+ row:selected & { &:disabled, & { border-color: $selected_borders_color; } }
+
+ // OSD
+ .osd & {
+ @include button(osd);
+ border-color: darken($osd_borders_color, 3%);
+ background-color: opacify($osd_bg_color, 1); // solid background needed here
+
+ &:hover {
+ @include button(osd-hover);
+ background-color: opacify($osd_bg_color, 1); // solid background needed here
+ }
+
+ &:active {
+ @include button(osd-active);
+ background-color: opacify($osd_bg_color, 1); // solid background needed here
+ }
+
+ &:disabled {
+ @include button(osd-insensitive);
+ background-color: opacify($osd_bg_color, 1); // solid background needed here
+ }
+ }
+ }
+
+ > value {
+ color: gtkalpha(currentColor, 0.55);
+ font-feature-settings: "tnum";
+ }
+
+ &.horizontal {
+ > marks {
+ color: gtkalpha(currentColor, 0.55);
+ &.top { margin-bottom: $_marks_distance; }
+ &.bottom { margin-top: $_marks_distance; }
+
+ indicator {
+ background-color: currentColor;
+ min-height: $_marks_length;
+ min-width: 1px;
+ }
+ }
+
+ > value.left { margin-right: 9px; }
+ > value.right { margin-left: 9px; }
+
+ &.fine-tune >marks {
+ &.top { margin-top: 3px; }
+ &.bottom { margin-bottom: 3px; }
+
+ indicator { min-height: ($_marks_length - 3px); }
+ }
+ &.marks-after {slider{ border-radius: 5px 5px 100% 100%;}}
+ &.marks-before {slider{ border-radius: 100% 100% 5px 5px;}}
+
+ }
+
+ &.vertical {
+ > marks {
+ color: gtkalpha(currentColor, 0.55);
+ &.top { margin-right: $_marks_distance; }
+ &.bottom { margin-left: $_marks_distance; }
+
+ indicator {
+ background-color: currentColor;
+ min-height: 1px;
+ min-width: $_marks_length;
+ }
+ }
+
+ > value.top { margin-bottom: 9px; }
+ > value.bottom { margin-top: 9px; }
+
+ &.fine-tune >marks {
+ &.top { margin-left: 3px; }
+ &.bottom { margin-right: 3px; }
+
+ indicator { min-height: ($_marks_length - 3px); }
+ }
+ &.marks-after {slider{ border-radius: 5px 100% 100% 5px;}}
+ &.marks-before {slider{ border-radius: 100% 5px 5px 100%;}}
+ }
+
+ // *WARNING* scale with marks madness following
+
+
+
+ &.color {
+ min-height: 0;
+ min-width: 0;
+
+ > trough {
+ background-image: image($borders_color);
+ background-repeat: no-repeat;
+ }
+
+ &.horizontal {
+ padding: 0 0 15px 0;
+
+ > trough {
+ padding-bottom: 4px;
+ background-position: 0 -3px;
+ border-top-left-radius: 0;
+ border-top-right-radius: 0;
+ }
+
+ > trough > slider {
+ &:dir(ltr), &:dir(rtl) { // specificity bump
+ &:hover, &:backdrop, &:disabled, &:backdrop:disabled, & {
+ margin-bottom: -15px;
+ margin-top: 6px;
+ }
+ }
+ }
+ }
+
+ &.vertical {
+ &:dir(ltr) {
+ padding: 0 0 0 15px;
+
+ > trough {
+ padding-left: 4px;
+ background-position: 3px 0;
+ border-bottom-right-radius: 0;
+ border-top-right-radius: 0;
+ }
+
+ > trough > slider {
+ &:hover, &:backdrop, &:disabled, &:backdrop:disabled, & {
+ margin-left: -15px;
+ margin-right: 6px;
+ }
+ }
+ }
+
+ &:dir(rtl) {
+ padding: 0 15px 0 0;
+
+ > trough {
+ padding-right: 4px;
+ background-position: -3px 0;
+ border-bottom-left-radius: 0;
+ border-top-left-radius: 0;
+ }
+
+ > trough > slider {
+ &:hover, &:backdrop, &:disabled, &:backdrop:disabled, & {
+ margin-right: -15px;
+ margin-left: 6px;
+ }
+ }
+ }
+ }
+
+ &.fine-tune {
+ &.horizontal {
+ &:dir(ltr), &:dir(rtl) { // specificity bump
+ padding: 0 0 12px 0;
+
+ > trough {
+ padding-bottom: 7px;
+ background-position: 0 -6px;
+ }
+
+ > trough > slider {
+ margin-bottom: -15px;
+ margin-top: 6px;
+ }
+ }
+ }
+
+ &.vertical {
+ &:dir(ltr) {
+ padding: 0 0 0 12px;
+
+ > trough {
+ padding-left: 7px;
+ background-position: 6px 0;
+ }
+
+ > trough > slider {
+ margin-left: -15px;
+ margin-right: 6px;
+ }
+ }
+
+ &:dir(rtl) {
+ padding: 0 12px 0 0;
+
+ > trough {
+ padding-right: 7px;
+ background-position: -6px 0;
+ }
+
+ > trough > slider {
+ margin-right: -15px;
+ margin-left: 6px;
+ }
+ }
+ }
+ }
+ }
+}
+
+
+/*****************
+ * Progress bars *
+ *****************/
+progressbar {
+ // sizing
+ &.horizontal {
+ > trough {
+ min-width: 150px;
+ &, > progress { min-height: 2px; }
+ }
+ }
+
+ &.vertical {
+ > trough {
+ min-height: 80px;
+ &, > progress { min-width: 2px; }
+ }
+ }
+
+ &.horizontal > trough > progress { margin: 0 -1px; } // the progress node is positioned after the trough border
+ &.vertical > trough > progress { margin: -1px 0; } // this moves it over it.
+
+
+ // FIXME: insensitive state missing and some other state should be set probably
+ font-size: smaller;
+ color: transparentize($fg_color, 0.6);
+ font-feature-settings: "tnum";
+
+ > trough { @extend %scale_trough; }
+
+ > trough > progress {
+ @extend %scale_highlight; /* share most of scales' */
+ /* override insensitive that is specific to progress */
+ &:disabled {
+ background-color: $insensitive_fg_color;
+ border-color: $insensitive_fg_color;
+ }
+
+ border-radius: 1.5px;
+ $_progress-radius: 5px;
+ &.left {
+ border-top-left-radius: $_progress-radius;
+ border-bottom-left-radius: $_progress-radius;
+ }
+
+ &.right {
+ border-top-right-radius: $_progress-radius;
+ border-bottom-right-radius: $_progress-radius;
+ }
+
+ &.top {
+ border-top-right-radius: $_progress-radius;
+ border-top-left-radius: $_progress-radius;
+ }
+
+ &.bottom {
+ border-bottom-right-radius: $_progress-radius;
+ border-bottom-left-radius: $_progress-radius;
+ }
+ }
+
+ &.osd { // progressbar.osd used for epiphany page loading progress
+ min-width: 3px;
+ min-height: 3px;
+ background-color: transparent;
+
+ > trough {
+ border-style: none;
+ border-radius: 0;
+ background-color: transparent;
+ box-shadow: none;
+
+ > progress {
+ border-style: none;
+ border-radius: 0;
+ }
+ }
+ }
+
+ > trough.empty > progress { all: unset; } // makes the progress indicator disappear, when the fraction is 0
+}
+
+/*************
+ * Level Bar *
+ *************/
+
+$_levelbar_size: 9px;
+$_levelbar_border_radius: 5px;
+
+levelbar {
+ &.horizontal {
+ trough > block {
+ min-height: $_levelbar_size;
+ border-radius: $_levelbar_border_radius;
+
+ &:dir(rtl) {
+ border-radius: 0 $_levelbar_border_radius $_levelbar_border_radius 0;
+ }
+
+ &:dir(ltr) {
+ border-radius: $_levelbar_border_radius 0 0 $_levelbar_border_radius;
+ }
+
+ &.empty,&.full {
+ border-radius: $_levelbar_border_radius;
+ }
+ }
+
+ // segmented level bar
+ &.discrete {
+ trough > block {
+ min-height: 2px;
+ margin: 1px;
+ min-width: 24px;
+ border-radius:0;
+ &:first-child {border-radius: 2px 0 0 2px;}
+ &:last-child {
+ border-radius: 0 2px 2px 0;
+ }
+ }
+ }
+ }
+
+ &.vertical {
+ trough > block {
+ min-width: $_levelbar_size;
+ border-radius: $_levelbar_border_radius;
+ }
+
+ &.discrete > trough > block {
+ min-width: $_levelbar_size - 7px;
+ margin: 1px 0;
+ min-height: 32px;
+ }
+ }
+
+ > trough {
+ padding: 1px;
+ @include entry(normal);
+ &:backdrop { @include entry(backdrop); }
+ }
+
+ // level bar colours
+ > trough > block {
+ border: 1px solid;
+
+ &.low {
+ border-color: $warning_color;
+ background-color: $warning_color;
+ }
+
+ &.high,
+ &:not(.empty) {
+ border-color: $selected_bg_color;
+ background-color: $selected_bg_color;
+ }
+
+ &.full {
+ border-color: $success_color;
+ background-color: $success_color;
+ }
+
+ &.empty {
+ background-color: darken($bg_color, 5%);
+ border-color: darken($bg_color, 5%);
+ }
+ }
+}
+
+
+/****************
+ * Print dialog *
+*****************/
+window.dialog.print {
+ drawing {
+ color: $fg_color;
+ background: none;
+ border: none;
+ padding: 0;
+
+ paper {
+ background: white;
+ color: #2e3436;
+ border: 1px solid $borders_color;
+ }
+
+ }
+
+ .dialog-action-box { margin: 12px; }
+}
+
+
+/**********
+ * Frames *
+ **********/
+frame,
+.frame {
+ border: 1px solid $borders_color;
+}
+
+frame {
+ border-radius: $window_radius;
+
+ > label {
+ margin: 4px;
+ }
+}
+
+actionbar > revealer > box {
+ padding: 6px;
+ border-top: 1px solid $borders_color;
+
+ &, > box.start, > box.end {
+ border-spacing: 6px;
+ }
+}
+
+scrolledwindow {
+ // This is used when content is touch-dragged past boundaries.
+ // draws a box on top of the content, the size changes programmatically.
+ > overshoot {
+ &.top {
+ @include overshoot(top);
+ }
+
+ &.bottom {
+ @include overshoot(bottom);
+ }
+
+ &.left {
+ @include overshoot(left);
+ }
+
+ &.right {
+ @include overshoot(right);
+ }
+ }
+
+ > junction { // the small square between two scrollbars
+ // Only color the top-left (or top right in RTL) pixel, to visually connect
+ // the borders of the two scrollbars.
+
+ background: $borders_color,
+ linear-gradient(to bottom, transparent 1px, $scrollbar_bg_color 1px),
+ linear-gradient(to right, transparent 1px, $scrollbar_bg_color 1px);
+
+ &:dir(rtl) {
+ background: $borders_color,
+ linear-gradient(to bottom, transparent 1px, $scrollbar_bg_color 1px),
+ linear-gradient(to left, transparent 1px, $scrollbar_bg_color 1px);
+ }
+ }
+}
+
+//vbox and hbox separators
+separator {
+ background: lighten($borders_color, 5%);
+ min-width: 1px;
+ min-height: 1px;
+}
+
+
+/*********
+ * Lists *
+ *********/
+listview,
+list {
+ color: $text_color;
+ background-color: $base_color;
+ border-color: $borders_color;
+
+ &:backdrop {
+ color: $backdrop_text_color;
+ background-color: $backdrop_base_color;
+ border-color: $backdrop_borders_color;
+ }
+
+ > row { padding: 2px; }
+ > row.expander { padding: 0px; }
+ > row.expander .row-header { padding: 2px; }
+
+ &.horizontal row.separator,
+ &.separators.horizontal > row:not(.separator) {
+ border-left: 1px solid $_treeview_borders_color;
+ }
+ &:not(.horizontal) row.separator,
+ &.separators:not(.horizontal) > row:not(.separator) {
+ border-bottom: 1px solid $_treeview_borders_color;
+ }
+}
+
+row {
+ @include focus-ring();
+
+ &.activatable {
+ &.has-open-popup, // this is for indicathing which row generated a popover see https://bugzilla.gnome.org/show_bug.cgi?id=754411
+
+ &:hover { background-color: if(variant == light, transparentize($fg_color, 0.9), transparentize($fg_color, 0.95)); }
+
+ &:active { box-shadow: inset 0 2px 2px -2px transparentize(black, 0.8); }
+
+ &:selected {
+ &:active { box-shadow: inset 0 2px 3px -1px transparentize(black, 0.5); }
+
+ &.has-open-popup,
+ &:hover { background-color: mix($fg_color, $selected_bg_color, 10%); }
+ }
+ }
+
+ &:selected {
+ outline-color: $alt_focus_border_color;
+
+ @extend %selected_items;
+ }
+}
+
+columnview {
+ // move padding to child cells
+ > listview > row {
+ padding: 0;
+
+ // align horizontal sizing with header buttons
+ > cell {
+ padding: 8px 6px;
+
+ &:not(:first-child) {
+ border-left: 1px solid transparent;
+ }
+ }
+ }
+
+ // make column separators visible when :show-column-separators is true
+ &.column-separators > listview > row > cell {
+ border-left-color: $_treeview_borders_color;
+ }
+
+ // shrink vertically for .data-table
+ &.data-table > listview > row > cell {
+ padding-top: 2px;
+ padding-bottom: 2px;
+ }
+}
+
+treeexpander {
+ border-spacing: 4px;
+}
+
+/********************************************************
+ * Data Tables *
+ * treeview like tables with individual focusable cells *
+ * https://gitlab.gnome.org/GNOME/gtk/-/issues/2929 *
+ ********************************************************/
+
+columnview row:not(:selected) cell editablelabel:not(.editing):focus-within {
+ outline: 2px solid $focus_border_color;
+}
+
+columnview row:not(:selected) cell editablelabel.editing:focus-within {
+ outline: 2px solid $selected_bg_color;
+}
+
+columnview row:not(:selected) cell editablelabel.editing text selection {
+ background-color: $backdrop_selected_bg_color;
+ color: transparent;
+ &:focus-within {
+ background-color: $selected_text_bg_color;
+ color: $fg_color;
+ }
+}
+
+/*******************************************************
+ * Rich Lists *
+ * Large list usually containing lots of widgets *
+ * https://gitlab.gnome.org/GNOME/gtk/-/issues/3073 *
+ *******************************************************/
+
+
+.rich-list { /* rich lists usually containing other widgets than just labels/text */
+ & > row {
+ padding: 8px 12px;
+ min-height: 32px; /* should be tall even when only containing a label */
+
+ & > box {
+ border-spacing: 12px;
+ }
+ }
+}
+
+/*********************
+ * App Notifications *
+ *********************/
+.app-notification {
+ @extend %osd;
+
+ padding: 10px;
+ border-spacing: 10px;
+ border-radius: 0 0 5px 5px;
+ background-color: $osd_bg_color;
+ background-image: linear-gradient(to bottom, transparentize(black, 0.8),
+ transparent 2px);
+ background-clip: padding-box;
+
+ button { @extend %osd_button; }
+
+ border { border: none; }
+}
+
+
+/*************
+ * Expanders *
+ *************/
+expander {
+ min-width: 16px;
+ min-height: 16px;
+ -gtk-icon-source: -gtk-icontheme('pan-end-symbolic');
+ &:dir(rtl) { -gtk-icon-source: -gtk-icontheme('pan-end-symbolic-rtl'); }
+
+ &:disabled { color: $insensitive_fg_color; }
+
+ &:checked { -gtk-icon-source: -gtk-icontheme('pan-down-symbolic'); }
+}
+
+expander-widget {
+ @include focus-ring("> box > title");
+
+ > box > title {
+ transition: $focus_transition;
+ border-radius: $button_radius;
+
+ &:hover > expander {
+ color: lighten($fg_color,30%); //only lightens the icon
+ }
+ }
+}
+
+.navigation-sidebar,
+placessidebar,
+stackswitcher,
+expander-widget {
+ &:not(decoration):not(window):drop(active):focus,
+ &:not(decoration):not(window):drop(active) {
+ box-shadow: none;
+ }
+}
+
+
+/************
+ * Calendar *
+ ***********/
+calendar {
+ color: $text_color;
+ border: 1px solid $borders_color;
+ font-feature-settings: "tnum";
+
+ > header {
+ border-bottom: 1px solid $borders_color;
+
+ > button {
+ border: none;
+ box-shadow: none;
+ background: none;
+ border-radius: 0;
+ }
+ > button:backdrop {
+ background: none;
+ }
+ }
+
+ > grid {
+ > label.day-name {
+ }
+
+ > label.week-number {
+ }
+
+ > label.today {
+ box-shadow: inset 0px -2px $borders_color;
+
+ &:selected {
+ box-shadow: none;
+ }
+ }
+
+ > label:focus {
+ outline-color: $focus_border_color;
+ outline-offset: -2px;
+ outline-width: 2px;
+ outline-style: solid;
+ }
+
+ > label.day-number {
+ padding: 4px;
+
+ &:selected{
+ @extend %selected_items;
+ border-radius: 3px;
+ }
+ }
+
+ > label.day-number.other-month {
+ color: gtkalpha(currentColor, 0.3);
+ }
+ }
+
+}
+
+
+/***********
+ * Dialogs *
+ ***********/
+window.dialog.message { // Message Dialog styling
+ .titlebar {
+ min-height: 20px;
+ background-image: none;
+ background-color: $bg_color;
+ border-style: none;
+ border-top-left-radius: 7px;
+ border-top-right-radius: 7px;
+ }
+
+ box.dialog-vbox.vertical {
+ border-spacing: 10px;
+ }
+
+ & label.title {
+ font-weight: 800;
+ font-size: 15pt;
+ }
+
+ &.csd { // rounded bottom border styling for csd version
+ &.background {
+ // bigger radius for better antialiasing
+ border-bottom-left-radius: $window_radius+1;
+ border-bottom-right-radius: $window_radius+1;
+ }
+
+ .dialog-action-area button {
+ padding: 10px 14px; // labels are not vertically centered on message dialog, this is a workaround
+ border-radius: 0;
+ border-left-style: solid;
+ border-right-style: none;
+ border-bottom-style: none;
+
+ &:first-child{
+ border-left-style: none;
+ border-bottom-left-radius: 7px;
+ }
+
+ &:last-child {
+ border-bottom-right-radius: 7px;
+ }
+ }
+ }
+}
+
+filechooser {
+ .dialog-action-box {
+ border-top: 1px solid $borders_color;
+ }
+
+ #pathbarbox { border-bottom: 1px solid $bg_color; }
+}
+
+
+filechooserbutton>button>box {
+ border-spacing: 6px;
+}
+filechooserbutton:drop(active) {
+ box-shadow: none;
+ border-color: transparent;
+}
+
+
+/***********
+ * Sidebar *
+ ***********/
+.sidebar {
+ background-color: mix($bg_color, $base_color, 50%);
+
+ &:not(separator) {
+ @at-root %sidebar_left,
+ &:dir(ltr),
+ &.left,
+ &.left:dir(rtl) {
+ border-right: 1px solid $borders_color;
+ border-left-style: none;
+ }
+
+ @at-root %sidebar_right,
+ &:dir(rtl),
+ &.right {
+ border-left: 1px solid $borders_color;
+ border-right-style: none;
+ }
+ }
+
+ listview.view,
+ list { background-color: transparent; }
+
+ paned & { &.left, &.right, &.left:dir(rtl), &:dir(rtl), &:dir(ltr), & { border-style: none; }}
+}
+
+stacksidebar {
+ //not a regular list
+ list.separators:not(.horizontal) > row:not(.separator) {
+ border-bottom: none;
+ }
+ row {
+ padding: 10px 4px;
+ @include focus-ring();
+
+ > label {
+ padding-left: 6px;
+ padding-right: 6px;
+ }
+
+ &.needs-attention > label {
+ @extend %needs_attention;
+ background-size: 6px 6px, 0 0;
+ }
+ &:selected {
+ background-color: $menu_selected_color;
+ border-radius: $menu_radius;
+ color: $fg_color;
+ }
+ &:selected:hover:dir(ltr), &:selected:hover:dir(rtl) {
+ background-color: darken($menu_selected_color,5%);
+ }
+ &.activatable:active, &.activatable:selected:active {
+ box-shadow: none; // #3413
+ }
+ }
+}
+
+separator.sidebar {
+ background-color: $borders_color;
+}
+
+
+/**********************
+ * Navigation Sidebar *
+ **********************/
+
+.navigation-sidebar {
+ padding: $menu-margin 0; //only vertical padding. horizontal row size would clip
+
+ > separator {
+ margin: $menu-margin;
+ }
+
+ > row {
+ min-height: 36px;
+ padding: 0 8px;
+ border-radius: $menu-margin;
+ margin: 0 $menu-margin 2px;
+ @include focus-ring($focus-state: 'focus-visible:focus-within');
+ &:hover {
+ background-color: mix($menu_selected_color, $base_color, 50%);
+ }
+
+ &:selected {
+ background-color: $menu_selected_color;
+ color: inherit;
+
+ &:hover {
+ background-color: mix($menu_selected_color, $base_color, 10%);
+ }
+
+ }
+
+ &:disabled { color: $insensitive_fg_color; }
+ }
+}
+
+
+/****************
+ * File chooser *
+ ****************/
+
+$_placesidebar_icons_opacity: 1;
+
+row image.sidebar-icon { opacity: $_placesidebar_icons_opacity; } // dim the sidebar icons
+ // see bug #786613 for details
+ // on this oddity
+
+/* this should be more generic, only using .navigation-sidebar
+ https://gitlab.gnome.org/GNOME/gtk/-/issues/2929
+*/
+
+placessidebar {
+ .navigation-sidebar > row {
+ // Needs overriding of the `.navigation-sidebar > row` padding
+ padding: 0;
+
+ // Using margins/padding directly in the SidebarRow
+ // will make the animation of the new bookmark row jump
+ > revealer { padding: 0 14px; }
+
+ image.sidebar-icon {
+ &:dir(ltr) { padding-right: 8px; }
+ &:dir(rtl) { padding-left: 8px; }
+ }
+
+ label.sidebar-label {
+ &:dir(ltr) { padding-right: 2px; }
+ &:dir(rtl) { padding-left: 2px; }
+ }
+
+ @at-root button.sidebar-button {
+ @extend %button_basic_flat;
+
+ @extend %button_selected_flat;
+ min-height: 26px;
+ min-width: 26px;
+ margin-top: 3px;
+ margin-bottom: 3px;
+ padding: 0;
+ border-radius: 100%;
+ }
+
+ // in the sidebar case it makes no sense to click the selected row
+ &:selected:active { box-shadow: none; }
+
+ &.sidebar-placeholder-row {
+ padding: 0 8px;
+ min-height: 2px;
+ background-image: image($drop_target_color);
+ background-clip: content-box;
+ }
+
+ &.sidebar-new-bookmark-row { color: $selected_bg_color; }
+
+ &:drop(active):not(:disabled) {
+ color: $drop_target_color;
+ box-shadow: inset 0 1px $drop_target_color,
+ inset 0 -1px $drop_target_color;
+
+ &:selected {
+ color: $selected_fg_color;
+ background-color: $drop_target_color;
+ }
+ }
+ }
+}
+
+placesview {
+ .server-list-button > image {
+ transition: 200ms $ease-out-quad;
+ -gtk-icon-transform: rotate(0turn);
+ }
+
+ .server-list-button:checked > image {
+ transition: 200ms $ease-out-quad;
+ -gtk-icon-transform: rotate(-0.5turn);
+ }
+
+ row.activatable:hover { }
+
+ > actionbar > revealer > box > box{
+ border-spacing: 6px;
+ }
+}
+
+
+/*********
+ * Paned *
+ *********/
+paned {
+ > separator {
+ min-width: 1px;
+ min-height: 1px;
+ -gtk-icon-source: none; // defeats the ugly default handle decoration
+ border-style: none; // just to be sure
+ background-color: transparent;
+ // workaround, using background instead of a border since the border will get rendered twice (?)
+ background-image: image($borders_color);
+ background-size: 1px 1px;
+
+ &:selected { background-image: image($selected_bg_color); } // FIXME is this needed?
+
+ &.wide {
+ min-width: 5px;
+ min-height: 5px;
+ background-color: $bg_color;
+ background-image: image($borders_color), image($borders_color);
+ background-size: 1px 1px, 1px 1px;
+ }
+ }
+
+ &.horizontal > separator {
+ background-repeat: repeat-y;
+
+ &:dir(ltr) {
+ margin: 0 -8px 0 0;
+ padding: 0 8px 0 0;
+ background-position: left;
+ }
+ &:dir(rtl) {
+ margin: 0 0 0 -8px;
+ padding: 0 0 0 8px;
+ background-position: right;
+ }
+
+ &.wide {
+ margin: 0;
+ padding: 0;
+ background-repeat: repeat-y, repeat-y;
+ background-position: left, right;
+ }
+ }
+
+ &.vertical > separator {
+ margin: 0 0 -8px 0;
+ padding: 0 0 8px 0;
+ background-repeat: repeat-x;
+ background-position: top;
+
+ &.wide {
+ margin: 0;
+ padding: 0;
+ background-repeat: repeat-x, repeat-x;
+ background-position: bottom, top;
+ }
+ }
+}
+
+
+/**************
+ * GtkVideo *
+ **************/
+
+video {
+ & image.osd {
+ min-width: 64px;
+ min-height: 64px;
+ border-radius: 32px;
+ }
+ background: black;
+}
+
+/************
+ * Tooltips *
+ ************/
+tooltip {
+ &.background {
+ // background-color needs to be set this way otherwise it gets drawn twice
+ // see https://bugzilla.gnome.org/show_bug.cgi?id=736155 for details.
+ background-color: transparentize($hint_bg, 0.2);
+ background-clip: padding-box;
+ border: 1px solid $tooltip_borders_color; // this subtle border is meant to
+ // not make the tooltip melt with
+ // very dark backgrounds
+ color: $hint_fg;
+ }
+
+ padding: 6px 10px;
+ border-radius: $window_radius;
+ box-shadow: none; // otherwise it gets inherited by windowframe.csd
+
+ > box {
+ border-spacing: 6px;
+ }
+}
+
+
+/*****************
+ * Color Chooser *
+ *****************/
+colorswatch {
+ // This widget is made of two boxes one on top of the other, the lower box is colorswatch {} the other one
+ // is colorswatch overlay {}, colorswatch has the programmatically set background, so most of the style is
+ // applied to the overlay box.
+
+ transition: $focus_transition;
+
+ @include focus-ring($width: 4px, $offset: -2px);
+
+ &:drop(active), & { border-style: none; } // FIXME: implement a proper drop(active) state
+
+ $_colorswatch_radius: 5px;
+
+ // base color corners rounding
+ // to avoid the artifacts caused by rounded corner anti-aliasing the base color
+ // sports a bigger radius.
+ // nth-child is needed by the custom color strip.
+
+ &.top {
+ border-top-left-radius: $_colorswatch_radius + 0.5px;
+ border-top-right-radius: $_colorswatch_radius + 0.5px;
+
+ > overlay {
+ border-top-left-radius: $_colorswatch_radius;
+ border-top-right-radius: $_colorswatch_radius;
+ }
+ }
+
+ &.bottom {
+ border-bottom-left-radius: $_colorswatch_radius + 0.5px;
+ border-bottom-right-radius: $_colorswatch_radius + 0.5px;
+
+ > overlay {
+ border-bottom-left-radius: $_colorswatch_radius;
+ border-bottom-right-radius: $_colorswatch_radius;
+ }
+ }
+
+ &.left,
+ &:first-child:not(.top) {
+ border-top-left-radius: $_colorswatch_radius + 0.5px;
+ border-bottom-left-radius: $_colorswatch_radius + 0.5px;
+
+ > overlay {
+ border-top-left-radius: $_colorswatch_radius;
+ border-bottom-left-radius: $_colorswatch_radius;
+ }
+ }
+
+ &.right,
+ &:last-child:not(.bottom) {
+ border-top-right-radius: $_colorswatch_radius + 0.5px;
+ border-bottom-right-radius: $_colorswatch_radius + 0.5px;
+
+ > overlay {
+ border-top-right-radius: $_colorswatch_radius;
+ border-bottom-right-radius: $_colorswatch_radius;
+ }
+ }
+
+ &.dark {
+ > overlay {
+ color: white;
+ }
+
+ &.activatable:hover > overlay {
+ border-color: if($variant == 'light', transparentize(black, 0.2), $borders_color);
+ }
+ }
+
+ &.light {
+ > overlay {
+ color: black;
+ }
+
+ &.activatable:hover > overlay {
+ border-color: if($variant == 'light', transparentize(black, 0.5), $borders_color);
+ }
+ }
+
+ &:drop(active) {
+ box-shadow: none;
+
+ &.light > overlay {
+ border-color: $drop_target_color;
+ box-shadow: inset 0 0 0 2px if($variant == 'light', darken($drop_target_color, 7%), $borders_color),
+ inset 0 0 0 1px $drop_target_color;
+ }
+
+ &.dark > overlay {
+ border-color: $drop_target_color;
+ box-shadow: inset 0 0 0 2px if($variant == 'light', transparentize(black, 0.7), $borders_color),
+ inset 0 0 0 1px $drop_target_color;
+ }
+ }
+
+ > overlay {
+ border: 1px solid if($variant == 'light', transparentize(black, 0.7), $borders_color);
+ }
+
+ &.activatable:hover > overlay {
+ box-shadow: inset 0 1px transparentize(white, 0.6),
+ inset 0 -1px transparentize(black, 0.8);
+ }
+
+ add-color-button {
+ border-radius: $_colorswatch_radius 0 0 $_colorswatch_radius;
+
+ &:only-child { border-radius: $_colorswatch_radius; }
+
+ > overlay {
+ @include button(normal);
+ }
+
+ &.activatable:hover > overlay {
+ @include button(hover);
+ }
+ }
+
+ &:disabled {
+ opacity: 0.5;
+
+ > overlay {
+ border-color: transparentize(black, 0.4);
+ box-shadow: none;
+ }
+ }
+
+ row:selected & { box-shadow: 0 0 0 2px $selected_fg_color; }
+
+ editor-color-sample {
+ border-radius: 4px;
+
+ > overlay { border-radius: 4.5px; }
+ }
+}
+
+plane {
+ transition: $focus_transition;
+
+ @include focus-ring($offset: 2px, $outer: true);
+}
+
+// colorscale popup
+colorchooser .popover.osd { border-radius: 5px; }
+
+/********
+ * Misc *
+ ********/
+.content-view {
+ background-color: darken($bg_color,7%);
+
+ &:hover { -gtk-icon-filter: brightness(1.2); }
+
+ .tile {
+ margin: 2px;
+ background-color: if($variant=='light', transparent, black);
+ border-radius: 0;
+ padding: 0;
+
+ &:active, &:selected { background-color: if($variant=='light', transparent, $selected_bg_color); }
+ &:disabled { background-color: if($variant=='light', transparent, $insensitive_bg_color); }
+}
+
+ > rubberband { @extend rubberband; }
+
+}
+
+.scale-popup {
+ .osd & { @extend %osd; }
+
+ .osd & button.flat { //FIXME: quick hack, redo properly
+ border-style: none;
+ border-radius: 5px;
+ }
+
+ button { // +/- buttons on GtkVolumeButton popup
+ &:hover {
+ @extend %undecorated_button;
+ background-color: transparentize($fg_color,0.9);
+ border-radius: 5px;
+ }
+ }
+}
+
+
+/**********************
+ * Window Decorations *
+ *********************/
+window {
+ // lamefun trick to get rounded borders regardless of CSD use
+ border-width: 0px;
+
+ // this needs to be transparent
+ // see bug #722563
+ $_wm_border: if($variant=='light', transparentize(black, 0.77), transparentize(black, 0.25));
+ $_wm_border_backdrop: if($variant=='light', transparentize(black, 0.82), transparentize(black, 0.25));
+
+ &.csd {
+ box-shadow: 0 3px 9px 1px transparentize(black, 0.5),
+ 0 0 0 1px $_wm_border; //doing borders with box-shadow
+ margin: 0px;
+ border-radius: $window_radius $window_radius 0 0;
+ &:backdrop {
+ // the transparent shadow here is to enforce that the shadow extents don't
+ // change when we go to backdrop, to prevent jumping windows.
+ // The biggest shadow should be in the same order then in the active state
+ // or the jumping will happen during the transition.
+ box-shadow: 0 3px 9px 1px transparent,
+ 0 2px 6px 2px transparentize(black, 0.8),
+ 0 0 0 1px $_wm_border_backdrop;
+ transition: $backdrop_transition;
+ }
+
+ &.popup {
+ border-radius: $menu_radius;
+ box-shadow: 0 1px 2px transparentize(black, 0.8),
+ 0 0 0 1px transparentize($_wm_border, 0.1);
+ }
+
+ &.dialog.message {
+ border-radius: $window_radius;
+ box-shadow: 0 1px 2px transparentize(black, 0.8),
+ 0 0 0 1px transparentize($_wm_border, 0.1);
+ }
+ }
+
+ &.solid-csd {
+ margin: 0;
+ padding: 4px;
+ border: solid 1px $borders_color;
+ border-radius: 0;
+ box-shadow: inset 0 0 0 4px $borders_color, inset 0 0 0 3px $headerbar_bg_color, inset 0 1px $top_hilight;
+
+ &:backdrop { box-shadow: inset 0 0 0 4px $borders_color, inset 0 0 0 3px $backdrop_bg_color, inset 0 1px $top_hilight; }
+ }
+
+ &.maximized,
+ &.fullscreen { border-radius: 0; box-shadow: none; }
+
+ &.tiled,
+ &.tiled-top,
+ &.tiled-left,
+ &.tiled-right,
+ &.tiled-bottom {
+ border-radius: 0;
+ box-shadow: 0 0 0 1px $_wm_border,
+ 0 0 0 20px transparent; //transparent control workaround -- #3670
+
+ &:backdrop { box-shadow: 0 0 0 1px $_wm_border_backdrop,
+ 0 0 0 20px transparent; // #3670
+ }
+ }
+
+ &.popup { box-shadow: none; }
+
+ // server-side decorations as used by mutter
+ &.ssd { box-shadow: 0 0 0 1px $_wm_border; } //just doing borders, wm draws actual shadows
+
+}
+
+tooltip.csd {
+ border-radius: 5px;
+ box-shadow: none;
+}
+
+// catch all extend :)
+
+//here used to be %selected_items {...}
+
+.monospace { font-family: monospace; }
+
+
+/**********************
+ * Touch Copy & Paste *
+ *********************/
+//touch selection handlebars for the Popover.osd above
+cursor-handle {
+ background-color: transparent;
+ background-image: none;
+ box-shadow: none;
+ border-style: none;
+ min-width: 20px;
+ min-height: 24px;
+ padding-left: 20px;
+ padding-right: 20px;
+ padding-top: 24px;
+ padding-bottom: 24px;
+
+ @each $s,$as in ('',''),
+ (':hover','-hover'),
+ (':active','-active') { //no need for insensitive and backdrop
+ &.top#{$s}:dir(ltr), &.bottom#{$s}:dir(rtl) {
+ $_url: '#{$assets}/text-select-start#{$as}#{$asset_suffix}';
+ -gtk-icon-source: -gtk-scaled(url('#{$_url}.png'),
+ url('#{$_url}@2.png'));
+ }
+
+ &.bottom#{$s}:dir(ltr), &.top#{$s}:dir(rtl) {
+ $_url: '#{$assets}/text-select-end#{$as}#{$asset_suffix}';
+ -gtk-icon-source: -gtk-scaled(url('#{$_url}.png'),
+ url('#{$_url}@2.png'));
+ }
+
+ &.insertion-cursor#{$s}:dir(ltr), &.insertion-cursor#{$s}:dir(rtl) {
+ $_url: '#{$assets}/slider-horz-scale-has-marks-above#{$as}#{$asset_suffix}';
+ -gtk-icon-source: -gtk-scaled(url('#{$_url}.png'),
+ url('#{$_url}@2.png'));
+ }
+ }
+}
+
+shortcuts-section {
+ margin: 20px;
+}
+
+.shortcuts-search-results {
+ margin: 20px;
+ border-spacing: 24px;
+}
+
+// shortcut window keys
+shortcut {
+ border-spacing: 6px;
+}
+
+shortcut > .keycap {
+ min-width: 20px;
+ min-height: 25px;
+ margin-top: 2px;
+ padding-bottom: 3px;
+ padding-left: 6px;
+ padding-right: 6px;
+
+ color: $fg_color;
+ background-color: $base_color;
+ border: 1px solid;
+ border-color: if($variant == 'light', mix($borders_color, $bg_color, 50%), $borders_color);
+ border-radius: 5px;
+ box-shadow: if($variant == 'light', inset 0 -3px mix($base_color, $bg_color, 20%), inset 0 -3px mix($borders_color, $base_color, 60%));
+ font-size: smaller;
+
+}
+
+:not(decoration):not(window):drop(active):focus,
+:not(decoration):not(window):drop(active) { // FIXME needs to be done widget by widget, this wildcard should really die
+ border-color: $drop_target_color;
+ box-shadow: inset 0 0 0 1px $drop_target_color;
+ caret-color: $drop_target_color;
+}
+
+stackswitcher > button.text-button { min-width: 100px; } // FIXME aggregate with buttons
+
+stackswitcher.circular {
+ border-spacing: 12px;
+
+ // FIXME aggregate with buttons
+ > button.circular,
+ > button.text-button.circular {
+ min-width: 32px;
+ min-height: 32px;
+ padding: 0;
+ }
+}
+/*************
+ * App Icons *
+ *************/
+/* Outline for low res icons */
+.lowres-icon {
+ -gtk-icon-shadow: 0 -1px rgba(0,0,0,0.05),
+ 1px 0 rgba(0,0,0,0.1),
+ 0 1px rgba(0,0,0,0.3),
+ -1px 0 rgba(0,0,0,0.1);
+}
+
+/* Drapshadow for large icons */
+.icon-dropshadow {
+ -gtk-icon-shadow: 0 1px 12px rgba(0,0,0,0.05),
+ 0 -1px rgba(0,0,0,0.05),
+ 1px 0 rgba(0,0,0,0.1),
+ 0 1px rgba(0,0,0,0.3),
+ -1px 0 rgba(0,0,0,0.1);
+}
+
+/*********
+ * Emoji *
+ ********/
+
+popover.emoji-picker > contents {
+ padding: 0;
+}
+
+.emoji-searchbar {
+ padding: 6px;
+ border-spacing: 6px;
+ border-bottom: 1px solid $borders_color;
+}
+
+.emoji-toolbar {
+ padding: 6px;
+ border-spacing: 6px;
+ border-top: 1px solid $borders_color;
+}
+
+button.emoji-section {
+ border-color: transparent;
+ border-width: 3px;
+ border-style: none none solid;
+ border-radius: 0;
+
+ padding: 3px 0 0;
+ min-width: 32px;
+ min-height: 28px;
+
+ /* reset props inherited from the button style */
+ background: none;
+ box-shadow: none;
+ text-shadow: none;
+
+ &:hover { border-color: if($variant == 'light', $borders_color, transparentize($fg_color, .9)); }
+ &:checked { border-color: $selected_bg_color; }
+}
+
+popover.emoji-picker emoji {
+ font-size: x-large;
+ padding: 6px;
+ border-radius: 6px;
+
+ &:focus,
+ &:hover {
+ background: $selected_bg_color;
+ }
+}
+
+emoji-completion-row > box {
+ border-spacing: 10px;
+ padding: 2px 10px;
+}
+
+emoji-completion-row:focus,
+emoji-completion-row:hover {
+ background-color: $selected_bg_color;
+ color: $selected_fg_color;
+}
+
+emoji-completion-row emoji:focus,
+emoji-completion-row emoji:hover {
+ background-color: $menu_selected_color;
+}
+
+popover.entry-completion > contents {
+ padding: 0;
+}
+
+statusbar {
+ padding: 6px 10px 6px 10px;
+}
+
+menubutton {
+ > button > box {
+ border-spacing: 6px;
+ }
+
+ arrow {
+ min-height: 16px;
+ min-width: 16px;
+ &.none {
+ -gtk-icon-source: -gtk-icontheme('open-menu-symbolic');
+ }
+ &.down {
+ -gtk-icon-source: -gtk-icontheme('pan-down-symbolic');
+ }
+ &.up {
+ -gtk-icon-source: -gtk-icontheme('pan-up-symbolic');
+ }
+ &.left {
+ -gtk-icon-source: -gtk-icontheme('pan-start-symbolic');
+ }
+ &.right {
+ -gtk-icon-source: -gtk-icontheme('pan-end-symbolic');
+ }
+ }
+}
diff --git a/source/gtk4/_drawing.scss b/source/gtk4/_drawing.scss
new file mode 100644
index 0000000..be59669
--- /dev/null
+++ b/source/gtk4/_drawing.scss
@@ -0,0 +1,207 @@
+// Drawing mixins
+
+// generic drawing of more complex things
+
+//
+// Helper mixin for drawing visible focus rings
+//
+// If $target is specified, the focus ring is applied to the specified child element.
+// If $outer is true, the focus ring extends outward. Otherwise, it extends inward.
+// If $within is true, use focus-within instead of focus:focus-visible
+//
+
+//to allow some common mixins to know whether they've been called for a gtk3 or gtk4 widget, because there are some things that are different.
+$gtk: 4;
+
+
+@mixin focus-ring($target: null, $width: 2px, $offset: -$width, $outer: false, $focus-state: 'focus:focus-visible', $fc: $focus_border_color) {
+ transition-property: outline, outline-width, outline-offset, outline-color;
+ transition-duration: 300ms;
+ animation-timing-function: ease-in-out;
+ & #{$target} {
+ outline: 0 solid transparent;
+ outline-offset: if($outer, $offset + 4px, $offset + $width + 4px);
+ }
+
+ &:#{$focus-state} #{$target} {
+ outline-color: $fc;
+ outline-width: $width;
+ outline-offset: $offset;
+ }
+}
+
+@mixin _shadows($list...) {
+//
+// Helper mixin to stack up to box-shadows;
+//
+ $shadows: null;
+
+ @each $shadow in $list {
+ @if $shadow!=none { $shadows: $shadows, $shadow; }
+ }
+
+ box-shadow: $shadows;
+}
+
+// entries
+
+@mixin entry($t, $fc:$focus_border_color) {
+//
+// Entries drawing function
+//
+// $t: entry type
+// $fc: focus color
+//
+// possible $t values:
+// normal, focus, insensitive, backdrop, backdrop-insensitive, osd, osd-focus, osd-backdrop, block_cursor;
+//
+ $_entry_shadow: 0 1px 2px transparentize($shadow_hard_color, 0.6);
+ $_hilight_color: _button_hilight_color($bg_color);
+
+ @if $t==normal {
+ color: $text_color;
+ border-color: $borders_color;
+ background-color: $base_color;
+ @include _shadows(inset $_entry_shadow, 0 1px $_hilight_color);
+ // for the transition to work the number of shadows in different states needs to match, hence the transparent shadow here.
+ }
+
+
+ @if $t==insensitive {
+ color: $insensitive_fg_color;
+ border-color: $insensitive_fg_color;
+ background-color: $insensitive_bg_color;
+ }
+ @if $t==backdrop {
+ color: $backdrop_text_color;
+ border-color: $backdrop_borders_color;
+ background-color: $backdrop_base_color;
+ }
+ @if $t==backdrop-insensitive {
+ color: $backdrop_insensitive_color;
+ border-color: $backdrop_borders_color;
+ background-color: $insensitive_bg_color;
+ }
+ @if $t==osd {
+ color: $osd_text_color;
+ border-color: $osd_borders_color;
+ background-color: transparentize(opacify($osd_borders_color, 1), 0.5);
+ background-clip: padding-box;
+ @include _shadows(inset $_entry_shadow, 0 1px $_hilight_color);
+ -gtk-icon-shadow: 0 1px black;
+ }
+ @if $t==osd-focus {
+ color: $osd_text_color;
+ border-color: $selected_bg_color;
+ background-color: transparentize(opacify($osd_borders_color, 1), 0.5);
+ background-clip: padding-box;
+ @include _shadows(inset $_entry_shadow, 0 1px $_hilight_color);
+ }
+ @if $t==osd-insensitive {
+ color: $osd_insensitive_fg_color;
+ border-color: $osd_borders_color;
+ background-color: $osd_insensitive_bg_color;
+ background-clip: padding-box;
+ }
+ @if $t==osd-backdrop {
+ color: $osd_text_color;
+ border-color: $osd_borders_color;
+ background-color: transparentize(opacify($osd_borders_color, 1), 0.5);
+ background-clip: padding-box;
+ }
+ @if $t==block_cursor {
+ color: $base_color;
+ background-color: $text_color;
+ }
+}
+
+// buttons
+
+
+@import "../common/buttons.scss";
+
+
+
+@mixin headerbar_fill($c:$headerbar_bg_color, $ov: none) {
+//
+// headerbar fill
+//
+// $c: base color
+// $ov: a background layer for background shorthand (hence no commas!)
+//
+ $gradient: linear-gradient(to top, darken($c, 2%), lighten($c, 1%));
+
+ @if $variant == 'dark' { $gradient: linear-gradient(to top, lighten($c, 4%), lighten($c, 6%)); }
+
+ @if $ov != none { background: $c $ov, $gradient; }
+ @else { background: $c $gradient; }
+
+}
+
+@mixin overshoot($p, $t:normal, $c:$fg_color) {
+//
+// overshoot
+//
+// $p: position
+// $t: type
+// $c: base color
+//
+// possible $p values:
+// top, bottom, right, left
+//
+// possible $t values:
+// normal, backdrop
+//
+
+ $_small_gradient_length: 3%;
+ $_big_gradient_length: 50%;
+
+ $_small_gradient_size: 100% $_small_gradient_length;
+ $_big_gradient_size: 100% $_big_gradient_length;
+
+ @if $p==right or $p==left {
+ $_small_gradient_size: $_small_gradient_length 100%;
+ $_big_gradient_size: $_big_gradient_length 100%;
+ }
+
+ $_small_gradient_color: $c;
+ $_big_gradient_color: transparentize($c, 0.93);
+
+ @if $c==$fg_color {
+ $_small_gradient_color: darken($borders_color, 10%);
+ $_big_gradient_color: transparentize($fg_color, 0.93);
+
+ @if $t==backdrop { $_small_gradient_color: $backdrop_borders_color; }
+ }
+
+ $_small_gradient: radial-gradient(farthest-side at $p,
+ $_small_gradient_color 85%,
+ transparentize($_small_gradient_color, 1));
+
+ $_big_gradient: radial-gradient(farthest-side at $p,
+ $_big_gradient_color,
+ transparentize($_big_gradient_color, 1));
+
+ @if $t==normal {
+ background-image: $_small_gradient, $_big_gradient;
+ background-size: $_small_gradient_size, $_big_gradient_size;
+ }
+
+ @else if $t==backdrop {
+ background-image: $_small_gradient;
+ background-size: $_small_gradient_size;
+ }
+
+ background-repeat: no-repeat;
+ background-position: $p;
+
+ background-color: transparent; // reset some properties to be sure to not inherit them somehow
+ border: none; //
+ box-shadow: none; //
+}
+
+/***************************
+ * Check and Radio buttons *
+ ***************************/
+
+@import "../common/checkradios.scss";
diff --git a/source/gtk4/_theme-colors.scss b/source/gtk4/_theme-colors.scss
new file mode 120000
index 0000000..c86566d
--- /dev/null
+++ b/source/gtk4/_theme-colors.scss
@@ -0,0 +1 @@
+../_theme_colors.scss
\ No newline at end of file
diff --git a/source/gtk4/assets-hc.svg b/source/gtk4/assets-hc.svg
new file mode 100644
index 0000000..fba1531
--- /dev/null
+++ b/source/gtk4/assets-hc.svg
@@ -0,0 +1,1348 @@
+
+
diff --git a/source/gtk4/assets-hc/bullet-symbolic.svg b/source/gtk4/assets-hc/bullet-symbolic.svg
new file mode 100644
index 0000000..c029973
--- /dev/null
+++ b/source/gtk4/assets-hc/bullet-symbolic.svg
@@ -0,0 +1,155 @@
+
+
+
+
diff --git a/source/gtk4/assets-hc/bullet-symbolic.symbolic.png b/source/gtk4/assets-hc/bullet-symbolic.symbolic.png
new file mode 100644
index 0000000..2ccb0e8
Binary files /dev/null and b/source/gtk4/assets-hc/bullet-symbolic.symbolic.png differ
diff --git a/source/gtk4/assets-hc/bullet@2-symbolic.symbolic.png b/source/gtk4/assets-hc/bullet@2-symbolic.symbolic.png
new file mode 100644
index 0000000..e9df425
Binary files /dev/null and b/source/gtk4/assets-hc/bullet@2-symbolic.symbolic.png differ
diff --git a/source/gtk4/assets-hc/check-symbolic.svg b/source/gtk4/assets-hc/check-symbolic.svg
new file mode 100644
index 0000000..bac5cd6
--- /dev/null
+++ b/source/gtk4/assets-hc/check-symbolic.svg
@@ -0,0 +1,154 @@
+
+
+
+
diff --git a/source/gtk4/assets-hc/check-symbolic.symbolic.png b/source/gtk4/assets-hc/check-symbolic.symbolic.png
new file mode 100644
index 0000000..eed1f45
Binary files /dev/null and b/source/gtk4/assets-hc/check-symbolic.symbolic.png differ
diff --git a/source/gtk4/assets-hc/check@2-symbolic.symbolic.png b/source/gtk4/assets-hc/check@2-symbolic.symbolic.png
new file mode 100644
index 0000000..f7c143f
Binary files /dev/null and b/source/gtk4/assets-hc/check@2-symbolic.symbolic.png differ
diff --git a/source/gtk4/assets-hc/dash-symbolic.svg b/source/gtk4/assets-hc/dash-symbolic.svg
new file mode 100644
index 0000000..7886d54
--- /dev/null
+++ b/source/gtk4/assets-hc/dash-symbolic.svg
@@ -0,0 +1,153 @@
+
+
+
+
diff --git a/source/gtk4/assets-hc/dash-symbolic.symbolic.png b/source/gtk4/assets-hc/dash-symbolic.symbolic.png
new file mode 100644
index 0000000..c20d4ba
Binary files /dev/null and b/source/gtk4/assets-hc/dash-symbolic.symbolic.png differ
diff --git a/source/gtk4/assets-hc/dash@2-symbolic.symbolic.png b/source/gtk4/assets-hc/dash@2-symbolic.symbolic.png
new file mode 100644
index 0000000..d2b3385
Binary files /dev/null and b/source/gtk4/assets-hc/dash@2-symbolic.symbolic.png differ
diff --git a/source/gtk4/assets-hc/slider-horz-scale-has-marks-above-active-dark.png b/source/gtk4/assets-hc/slider-horz-scale-has-marks-above-active-dark.png
new file mode 100644
index 0000000..c9709fe
Binary files /dev/null and b/source/gtk4/assets-hc/slider-horz-scale-has-marks-above-active-dark.png differ
diff --git a/source/gtk4/assets-hc/slider-horz-scale-has-marks-above-active-dark@2.png b/source/gtk4/assets-hc/slider-horz-scale-has-marks-above-active-dark@2.png
new file mode 100644
index 0000000..bb54815
Binary files /dev/null and b/source/gtk4/assets-hc/slider-horz-scale-has-marks-above-active-dark@2.png differ
diff --git a/source/gtk4/assets-hc/slider-horz-scale-has-marks-above-active.png b/source/gtk4/assets-hc/slider-horz-scale-has-marks-above-active.png
new file mode 100644
index 0000000..ce170ee
Binary files /dev/null and b/source/gtk4/assets-hc/slider-horz-scale-has-marks-above-active.png differ
diff --git a/source/gtk4/assets-hc/slider-horz-scale-has-marks-above-active@2.png b/source/gtk4/assets-hc/slider-horz-scale-has-marks-above-active@2.png
new file mode 100644
index 0000000..7e1c31e
Binary files /dev/null and b/source/gtk4/assets-hc/slider-horz-scale-has-marks-above-active@2.png differ
diff --git a/source/gtk4/assets-hc/slider-horz-scale-has-marks-above-dark.png b/source/gtk4/assets-hc/slider-horz-scale-has-marks-above-dark.png
new file mode 100644
index 0000000..883cd0c
Binary files /dev/null and b/source/gtk4/assets-hc/slider-horz-scale-has-marks-above-dark.png differ
diff --git a/source/gtk4/assets-hc/slider-horz-scale-has-marks-above-dark@2.png b/source/gtk4/assets-hc/slider-horz-scale-has-marks-above-dark@2.png
new file mode 100644
index 0000000..2606032
Binary files /dev/null and b/source/gtk4/assets-hc/slider-horz-scale-has-marks-above-dark@2.png differ
diff --git a/source/gtk4/assets-hc/slider-horz-scale-has-marks-above-hover-dark.png b/source/gtk4/assets-hc/slider-horz-scale-has-marks-above-hover-dark.png
new file mode 100644
index 0000000..1d86a17
Binary files /dev/null and b/source/gtk4/assets-hc/slider-horz-scale-has-marks-above-hover-dark.png differ
diff --git a/source/gtk4/assets-hc/slider-horz-scale-has-marks-above-hover-dark@2.png b/source/gtk4/assets-hc/slider-horz-scale-has-marks-above-hover-dark@2.png
new file mode 100644
index 0000000..ceb9862
Binary files /dev/null and b/source/gtk4/assets-hc/slider-horz-scale-has-marks-above-hover-dark@2.png differ
diff --git a/source/gtk4/assets-hc/slider-horz-scale-has-marks-above-hover.png b/source/gtk4/assets-hc/slider-horz-scale-has-marks-above-hover.png
new file mode 100644
index 0000000..c92db2c
Binary files /dev/null and b/source/gtk4/assets-hc/slider-horz-scale-has-marks-above-hover.png differ
diff --git a/source/gtk4/assets-hc/slider-horz-scale-has-marks-above-hover@2.png b/source/gtk4/assets-hc/slider-horz-scale-has-marks-above-hover@2.png
new file mode 100644
index 0000000..27cc910
Binary files /dev/null and b/source/gtk4/assets-hc/slider-horz-scale-has-marks-above-hover@2.png differ
diff --git a/source/gtk4/assets-hc/slider-horz-scale-has-marks-above-insensitive-dark.png b/source/gtk4/assets-hc/slider-horz-scale-has-marks-above-insensitive-dark.png
new file mode 100644
index 0000000..5d5bc7d
Binary files /dev/null and b/source/gtk4/assets-hc/slider-horz-scale-has-marks-above-insensitive-dark.png differ
diff --git a/source/gtk4/assets-hc/slider-horz-scale-has-marks-above-insensitive-dark@2.png b/source/gtk4/assets-hc/slider-horz-scale-has-marks-above-insensitive-dark@2.png
new file mode 100644
index 0000000..4603029
Binary files /dev/null and b/source/gtk4/assets-hc/slider-horz-scale-has-marks-above-insensitive-dark@2.png differ
diff --git a/source/gtk4/assets-hc/slider-horz-scale-has-marks-above-insensitive.png b/source/gtk4/assets-hc/slider-horz-scale-has-marks-above-insensitive.png
new file mode 100644
index 0000000..e0faaf0
Binary files /dev/null and b/source/gtk4/assets-hc/slider-horz-scale-has-marks-above-insensitive.png differ
diff --git a/source/gtk4/assets-hc/slider-horz-scale-has-marks-above-insensitive@2.png b/source/gtk4/assets-hc/slider-horz-scale-has-marks-above-insensitive@2.png
new file mode 100644
index 0000000..75217d2
Binary files /dev/null and b/source/gtk4/assets-hc/slider-horz-scale-has-marks-above-insensitive@2.png differ
diff --git a/source/gtk4/assets-hc/slider-horz-scale-has-marks-above.png b/source/gtk4/assets-hc/slider-horz-scale-has-marks-above.png
new file mode 100644
index 0000000..37869d9
Binary files /dev/null and b/source/gtk4/assets-hc/slider-horz-scale-has-marks-above.png differ
diff --git a/source/gtk4/assets-hc/slider-horz-scale-has-marks-above@2.png b/source/gtk4/assets-hc/slider-horz-scale-has-marks-above@2.png
new file mode 100644
index 0000000..7eb1d10
Binary files /dev/null and b/source/gtk4/assets-hc/slider-horz-scale-has-marks-above@2.png differ
diff --git a/source/gtk4/assets-hc/slider-horz-scale-has-marks-below-active-dark.png b/source/gtk4/assets-hc/slider-horz-scale-has-marks-below-active-dark.png
new file mode 100644
index 0000000..d255965
Binary files /dev/null and b/source/gtk4/assets-hc/slider-horz-scale-has-marks-below-active-dark.png differ
diff --git a/source/gtk4/assets-hc/slider-horz-scale-has-marks-below-active-dark@2.png b/source/gtk4/assets-hc/slider-horz-scale-has-marks-below-active-dark@2.png
new file mode 100644
index 0000000..f25bd29
Binary files /dev/null and b/source/gtk4/assets-hc/slider-horz-scale-has-marks-below-active-dark@2.png differ
diff --git a/source/gtk4/assets-hc/slider-horz-scale-has-marks-below-active.png b/source/gtk4/assets-hc/slider-horz-scale-has-marks-below-active.png
new file mode 100644
index 0000000..269fcd9
Binary files /dev/null and b/source/gtk4/assets-hc/slider-horz-scale-has-marks-below-active.png differ
diff --git a/source/gtk4/assets-hc/slider-horz-scale-has-marks-below-active@2.png b/source/gtk4/assets-hc/slider-horz-scale-has-marks-below-active@2.png
new file mode 100644
index 0000000..62830dc
Binary files /dev/null and b/source/gtk4/assets-hc/slider-horz-scale-has-marks-below-active@2.png differ
diff --git a/source/gtk4/assets-hc/slider-horz-scale-has-marks-below-dark.png b/source/gtk4/assets-hc/slider-horz-scale-has-marks-below-dark.png
new file mode 100644
index 0000000..7ab6415
Binary files /dev/null and b/source/gtk4/assets-hc/slider-horz-scale-has-marks-below-dark.png differ
diff --git a/source/gtk4/assets-hc/slider-horz-scale-has-marks-below-dark@2.png b/source/gtk4/assets-hc/slider-horz-scale-has-marks-below-dark@2.png
new file mode 100644
index 0000000..5b0502b
Binary files /dev/null and b/source/gtk4/assets-hc/slider-horz-scale-has-marks-below-dark@2.png differ
diff --git a/source/gtk4/assets-hc/slider-horz-scale-has-marks-below-hover-dark.png b/source/gtk4/assets-hc/slider-horz-scale-has-marks-below-hover-dark.png
new file mode 100644
index 0000000..7044e48
Binary files /dev/null and b/source/gtk4/assets-hc/slider-horz-scale-has-marks-below-hover-dark.png differ
diff --git a/source/gtk4/assets-hc/slider-horz-scale-has-marks-below-hover-dark@2.png b/source/gtk4/assets-hc/slider-horz-scale-has-marks-below-hover-dark@2.png
new file mode 100644
index 0000000..089b902
Binary files /dev/null and b/source/gtk4/assets-hc/slider-horz-scale-has-marks-below-hover-dark@2.png differ
diff --git a/source/gtk4/assets-hc/slider-horz-scale-has-marks-below-hover.png b/source/gtk4/assets-hc/slider-horz-scale-has-marks-below-hover.png
new file mode 100644
index 0000000..00ea0c3
Binary files /dev/null and b/source/gtk4/assets-hc/slider-horz-scale-has-marks-below-hover.png differ
diff --git a/source/gtk4/assets-hc/slider-horz-scale-has-marks-below-hover@2.png b/source/gtk4/assets-hc/slider-horz-scale-has-marks-below-hover@2.png
new file mode 100644
index 0000000..f43026a
Binary files /dev/null and b/source/gtk4/assets-hc/slider-horz-scale-has-marks-below-hover@2.png differ
diff --git a/source/gtk4/assets-hc/slider-horz-scale-has-marks-below-insensitive-dark.png b/source/gtk4/assets-hc/slider-horz-scale-has-marks-below-insensitive-dark.png
new file mode 100644
index 0000000..12f249a
Binary files /dev/null and b/source/gtk4/assets-hc/slider-horz-scale-has-marks-below-insensitive-dark.png differ
diff --git a/source/gtk4/assets-hc/slider-horz-scale-has-marks-below-insensitive-dark@2.png b/source/gtk4/assets-hc/slider-horz-scale-has-marks-below-insensitive-dark@2.png
new file mode 100644
index 0000000..29c21fb
Binary files /dev/null and b/source/gtk4/assets-hc/slider-horz-scale-has-marks-below-insensitive-dark@2.png differ
diff --git a/source/gtk4/assets-hc/slider-horz-scale-has-marks-below-insensitive.png b/source/gtk4/assets-hc/slider-horz-scale-has-marks-below-insensitive.png
new file mode 100644
index 0000000..93cc0a6
Binary files /dev/null and b/source/gtk4/assets-hc/slider-horz-scale-has-marks-below-insensitive.png differ
diff --git a/source/gtk4/assets-hc/slider-horz-scale-has-marks-below-insensitive@2.png b/source/gtk4/assets-hc/slider-horz-scale-has-marks-below-insensitive@2.png
new file mode 100644
index 0000000..56d01a7
Binary files /dev/null and b/source/gtk4/assets-hc/slider-horz-scale-has-marks-below-insensitive@2.png differ
diff --git a/source/gtk4/assets-hc/slider-horz-scale-has-marks-below.png b/source/gtk4/assets-hc/slider-horz-scale-has-marks-below.png
new file mode 100644
index 0000000..acffa04
Binary files /dev/null and b/source/gtk4/assets-hc/slider-horz-scale-has-marks-below.png differ
diff --git a/source/gtk4/assets-hc/slider-horz-scale-has-marks-below@2.png b/source/gtk4/assets-hc/slider-horz-scale-has-marks-below@2.png
new file mode 100644
index 0000000..146d377
Binary files /dev/null and b/source/gtk4/assets-hc/slider-horz-scale-has-marks-below@2.png differ
diff --git a/source/gtk4/assets-hc/slider-vert-scale-has-marks-above-active-dark.png b/source/gtk4/assets-hc/slider-vert-scale-has-marks-above-active-dark.png
new file mode 100644
index 0000000..e4f4a79
Binary files /dev/null and b/source/gtk4/assets-hc/slider-vert-scale-has-marks-above-active-dark.png differ
diff --git a/source/gtk4/assets-hc/slider-vert-scale-has-marks-above-active-dark@2.png b/source/gtk4/assets-hc/slider-vert-scale-has-marks-above-active-dark@2.png
new file mode 100644
index 0000000..814d8d3
Binary files /dev/null and b/source/gtk4/assets-hc/slider-vert-scale-has-marks-above-active-dark@2.png differ
diff --git a/source/gtk4/assets-hc/slider-vert-scale-has-marks-above-active.png b/source/gtk4/assets-hc/slider-vert-scale-has-marks-above-active.png
new file mode 100644
index 0000000..7896ba0
Binary files /dev/null and b/source/gtk4/assets-hc/slider-vert-scale-has-marks-above-active.png differ
diff --git a/source/gtk4/assets-hc/slider-vert-scale-has-marks-above-active@2.png b/source/gtk4/assets-hc/slider-vert-scale-has-marks-above-active@2.png
new file mode 100644
index 0000000..ed202d6
Binary files /dev/null and b/source/gtk4/assets-hc/slider-vert-scale-has-marks-above-active@2.png differ
diff --git a/source/gtk4/assets-hc/slider-vert-scale-has-marks-above-dark.png b/source/gtk4/assets-hc/slider-vert-scale-has-marks-above-dark.png
new file mode 100644
index 0000000..d8b1adc
Binary files /dev/null and b/source/gtk4/assets-hc/slider-vert-scale-has-marks-above-dark.png differ
diff --git a/source/gtk4/assets-hc/slider-vert-scale-has-marks-above-dark@2.png b/source/gtk4/assets-hc/slider-vert-scale-has-marks-above-dark@2.png
new file mode 100644
index 0000000..7012463
Binary files /dev/null and b/source/gtk4/assets-hc/slider-vert-scale-has-marks-above-dark@2.png differ
diff --git a/source/gtk4/assets-hc/slider-vert-scale-has-marks-above-hover-dark.png b/source/gtk4/assets-hc/slider-vert-scale-has-marks-above-hover-dark.png
new file mode 100644
index 0000000..465c7f8
Binary files /dev/null and b/source/gtk4/assets-hc/slider-vert-scale-has-marks-above-hover-dark.png differ
diff --git a/source/gtk4/assets-hc/slider-vert-scale-has-marks-above-hover-dark@2.png b/source/gtk4/assets-hc/slider-vert-scale-has-marks-above-hover-dark@2.png
new file mode 100644
index 0000000..10d8a8d
Binary files /dev/null and b/source/gtk4/assets-hc/slider-vert-scale-has-marks-above-hover-dark@2.png differ
diff --git a/source/gtk4/assets-hc/slider-vert-scale-has-marks-above-hover.png b/source/gtk4/assets-hc/slider-vert-scale-has-marks-above-hover.png
new file mode 100644
index 0000000..509d490
Binary files /dev/null and b/source/gtk4/assets-hc/slider-vert-scale-has-marks-above-hover.png differ
diff --git a/source/gtk4/assets-hc/slider-vert-scale-has-marks-above-hover@2.png b/source/gtk4/assets-hc/slider-vert-scale-has-marks-above-hover@2.png
new file mode 100644
index 0000000..98ad078
Binary files /dev/null and b/source/gtk4/assets-hc/slider-vert-scale-has-marks-above-hover@2.png differ
diff --git a/source/gtk4/assets-hc/slider-vert-scale-has-marks-above-insensitive-dark.png b/source/gtk4/assets-hc/slider-vert-scale-has-marks-above-insensitive-dark.png
new file mode 100644
index 0000000..5d0b5bd
Binary files /dev/null and b/source/gtk4/assets-hc/slider-vert-scale-has-marks-above-insensitive-dark.png differ
diff --git a/source/gtk4/assets-hc/slider-vert-scale-has-marks-above-insensitive-dark@2.png b/source/gtk4/assets-hc/slider-vert-scale-has-marks-above-insensitive-dark@2.png
new file mode 100644
index 0000000..343e53d
Binary files /dev/null and b/source/gtk4/assets-hc/slider-vert-scale-has-marks-above-insensitive-dark@2.png differ
diff --git a/source/gtk4/assets-hc/slider-vert-scale-has-marks-above-insensitive.png b/source/gtk4/assets-hc/slider-vert-scale-has-marks-above-insensitive.png
new file mode 100644
index 0000000..598a9f0
Binary files /dev/null and b/source/gtk4/assets-hc/slider-vert-scale-has-marks-above-insensitive.png differ
diff --git a/source/gtk4/assets-hc/slider-vert-scale-has-marks-above-insensitive@2.png b/source/gtk4/assets-hc/slider-vert-scale-has-marks-above-insensitive@2.png
new file mode 100644
index 0000000..47d7bf7
Binary files /dev/null and b/source/gtk4/assets-hc/slider-vert-scale-has-marks-above-insensitive@2.png differ
diff --git a/source/gtk4/assets-hc/slider-vert-scale-has-marks-above.png b/source/gtk4/assets-hc/slider-vert-scale-has-marks-above.png
new file mode 100644
index 0000000..cad097b
Binary files /dev/null and b/source/gtk4/assets-hc/slider-vert-scale-has-marks-above.png differ
diff --git a/source/gtk4/assets-hc/slider-vert-scale-has-marks-above@2.png b/source/gtk4/assets-hc/slider-vert-scale-has-marks-above@2.png
new file mode 100644
index 0000000..600f11a
Binary files /dev/null and b/source/gtk4/assets-hc/slider-vert-scale-has-marks-above@2.png differ
diff --git a/source/gtk4/assets-hc/slider-vert-scale-has-marks-below-active-dark.png b/source/gtk4/assets-hc/slider-vert-scale-has-marks-below-active-dark.png
new file mode 100644
index 0000000..c6bbb4f
Binary files /dev/null and b/source/gtk4/assets-hc/slider-vert-scale-has-marks-below-active-dark.png differ
diff --git a/source/gtk4/assets-hc/slider-vert-scale-has-marks-below-active-dark@2.png b/source/gtk4/assets-hc/slider-vert-scale-has-marks-below-active-dark@2.png
new file mode 100644
index 0000000..2cb440b
Binary files /dev/null and b/source/gtk4/assets-hc/slider-vert-scale-has-marks-below-active-dark@2.png differ
diff --git a/source/gtk4/assets-hc/slider-vert-scale-has-marks-below-active.png b/source/gtk4/assets-hc/slider-vert-scale-has-marks-below-active.png
new file mode 100644
index 0000000..2460eaf
Binary files /dev/null and b/source/gtk4/assets-hc/slider-vert-scale-has-marks-below-active.png differ
diff --git a/source/gtk4/assets-hc/slider-vert-scale-has-marks-below-active@2.png b/source/gtk4/assets-hc/slider-vert-scale-has-marks-below-active@2.png
new file mode 100644
index 0000000..b9d2047
Binary files /dev/null and b/source/gtk4/assets-hc/slider-vert-scale-has-marks-below-active@2.png differ
diff --git a/source/gtk4/assets-hc/slider-vert-scale-has-marks-below-dark.png b/source/gtk4/assets-hc/slider-vert-scale-has-marks-below-dark.png
new file mode 100644
index 0000000..56778d5
Binary files /dev/null and b/source/gtk4/assets-hc/slider-vert-scale-has-marks-below-dark.png differ
diff --git a/source/gtk4/assets-hc/slider-vert-scale-has-marks-below-dark@2.png b/source/gtk4/assets-hc/slider-vert-scale-has-marks-below-dark@2.png
new file mode 100644
index 0000000..44e5360
Binary files /dev/null and b/source/gtk4/assets-hc/slider-vert-scale-has-marks-below-dark@2.png differ
diff --git a/source/gtk4/assets-hc/slider-vert-scale-has-marks-below-hover-dark.png b/source/gtk4/assets-hc/slider-vert-scale-has-marks-below-hover-dark.png
new file mode 100644
index 0000000..0ce28e7
Binary files /dev/null and b/source/gtk4/assets-hc/slider-vert-scale-has-marks-below-hover-dark.png differ
diff --git a/source/gtk4/assets-hc/slider-vert-scale-has-marks-below-hover-dark@2.png b/source/gtk4/assets-hc/slider-vert-scale-has-marks-below-hover-dark@2.png
new file mode 100644
index 0000000..2c1c925
Binary files /dev/null and b/source/gtk4/assets-hc/slider-vert-scale-has-marks-below-hover-dark@2.png differ
diff --git a/source/gtk4/assets-hc/slider-vert-scale-has-marks-below-hover.png b/source/gtk4/assets-hc/slider-vert-scale-has-marks-below-hover.png
new file mode 100644
index 0000000..ff055d5
Binary files /dev/null and b/source/gtk4/assets-hc/slider-vert-scale-has-marks-below-hover.png differ
diff --git a/source/gtk4/assets-hc/slider-vert-scale-has-marks-below-hover@2.png b/source/gtk4/assets-hc/slider-vert-scale-has-marks-below-hover@2.png
new file mode 100644
index 0000000..a68e750
Binary files /dev/null and b/source/gtk4/assets-hc/slider-vert-scale-has-marks-below-hover@2.png differ
diff --git a/source/gtk4/assets-hc/slider-vert-scale-has-marks-below-insensitive-dark.png b/source/gtk4/assets-hc/slider-vert-scale-has-marks-below-insensitive-dark.png
new file mode 100644
index 0000000..69e56a9
Binary files /dev/null and b/source/gtk4/assets-hc/slider-vert-scale-has-marks-below-insensitive-dark.png differ
diff --git a/source/gtk4/assets-hc/slider-vert-scale-has-marks-below-insensitive-dark@2.png b/source/gtk4/assets-hc/slider-vert-scale-has-marks-below-insensitive-dark@2.png
new file mode 100644
index 0000000..612ad7e
Binary files /dev/null and b/source/gtk4/assets-hc/slider-vert-scale-has-marks-below-insensitive-dark@2.png differ
diff --git a/source/gtk4/assets-hc/slider-vert-scale-has-marks-below-insensitive.png b/source/gtk4/assets-hc/slider-vert-scale-has-marks-below-insensitive.png
new file mode 100644
index 0000000..42cc778
Binary files /dev/null and b/source/gtk4/assets-hc/slider-vert-scale-has-marks-below-insensitive.png differ
diff --git a/source/gtk4/assets-hc/slider-vert-scale-has-marks-below-insensitive@2.png b/source/gtk4/assets-hc/slider-vert-scale-has-marks-below-insensitive@2.png
new file mode 100644
index 0000000..376affc
Binary files /dev/null and b/source/gtk4/assets-hc/slider-vert-scale-has-marks-below-insensitive@2.png differ
diff --git a/source/gtk4/assets-hc/slider-vert-scale-has-marks-below.png b/source/gtk4/assets-hc/slider-vert-scale-has-marks-below.png
new file mode 100644
index 0000000..962abbe
Binary files /dev/null and b/source/gtk4/assets-hc/slider-vert-scale-has-marks-below.png differ
diff --git a/source/gtk4/assets-hc/slider-vert-scale-has-marks-below@2.png b/source/gtk4/assets-hc/slider-vert-scale-has-marks-below@2.png
new file mode 100644
index 0000000..c230252
Binary files /dev/null and b/source/gtk4/assets-hc/slider-vert-scale-has-marks-below@2.png differ
diff --git a/source/gtk4/assets-hc/text-select-end-active-dark.png b/source/gtk4/assets-hc/text-select-end-active-dark.png
new file mode 100644
index 0000000..7ea84c9
Binary files /dev/null and b/source/gtk4/assets-hc/text-select-end-active-dark.png differ
diff --git a/source/gtk4/assets-hc/text-select-end-active-dark@2.png b/source/gtk4/assets-hc/text-select-end-active-dark@2.png
new file mode 100644
index 0000000..e76ae1a
Binary files /dev/null and b/source/gtk4/assets-hc/text-select-end-active-dark@2.png differ
diff --git a/source/gtk4/assets-hc/text-select-end-active.png b/source/gtk4/assets-hc/text-select-end-active.png
new file mode 100644
index 0000000..ceb4845
Binary files /dev/null and b/source/gtk4/assets-hc/text-select-end-active.png differ
diff --git a/source/gtk4/assets-hc/text-select-end-active@2.png b/source/gtk4/assets-hc/text-select-end-active@2.png
new file mode 100644
index 0000000..f5239f6
Binary files /dev/null and b/source/gtk4/assets-hc/text-select-end-active@2.png differ
diff --git a/source/gtk4/assets-hc/text-select-end-dark.png b/source/gtk4/assets-hc/text-select-end-dark.png
new file mode 100644
index 0000000..6877425
Binary files /dev/null and b/source/gtk4/assets-hc/text-select-end-dark.png differ
diff --git a/source/gtk4/assets-hc/text-select-end-dark@2.png b/source/gtk4/assets-hc/text-select-end-dark@2.png
new file mode 100644
index 0000000..c18f034
Binary files /dev/null and b/source/gtk4/assets-hc/text-select-end-dark@2.png differ
diff --git a/source/gtk4/assets-hc/text-select-end-hover-dark.png b/source/gtk4/assets-hc/text-select-end-hover-dark.png
new file mode 100644
index 0000000..eca1f77
Binary files /dev/null and b/source/gtk4/assets-hc/text-select-end-hover-dark.png differ
diff --git a/source/gtk4/assets-hc/text-select-end-hover-dark@2.png b/source/gtk4/assets-hc/text-select-end-hover-dark@2.png
new file mode 100644
index 0000000..750edc3
Binary files /dev/null and b/source/gtk4/assets-hc/text-select-end-hover-dark@2.png differ
diff --git a/source/gtk4/assets-hc/text-select-end-hover.png b/source/gtk4/assets-hc/text-select-end-hover.png
new file mode 100644
index 0000000..0a7e0cd
Binary files /dev/null and b/source/gtk4/assets-hc/text-select-end-hover.png differ
diff --git a/source/gtk4/assets-hc/text-select-end-hover@2.png b/source/gtk4/assets-hc/text-select-end-hover@2.png
new file mode 100644
index 0000000..29e94c7
Binary files /dev/null and b/source/gtk4/assets-hc/text-select-end-hover@2.png differ
diff --git a/source/gtk4/assets-hc/text-select-end.png b/source/gtk4/assets-hc/text-select-end.png
new file mode 100644
index 0000000..87187dc
Binary files /dev/null and b/source/gtk4/assets-hc/text-select-end.png differ
diff --git a/source/gtk4/assets-hc/text-select-end@2.png b/source/gtk4/assets-hc/text-select-end@2.png
new file mode 100644
index 0000000..cbbb5e9
Binary files /dev/null and b/source/gtk4/assets-hc/text-select-end@2.png differ
diff --git a/source/gtk4/assets-hc/text-select-start-active-dark.png b/source/gtk4/assets-hc/text-select-start-active-dark.png
new file mode 100644
index 0000000..87a9b9e
Binary files /dev/null and b/source/gtk4/assets-hc/text-select-start-active-dark.png differ
diff --git a/source/gtk4/assets-hc/text-select-start-active-dark@2.png b/source/gtk4/assets-hc/text-select-start-active-dark@2.png
new file mode 100644
index 0000000..7ae3297
Binary files /dev/null and b/source/gtk4/assets-hc/text-select-start-active-dark@2.png differ
diff --git a/source/gtk4/assets-hc/text-select-start-active.png b/source/gtk4/assets-hc/text-select-start-active.png
new file mode 100644
index 0000000..3e7196e
Binary files /dev/null and b/source/gtk4/assets-hc/text-select-start-active.png differ
diff --git a/source/gtk4/assets-hc/text-select-start-active@2.png b/source/gtk4/assets-hc/text-select-start-active@2.png
new file mode 100644
index 0000000..fbdee10
Binary files /dev/null and b/source/gtk4/assets-hc/text-select-start-active@2.png differ
diff --git a/source/gtk4/assets-hc/text-select-start-dark.png b/source/gtk4/assets-hc/text-select-start-dark.png
new file mode 100644
index 0000000..ff80dca
Binary files /dev/null and b/source/gtk4/assets-hc/text-select-start-dark.png differ
diff --git a/source/gtk4/assets-hc/text-select-start-dark@2.png b/source/gtk4/assets-hc/text-select-start-dark@2.png
new file mode 100644
index 0000000..b3ff620
Binary files /dev/null and b/source/gtk4/assets-hc/text-select-start-dark@2.png differ
diff --git a/source/gtk4/assets-hc/text-select-start-hover-dark.png b/source/gtk4/assets-hc/text-select-start-hover-dark.png
new file mode 100644
index 0000000..9ce0aa8
Binary files /dev/null and b/source/gtk4/assets-hc/text-select-start-hover-dark.png differ
diff --git a/source/gtk4/assets-hc/text-select-start-hover-dark@2.png b/source/gtk4/assets-hc/text-select-start-hover-dark@2.png
new file mode 100644
index 0000000..29b890c
Binary files /dev/null and b/source/gtk4/assets-hc/text-select-start-hover-dark@2.png differ
diff --git a/source/gtk4/assets-hc/text-select-start-hover.png b/source/gtk4/assets-hc/text-select-start-hover.png
new file mode 100644
index 0000000..2ef0011
Binary files /dev/null and b/source/gtk4/assets-hc/text-select-start-hover.png differ
diff --git a/source/gtk4/assets-hc/text-select-start-hover@2.png b/source/gtk4/assets-hc/text-select-start-hover@2.png
new file mode 100644
index 0000000..e08b2f8
Binary files /dev/null and b/source/gtk4/assets-hc/text-select-start-hover@2.png differ
diff --git a/source/gtk4/assets-hc/text-select-start.png b/source/gtk4/assets-hc/text-select-start.png
new file mode 100644
index 0000000..e43b2d7
Binary files /dev/null and b/source/gtk4/assets-hc/text-select-start.png differ
diff --git a/source/gtk4/assets-hc/text-select-start@2.png b/source/gtk4/assets-hc/text-select-start@2.png
new file mode 100644
index 0000000..fe2c257
Binary files /dev/null and b/source/gtk4/assets-hc/text-select-start@2.png differ
diff --git a/source/gtk4/assets.svg b/source/gtk4/assets.svg
new file mode 100644
index 0000000..a0b995f
--- /dev/null
+++ b/source/gtk4/assets.svg
@@ -0,0 +1,1358 @@
+
+
diff --git a/source/gtk4/assets.txt b/source/gtk4/assets.txt
new file mode 100644
index 0000000..a380d1c
--- /dev/null
+++ b/source/gtk4/assets.txt
@@ -0,0 +1,44 @@
+text-select-end
+text-select-end-hover
+text-select-end-active
+text-select-start
+text-select-start-hover
+text-select-start-active
+text-select-end-dark
+text-select-end-hover-dark
+text-select-end-active-dark
+text-select-start-dark
+text-select-start-hover-dark
+text-select-start-active-dark
+slider-horz-scale-has-marks-below
+slider-horz-scale-has-marks-below-hover
+slider-horz-scale-has-marks-below-active
+slider-horz-scale-has-marks-below-insensitive
+slider-vert-scale-has-marks-below
+slider-vert-scale-has-marks-below-hover
+slider-vert-scale-has-marks-below-active
+slider-vert-scale-has-marks-below-insensitive
+slider-horz-scale-has-marks-above
+slider-horz-scale-has-marks-above-hover
+slider-horz-scale-has-marks-above-active
+slider-horz-scale-has-marks-above-insensitive
+slider-vert-scale-has-marks-above
+slider-vert-scale-has-marks-above-hover
+slider-vert-scale-has-marks-above-active
+slider-vert-scale-has-marks-above-insensitive
+slider-horz-scale-has-marks-below-dark
+slider-horz-scale-has-marks-below-hover-dark
+slider-horz-scale-has-marks-below-active-dark
+slider-horz-scale-has-marks-below-insensitive-dark
+slider-vert-scale-has-marks-below-dark
+slider-vert-scale-has-marks-below-hover-dark
+slider-vert-scale-has-marks-below-active-dark
+slider-vert-scale-has-marks-below-insensitive-dark
+slider-horz-scale-has-marks-above-dark
+slider-horz-scale-has-marks-above-hover-dark
+slider-horz-scale-has-marks-above-active-dark
+slider-horz-scale-has-marks-above-insensitive-dark
+slider-vert-scale-has-marks-above-dark
+slider-vert-scale-has-marks-above-hover-dark
+slider-vert-scale-has-marks-above-active-dark
+slider-vert-scale-has-marks-above-insensitive-dark
diff --git a/source/gtk4/assets/bullet-symbolic.svg b/source/gtk4/assets/bullet-symbolic.svg
new file mode 100644
index 0000000..acf880a
--- /dev/null
+++ b/source/gtk4/assets/bullet-symbolic.svg
@@ -0,0 +1,155 @@
+
+
+
+
diff --git a/source/gtk4/assets/bullet-symbolic.symbolic.png b/source/gtk4/assets/bullet-symbolic.symbolic.png
new file mode 100644
index 0000000..8e6925a
Binary files /dev/null and b/source/gtk4/assets/bullet-symbolic.symbolic.png differ
diff --git a/source/gtk4/assets/bullet@2-symbolic.symbolic.png b/source/gtk4/assets/bullet@2-symbolic.symbolic.png
new file mode 100644
index 0000000..e9df425
Binary files /dev/null and b/source/gtk4/assets/bullet@2-symbolic.symbolic.png differ
diff --git a/source/gtk4/assets/check-symbolic.svg b/source/gtk4/assets/check-symbolic.svg
new file mode 100644
index 0000000..b04b5ad
--- /dev/null
+++ b/source/gtk4/assets/check-symbolic.svg
@@ -0,0 +1,154 @@
+
+
+
+
diff --git a/source/gtk4/assets/check-symbolic.symbolic.png b/source/gtk4/assets/check-symbolic.symbolic.png
new file mode 100644
index 0000000..14bd626
Binary files /dev/null and b/source/gtk4/assets/check-symbolic.symbolic.png differ
diff --git a/source/gtk4/assets/check@2-symbolic.symbolic.png b/source/gtk4/assets/check@2-symbolic.symbolic.png
new file mode 100644
index 0000000..994ce3a
Binary files /dev/null and b/source/gtk4/assets/check@2-symbolic.symbolic.png differ
diff --git a/source/gtk4/assets/dash-symbolic.svg b/source/gtk4/assets/dash-symbolic.svg
new file mode 100644
index 0000000..7886d54
--- /dev/null
+++ b/source/gtk4/assets/dash-symbolic.svg
@@ -0,0 +1,153 @@
+
+
+
+
diff --git a/source/gtk4/assets/dash-symbolic.symbolic.png b/source/gtk4/assets/dash-symbolic.symbolic.png
new file mode 100644
index 0000000..c20d4ba
Binary files /dev/null and b/source/gtk4/assets/dash-symbolic.symbolic.png differ
diff --git a/source/gtk4/assets/dash@2-symbolic.symbolic.png b/source/gtk4/assets/dash@2-symbolic.symbolic.png
new file mode 100644
index 0000000..d2b3385
Binary files /dev/null and b/source/gtk4/assets/dash@2-symbolic.symbolic.png differ
diff --git a/source/gtk4/assets/slider-horz-scale-has-marks-above-active-dark.png b/source/gtk4/assets/slider-horz-scale-has-marks-above-active-dark.png
new file mode 100644
index 0000000..6340b2e
Binary files /dev/null and b/source/gtk4/assets/slider-horz-scale-has-marks-above-active-dark.png differ
diff --git a/source/gtk4/assets/slider-horz-scale-has-marks-above-active-dark@2.png b/source/gtk4/assets/slider-horz-scale-has-marks-above-active-dark@2.png
new file mode 100644
index 0000000..ac5218d
Binary files /dev/null and b/source/gtk4/assets/slider-horz-scale-has-marks-above-active-dark@2.png differ
diff --git a/source/gtk4/assets/slider-horz-scale-has-marks-above-active.png b/source/gtk4/assets/slider-horz-scale-has-marks-above-active.png
new file mode 100644
index 0000000..1731cb3
Binary files /dev/null and b/source/gtk4/assets/slider-horz-scale-has-marks-above-active.png differ
diff --git a/source/gtk4/assets/slider-horz-scale-has-marks-above-active@2.png b/source/gtk4/assets/slider-horz-scale-has-marks-above-active@2.png
new file mode 100644
index 0000000..9431dad
Binary files /dev/null and b/source/gtk4/assets/slider-horz-scale-has-marks-above-active@2.png differ
diff --git a/source/gtk4/assets/slider-horz-scale-has-marks-above-dark.png b/source/gtk4/assets/slider-horz-scale-has-marks-above-dark.png
new file mode 100644
index 0000000..3f5b203
Binary files /dev/null and b/source/gtk4/assets/slider-horz-scale-has-marks-above-dark.png differ
diff --git a/source/gtk4/assets/slider-horz-scale-has-marks-above-dark@2.png b/source/gtk4/assets/slider-horz-scale-has-marks-above-dark@2.png
new file mode 100644
index 0000000..c3b5344
Binary files /dev/null and b/source/gtk4/assets/slider-horz-scale-has-marks-above-dark@2.png differ
diff --git a/source/gtk4/assets/slider-horz-scale-has-marks-above-hover-dark.png b/source/gtk4/assets/slider-horz-scale-has-marks-above-hover-dark.png
new file mode 100644
index 0000000..9f7d932
Binary files /dev/null and b/source/gtk4/assets/slider-horz-scale-has-marks-above-hover-dark.png differ
diff --git a/source/gtk4/assets/slider-horz-scale-has-marks-above-hover-dark@2.png b/source/gtk4/assets/slider-horz-scale-has-marks-above-hover-dark@2.png
new file mode 100644
index 0000000..8a42a02
Binary files /dev/null and b/source/gtk4/assets/slider-horz-scale-has-marks-above-hover-dark@2.png differ
diff --git a/source/gtk4/assets/slider-horz-scale-has-marks-above-hover.png b/source/gtk4/assets/slider-horz-scale-has-marks-above-hover.png
new file mode 100644
index 0000000..180aec8
Binary files /dev/null and b/source/gtk4/assets/slider-horz-scale-has-marks-above-hover.png differ
diff --git a/source/gtk4/assets/slider-horz-scale-has-marks-above-hover@2.png b/source/gtk4/assets/slider-horz-scale-has-marks-above-hover@2.png
new file mode 100644
index 0000000..842af38
Binary files /dev/null and b/source/gtk4/assets/slider-horz-scale-has-marks-above-hover@2.png differ
diff --git a/source/gtk4/assets/slider-horz-scale-has-marks-above-insensitive-dark.png b/source/gtk4/assets/slider-horz-scale-has-marks-above-insensitive-dark.png
new file mode 100644
index 0000000..5d5bc7d
Binary files /dev/null and b/source/gtk4/assets/slider-horz-scale-has-marks-above-insensitive-dark.png differ
diff --git a/source/gtk4/assets/slider-horz-scale-has-marks-above-insensitive-dark@2.png b/source/gtk4/assets/slider-horz-scale-has-marks-above-insensitive-dark@2.png
new file mode 100644
index 0000000..4603029
Binary files /dev/null and b/source/gtk4/assets/slider-horz-scale-has-marks-above-insensitive-dark@2.png differ
diff --git a/source/gtk4/assets/slider-horz-scale-has-marks-above-insensitive.png b/source/gtk4/assets/slider-horz-scale-has-marks-above-insensitive.png
new file mode 100644
index 0000000..e0faaf0
Binary files /dev/null and b/source/gtk4/assets/slider-horz-scale-has-marks-above-insensitive.png differ
diff --git a/source/gtk4/assets/slider-horz-scale-has-marks-above-insensitive@2.png b/source/gtk4/assets/slider-horz-scale-has-marks-above-insensitive@2.png
new file mode 100644
index 0000000..75217d2
Binary files /dev/null and b/source/gtk4/assets/slider-horz-scale-has-marks-above-insensitive@2.png differ
diff --git a/source/gtk4/assets/slider-horz-scale-has-marks-above.png b/source/gtk4/assets/slider-horz-scale-has-marks-above.png
new file mode 100644
index 0000000..87128e2
Binary files /dev/null and b/source/gtk4/assets/slider-horz-scale-has-marks-above.png differ
diff --git a/source/gtk4/assets/slider-horz-scale-has-marks-above@2.png b/source/gtk4/assets/slider-horz-scale-has-marks-above@2.png
new file mode 100644
index 0000000..83ff84e
Binary files /dev/null and b/source/gtk4/assets/slider-horz-scale-has-marks-above@2.png differ
diff --git a/source/gtk4/assets/slider-horz-scale-has-marks-below-active-dark.png b/source/gtk4/assets/slider-horz-scale-has-marks-below-active-dark.png
new file mode 100644
index 0000000..502493d
Binary files /dev/null and b/source/gtk4/assets/slider-horz-scale-has-marks-below-active-dark.png differ
diff --git a/source/gtk4/assets/slider-horz-scale-has-marks-below-active-dark@2.png b/source/gtk4/assets/slider-horz-scale-has-marks-below-active-dark@2.png
new file mode 100644
index 0000000..42ababe
Binary files /dev/null and b/source/gtk4/assets/slider-horz-scale-has-marks-below-active-dark@2.png differ
diff --git a/source/gtk4/assets/slider-horz-scale-has-marks-below-active.png b/source/gtk4/assets/slider-horz-scale-has-marks-below-active.png
new file mode 100644
index 0000000..39b1c21
Binary files /dev/null and b/source/gtk4/assets/slider-horz-scale-has-marks-below-active.png differ
diff --git a/source/gtk4/assets/slider-horz-scale-has-marks-below-active@2.png b/source/gtk4/assets/slider-horz-scale-has-marks-below-active@2.png
new file mode 100644
index 0000000..f9c144e
Binary files /dev/null and b/source/gtk4/assets/slider-horz-scale-has-marks-below-active@2.png differ
diff --git a/source/gtk4/assets/slider-horz-scale-has-marks-below-dark.png b/source/gtk4/assets/slider-horz-scale-has-marks-below-dark.png
new file mode 100644
index 0000000..438102d
Binary files /dev/null and b/source/gtk4/assets/slider-horz-scale-has-marks-below-dark.png differ
diff --git a/source/gtk4/assets/slider-horz-scale-has-marks-below-dark@2.png b/source/gtk4/assets/slider-horz-scale-has-marks-below-dark@2.png
new file mode 100644
index 0000000..dc88ed4
Binary files /dev/null and b/source/gtk4/assets/slider-horz-scale-has-marks-below-dark@2.png differ
diff --git a/source/gtk4/assets/slider-horz-scale-has-marks-below-hover-dark.png b/source/gtk4/assets/slider-horz-scale-has-marks-below-hover-dark.png
new file mode 100644
index 0000000..7dd3b53
Binary files /dev/null and b/source/gtk4/assets/slider-horz-scale-has-marks-below-hover-dark.png differ
diff --git a/source/gtk4/assets/slider-horz-scale-has-marks-below-hover-dark@2.png b/source/gtk4/assets/slider-horz-scale-has-marks-below-hover-dark@2.png
new file mode 100644
index 0000000..84893b7
Binary files /dev/null and b/source/gtk4/assets/slider-horz-scale-has-marks-below-hover-dark@2.png differ
diff --git a/source/gtk4/assets/slider-horz-scale-has-marks-below-hover.png b/source/gtk4/assets/slider-horz-scale-has-marks-below-hover.png
new file mode 100644
index 0000000..3052b51
Binary files /dev/null and b/source/gtk4/assets/slider-horz-scale-has-marks-below-hover.png differ
diff --git a/source/gtk4/assets/slider-horz-scale-has-marks-below-hover@2.png b/source/gtk4/assets/slider-horz-scale-has-marks-below-hover@2.png
new file mode 100644
index 0000000..bcc5328
Binary files /dev/null and b/source/gtk4/assets/slider-horz-scale-has-marks-below-hover@2.png differ
diff --git a/source/gtk4/assets/slider-horz-scale-has-marks-below-insensitive-dark.png b/source/gtk4/assets/slider-horz-scale-has-marks-below-insensitive-dark.png
new file mode 100644
index 0000000..12f249a
Binary files /dev/null and b/source/gtk4/assets/slider-horz-scale-has-marks-below-insensitive-dark.png differ
diff --git a/source/gtk4/assets/slider-horz-scale-has-marks-below-insensitive-dark@2.png b/source/gtk4/assets/slider-horz-scale-has-marks-below-insensitive-dark@2.png
new file mode 100644
index 0000000..29c21fb
Binary files /dev/null and b/source/gtk4/assets/slider-horz-scale-has-marks-below-insensitive-dark@2.png differ
diff --git a/source/gtk4/assets/slider-horz-scale-has-marks-below-insensitive.png b/source/gtk4/assets/slider-horz-scale-has-marks-below-insensitive.png
new file mode 100644
index 0000000..93cc0a6
Binary files /dev/null and b/source/gtk4/assets/slider-horz-scale-has-marks-below-insensitive.png differ
diff --git a/source/gtk4/assets/slider-horz-scale-has-marks-below-insensitive@2.png b/source/gtk4/assets/slider-horz-scale-has-marks-below-insensitive@2.png
new file mode 100644
index 0000000..56d01a7
Binary files /dev/null and b/source/gtk4/assets/slider-horz-scale-has-marks-below-insensitive@2.png differ
diff --git a/source/gtk4/assets/slider-horz-scale-has-marks-below.png b/source/gtk4/assets/slider-horz-scale-has-marks-below.png
new file mode 100644
index 0000000..05364ce
Binary files /dev/null and b/source/gtk4/assets/slider-horz-scale-has-marks-below.png differ
diff --git a/source/gtk4/assets/slider-horz-scale-has-marks-below@2.png b/source/gtk4/assets/slider-horz-scale-has-marks-below@2.png
new file mode 100644
index 0000000..cde1392
Binary files /dev/null and b/source/gtk4/assets/slider-horz-scale-has-marks-below@2.png differ
diff --git a/source/gtk4/assets/slider-vert-scale-has-marks-above-active-dark.png b/source/gtk4/assets/slider-vert-scale-has-marks-above-active-dark.png
new file mode 100644
index 0000000..8457c1b
Binary files /dev/null and b/source/gtk4/assets/slider-vert-scale-has-marks-above-active-dark.png differ
diff --git a/source/gtk4/assets/slider-vert-scale-has-marks-above-active-dark@2.png b/source/gtk4/assets/slider-vert-scale-has-marks-above-active-dark@2.png
new file mode 100644
index 0000000..fc3962f
Binary files /dev/null and b/source/gtk4/assets/slider-vert-scale-has-marks-above-active-dark@2.png differ
diff --git a/source/gtk4/assets/slider-vert-scale-has-marks-above-active.png b/source/gtk4/assets/slider-vert-scale-has-marks-above-active.png
new file mode 100644
index 0000000..5cca0f8
Binary files /dev/null and b/source/gtk4/assets/slider-vert-scale-has-marks-above-active.png differ
diff --git a/source/gtk4/assets/slider-vert-scale-has-marks-above-active@2.png b/source/gtk4/assets/slider-vert-scale-has-marks-above-active@2.png
new file mode 100644
index 0000000..971c35a
Binary files /dev/null and b/source/gtk4/assets/slider-vert-scale-has-marks-above-active@2.png differ
diff --git a/source/gtk4/assets/slider-vert-scale-has-marks-above-dark.png b/source/gtk4/assets/slider-vert-scale-has-marks-above-dark.png
new file mode 100644
index 0000000..0bf1bf3
Binary files /dev/null and b/source/gtk4/assets/slider-vert-scale-has-marks-above-dark.png differ
diff --git a/source/gtk4/assets/slider-vert-scale-has-marks-above-dark@2.png b/source/gtk4/assets/slider-vert-scale-has-marks-above-dark@2.png
new file mode 100644
index 0000000..bbc3398
Binary files /dev/null and b/source/gtk4/assets/slider-vert-scale-has-marks-above-dark@2.png differ
diff --git a/source/gtk4/assets/slider-vert-scale-has-marks-above-hover-dark.png b/source/gtk4/assets/slider-vert-scale-has-marks-above-hover-dark.png
new file mode 100644
index 0000000..ce9467b
Binary files /dev/null and b/source/gtk4/assets/slider-vert-scale-has-marks-above-hover-dark.png differ
diff --git a/source/gtk4/assets/slider-vert-scale-has-marks-above-hover-dark@2.png b/source/gtk4/assets/slider-vert-scale-has-marks-above-hover-dark@2.png
new file mode 100644
index 0000000..3562fd5
Binary files /dev/null and b/source/gtk4/assets/slider-vert-scale-has-marks-above-hover-dark@2.png differ
diff --git a/source/gtk4/assets/slider-vert-scale-has-marks-above-hover.png b/source/gtk4/assets/slider-vert-scale-has-marks-above-hover.png
new file mode 100644
index 0000000..d24aced
Binary files /dev/null and b/source/gtk4/assets/slider-vert-scale-has-marks-above-hover.png differ
diff --git a/source/gtk4/assets/slider-vert-scale-has-marks-above-hover@2.png b/source/gtk4/assets/slider-vert-scale-has-marks-above-hover@2.png
new file mode 100644
index 0000000..191e4e8
Binary files /dev/null and b/source/gtk4/assets/slider-vert-scale-has-marks-above-hover@2.png differ
diff --git a/source/gtk4/assets/slider-vert-scale-has-marks-above-insensitive-dark.png b/source/gtk4/assets/slider-vert-scale-has-marks-above-insensitive-dark.png
new file mode 100644
index 0000000..5d0b5bd
Binary files /dev/null and b/source/gtk4/assets/slider-vert-scale-has-marks-above-insensitive-dark.png differ
diff --git a/source/gtk4/assets/slider-vert-scale-has-marks-above-insensitive-dark@2.png b/source/gtk4/assets/slider-vert-scale-has-marks-above-insensitive-dark@2.png
new file mode 100644
index 0000000..343e53d
Binary files /dev/null and b/source/gtk4/assets/slider-vert-scale-has-marks-above-insensitive-dark@2.png differ
diff --git a/source/gtk4/assets/slider-vert-scale-has-marks-above-insensitive.png b/source/gtk4/assets/slider-vert-scale-has-marks-above-insensitive.png
new file mode 100644
index 0000000..598a9f0
Binary files /dev/null and b/source/gtk4/assets/slider-vert-scale-has-marks-above-insensitive.png differ
diff --git a/source/gtk4/assets/slider-vert-scale-has-marks-above-insensitive@2.png b/source/gtk4/assets/slider-vert-scale-has-marks-above-insensitive@2.png
new file mode 100644
index 0000000..47d7bf7
Binary files /dev/null and b/source/gtk4/assets/slider-vert-scale-has-marks-above-insensitive@2.png differ
diff --git a/source/gtk4/assets/slider-vert-scale-has-marks-above.png b/source/gtk4/assets/slider-vert-scale-has-marks-above.png
new file mode 100644
index 0000000..4e880ad
Binary files /dev/null and b/source/gtk4/assets/slider-vert-scale-has-marks-above.png differ
diff --git a/source/gtk4/assets/slider-vert-scale-has-marks-above@2.png b/source/gtk4/assets/slider-vert-scale-has-marks-above@2.png
new file mode 100644
index 0000000..2bfa8c7
Binary files /dev/null and b/source/gtk4/assets/slider-vert-scale-has-marks-above@2.png differ
diff --git a/source/gtk4/assets/slider-vert-scale-has-marks-below-active-dark.png b/source/gtk4/assets/slider-vert-scale-has-marks-below-active-dark.png
new file mode 100644
index 0000000..ef21ab0
Binary files /dev/null and b/source/gtk4/assets/slider-vert-scale-has-marks-below-active-dark.png differ
diff --git a/source/gtk4/assets/slider-vert-scale-has-marks-below-active-dark@2.png b/source/gtk4/assets/slider-vert-scale-has-marks-below-active-dark@2.png
new file mode 100644
index 0000000..df1675e
Binary files /dev/null and b/source/gtk4/assets/slider-vert-scale-has-marks-below-active-dark@2.png differ
diff --git a/source/gtk4/assets/slider-vert-scale-has-marks-below-active.png b/source/gtk4/assets/slider-vert-scale-has-marks-below-active.png
new file mode 100644
index 0000000..204f324
Binary files /dev/null and b/source/gtk4/assets/slider-vert-scale-has-marks-below-active.png differ
diff --git a/source/gtk4/assets/slider-vert-scale-has-marks-below-active@2.png b/source/gtk4/assets/slider-vert-scale-has-marks-below-active@2.png
new file mode 100644
index 0000000..8c499ed
Binary files /dev/null and b/source/gtk4/assets/slider-vert-scale-has-marks-below-active@2.png differ
diff --git a/source/gtk4/assets/slider-vert-scale-has-marks-below-dark.png b/source/gtk4/assets/slider-vert-scale-has-marks-below-dark.png
new file mode 100644
index 0000000..248a089
Binary files /dev/null and b/source/gtk4/assets/slider-vert-scale-has-marks-below-dark.png differ
diff --git a/source/gtk4/assets/slider-vert-scale-has-marks-below-dark@2.png b/source/gtk4/assets/slider-vert-scale-has-marks-below-dark@2.png
new file mode 100644
index 0000000..8e3263a
Binary files /dev/null and b/source/gtk4/assets/slider-vert-scale-has-marks-below-dark@2.png differ
diff --git a/source/gtk4/assets/slider-vert-scale-has-marks-below-hover-dark.png b/source/gtk4/assets/slider-vert-scale-has-marks-below-hover-dark.png
new file mode 100644
index 0000000..62bb100
Binary files /dev/null and b/source/gtk4/assets/slider-vert-scale-has-marks-below-hover-dark.png differ
diff --git a/source/gtk4/assets/slider-vert-scale-has-marks-below-hover-dark@2.png b/source/gtk4/assets/slider-vert-scale-has-marks-below-hover-dark@2.png
new file mode 100644
index 0000000..ab71962
Binary files /dev/null and b/source/gtk4/assets/slider-vert-scale-has-marks-below-hover-dark@2.png differ
diff --git a/source/gtk4/assets/slider-vert-scale-has-marks-below-hover.png b/source/gtk4/assets/slider-vert-scale-has-marks-below-hover.png
new file mode 100644
index 0000000..ba9521a
Binary files /dev/null and b/source/gtk4/assets/slider-vert-scale-has-marks-below-hover.png differ
diff --git a/source/gtk4/assets/slider-vert-scale-has-marks-below-hover@2.png b/source/gtk4/assets/slider-vert-scale-has-marks-below-hover@2.png
new file mode 100644
index 0000000..87e1923
Binary files /dev/null and b/source/gtk4/assets/slider-vert-scale-has-marks-below-hover@2.png differ
diff --git a/source/gtk4/assets/slider-vert-scale-has-marks-below-insensitive-dark.png b/source/gtk4/assets/slider-vert-scale-has-marks-below-insensitive-dark.png
new file mode 100644
index 0000000..69e56a9
Binary files /dev/null and b/source/gtk4/assets/slider-vert-scale-has-marks-below-insensitive-dark.png differ
diff --git a/source/gtk4/assets/slider-vert-scale-has-marks-below-insensitive-dark@2.png b/source/gtk4/assets/slider-vert-scale-has-marks-below-insensitive-dark@2.png
new file mode 100644
index 0000000..612ad7e
Binary files /dev/null and b/source/gtk4/assets/slider-vert-scale-has-marks-below-insensitive-dark@2.png differ
diff --git a/source/gtk4/assets/slider-vert-scale-has-marks-below-insensitive.png b/source/gtk4/assets/slider-vert-scale-has-marks-below-insensitive.png
new file mode 100644
index 0000000..42cc778
Binary files /dev/null and b/source/gtk4/assets/slider-vert-scale-has-marks-below-insensitive.png differ
diff --git a/source/gtk4/assets/slider-vert-scale-has-marks-below-insensitive@2.png b/source/gtk4/assets/slider-vert-scale-has-marks-below-insensitive@2.png
new file mode 100644
index 0000000..376affc
Binary files /dev/null and b/source/gtk4/assets/slider-vert-scale-has-marks-below-insensitive@2.png differ
diff --git a/source/gtk4/assets/slider-vert-scale-has-marks-below.png b/source/gtk4/assets/slider-vert-scale-has-marks-below.png
new file mode 100644
index 0000000..705f4e6
Binary files /dev/null and b/source/gtk4/assets/slider-vert-scale-has-marks-below.png differ
diff --git a/source/gtk4/assets/slider-vert-scale-has-marks-below@2.png b/source/gtk4/assets/slider-vert-scale-has-marks-below@2.png
new file mode 100644
index 0000000..26a43e0
Binary files /dev/null and b/source/gtk4/assets/slider-vert-scale-has-marks-below@2.png differ
diff --git a/source/gtk4/assets/text-select-end-active-dark.png b/source/gtk4/assets/text-select-end-active-dark.png
new file mode 100644
index 0000000..964afea
Binary files /dev/null and b/source/gtk4/assets/text-select-end-active-dark.png differ
diff --git a/source/gtk4/assets/text-select-end-active-dark@2.png b/source/gtk4/assets/text-select-end-active-dark@2.png
new file mode 100644
index 0000000..167fdc8
Binary files /dev/null and b/source/gtk4/assets/text-select-end-active-dark@2.png differ
diff --git a/source/gtk4/assets/text-select-end-active.png b/source/gtk4/assets/text-select-end-active.png
new file mode 100644
index 0000000..59a955a
Binary files /dev/null and b/source/gtk4/assets/text-select-end-active.png differ
diff --git a/source/gtk4/assets/text-select-end-active@2.png b/source/gtk4/assets/text-select-end-active@2.png
new file mode 100644
index 0000000..5aa6c77
Binary files /dev/null and b/source/gtk4/assets/text-select-end-active@2.png differ
diff --git a/source/gtk4/assets/text-select-end-dark.png b/source/gtk4/assets/text-select-end-dark.png
new file mode 100644
index 0000000..3545bc7
Binary files /dev/null and b/source/gtk4/assets/text-select-end-dark.png differ
diff --git a/source/gtk4/assets/text-select-end-dark@2.png b/source/gtk4/assets/text-select-end-dark@2.png
new file mode 100644
index 0000000..e29a86a
Binary files /dev/null and b/source/gtk4/assets/text-select-end-dark@2.png differ
diff --git a/source/gtk4/assets/text-select-end-hover-dark.png b/source/gtk4/assets/text-select-end-hover-dark.png
new file mode 100644
index 0000000..66daba1
Binary files /dev/null and b/source/gtk4/assets/text-select-end-hover-dark.png differ
diff --git a/source/gtk4/assets/text-select-end-hover-dark@2.png b/source/gtk4/assets/text-select-end-hover-dark@2.png
new file mode 100644
index 0000000..fd4ced6
Binary files /dev/null and b/source/gtk4/assets/text-select-end-hover-dark@2.png differ
diff --git a/source/gtk4/assets/text-select-end-hover.png b/source/gtk4/assets/text-select-end-hover.png
new file mode 100644
index 0000000..f9f5d1d
Binary files /dev/null and b/source/gtk4/assets/text-select-end-hover.png differ
diff --git a/source/gtk4/assets/text-select-end-hover@2.png b/source/gtk4/assets/text-select-end-hover@2.png
new file mode 100644
index 0000000..0eaa261
Binary files /dev/null and b/source/gtk4/assets/text-select-end-hover@2.png differ
diff --git a/source/gtk4/assets/text-select-end.png b/source/gtk4/assets/text-select-end.png
new file mode 100644
index 0000000..aceb8ea
Binary files /dev/null and b/source/gtk4/assets/text-select-end.png differ
diff --git a/source/gtk4/assets/text-select-end@2.png b/source/gtk4/assets/text-select-end@2.png
new file mode 100644
index 0000000..6da7b66
Binary files /dev/null and b/source/gtk4/assets/text-select-end@2.png differ
diff --git a/source/gtk4/assets/text-select-start-active-dark.png b/source/gtk4/assets/text-select-start-active-dark.png
new file mode 100644
index 0000000..a6f3372
Binary files /dev/null and b/source/gtk4/assets/text-select-start-active-dark.png differ
diff --git a/source/gtk4/assets/text-select-start-active-dark@2.png b/source/gtk4/assets/text-select-start-active-dark@2.png
new file mode 100644
index 0000000..1eb3d8e
Binary files /dev/null and b/source/gtk4/assets/text-select-start-active-dark@2.png differ
diff --git a/source/gtk4/assets/text-select-start-active.png b/source/gtk4/assets/text-select-start-active.png
new file mode 100644
index 0000000..765e60c
Binary files /dev/null and b/source/gtk4/assets/text-select-start-active.png differ
diff --git a/source/gtk4/assets/text-select-start-active@2.png b/source/gtk4/assets/text-select-start-active@2.png
new file mode 100644
index 0000000..44d582b
Binary files /dev/null and b/source/gtk4/assets/text-select-start-active@2.png differ
diff --git a/source/gtk4/assets/text-select-start-dark.png b/source/gtk4/assets/text-select-start-dark.png
new file mode 100644
index 0000000..75fa6b4
Binary files /dev/null and b/source/gtk4/assets/text-select-start-dark.png differ
diff --git a/source/gtk4/assets/text-select-start-dark@2.png b/source/gtk4/assets/text-select-start-dark@2.png
new file mode 100644
index 0000000..3a43e2e
Binary files /dev/null and b/source/gtk4/assets/text-select-start-dark@2.png differ
diff --git a/source/gtk4/assets/text-select-start-hover-dark.png b/source/gtk4/assets/text-select-start-hover-dark.png
new file mode 100644
index 0000000..cf4b9c1
Binary files /dev/null and b/source/gtk4/assets/text-select-start-hover-dark.png differ
diff --git a/source/gtk4/assets/text-select-start-hover-dark@2.png b/source/gtk4/assets/text-select-start-hover-dark@2.png
new file mode 100644
index 0000000..76312d5
Binary files /dev/null and b/source/gtk4/assets/text-select-start-hover-dark@2.png differ
diff --git a/source/gtk4/assets/text-select-start-hover.png b/source/gtk4/assets/text-select-start-hover.png
new file mode 100644
index 0000000..539379d
Binary files /dev/null and b/source/gtk4/assets/text-select-start-hover.png differ
diff --git a/source/gtk4/assets/text-select-start-hover@2.png b/source/gtk4/assets/text-select-start-hover@2.png
new file mode 100644
index 0000000..6ba8f51
Binary files /dev/null and b/source/gtk4/assets/text-select-start-hover@2.png differ
diff --git a/source/gtk4/assets/text-select-start.png b/source/gtk4/assets/text-select-start.png
new file mode 100644
index 0000000..9127425
Binary files /dev/null and b/source/gtk4/assets/text-select-start.png differ
diff --git a/source/gtk4/assets/text-select-start@2.png b/source/gtk4/assets/text-select-start@2.png
new file mode 100644
index 0000000..b9b0aa1
Binary files /dev/null and b/source/gtk4/assets/text-select-start@2.png differ
diff --git a/source/gtk4/gtk-dark.css b/source/gtk4/gtk-dark.css
new file mode 100644
index 0000000..876a9b1
--- /dev/null
+++ b/source/gtk4/gtk-dark.css
@@ -0,0 +1 @@
+@import url("resource:///org/gtk/libgtk/theme/Default/Default-dark.css");
diff --git a/source/gtk4/gtk-hc-dark.css b/source/gtk4/gtk-hc-dark.css
new file mode 100644
index 0000000..99364a4
--- /dev/null
+++ b/source/gtk4/gtk-hc-dark.css
@@ -0,0 +1 @@
+@import url("resource:///org/gtk/libgtk/theme/Default/Default-hc-dark.css");
diff --git a/source/gtk4/gtk-hc.css b/source/gtk4/gtk-hc.css
new file mode 100644
index 0000000..ca822a2
--- /dev/null
+++ b/source/gtk4/gtk-hc.css
@@ -0,0 +1 @@
+@import url("resource:///org/gtk/libgtk/theme/Default/Default-hc.css");
diff --git a/source/gtk4/gtk-light.css b/source/gtk4/gtk-light.css
new file mode 100644
index 0000000..cf32f05
--- /dev/null
+++ b/source/gtk4/gtk-light.css
@@ -0,0 +1 @@
+@import url("resource:///org/gtk/libgtk/theme/Default/Default-light.css");
diff --git a/source/gtk4/gtk-new.css b/source/gtk4/gtk-new.css
new file mode 100644
index 0000000..a963243
--- /dev/null
+++ b/source/gtk4/gtk-new.css
@@ -0,0 +1,1769 @@
+/*$base_color: if($variant == 'light', #ffffff, lighten(desaturate(#241f31, 100%), 2%));
+$text_color: if($variant == 'light', black, white);
+$bg_color: if($variant == 'light', #f6f5f4, darken(desaturate(#3d3846, 100%), 4%));
+$fg_color: if($variant == 'light', #2e3436, #eeeeec);
+
+$selected_fg_color: #ffffff;
+$selected_bg_color: if($variant == 'light', #3584e4, darken(#3584e4, 20%));*/
+/*************************** Check and Radio buttons * */
+/*************************** Check and Radio buttons * */
+calendar > grid > label.day-number:selected, row:selected, columnview.view:selected:focus, columnview.view:selected, treeview.view:selected:focus, treeview.view:selected, modelbutton.flat:selected, gridview > child:selected, flowbox > flowboxchild:selected, .view:selected:focus, iconview:selected:focus, .view:selected, iconview:selected, textview > text:selected:focus, textview > text:selected { background-color: #386b00; }
+
+label:selected, calendar > grid > label.day-number:selected, row:selected, columnview.view:selected:focus, columnview.view:selected, treeview.view:selected:focus, treeview.view:selected, modelbutton.flat:selected, gridview > child:selected, flowbox > flowboxchild:selected, .view:selected:focus, iconview:selected:focus, .view:selected, iconview:selected, textview > text:selected:focus, textview > text:selected { color: #000000; }
+
+label:disabled > selection, label:disabled:selected, calendar > grid > label.day-number:disabled:selected, row:disabled:selected, columnview.view:disabled:selected, treeview.view:disabled:selected, modelbutton.flat:disabled:selected, gridview > child:disabled:selected, flowbox > flowboxchild:disabled:selected, .view:disabled:selected, iconview:disabled:selected, textview > text:disabled:selected { color: #1c3600; }
+
+label:backdrop:selected, calendar > grid > label.day-number:backdrop:selected, row:backdrop:selected, columnview.view:backdrop:selected, treeview.view:backdrop:selected, modelbutton.flat:backdrop:selected, gridview > child:backdrop:selected, flowbox > flowboxchild:backdrop:selected, .view:backdrop:selected, iconview:backdrop:selected, textview > text:backdrop:selected { color: #8d8c8a; }
+
+label:backdrop:disabled:selected, row:backdrop:disabled:selected, modelbutton.flat:backdrop:disabled:selected, gridview > child:backdrop:disabled:selected, flowbox > flowboxchild:backdrop:disabled:selected, .view:backdrop:disabled:selected, iconview:backdrop:disabled:selected, textview > text:backdrop:disabled:selected { color: #52752a; }
+
+/*************** Base States * */
+.background { color: #241f31; background-color: #a7a7a7; }
+
+.background:backdrop { text-shadow: none; -gtk-icon-shadow: none; }
+
+dnd { color: #241f31; }
+
+.normal-icons { -gtk-icon-size: 16px; }
+
+.large-icons { -gtk-icon-size: 32px; }
+
+image:disabled { -gtk-icon-filter: opacity(0.5); }
+
+.view, iconview, textview > text { color: #241f31; background-color: #908f8d; }
+
+.view:disabled, iconview:disabled, textview > text:disabled { color: #552222; background-color: #938989; }
+
+.view:selected:focus, iconview:selected:focus, .view:selected, iconview:selected, textview > text:selected:focus, textview > text:selected { border-radius: 3px; }
+
+textview > text { background-color: transparent; }
+
+textview > text > selection { background-color: rgba(54, 54, 54, 0.5); }
+
+textview > text > selection:focus-within { background-color: rgba(56, 107, 0, 0.3); }
+
+textview:drop(active) { caret-color: #73d216; }
+
+textview > border { background-color: #9c9b9a; }
+
+iconview { transition-property: outline, outline-width, outline-offset, outline-color; transition-duration: 300ms; animation-timing-function: ease-in-out; }
+
+iconview { outline: 0 solid transparent; outline-offset: 4px; }
+
+iconview:focus:focus-visible { outline-color: rgba(56, 107, 0, 0.5); outline-width: 2px; outline-offset: -2px; }
+
+iconview:drop(active) { box-shadow: none; }
+
+iconview > dndtarget:drop(active) { border-style: solid; border-width: 1px; border-color: #101f00; }
+
+rubberband, .content-view > rubberband, columnview.view > rubberband, treeview.view > rubberband, gridview > rubberband, flowbox > rubberband { border: 1px solid #1d3800; background-color: rgba(29, 56, 0, 0.2); }
+
+flowbox > flowboxchild { padding: 3px; transition: outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); transition-property: outline, outline-width, outline-offset, outline-color; transition-duration: 300ms; animation-timing-function: ease-in-out; }
+
+flowbox > flowboxchild { outline: 0 solid transparent; outline-offset: 4px; }
+
+flowbox > flowboxchild:focus:focus-visible { outline-color: rgba(56, 107, 0, 0.5); outline-width: 2px; outline-offset: -2px; }
+
+flowbox > flowboxchild:selected { outline-color: rgba(255, 255, 255, 0.8); }
+
+gridview > child { padding: 3px; transition: outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); transition-property: outline, outline-width, outline-offset, outline-color; transition-duration: 300ms; animation-timing-function: ease-in-out; }
+
+gridview > child { outline: 0 solid transparent; outline-offset: 4px; }
+
+gridview > child:focus:focus-visible { outline-color: rgba(56, 107, 0, 0.5); outline-width: 2px; outline-offset: -2px; }
+
+gridview > child:selected { outline-color: rgba(255, 255, 255, 0.8); }
+
+gridview > child box { border-spacing: 8px; margin: 12px; }
+
+coverflow cover { color: #241f31; background-color: #908f8d; border: 1px solid black; }
+
+label { transition-property: outline, outline-width, outline-offset, outline-color; transition-duration: 300ms; animation-timing-function: ease-in-out; }
+
+label { outline: 0 solid transparent; outline-offset: 4px; }
+
+label:focus:focus-visible { outline-color: rgba(56, 107, 0, 0.5); outline-width: 2px; outline-offset: -2px; }
+
+label > selection { background-color: rgba(54, 54, 54, 0.5); color: #000000; }
+
+label > selection:focus-within { background-color: rgba(56, 107, 0, 0.3); }
+
+label:disabled { color: #552222; }
+
+button label:disabled { color: inherit; }
+
+label.error { color: #990000; }
+
+label.error:disabled { color: rgba(153, 0, 0, 0.5); }
+
+.dim-label, .titlebar:not(headerbar) .subtitle, headerbar .subtitle, spinbutton.vertical > text > text > placeholder, spinbutton:not(.vertical) > text > placeholder, entry > text > placeholder, label.separator { opacity: 0.55; text-shadow: none; }
+
+window.assistant .sidebar { padding: 5px; border-top: 1px solid #797979; }
+
+window.assistant.csd .sidebar { border-top-style: none; }
+
+window.assistant .sidebar > label { padding: 6px 12px; }
+
+window.assistant .sidebar > label.highlight { background-color: #386b00; border-radius: 5px; }
+
+window.aboutdialog image.large-icons { -gtk-icon-size: 128px; }
+
+.osd .scale-popup, .app-notification, .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, .osd { color: #002269; border: 1px solid #002269; background-color: rgba(103, 137, 180, 0.7); background-clip: padding-box; }
+
+/********************* Spinner Animation * */
+@keyframes spin { to { transform: rotate(1turn); } }
+
+spinner { background: none; opacity: 0.1; -gtk-icon-source: -gtk-icontheme("process-working-symbolic"); }
+
+spinner:checked { opacity: 1; animation: spin 1s linear infinite; }
+
+spinner:checked:disabled { opacity: 0.5; color: #552222; }
+
+/********************** General Typography * */
+.large-title { font-weight: 300; font-size: 24pt; }
+
+.title-1 { font-weight: 800; font-size: 20pt; }
+
+.title-2 { font-weight: 800; font-size: 15pt; }
+
+.title-3 { font-weight: 700; font-size: 15pt; }
+
+.title-4 { font-weight: 700; font-size: 13pt; }
+
+.heading { font-weight: 700; font-size: 11pt; }
+
+.body { font-weight: 400; font-size: 11pt; }
+
+.caption-heading { font-weight: 700; font-size: 9pt; }
+
+.caption { font-weight: 400; font-size: 9pt; }
+
+/**************** Text Entries * */
+spinbutton.vertical > text, spinbutton:not(.vertical), entry { min-height: 32px; padding-left: 8px; padding-right: 8px; border: 1px solid; border-radius: 5px; border-spacing: 6px; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); color: #241f31; border-color: #797979; background-color: #908f8d; box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.4), 0 1px rgba(255, 255, 255, 0.5); transition-property: outline, outline-width, outline-offset, outline-color; transition-duration: 300ms; animation-timing-function: ease-in-out; }
+
+spinbutton.vertical > text, spinbutton:not(.vertical), entry { outline: 0 solid transparent; outline-offset: 4px; }
+
+spinbutton.vertical > text:focus-within, spinbutton:focus-within:not(.vertical), entry:focus-within { outline-color: rgba(56, 107, 0, 0.5); outline-width: 2px; outline-offset: -2px; }
+
+spinbutton.vertical > text > image.left, spinbutton:not(.vertical) > image.left, entry > image.left { margin-right: 6px; }
+
+spinbutton.vertical > text > image.right, spinbutton:not(.vertical) > image.right, entry > image.right { margin-left: 6px; }
+
+spinbutton.vertical > text > text > block-cursor, spinbutton:not(.vertical) > text > block-cursor, entry > text > block-cursor { color: #908f8d; background-color: #241f31; }
+
+spinbutton.vertical > text.flat, spinbutton.flat:not(.vertical), entry.flat:focus-within, entry.flat:backdrop, entry.flat:disabled, entry.flat { min-height: 0; padding: 2px; background-color: transparent; border-color: transparent; border-radius: 0; }
+
+spinbutton.vertical > text:focus-within > placeholder, spinbutton:focus-within:not(.vertical) > placeholder, entry:focus-within > placeholder { opacity: 0; /* We hide placeholders on focus */ }
+
+spinbutton.vertical > text:disabled, spinbutton:disabled:not(.vertical), entry:disabled { color: #552222; border-color: #552222; background-color: #938989; }
+
+spinbutton.vertical > text > text > selection, spinbutton:not(.vertical) > text > selection, entry > text > selection { background-color: rgba(54, 54, 54, 0.5); color: transparent; }
+
+spinbutton.vertical > text > text > selection:focus-within, spinbutton:not(.vertical) > text > selection:focus-within, entry > text > selection:focus-within { background-color: rgba(56, 107, 0, 0.3); color: #241f31; }
+
+spinbutton.vertical > text.error, spinbutton.error:not(.vertical), entry.error { color: #990000; transition-property: outline, outline-width, outline-offset, outline-color; transition-duration: 300ms; animation-timing-function: ease-in-out; }
+
+spinbutton.vertical > text.error, spinbutton.error:not(.vertical), entry.error { outline: 0 solid transparent; outline-offset: 4px; }
+
+spinbutton.vertical > text.error:focus-within, spinbutton.error:focus-within:not(.vertical), entry.error:focus-within { outline-color: rgba(153, 0, 0, 0.5); outline-width: 2px; outline-offset: -2px; }
+
+spinbutton.vertical > text.error > selection, spinbutton.error:not(.vertical) > selection, entry.error > selection { background-color: #990000; }
+
+spinbutton.vertical > text.warning, spinbutton.warning:not(.vertical), entry.warning { color: #f57900; transition-property: outline, outline-width, outline-offset, outline-color; transition-duration: 300ms; animation-timing-function: ease-in-out; }
+
+spinbutton.vertical > text.warning, spinbutton.warning:not(.vertical), entry.warning { outline: 0 solid transparent; outline-offset: 4px; }
+
+spinbutton.vertical > text.warning:focus-within, spinbutton.warning:focus-within:not(.vertical), entry.warning:focus-within { outline-color: rgba(245, 121, 0, 0.5); outline-width: 2px; outline-offset: -2px; }
+
+spinbutton.vertical > text.warning > selection, spinbutton.warning:not(.vertical) > selection, entry.warning > selection { background-color: #f57900; }
+
+spinbutton.vertical > text > image, spinbutton:not(.vertical) > image, entry > image { color: #3a3543; }
+
+spinbutton.vertical > text > image:hover, spinbutton:not(.vertical) > image:hover, entry > image:hover { color: #241f31; }
+
+spinbutton.vertical > text > image:active, spinbutton:not(.vertical) > image:active, entry > image:active { color: #386b00; }
+
+spinbutton.vertical > text.password image.caps-lock-indicator, spinbutton.password:not(.vertical) image.caps-lock-indicator, entry.password image.caps-lock-indicator { color: #6e6b72; }
+
+spinbutton.vertical > text:drop(active), spinbutton:drop(active):not(.vertical), entry:drop(active):focus-within, entry:drop(active) { border-color: #73d216; box-shadow: inset 0 0 0 1px #73d216; }
+
+.osd spinbutton.vertical > text, .osd spinbutton:not(.vertical), .osd entry { color: #002269; border-color: #002269; background-color: rgba(0, 34, 105, 0.5); background-clip: padding-box; box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.4), 0 1px rgba(255, 255, 255, 0.5); -gtk-icon-shadow: 0 1px black; }
+
+.osd spinbutton.vertical > text:focus-within, .osd spinbutton:focus-within:not(.vertical), .osd entry:focus-within { color: #002269; border-color: #386b00; background-color: rgba(0, 34, 105, 0.5); background-clip: padding-box; box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.4), 0 1px rgba(255, 255, 255, 0.5); }
+
+.osd spinbutton.vertical > text:disabled, .osd spinbutton:disabled:not(.vertical), .osd entry:disabled { color: #34568f; border-color: #002269; background-color: rgba(93, 127, 173, 0.5); background-clip: padding-box; }
+
+spinbutton.vertical > text > progress, spinbutton:not(.vertical) > progress, entry > progress { margin-bottom: 2px; }
+
+spinbutton.vertical > text progress > trough > progress, spinbutton:not(.vertical) progress > trough > progress, entry progress > trough > progress { background-color: transparent; background-image: none; border-radius: 0; border-width: 0 0 2px; border-color: #386b00; border-style: solid; box-shadow: none; }
+
+spinbutton.vertical.linked:not(.vertical) > text:drop(active) + text, spinbutton.vertical.linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + text, spinbutton.vertical.linked:not(.vertical) > text:drop(active) + spinbutton:not(.vertical), .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + spinbutton:not(.vertical), spinbutton.vertical.linked:not(.vertical) > text:drop(active) + button, .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + button, spinbutton.vertical.linked:not(.vertical) > text:drop(active) + menubutton > button, .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + menubutton > button, spinbutton.vertical.linked:not(.vertical) > text:drop(active) + dropdown > button, .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + dropdown > button, spinbutton.vertical.linked:not(.vertical) > text:drop(active) + colorbutton > button, .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + colorbutton > button, spinbutton.vertical.linked:not(.vertical) > text:drop(active) + fontbutton > button, .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + fontbutton > button, spinbutton.vertical.linked:not(.vertical) > text:drop(active) + filechooserbutton > button, .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + filechooserbutton > button, spinbutton.vertical.linked:not(.vertical) > text:drop(active) + combobox > box > button.combo, .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + combobox > box > button.combo, spinbutton.vertical.linked:not(.vertical) > text:drop(active) + entry, .linked:not(.vertical) > spinbutton:drop(active):not(.vertical) + entry, .linked:not(.vertical) > entry:drop(active) + button, .linked:not(.vertical) > entry:drop(active) + menubutton > button, .linked:not(.vertical) > entry:drop(active) + dropdown > button, .linked:not(.vertical) > entry:drop(active) + colorbutton > button, .linked:not(.vertical) > entry:drop(active) + fontbutton > button, .linked:not(.vertical) > entry:drop(active) + filechooserbutton > button, .linked:not(.vertical) > entry:drop(active) + combobox > box > button.combo, spinbutton.vertical.linked:not(.vertical) > entry:drop(active) + text, .linked:not(.vertical) > entry:drop(active) + spinbutton:not(.vertical), .linked:not(.vertical) > entry:drop(active) + entry { border-left-color: #73d216; }
+
+spinbutton.vertical.linked > text:not(:disabled) + entry:not(:disabled), .linked.vertical > spinbutton:not(:disabled):not(.vertical) + entry:not(:disabled), spinbutton.vertical.linked > text:not(:disabled) + text:not(:disabled), spinbutton.vertical.linked > spinbutton:not(:disabled):not(.vertical) + text:not(:disabled), spinbutton.vertical.linked > text:not(:disabled) + spinbutton:not(:disabled):not(.vertical), .linked.vertical > spinbutton:not(:disabled):not(.vertical) + spinbutton:not(:disabled):not(.vertical), .linked.vertical > entry:not(:disabled) + entry:not(:disabled), spinbutton.vertical.linked > entry:not(:disabled) + text:not(:disabled), .linked.vertical > entry:not(:disabled) + spinbutton:not(:disabled):not(.vertical) { border-top-color: #898887; }
+
+spinbutton.vertical.linked > text:disabled + text:disabled, spinbutton.vertical.linked > spinbutton:disabled:not(.vertical) + text:disabled, spinbutton.vertical.linked > text:disabled + spinbutton:disabled:not(.vertical), .linked.vertical > spinbutton:disabled:not(.vertical) + spinbutton:disabled:not(.vertical), spinbutton.vertical.linked > text:disabled + entry:disabled, .linked.vertical > spinbutton:disabled:not(.vertical) + entry:disabled, spinbutton.vertical.linked > entry:disabled + text:disabled, .linked.vertical > entry:disabled + spinbutton:disabled:not(.vertical), .linked.vertical > entry:disabled + entry:disabled { border-top-color: #898887; }
+
+spinbutton.vertical.linked > text + text:drop(active):not(:only-child), spinbutton.vertical.linked > spinbutton:not(.vertical) + text:drop(active):not(:only-child), spinbutton.vertical.linked > text + spinbutton:drop(active):not(:only-child):not(.vertical), .linked.vertical > spinbutton:not(.vertical) + spinbutton:drop(active):not(:only-child):not(.vertical), spinbutton.vertical.linked > text + entry:drop(active):not(:only-child), .linked.vertical > spinbutton:not(.vertical) + entry:drop(active):not(:only-child), spinbutton.vertical.linked > entry + text:drop(active):not(:only-child), .linked.vertical > entry + spinbutton:drop(active):not(:only-child):not(.vertical), .linked.vertical > entry + entry:drop(active):not(:only-child) { border-top-color: #73d216; }
+
+spinbutton.vertical.linked > text:drop(active):not(:only-child) + text, spinbutton.vertical.linked > spinbutton:drop(active):not(:only-child):not(.vertical) + text, spinbutton.vertical.linked > text:drop(active):not(:only-child) + spinbutton:not(.vertical), .linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + spinbutton:not(.vertical), spinbutton.vertical.linked > text:drop(active):not(:only-child) + entry, .linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + entry, spinbutton.vertical.linked > text:drop(active):not(:only-child) + button, .linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + button, spinbutton.vertical.linked > text:drop(active):not(:only-child) + menubutton > button, .linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + menubutton > button, spinbutton.vertical.linked > text:drop(active):not(:only-child) + dropdown > button, .linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + dropdown > button, spinbutton.vertical.linked > text:drop(active):not(:only-child) + colorbutton > button, .linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + colorbutton > button, spinbutton.vertical.linked > text:drop(active):not(:only-child) + fontbutton > button, .linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + fontbutton > button, spinbutton.vertical.linked > text:drop(active):not(:only-child) + filechooserbutton > button, .linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + filechooserbutton > button, spinbutton.vertical.linked > text:drop(active):not(:only-child) + combobox > box > button.combo, .linked.vertical > spinbutton:drop(active):not(:only-child):not(.vertical) + combobox > box > button.combo, spinbutton.vertical.linked > entry:drop(active):not(:only-child) + text, .linked.vertical > entry:drop(active):not(:only-child) + spinbutton:not(.vertical), .linked.vertical > entry:drop(active):not(:only-child) + entry, .linked.vertical > entry:drop(active):not(:only-child) + button, .linked.vertical > entry:drop(active):not(:only-child) + menubutton > button, .linked.vertical > entry:drop(active):not(:only-child) + dropdown > button, .linked.vertical > entry:drop(active):not(:only-child) + colorbutton > button, .linked.vertical > entry:drop(active):not(:only-child) + fontbutton > button, .linked.vertical > entry:drop(active):not(:only-child) + filechooserbutton > button, .linked.vertical > entry:drop(active):not(:only-child) + combobox > box > button.combo { border-top-color: #73d216; }
+
+spinbutton.vertical > text.error, spinbutton.error:not(.vertical), entry.error { color: #990000; }
+
+treeview entry:focus-within:dir(rtl), treeview entry:focus-within:dir(ltr) { background-color: #908f8d; transition-property: color, background; }
+
+treeview entry.flat, treeview entry { border-radius: 0; background-image: none; background-color: #908f8d; }
+
+treeview entry.flat:focus-within, treeview entry:focus-within { border-color: #386b00; }
+
+/******************* Editable Labels * */
+editablelabel > stack > text { color: #241f31; border-color: #797979; background-color: #908f8d; box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.4), 0 1px rgba(255, 255, 255, 0.5); }
+
+/*********** Buttons * */
+@keyframes needs_attention { from { background-image: radial-gradient(farthest-side, #386b00 0%, rgba(56, 107, 0, 0) 0%); }
+ to { background-image: radial-gradient(farthest-side, #386b00 95%, rgba(56, 107, 0, 0)); } }
+
+/****************************************************** Buttons * */
+scrollbar > range > trough > slider, notebook > header > tabs > arrow, windowcontrols button, button { min-height: 24px; min-width: 16px; padding: 2px 6px; border: 1px solid; border-radius: 5px; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); color: #241f31; background-color: #bcbeb9; outline-color: rgba(56, 107, 0, 0.5); background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.15)); text-shadow: 0 1px rgba(255, 255, 255, 0.3); -gtk-icon-shadow: 0 1px rgba(255, 255, 255, 0.3); box-shadow: inset 0 1px rgba(255, 255, 255, 0.5), 0 1px 2px rgba(0, 0, 0, 0.4); transition-property: outline, outline-width, outline-offset, outline-color; transition-duration: 300ms; animation-timing-function: ease-in-out; }
+
+scrollbar > range > trough > slider, notebook > header > tabs > arrow, windowcontrols button, button { outline: 0 solid transparent; outline-offset: 4px; }
+
+scrollbar > range > trough > slider:focus:focus-visible, notebook > header > tabs > arrow:focus:focus-visible, button:focus:focus-visible { outline-color: rgba(56, 107, 0, 0.5); outline-width: 2px; outline-offset: -2px; }
+
+scrollbar > range > trough > slider:hover, notebook > header > tabs > arrow:hover, button:hover { background-color: shade(#bcbeb9, 1.1); -gtk-icon-filter: brightness(1.2); }
+
+scrollbar > range > trough > slider.keyboard-activating, notebook > header > tabs > arrow.keyboard-activating, scrollbar > range > trough > slider:active, notebook > header > tabs > arrow:active, button.keyboard-activating, button:active { box-shadow: 0 1px rgba(255, 255, 255, 0.5), inset 0 1px 2px rgba(0, 0, 0, 0.4); transition-duration: 50ms; }
+
+scrollbar > range > trough > slider:checked:hover:not(:active), notebook > header > tabs > arrow:checked:hover:not(:active), button:checked:hover:not(:active) { color: #000000; background-color: shade(#386b00, 1.1); text-shadow: 0 1px rgba(255, 255, 255, 0.3); -gtk-icon-shadow: 0 1px rgba(255, 255, 255, 0.3); box-shadow: 0 1px rgba(255, 255, 255, 0.5), inset 0 1px 2px rgba(0, 0, 0, 0.4); }
+
+scrollbar > range > trough > slider:checked, notebook > header > tabs > arrow:checked, button:checked, button:checked:active { color: #000000; background-color: #386b00; text-shadow: 0 1px rgba(255, 255, 255, 0.3); -gtk-icon-shadow: 0 1px rgba(255, 255, 255, 0.3); box-shadow: 0 1px rgba(255, 255, 255, 0.5), inset 0 1px 2px rgba(0, 0, 0, 0.4); }
+
+scrollbar > range > trough > slider:backdrop, notebook > header > tabs > arrow:backdrop, button:backdrop.flat, button:backdrop { background-image: none; transition: 200ms ease-out; }
+
+scrollbar > range > trough > slider:backdrop:not(:disabled), notebook > header > tabs > arrow:backdrop:not(:disabled), button:backdrop.flat:not(:disabled), button:backdrop:not(:disabled) { -gtk-icon-filter: none; }
+
+scrollbar > range > trough > slider:disabled, notebook > header > tabs > arrow:disabled, button:disabled { color: #552222; background-color: #938989; background-image: none; -gtk-icon-filter: opacity(0.5); }
+
+scrollbar > range > trough > slider:disabled:active, notebook > header > tabs > arrow:disabled:active, scrollbar > range > trough > slider:disabled:checked, notebook > header > tabs > arrow:disabled:checked, button:disabled:active, button:disabled:checked { color: #552222; background-color: #858574; }
+
+button.sidebar-button, notebook > header > tabs > arrow, windowcontrols button:not(:hover):not(:active):not(:checked):not(:disabled), .toolbar > button:not(:hover):not(:active):not(:checked):not(:disabled), .toolbar > :not(.linked) > button:not(:hover):not(:active):not(:checked):not(:disabled), .toolbar :not(.linked) > menubutton > button:not(:hover):not(:active):not(:checked):not(:disabled), .toolbar :not(.linked) > scalebutton > button:not(:hover):not(:active):not(:checked):not(:disabled), .toolbar :not(.linked) > dropdown > button:not(:hover):not(:active):not(:checked):not(:disabled), .toolbar :not(.linked) > colorbutton > button:not(:hover):not(:active):not(:checked):not(:disabled), .toolbar :not(.linked) > fontbutton > button:not(:hover):not(:active):not(:checked):not(:disabled), .toolbar :not(.linked) > appchooserbutton > button:not(:hover):not(:active):not(:checked):not(:disabled), .toolbar :not(.linked) > combobox > box > button:not(:hover):not(:active):not(:checked):not(:disabled), scrollbar > range > trough > slider.flat:not(:hover):not(:active):not(:checked):not(:disabled), notebook > header > tabs > arrow.flat:not(:hover):not(:active):not(:checked):not(:disabled), button.flat:not(:hover):not(:active):not(:checked):not(:disabled) { 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; transition: none; }
+
+scrollbar > range > trough > slider.image-button, notebook > header > tabs > arrow.image-button, button.image-button { min-width: 24px; padding-left: 5px; padding-right: 5px; }
+
+scrollbar > range > trough > slider.text-button, notebook > header > tabs > arrow.text-button, button.text-button { padding-left: 16px; padding-right: 16px; }
+
+scrollbar > range > trough > slider.text-button.image-button, notebook > header > tabs > arrow.text-button.image-button, button.text-button.image-button { padding-left: 8px; padding-right: 8px; }
+
+scrollbar > range > trough > slider.text-button.image-button label, notebook > header > tabs > arrow.text-button.image-button label, button.text-button.image-button label { padding-left: 8px; padding-right: 8px; }
+
+scrollbar > range > trough > slider.arrow-button, notebook > header > tabs > arrow.arrow-button, button.arrow-button { padding-left: 10px; padding-right: 10px; }
+
+scrollbar > range > trough > slider.arrow-button > box, notebook > header > tabs > arrow.arrow-button > box, windowcontrols button.arrow-button > box, button.arrow-button > box { border-spacing: 4px; }
+
+dropdown:drop(active) button.combo, combobox:drop(active) button.combo, scrollbar > range > trough > slider:drop(active), notebook > header > tabs > arrow:drop(active), button:drop(active) { color: #73d216; border-color: #73d216; box-shadow: inset 0 0 0 1px #73d216; }
+
+row:selected button { border-color: #101f00; }
+
+row:selected button.sidebar-button:not(:active):not(:checked):not(:hover):not(disabled), row:selected button.flat:not(:active):not(:checked):not(:hover):not(disabled) { color: #000000; border-color: transparent; }
+
+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: #8d8c8a; }
+
+button.osd { min-width: 26px; min-height: 32px; color: #002269; border-radius: 5px; border: none; box-shadow: none; }
+
+button.osd.image-button { min-width: 30px; }
+
+button.osd.image-button:only-child { margin: 4px; border-radius: 50%; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); }
+
+button.osd:hover { border: none; box-shadow: none; }
+
+button.osd:active, button.osd:checked { border: none; box-shadow: none; }
+
+.app-notification button, popover.background.touch-selection button, popover.background.magnifier button, .osd button { color: #002269; background-color: rgba(103, 137, 180, 0.7); outline-color: rgba(56, 107, 0, 0.5); background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.15)); text-shadow: 0 1px rgba(255, 255, 255, 0.3); -gtk-icon-shadow: 0 1px rgba(255, 255, 255, 0.3); box-shadow: inset 0 1px rgba(255, 255, 255, 0.5), 0 1px 2px rgba(0, 0, 0, 0.4); }
+
+.app-notification button:hover, popover.background.touch-selection button:hover, popover.background.magnifier button:hover, .osd button:hover { background-color: shade(rgba(103, 137, 180, 0.7), 1.1); }
+
+.app-notification button:active, popover.background.touch-selection button:active, popover.background.magnifier button:active, .app-notification button:checked, popover.background.touch-selection button:checked, popover.background.magnifier button:checked, .osd button:active:backdrop, .osd button:active, .osd button:checked:backdrop, .osd button:checked { box-shadow: 0 1px rgba(255, 255, 255, 0.5), inset 0 1px 2px rgba(0, 0, 0, 0.4); }
+
+.app-notification button:disabled, popover.background.touch-selection button:disabled, popover.background.magnifier button:disabled, .osd button:disabled:backdrop, .osd button:disabled { color: #552222; background-color: #938989; background-image: none; }
+
+.app-notification button.flat, popover.background.touch-selection button.flat, popover.background.magnifier button.flat, .osd button.flat { -gtk-icon-shadow: 0 1px black; }
+
+.app-notification button.flat:not(:hover):not(:active):not(:checked):not(:disabled), popover.background.touch-selection button.flat:not(:hover):not(:active):not(:checked):not(:disabled), popover.background.magnifier button.flat:not(:hover):not(:active):not(:checked):not(:disabled), .osd button.flat:not(:hover):not(:active):not(:checked):not(:disabled) { 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; }
+
+.app-notification button.flat:hover, popover.background.touch-selection button.flat:hover, popover.background.magnifier button.flat:hover, .osd button.flat:hover { background-color: shade(rgba(103, 137, 180, 0.7), 1.1); }
+
+.app-notification button.flat:disabled, popover.background.touch-selection button.flat:disabled, popover.background.magnifier button.flat:disabled, .osd button.flat:disabled { color: #552222; background-color: #938989; background-image: none; }
+
+.app-notification button.flat:active, popover.background.touch-selection button.flat:active, popover.background.magnifier button.flat:active, .app-notification button.flat:checked, popover.background.touch-selection button.flat:checked, popover.background.magnifier button.flat:checked, .osd button.flat:active, .osd button.flat:checked { box-shadow: 0 1px rgba(255, 255, 255, 0.5), inset 0 1px 2px rgba(0, 0, 0, 0.4); }
+
+button.suggested-action { color: white; background-color: #386b00; outline-color: rgba(56, 107, 0, 0.5); background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.15)); text-shadow: 0 -1px rgba(0, 0, 0, 0.832157); -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.832157); box-shadow: inset 0 1px rgba(255, 255, 255, 0.3), 0 1px 2px rgba(0, 0, 0, 0.4); transition-property: outline, outline-width, outline-offset, outline-color; transition-duration: 300ms; animation-timing-function: ease-in-out; }
+
+button.suggested-action { outline: 0 solid transparent; outline-offset: 4px; }
+
+button.suggested-action:focus:focus-visible { outline-color: rgba(255, 255, 255, 0.8); outline-width: 2px; outline-offset: -2px; }
+
+button.suggested-action.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; color: #386b00; }
+
+button.suggested-action:hover { background-color: shade(#386b00, 1.1); }
+
+button.suggested-action:active, button.suggested-action:checked { box-shadow: 0 1px rgba(255, 255, 255, 0.3), inset 0 1px 2px rgba(0, 0, 0, 0.4); }
+
+button.suggested-action.flat:disabled { 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; color: rgba(56, 107, 0, 0.8); }
+
+button.suggested-action:disabled { color: #552222; background-color: #938989; background-image: none; }
+
+button.suggested-action:disabled:active, button.suggested-action:disabled:checked { color: #552222; background-color: #858574; }
+
+button.destructive-action { color: white; background-color: #990000; outline-color: rgba(56, 107, 0, 0.5); background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.15)); text-shadow: 0 -1px rgba(0, 0, 0, 0.76); -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.76); box-shadow: inset 0 1px rgba(255, 255, 255, 0.3), 0 1px 2px rgba(0, 0, 0, 0.4); transition-property: outline, outline-width, outline-offset, outline-color; transition-duration: 300ms; animation-timing-function: ease-in-out; }
+
+button.destructive-action { outline: 0 solid transparent; outline-offset: 4px; }
+
+button.destructive-action:focus:focus-visible { outline-color: rgba(255, 255, 255, 0.8); outline-width: 2px; outline-offset: -2px; }
+
+button.destructive-action.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; color: #990000; }
+
+button.destructive-action:hover { background-color: shade(#990000, 1.1); }
+
+button.destructive-action:active, button.destructive-action:checked { box-shadow: 0 1px rgba(255, 255, 255, 0.3), inset 0 1px 2px rgba(0, 0, 0, 0.4); }
+
+button.destructive-action.flat:disabled { 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; color: rgba(153, 0, 0, 0.8); }
+
+button.destructive-action:disabled { color: #552222; background-color: #938989; background-image: none; }
+
+button.destructive-action:disabled:active, button.destructive-action:disabled:checked { color: #552222; background-color: #858574; }
+
+stackswitcher > button > label { padding: 0 6px; margin: 0 -6px; }
+
+stackswitcher > button > image { padding: 3px 6px; margin: -3px -6px; }
+
+button.font separator { background-color: transparent; }
+
+button.font > box { border-spacing: 6px; }
+
+button.font > box > box > label { font-weight: bold; }
+
+menubutton.circular button, button.circular { min-width: 32px; min-height: 32px; padding: 0; border-radius: 9999px; }
+
+menubutton.circular button label, button.circular label { padding: 0; }
+
+stacksidebar row.needs-attention > label, stackswitcher > button.needs-attention > label, stackswitcher > button.needs-attention > image { animation: needs_attention 150ms ease-in; background-image: radial-gradient(farthest-side, #386b00 96%, rgba(56, 107, 0, 0)); background-size: 6px 6px, 6px 6px; background-repeat: no-repeat; background-position: right 3px, right 4px; }
+
+stacksidebar row.needs-attention > label:backdrop, stackswitcher > button.needs-attention > label:backdrop, stackswitcher > button.needs-attention > image:backdrop { background-size: 6px 6px, 0 0; }
+
+stacksidebar row.needs-attention > label:dir(rtl), stackswitcher > button.needs-attention > label:dir(rtl), stackswitcher > button.needs-attention > image:dir(rtl) { background-position: left 3px, left 4px; }
+
+.linked:not(.vertical) > filechooserbutton > combobox:dir(rtl):not(:last-child) > box > button.combo, .linked:not(.vertical) > appchooserbutton > combobox:dir(rtl):not(:last-child) > box > button.combo, .linked:not(.vertical) > combobox:dir(rtl):not(:last-child) > box > button.combo, .linked:not(.vertical) > filechooserbutton > combobox:dir(ltr):not(:first-child) > box > button.combo, .linked:not(.vertical) > appchooserbutton > combobox:dir(ltr):not(:first-child) > box > button.combo, .linked:not(.vertical) > combobox:dir(ltr):not(:first-child) > box > button.combo, dropdown.linked button:nth-child(2):dir(ltr), combobox.linked button:nth-child(2):dir(ltr), .linked:not(.vertical) > menubutton:dir(rtl):not(:last-child) > button, .linked:not(.vertical) > dropdown:dir(rtl):not(:last-child) > button, .linked:not(.vertical) > colorbutton:dir(rtl):not(:last-child) > button, .linked:not(.vertical) > fontbutton:dir(rtl):not(:last-child) > button, .linked:not(.vertical) > filechooserbutton:dir(rtl):not(:last-child) > button, .linked:not(.vertical) > menubutton:dir(ltr):not(:first-child) > button, .linked:not(.vertical) > dropdown:dir(ltr):not(:first-child) > button, .linked:not(.vertical) > colorbutton:dir(ltr):not(:first-child) > button, .linked:not(.vertical) > fontbutton:dir(ltr):not(:first-child) > button, .linked:not(.vertical) > filechooserbutton:dir(ltr):not(:first-child) > button, spinbutton.vertical.linked:not(.vertical) > text:dir(rtl):not(:last-child), .linked:not(.vertical) > spinbutton:dir(rtl):not(:last-child):not(.vertical), .linked:not(.vertical) > entry:dir(rtl):not(:last-child), .linked:not(.vertical) > button:dir(rtl):not(:last-child), spinbutton.vertical.linked:not(.vertical) > text:dir(ltr):not(:first-child), .linked:not(.vertical) > spinbutton:dir(ltr):not(:first-child):not(.vertical), .linked:not(.vertical) > entry:dir(ltr):not(:first-child), .linked:not(.vertical) > button:dir(ltr):not(:first-child) { border-top-left-radius: 0; border-bottom-left-radius: 0; }
+
+.linked:not(.vertical) > filechooserbutton > combobox:dir(rtl):not(:first-child) > box > button.combo, .linked:not(.vertical) > appchooserbutton > combobox:dir(rtl):not(:first-child) > box > button.combo, .linked:not(.vertical) > combobox:dir(rtl):not(:first-child) > box > button.combo, .linked:not(.vertical) > filechooserbutton > combobox:dir(ltr):not(:last-child) > box > button.combo, .linked:not(.vertical) > appchooserbutton > combobox:dir(ltr):not(:last-child) > box > button.combo, .linked:not(.vertical) > combobox:dir(ltr):not(:last-child) > box > button.combo, dropdown.linked button:nth-child(2):dir(rtl), combobox.linked button:nth-child(2):dir(rtl), .linked:not(.vertical) > menubutton:dir(rtl):not(:first-child) > button, .linked:not(.vertical) > dropdown:dir(rtl):not(:first-child) > button, .linked:not(.vertical) > colorbutton:dir(rtl):not(:first-child) > button, .linked:not(.vertical) > fontbutton:dir(rtl):not(:first-child) > button, .linked:not(.vertical) > filechooserbutton:dir(rtl):not(:first-child) > button, .linked:not(.vertical) > menubutton:dir(ltr):not(:last-child) > button, .linked:not(.vertical) > dropdown:dir(ltr):not(:last-child) > button, .linked:not(.vertical) > colorbutton:dir(ltr):not(:last-child) > button, .linked:not(.vertical) > fontbutton:dir(ltr):not(:last-child) > button, .linked:not(.vertical) > filechooserbutton:dir(ltr):not(:last-child) > button, spinbutton.vertical.linked:not(.vertical) > text:dir(rtl):not(:first-child), .linked:not(.vertical) > spinbutton:dir(rtl):not(:first-child):not(.vertical), .linked:not(.vertical) > entry:dir(rtl):not(:first-child), .linked:not(.vertical) > button:dir(rtl):not(:first-child), spinbutton.vertical.linked:not(.vertical) > text:dir(ltr):not(:last-child), .linked:not(.vertical) > spinbutton:dir(ltr):not(:last-child):not(.vertical), .linked:not(.vertical) > entry:dir(ltr):not(:last-child), .linked:not(.vertical) > button:dir(ltr):not(:last-child) { border-right-style: none; border-top-right-radius: 0; border-bottom-right-radius: 0; }
+
+.linked.vertical > filechooserbutton > combobox:not(:first-child) > box > button.combo, .linked.vertical > appchooserbutton > combobox:not(:first-child) > box > button.combo, .linked.vertical > combobox:not(:first-child) > box > button.combo, .linked.vertical > menubutton:not(:first-child) > button, .linked.vertical > dropdown:not(:first-child) > button, .linked.vertical > colorbutton:not(:first-child) > button, .linked.vertical > fontbutton:not(:first-child) > button, .linked.vertical > filechooserbutton:not(:first-child) > button, spinbutton.vertical.linked > text:not(:first-child), .linked.vertical > spinbutton:not(:first-child):not(.vertical), .linked.vertical > entry:not(:first-child), .linked.vertical > button:not(:first-child) { border-top-left-radius: 0; border-top-right-radius: 0; }
+
+.linked.vertical > filechooserbutton > combobox:not(:last-child) > box > button.combo, .linked.vertical > appchooserbutton > combobox:not(:last-child) > box > button.combo, .linked.vertical > combobox:not(:last-child) > box > button.combo, .linked.vertical > menubutton:not(:last-child) > button, .linked.vertical > dropdown:not(:last-child) > button, .linked.vertical > colorbutton:not(:last-child) > button, .linked.vertical > fontbutton:not(:last-child) > button, .linked.vertical > filechooserbutton:not(:last-child) > button, spinbutton.vertical.linked > text:not(:last-child), .linked.vertical > spinbutton:not(:last-child):not(.vertical), .linked.vertical > entry:not(:last-child), .linked.vertical > button:not(:last-child) { border-bottom-style: none; border-bottom-left-radius: 0; border-bottom-right-radius: 0; }
+
+.scale-popup button:hover, button.link, button.link:hover, button.link:active, button.link:checked, popover.menu box.circular-buttons button.circular.image-button.model, list > row button.image-button:not(.flat), modelbutton.flat:not(:hover):not(:active):not(:checked):not(:disabled) { background-color: transparent; background-image: none; border-color: transparent; box-shadow: inset 0 1px rgba(255, 255, 255, 0), 0 1px rgba(255, 255, 255, 0); text-shadow: none; -gtk-icon-shadow: none; }
+
+/* menu buttons */
+modelbutton.flat { min-height: 26px; padding-left: 5px; padding-right: 5px; border-radius: 5px; }
+
+modelbutton.flat:hover:not(.osd):not(:checked):not(:active):not(:disabled):not(:backdrop) { background-color: shade(#bcbeb9, 1.1); }
+
+modelbutton.flat:disabled { color: #552222; background-color: #938989; background-image: none; }
+
+modelbutton.flat arrow { background: none; min-width: 16px; min-height: 16px; opacity: 1; }
+
+modelbutton.flat arrow:hover:not(.osd):not(:checked):not(:active):not(:disabled):not(:backdrop) { background-color: shade(#bcbeb9, 1.1); }
+
+modelbutton.flat arrow.left { -gtk-icon-source: -gtk-icontheme("go-previous-symbolic"); }
+
+modelbutton.flat arrow.right { -gtk-icon-source: -gtk-icontheme("go-next-symbolic"); }
+
+/* oldstyle toolbar buttons */
+.toolbar > button, .toolbar > :not(.linked) > button, .toolbar :not(.linked) > menubutton > button, .toolbar :not(.linked) > scalebutton > button, .toolbar :not(.linked) > dropdown > button, .toolbar :not(.linked) > colorbutton > button, .toolbar :not(.linked) > fontbutton > button, .toolbar :not(.linked) > appchooserbutton > button, .toolbar :not(.linked) > combobox > box > button { margin: 1px; }
+
+button.color { padding: 4px; }
+
+button.color > colorswatch:only-child { box-shadow: 0 1px rgba(0, 0, 0, 0.1); }
+
+button.color > colorswatch:only-child, button.color > colorswatch:only-child > overlay { border-radius: 0; }
+
+.osd button.color > colorswatch:only-child { box-shadow: none; }
+
+.osd button.color:disabled colorswatch:only-child, .osd button.color:active colorswatch:only-child, .osd button.color:checked colorswatch:only-child, button.color:disabled colorswatch:only-child, button.color:active colorswatch:only-child, button.color:checked colorswatch:only-child { box-shadow: none; }
+
+/* list buttons */
+/* tone down as per new designs, see issue #1473 */
+popover.menu box.circular-buttons button.circular.image-button.model, list > row button.image-button:not(.flat) { border: 1px solid rgba(121, 121, 121, 0.5); }
+
+popover.menu box.circular-buttons button.circular.image-button.model:hover, list > row button.image-button:not(.flat):hover { background-color: shade(#bcbeb9, 1.1); }
+
+popover.menu box.circular-buttons button.circular.image-button.model:active, popover.menu box.circular-buttons button.circular.image-button.model:checked, list > row button.image-button:not(.flat):active, list > row button.image-button:not(.flat):checked { box-shadow: 0 1px rgba(255, 255, 255, 0.5), inset 0 1px 2px rgba(0, 0, 0, 0.4); }
+
+popover.menu box.circular-buttons button.suggested-action.circular.image-button.model, list > row button.image-button:not(.flat).suggested-action { color: white; background-color: #386b00; outline-color: rgba(56, 107, 0, 0.5); background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.15)); text-shadow: 0 -1px rgba(0, 0, 0, 0.832157); -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.832157); box-shadow: inset 0 1px rgba(255, 255, 255, 0.3), 0 1px 2px rgba(0, 0, 0, 0.4); transition-property: outline, outline-width, outline-offset, outline-color; transition-duration: 300ms; animation-timing-function: ease-in-out; }
+
+popover.menu box.circular-buttons button.suggested-action.circular.image-button.model, list > row button.image-button:not(.flat).suggested-action { outline: 0 solid transparent; outline-offset: 4px; }
+
+popover.menu box.circular-buttons button.suggested-action.circular.image-button.model:focus:focus-visible, list > row button.image-button:not(.flat).suggested-action:focus:focus-visible { outline-color: rgba(255, 255, 255, 0.8); outline-width: 2px; outline-offset: -2px; }
+
+popover.menu box.circular-buttons button.destructive-action.circular.image-button.model, list > row button.image-button:not(.flat).destructive-action { color: white; background-color: #990000; outline-color: rgba(56, 107, 0, 0.5); background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.15)); text-shadow: 0 -1px rgba(0, 0, 0, 0.76); -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.76); box-shadow: inset 0 1px rgba(255, 255, 255, 0.3), 0 1px 2px rgba(0, 0, 0, 0.4); transition-property: outline, outline-width, outline-offset, outline-color; transition-duration: 300ms; animation-timing-function: ease-in-out; }
+
+popover.menu box.circular-buttons button.destructive-action.circular.image-button.model, list > row button.image-button:not(.flat).destructive-action { outline: 0 solid transparent; outline-offset: 4px; }
+
+popover.menu box.circular-buttons button.destructive-action.circular.image-button.model:focus:focus-visible, list > row button.image-button:not(.flat).destructive-action:focus:focus-visible { outline-color: rgba(255, 255, 255, 0.8); outline-width: 2px; outline-offset: -2px; }
+
+/********* Links * */
+button.link, link { color: #1d3800; text-decoration: underline; }
+
+button.link:visited, link:visited { color: #030500; }
+
+*:selected button.link:visited, *:selected link:visited { color: #010200; }
+
+button.link:hover, link:hover { color: #386b00; }
+
+*:selected button.link:hover, *:selected link:hover { color: #060b00; }
+
+button.link:active, link:active { color: #1d3800; }
+
+*:selected button.link:active, *:selected link:active { color: #060b00; }
+
+button.link:disabled, link:disabled { color: rgba(28, 28, 28, 0.8); }
+
+button.link:selected, *:selected button.link, link:selected, *:selected link { color: #060b00; }
+
+link { transition-property: outline, outline-width, outline-offset, outline-color; transition-duration: 300ms; animation-timing-function: ease-in-out; }
+
+link { outline: 0 solid transparent; outline-offset: 4px; }
+
+link:focus:focus-visible { outline-color: rgba(56, 107, 0, 0.5); outline-width: 2px; outline-offset: -2px; }
+
+button.link, button.link:hover, button.link:active, button.link:checked { text-shadow: none; }
+
+button.link > label { text-decoration: underline; }
+
+/***************** GtkSpinButton * */
+spinbutton { font-feature-settings: "tnum"; }
+
+spinbutton:not(.vertical) { padding: 0; border-spacing: 0; /* :not here just to bump specificity above that of the list button styling */ }
+
+.osd spinbutton:not(.vertical) > text, spinbutton:not(.vertical) > text { min-width: 28px; margin: 0; background: none; background-color: transparent; border: none; border-radius: 0; box-shadow: none; padding: 6px; }
+
+.osd spinbutton:not(.vertical) > text:backdrop:disabled, spinbutton:not(.vertical) > text:backdrop:disabled { background-color: #938989; }
+
+spinbutton:not(.vertical) > button.image-button.up:not(.flat), spinbutton:not(.vertical) > button.image-button.down:not(.flat) { padding: 0; }
+
+.osd spinbutton:not(.vertical) > button.image-button.up:not(.flat), .osd spinbutton:not(.vertical) > button.image-button.down:not(.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; color: #002269; border-style: none none none solid; border-color: rgba(0, 34, 105, 0.7); border-radius: 0; box-shadow: none; -gtk-icon-shadow: 0 1px black; }
+
+.osd spinbutton:not(.vertical) > button.image-button.up:not(.flat):dir(rtl), .osd spinbutton:not(.vertical) > button.image-button.down:not(.flat):dir(rtl) { border-style: none solid none none; }
+
+.osd spinbutton:not(.vertical) > button.image-button.up:not(.flat):hover, .osd spinbutton:not(.vertical) > button.image-button.down:not(.flat):hover { 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; color: #002269; border-color: rgba(0, 34, 105, 0.5); background-color: rgba(77, 111, 155, 0.7); -gtk-icon-shadow: 0 1px black; box-shadow: none; }
+
+.osd spinbutton:not(.vertical) > button.image-button.up:not(.flat):disabled, .osd spinbutton:not(.vertical) > button.image-button.down:not(.flat):disabled { 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; color: #34568f; border-color: rgba(0, 34, 105, 0.5); -gtk-icon-shadow: none; box-shadow: none; }
+
+.osd spinbutton:not(.vertical) > button.image-button.up:not(.flat):dir(ltr):last-child, .osd spinbutton:not(.vertical) > button.image-button.down:not(.flat):dir(ltr):last-child { border-radius: 0 5px 5px 0; }
+
+.osd spinbutton:not(.vertical) > button.image-button.up:not(.flat):dir(rtl):first-child, .osd spinbutton:not(.vertical) > button.image-button.down:not(.flat):dir(rtl):first-child { border-radius: 5px 0 0 5px; }
+
+spinbutton.vertical:disabled { color: #552222; }
+
+spinbutton.vertical:drop(active) { border-color: transparent; box-shadow: none; }
+
+spinbutton.vertical > text { min-height: 32px; min-width: 32px; padding: 0; border-radius: 0; }
+
+spinbutton.vertical > text > selection { background-color: rgba(54, 54, 54, 0.5); color: transparent; }
+
+spinbutton.vertical > text > selection:focus-within { background-color: rgba(56, 107, 0, 0.3); color: #000000; }
+
+spinbutton.vertical > text > block-cursor { color: #908f8d; background-color: #241f31; }
+
+spinbutton.vertical > button { min-height: 32px; min-width: 32px; padding: 0; }
+
+spinbutton.vertical > button.up { border-bottom-style: none; border-bottom-left-radius: 0; border-bottom-right-radius: 0; }
+
+spinbutton.vertical > button.down { border-top-style: none; border-top-left-radius: 0; border-top-right-radius: 0; }
+
+treeview spinbutton:not(.vertical) { min-height: 0; border-style: none; border-radius: 0; }
+
+treeview spinbutton:not(.vertical) > text { min-height: 0; padding: 1px 2px; }
+
+/************** ComboBoxes * */
+dropdown > popover.menu.background > contents { padding: 0; }
+
+dropdown > button > box { border-spacing: 6px; }
+
+dropdown > button > box > stack > row.activatable:hover { background: none; box-shadow: none; }
+
+dropdown arrow, combobox arrow { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); min-height: 16px; min-width: 16px; }
+
+dropdown > popover.menu > contents modelbutton, combobox > popover.menu > contents modelbutton { padding-left: 9px; padding-right: 9px; }
+
+dropdown:drop(active), combobox:drop(active) { box-shadow: none; }
+
+dropdown popover, combobox popover { margin-top: 6px; padding: 0; }
+
+dropdown popover listview, combobox popover listview { margin: 8px 0; }
+
+dropdown popover listview > row.activatable, combobox popover listview > row.activatable { padding: 8px; }
+
+dropdown popover listview > row.activatable:selected, dropdown popover listview > row.activatable:selected:hover, combobox popover listview > row.activatable:selected, combobox popover listview > row.activatable:selected:hover { outline-color: rgba(255, 255, 255, 0.8); color: #241f31; background-color: #386b00; box-shadow: none; }
+
+dropdown popover .dropdown-searchbar, combobox popover .dropdown-searchbar { padding: 6px; border-bottom: 1px solid #797979; }
+
+/************ Toolbars * */
+searchbar > revealer > box, .toolbar { padding: 4px; border-spacing: 4px; background-color: #a7a7a7; }
+
+.osd .toolbar { background-color: transparent; }
+
+.toolbar.osd { padding: 13px; border: none; border-radius: 5px; background-color: rgba(103, 137, 180, 0.7); }
+
+.toolbar.osd.left, .toolbar.osd.right, .toolbar.osd.top, .toolbar.osd.bottom { border-radius: 0; }
+
+.toolbar.horizontal > separator { margin: 4px 0; }
+
+.toolbar.vertical > separator { margin: 0 4px; }
+
+searchbar > revealer > box { padding: 6px; border-spacing: 6px; border-width: 0 0 1px; }
+
+searchbar > revealer > box { border-style: solid; border-color: #797979; background-color: #999999; }
+
+searchbar > revealer > box:backdrop { border-color: #828282; background-color: #9a9a9a; box-shadow: none; transition: 200ms ease-out; }
+
+/************** GtkInfoBar * */
+infobar > revealer > box { padding: 8px; border-spacing: 12px; }
+
+infobar.action:hover > revealer > box { background-color: white; }
+
+infobar.info > revealer > box, infobar.question > revealer > box, infobar.warning > revealer > box, infobar.error > revealer > box { border-bottom: 1px solid #868686; background-color: white; }
+
+infobar .close, searchbar .close { 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; min-width: 16px; min-height: 16px; padding: 4px; border-radius: 50%; }
+
+infobar .close:hover, searchbar .close:hover { background-color: shade(#bcbeb9, 1.1); }
+
+/***************** Title buttons * */
+windowcontrols { border-spacing: 6px; }
+
+windowcontrols:not(.empty).start:dir(ltr), windowcontrols:not(.empty).end:dir(rtl) { margin-right: 7px; }
+
+windowcontrols:not(.empty).start:dir(rtl), windowcontrols:not(.empty).end:dir(ltr) { margin-left: 7px; }
+
+windowcontrols button { border-radius: 9999px; padding: 6px; margin: 0 2px; min-width: 0; min-height: 0; }
+
+windowcontrols button:hover { background-color: shade(#bcbeb9, 1.1); }
+
+windowcontrols button:active, windowcontrols button:checked { box-shadow: 0 1px rgba(255, 255, 255, 0.5), inset 0 1px 2px rgba(0, 0, 0, 0.4); }
+
+windowcontrols button.close { background-color: #990000; color: white; }
+
+/*************** Header bars * */
+.titlebar:not(headerbar), headerbar { padding: 0 6px; min-height: 46px; border-width: 0 0 1px; border-style: solid; border-color: #6a6a6a; border-radius: 0; background: #8e8e8e linear-gradient(to top, #888888, #909090); /* Darken switchbuttons for headerbars. issue #1588 */ }
+
+.titlebar:backdrop:not(headerbar), headerbar:backdrop { border-color: #828282; background-color: #a7a7a7; background-image: none; transition: 200ms ease-out; }
+
+.titlebar:not(headerbar) .title, headerbar .title { padding-left: 12px; padding-right: 12px; font-weight: bold; }
+
+.titlebar:not(headerbar) .subtitle, headerbar .subtitle { font-size: smaller; padding-left: 12px; padding-right: 12px; }
+
+.tiled .titlebar:not(headerbar), .tiled-top .titlebar:not(headerbar), .tiled-left .titlebar:not(headerbar), .tiled-right .titlebar:not(headerbar), .tiled-bottom .titlebar:not(headerbar), .maximized .titlebar:not(headerbar), .fullscreen .titlebar:not(headerbar), .tiled headerbar, .tiled-top headerbar, .tiled-left headerbar, .tiled-right headerbar, .tiled-bottom headerbar, .maximized headerbar, .fullscreen headerbar { border-radius: 0; }
+
+.default-decoration.titlebar:not(headerbar), headerbar.default-decoration { min-height: 28px; padding: 4px; }
+
+.default-decoration.titlebar:not(headerbar) windowcontrols button, .default-decoration.titlebar:not(headerbar) windowcontrols menubutton, headerbar.default-decoration windowcontrols button, headerbar.default-decoration windowcontrols menubutton { min-height: 26px; min-width: 26px; margin: 0; padding: 0; }
+
+.default-decoration.titlebar:not(headerbar) windowcontrols menubutton button, headerbar.default-decoration windowcontrols menubutton button { min-height: 20px; min-width: 20px; margin: 0; padding: 4px; }
+
+.solid-csd .titlebar:dir(rtl):not(headerbar), .solid-csd .titlebar:dir(ltr):not(headerbar), .solid-csd headerbar:backdrop:dir(rtl), .solid-csd headerbar:backdrop:dir(ltr), .solid-csd headerbar:dir(rtl), .solid-csd headerbar:dir(ltr) { margin-left: -1px; margin-right: -1px; margin-top: -1px; border-radius: 0; box-shadow: none; }
+
+headerbar > windowhandle > box, headerbar > windowhandle > box > box.start, headerbar > windowhandle > box > box.end { border-spacing: 6px; }
+
+headerbar entry, headerbar spinbutton, headerbar separator:not(.sidebar), headerbar button, headerbar menubutton { margin-top: 6px; margin-bottom: 6px; }
+
+headerbar menubutton > button { margin-top: 0px; margin-bottom: 0px; }
+
+headerbar switch { margin-top: 10px; margin-bottom: 10px; }
+
+window.csd > .titlebar:not(headerbar) { padding: 0; background-color: transparent; background-image: none; border-style: none; border-color: transparent; }
+
+.titlebar:not(headerbar) separator { background-color: #797979; }
+
+window.devel headerbar.titlebar { background: #a7a7a7 cross-fade(10% -gtk-icontheme("system-run-symbolic"), image(transparent)) 90% 0/256px 256px no-repeat, linear-gradient(to right, transparent 65%, rgba(56, 107, 0, 0.2)), linear-gradient(to top, #868686, #8e8e8e 3px, #9d9d9d); }
+
+window.devel headerbar.titlebar:backdrop { background: #a7a7a7 cross-fade(10% -gtk-icontheme("system-run-symbolic"), image(transparent)) 90% 0/256px 256px no-repeat, image(#a7a7a7); /* background-color would flash */ }
+
+/************ Pathbars * */
+pathbar > button.text-button, pathbar > button.image-button, pathbar > button { padding-left: 4px; padding-right: 4px; }
+
+pathbar > button.text-button.image-button label { padding-left: 0; padding-right: 0; }
+
+pathbar > button.text-button.image-button label:last-child, pathbar > button label:last-child { padding-right: 8px; }
+
+pathbar > button.text-button.image-button label:first-child, pathbar > button label:first-child { padding-left: 8px; }
+
+pathbar > button image { padding-left: 4px; padding-right: 4px; }
+
+pathbar > button.slider-button { padding-left: 0; padding-right: 0; }
+
+/************** Tree Views * */
+columnview.view, treeview.view { border-left-color: #7e7d7d; border-top-color: #7e7d7d; transition-property: outline, outline-width, outline-offset, outline-color; transition-duration: 300ms; animation-timing-function: ease-in-out; }
+
+columnview.view, treeview.view { outline: 0 solid transparent; outline-offset: 4px; }
+
+columnview.view:focus:focus-visible, treeview.view:focus:focus-visible { outline-color: rgba(56, 107, 0, 0.5); outline-width: 2px; outline-offset: -2px; }
+
+columnview.view:selected:focus, columnview.view:selected, treeview.view:selected:focus, treeview.view:selected { border-radius: 0; outline-color: rgba(255, 255, 255, 0.8); }
+
+columnview.view:disabled, treeview.view:disabled { color: #552222; }
+
+columnview.view:disabled:selected, treeview.view:disabled:selected { color: #224000; }
+
+columnview.view:disabled:selected:backdrop, treeview.view:disabled:selected:backdrop { color: #52752a; }
+
+columnview.view.separator, treeview.view.separator { min-height: 2px; color: #7e7d7d; }
+
+columnview.view:backdrop, treeview.view:backdrop { border-left-color: #858584; border-top: #858584; }
+
+columnview.view:drop(active), treeview.view:drop(active) { box-shadow: none; }
+
+columnview.view > dndtarget:drop(active), treeview.view > dndtarget:drop(active) { border-style: solid none; border-width: 1px; border-color: #101f00; }
+
+columnview.view > dndtarget:drop(active).after, treeview.view > dndtarget:drop(active).after { border-top-style: none; }
+
+columnview.view > dndtarget:drop(active).before, treeview.view > dndtarget:drop(active).before { border-bottom-style: none; }
+
+columnview.view.expander, treeview.view.expander { min-width: 16px; min-height: 16px; -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); color: #44414d; }
+
+columnview.view.expander:dir(rtl), treeview.view.expander:dir(rtl) { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); }
+
+columnview.view.expander:hover, treeview.view.expander:hover { color: #241f31; }
+
+columnview.view.expander:selected, treeview.view.expander:selected { color: #112000; }
+
+columnview.view.expander:selected:hover, treeview.view.expander:selected:hover { color: #000000; }
+
+columnview.view.expander:checked, treeview.view.expander:checked { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); }
+
+columnview.view.progressbar, treeview.view.progressbar { color: #908f8d; background-color: #386b00; background-image: image(#386b00); box-shadow: none; }
+
+columnview.view.progressbar:selected:focus, columnview.view.progressbar:selected, treeview.view.progressbar:selected:focus, treeview.view.progressbar:selected { color: #386b00; background-image: image(#908f8d); }
+
+columnview.view.progressbar:selected:focus:backdrop, columnview.view.progressbar:selected:backdrop, treeview.view.progressbar:selected:focus:backdrop, treeview.view.progressbar:selected:backdrop { color: #386b00; background-color: #8d8c8a; }
+
+columnview.view.trough, treeview.view.trough { background-color: rgba(36, 31, 49, 0.1); }
+
+columnview.view.trough:selected:focus, columnview.view.trough:selected, treeview.view.trough:selected:focus, treeview.view.trough:selected { background-color: rgba(0, 0, 0, 0.3); }
+
+columnview.view > header > button, treeview.view > header > button { color: #5a575f; background-color: #908f8d; font-weight: bold; text-shadow: none; box-shadow: none; }
+
+columnview.view > header > button:hover, treeview.view > header > button:hover { color: #3f3b48; box-shadow: none; transition: none; }
+
+columnview.view > header > button:active, treeview.view > header > button:active { color: #241f31; transition: none; }
+
+columnview.view > header > button sort-indicator, treeview.view > header > button sort-indicator { min-height: 16px; min-width: 16px; }
+
+columnview.view > header > button sort-indicator.ascending, treeview.view > header > button sort-indicator.ascending { -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); }
+
+columnview.view > header > button sort-indicator.descending, treeview.view > header > button sort-indicator.descending { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); }
+
+columnview.view button.dnd:active, columnview.view button.dnd:selected, columnview.view button.dnd:hover, columnview.view button.dnd, columnview.view header.button.dnd:active, columnview.view header.button.dnd:selected, columnview.view header.button.dnd:hover, columnview.view header.button.dnd, treeview.view button.dnd:active, treeview.view button.dnd:selected, treeview.view button.dnd:hover, treeview.view button.dnd, treeview.view header.button.dnd:active, treeview.view header.button.dnd:selected, treeview.view header.button.dnd:hover, treeview.view header.button.dnd { padding: 0 6px; color: #908f8d; background-image: none; background-color: #386b00; border-style: none; border-radius: 0; box-shadow: inset 0 0 0 1px #908f8d; text-shadow: none; transition: none; }
+
+columnview.view acceleditor > label, treeview.view acceleditor > label { background-color: #386b00; }
+
+columnview.view > header > button, treeview.view > header > button, columnview.view > header > button:hover, treeview.view > header > button:hover, columnview.view > header > button:active, treeview.view > header > button:active { padding: 0 6px; background-image: none; border-style: none none solid solid; border-color: #7e7d7d; border-radius: 0; text-shadow: none; }
+
+columnview.view > header > button:disabled, treeview.view > header > button:disabled { border-color: #a7a7a7; background-image: none; background-color: #938989; color: #552222; }
+
+columnview.view > header > button:last-child, treeview.view > header > button:last-child { border-right-style: none; }
+
+/*************** Popovers * */
+popover.background { background-color: transparent; font: initial; }
+
+popover.background > arrow, popover.background > contents { background-color: #908f8d; background-clip: padding-box; border: 1px solid rgba(0, 0, 0, 0.23); box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3); }
+
+popover.background:backdrop { background-color: transparent; }
+
+popover.background > contents { padding: 8px; border-radius: 9px; }
+
+popover.background > contents > list, popover.background > contents > .view, popover.background > contents > iconview, popover.background > contents > .toolbar { border-style: none; background-color: transparent; }
+
+popover.background > contents separator { background-color: #878787; margin: 3px; }
+
+popover.background > contents list separator { margin: 0; }
+
+.osd popover.background, popover.background.touch-selection, popover.background.magnifier { background-color: transparent; }
+
+.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 { border: 1px solid rgba(255, 255, 255, 0.1); box-shadow: none; }
+
+magnifier { background-color: #908f8d; }
+
+/********************** Popover Base Menus * */
+popover.menu { padding: 0; }
+
+popover.menu box.inline-buttons { padding: 0 12px; }
+
+popover.menu box.inline-buttons button.image-button.model { 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; min-height: 30px; min-width: 30px; padding: 0; border: none; outline: none; transition: none; }
+
+popover.menu box.inline-buttons button.image-button.model:selected { background: image(#386b00); }
+
+popover.menu box.circular-buttons { padding: 12px 12px 6px; }
+
+popover.menu box.circular-buttons button.circular.image-button.model { padding: 11px; }
+
+popover.menu box.circular-buttons button.circular.image-button.model:focus { background-color: #386b00; border-color: #386b00; }
+
+popover.menu > arrow, popover.menu.background > contents { background-color: #908f8d; padding: 5px; }
+
+popover.menu.background separator { margin: 6px 0; }
+
+popover.menu accelerator { color: alpha(currentColor,0.55); }
+
+popover.menu accelerator:dir(ltr) { margin-left: 12px; }
+
+popover.menu accelerator:dir(rtl) { margin-right: 12px; }
+
+popover.menu check, popover.menu radio { transform: scale(0.8); border-width: 1.2px; box-shadow: none; background-image: image(transparent); color: #241f31; }
+
+popover.menu check:hover, popover.menu radio:hover { transform: scale(0.8); border-width: 1.2px; color: #241f31; box-shadow: none; background-image: image(transparent); }
+
+popover.menu check:active, popover.menu radio:active { transform: scale(0.8); border-width: 1.2px; color: #241f31; box-shadow: none; background-image: image(transparent); }
+
+popover.menu arrow.left, popover.menu radio.left, popover.menu check.left { margin-left: -2px; margin-right: 6px; }
+
+popover.menu arrow.right, popover.menu radio.right, popover.menu check.right { margin-left: 6px; margin-right: -2px; }
+
+popover.menu modelbutton { min-height: 30px; min-width: 40px; padding: 0 12px; border-radius: 5px; }
+
+popover.menu modelbutton:selected { color: #241f31; background-color: #386b00; }
+
+popover.menu modelbutton:selected:active { background-color: #838383; }
+
+popover.menu label.title { font-weight: bold; padding: 4px 32px; }
+
+menubar { padding: 0px; box-shadow: inset 0 -1px rgba(0, 0, 0, 0.1); }
+
+menubar > item { min-height: 16px; padding: 4px 8px; }
+
+menubar > item:selected { box-shadow: inset 0 -3px #386b00; color: #1d3800; }
+
+menubar > item:disabled { color: #552222; box-shadow: none; }
+
+menubar > item popover.menu.background > contents { padding: 5px; }
+
+menubar > item popover.menu popover.menu { padding: 0 0 4px 0; }
+
+menubar > item popover.menu.background popover.menu.background > contents { margin: 0; border-radius: 9px; }
+
+/************* Notebooks * */
+notebook { transition-property: outline, outline-width, outline-offset, outline-color; transition-duration: 300ms; animation-timing-function: ease-in-out; }
+
+notebook > header > tabs > tab:checked { outline: 0 solid transparent; outline-offset: 4px; }
+
+notebook:focus:focus-visible > header > tabs > tab:checked { outline-color: rgba(56, 107, 0, 0.5); outline-width: 2px; outline-offset: -2px; }
+
+notebook > header { padding: 1px; border-color: #797979; border-width: 1px; background-color: #909090; }
+
+notebook > header > tabs { margin: -1px; }
+
+notebook > header.top { border-bottom-style: solid; }
+
+notebook > header.top > tabs { margin-bottom: -2px; }
+
+notebook > header.top > tabs > tab:hover { box-shadow: inset 0 -4px #797979; }
+
+notebook > header.top > tabs > tab:checked { box-shadow: inset 0 -4px #386b00; }
+
+notebook > header.bottom { border-top-style: solid; }
+
+notebook > header.bottom > tabs { margin-top: -2px; }
+
+notebook > header.bottom > tabs > tab:hover { box-shadow: inset 0 4px #797979; }
+
+notebook > header.bottom > tabs > tab:checked { box-shadow: inset 0 4px #386b00; }
+
+notebook > header.left { border-right-style: solid; }
+
+notebook > header.left > tabs { margin-right: -2px; }
+
+notebook > header.left > tabs > tab:hover { box-shadow: inset -4px 0 #797979; }
+
+notebook > header.left > tabs > tab:checked { box-shadow: inset -4px 0 #386b00; }
+
+notebook > header.right { border-left-style: solid; }
+
+notebook > header.right > tabs { margin-left: -2px; }
+
+notebook > header.right > tabs > tab:hover { box-shadow: inset 4px 0 #797979; }
+
+notebook > header.right > tabs > tab:checked { box-shadow: inset 4px 0 #386b00; }
+
+notebook > header.top > tabs > arrow { border-top-style: none; }
+
+notebook > header.bottom > tabs > arrow { border-bottom-style: none; }
+
+notebook > header.top > tabs > arrow, notebook > header.bottom > tabs > arrow { margin-left: -5px; margin-right: -5px; padding-left: 4px; padding-right: 4px; }
+
+notebook > header.top > tabs > arrow.down, notebook > header.bottom > tabs > arrow.down { -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); }
+
+notebook > header.top > tabs > arrow.up, notebook > header.bottom > tabs > arrow.up { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); }
+
+notebook > header.left > tabs > arrow { border-left-style: none; }
+
+notebook > header.right > tabs > arrow { border-right-style: none; }
+
+notebook > header.left > tabs > arrow, notebook > header.right > tabs > arrow { margin-top: -5px; margin-bottom: -5px; padding-top: 4px; padding-bottom: 4px; }
+
+notebook > header.left > tabs > arrow.down, notebook > header.right > tabs > arrow.down { -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); }
+
+notebook > header.left > tabs > arrow.up, notebook > header.right > tabs > arrow.up { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); }
+
+notebook > header > tabs > arrow { min-height: 16px; min-width: 16px; border-radius: 0; }
+
+notebook > header > tabs > arrow:hover:not(:active):not(:backdrop) { background-clip: padding-box; background-image: none; background-color: rgba(255, 255, 255, 0.3); border-color: transparent; box-shadow: none; }
+
+notebook > header > tabs > arrow:disabled { 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; }
+
+notebook > header > tabs > tab { transition: outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); min-height: 30px; min-width: 30px; padding: 3px 12px; color: #241f31; font-weight: normal; border-width: 1px; border-color: transparent; }
+
+notebook > header > tabs > tab:hover { color: #241f31; background-color: #868686; }
+
+notebook > header > tabs > tab:hover.reorderable-page { border-color: rgba(121, 121, 121, 0.3); background-color: rgba(167, 167, 167, 0.2); }
+
+notebook > header > tabs > tab:not(:checked) { outline-color: transparent; }
+
+notebook > header > tabs > tab:checked { color: #241f31; }
+
+notebook > header > tabs > tab:checked.reorderable-page { border-color: rgba(121, 121, 121, 0.5); background-color: rgba(167, 167, 167, 0.5); }
+
+notebook > header > tabs > tab:checked.reorderable-page:hover { background-color: rgba(167, 167, 167, 0.7); }
+
+notebook > header > tabs > tab button.flat { color: alpha(currentColor,0.3); padding: 0; margin-top: 4px; margin-bottom: 4px; min-width: 20px; min-height: 20px; }
+
+notebook > header > tabs > tab button.flat:hover { color: currentColor; }
+
+notebook > header > tabs > tab button.flat:last-child { margin-left: 4px; margin-right: -4px; }
+
+notebook > header > tabs > tab button.flat:first-child { margin-left: -4px; margin-right: 4px; }
+
+notebook > header.top > tabs, notebook > header.bottom > tabs { padding-left: 4px; padding-right: 4px; }
+
+notebook > header.top > tabs:not(:only-child), notebook > header.bottom > tabs:not(:only-child) { margin-left: 3px; margin-right: 3px; }
+
+notebook > header.top > tabs:not(:only-child):first-child, notebook > header.bottom > tabs:not(:only-child):first-child { margin-left: -1px; }
+
+notebook > header.top > tabs:not(:only-child):last-child, notebook > header.bottom > tabs:not(:only-child):last-child { margin-right: -1px; }
+
+notebook > header.top > tabs > tab, notebook > header.bottom > tabs > tab { margin-left: 4px; margin-right: 4px; }
+
+notebook > header.top > tabs > tab.reorderable-page, notebook > header.bottom > tabs > tab.reorderable-page { border-style: none solid; }
+
+notebook > header.left > tabs, notebook > header.right > tabs { padding-top: 4px; padding-bottom: 4px; }
+
+notebook > header.left > tabs:not(:only-child), notebook > header.right > tabs:not(:only-child) { margin-top: 3px; margin-bottom: 3px; }
+
+notebook > header.left > tabs:not(:only-child):first-child, notebook > header.right > tabs:not(:only-child):first-child { margin-top: -1px; }
+
+notebook > header.left > tabs:not(:only-child):last-child, notebook > header.right > tabs:not(:only-child):last-child { margin-bottom: -1px; }
+
+notebook > header.left > tabs > tab, notebook > header.right > tabs > tab { margin-top: 4px; margin-bottom: 4px; }
+
+notebook > header.left > tabs > tab.reorderable-page, notebook > header.right > tabs > tab.reorderable-page { border-style: solid none; }
+
+notebook > header.top > tabs > tab { padding-bottom: 4px; }
+
+notebook > header.bottom > tabs > tab { padding-top: 4px; }
+
+notebook > stack:not(:only-child) { background-color: #908f8d; }
+
+/************** Scrollbars * */
+scrollbar { background-color: #8d8c8f; transition: all 300ms cubic-bezier(0.25, 0.46, 0.45, 0.94); }
+
+scrollbar.top { border-bottom: 1px solid #797979; }
+
+scrollbar.bottom { border-top: 1px solid #797979; }
+
+scrollbar.left { border-right: 1px solid #797979; }
+
+scrollbar.right { border-left: 1px solid #797979; }
+
+scrollbar > range > trough > slider { padding: 0; background-image: none; min-width: 8px; min-height: 8px; margin: 3px; border-radius: 10px; background-clip: padding-box; background-color: #585560; transition: all 300ms cubic-bezier(0.25, 0.46, 0.45, 0.94); }
+
+scrollbar > range > trough > slider:hover { background-color: #3e3a49; }
+
+scrollbar > range > trough > slider:hover:active { background-color: #1d3800; }
+
+scrollbar > range > trough > slider:disabled { background-color: transparent; }
+
+scrollbar > range.fine-tune > trough > slider, scrollbar > range.fine-tune > trough > slider:hover, scrollbar > range.fine-tune > trough > slider:active { background-color: #6789b4; }
+
+scrollbar.horizontal > range > trough > slider { min-width: 40px; }
+
+scrollbar.vertical > range > trough > slider { min-height: 40px; }
+
+treeview ~ scrollbar.vertical { border-top: 1px solid #797979; margin-top: -1px; }
+
+/********** Switch * */
+switch { font-weight: bold; font-size: smaller; border: 1px solid #797979; border-radius: 14px; color: #241f31; background-color: #909090; transition: outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); transition-property: outline, outline-width, outline-offset, outline-color; transition-duration: 300ms; animation-timing-function: ease-in-out; /* only show i / o for the accessible theme */ }
+
+switch { outline: 0 solid transparent; outline-offset: 4px; }
+
+switch:focus:focus-visible { outline-color: rgba(56, 107, 0, 0.5); outline-width: 2px; outline-offset: 0; }
+
+headerbar switch { background-color: #7c7c7c; }
+
+switch:checked { color: #000000; border-color: #101f00; background-color: #386b00; }
+
+switch:disabled { color: #552222; border-color: #797979; background-color: #938989; text-shadow: none; }
+
+switch > slider { color: #241f31; background-color: #bcbeb9; outline-color: rgba(56, 107, 0, 0.5); background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.15)); text-shadow: 0 1px rgba(255, 255, 255, 0.3); -gtk-icon-shadow: 0 1px rgba(255, 255, 255, 0.3); box-shadow: inset 0 1px rgba(255, 255, 255, 0.5), 0 1px 2px rgba(0, 0, 0, 0.4); margin: -1px; min-width: 24px; min-height: 24px; border: 1px solid; border-color: #797979; border-radius: 50%; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); }
+
+switch > image { color: transparent; }
+
+switch:hover > slider { background-color: shade(#bcbeb9, 1.1); }
+
+switch:checked > slider { border: 1px solid #101f00; }
+
+switch:disabled > slider { color: #552222; background-color: #938989; background-image: none; }
+
+row:selected switch { outline-color: rgba(255, 255, 255, 0.8); box-shadow: none; border-color: #101f00; }
+
+row:selected switch > slider:checked, row:selected switch > slider { border-color: #101f00; }
+
+/************************* Check and Radio items * */
+.view.content-view.check:not(list), iconview.content-view.check:not(list), .content-view .tile check:not(list) { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; background-color: #386b00; 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:hover:not(list), iconview.content-view.check:hover:not(list), .content-view .tile check:hover:not(list) { margin: 4px; min-width: 32px; min-height: 32px; color: transparent; background-color: #386b00; 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: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: #386b00; 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: #363636; 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: #002269; background-color: #386b00; 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:checked:hover:not(list), iconview.content-view.check:checked:hover:not(list), .content-view .tile check:checked:hover:not(list) { margin: 4px; min-width: 32px; min-height: 32px; color: #002269; background-color: #386b00; 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: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: #002269; background-color: #386b00; 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(0, 34, 105, 0.8); background-color: #363636; 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 { border-spacing: 4px; border-radius: 5px; transition: outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); transition-property: outline, outline-width, outline-offset, outline-color; transition-duration: 300ms; animation-timing-function: ease-in-out; }
+
+checkbutton { outline: 0 solid transparent; outline-offset: 4px; }
+
+checkbutton:focus:focus-visible { outline-color: rgba(56, 107, 0, 0.5); outline-width: 2px; outline-offset: -2px; }
+
+checkbutton.text-button { padding: 4px; }
+
+check, radio { min-height: 14px; min-width: 14px; border: 1px solid; -gtk-icon-source: none; }
+
+check, radio { background-clip: padding-box; background-image: linear-gradient(to bottom, white 20%, white 90%); border-color: #6a6a6a; box-shadow: 0 1px rgba(0, 0, 0, 0.05); color: #000000; }
+
+check:hover, radio:hover { background-image: image(#f2f2f2); }
+
+check:active, radio:active { box-shadow: inset 0 1px rgba(0, 0, 0, 0.2); background-image: image(#d9d9d9); }
+
+check:disabled, radio:disabled { box-shadow: none; color: #552222; }
+
+check:checked, radio:checked { background-clip: border-box; background-image: linear-gradient(to bottom, #458500 20%, #386b00 90%); border-color: #030500; box-shadow: 0 1px rgba(0, 0, 0, 0.05); color: #000000; }
+
+check:checked:hover, radio:checked:hover { background-image: linear-gradient(to bottom, #509900 10%, #437f00 90%); }
+
+check:checked:active, radio:checked:active { box-shadow: inset 0 1px rgba(0, 0, 0, 0.2); background-image: image(#2b5200); }
+
+check:checked:disabled, radio:checked:disabled { box-shadow: none; color: #552222; }
+
+check:indeterminate, radio:indeterminate { background-clip: border-box; background-image: linear-gradient(to bottom, #458500 20%, #386b00 90%); border-color: #030500; box-shadow: 0 1px rgba(0, 0, 0, 0.05); color: #000000; }
+
+check:indeterminate:hover, radio:indeterminate:hover { background-image: linear-gradient(to bottom, #509900 10%, #437f00 90%); }
+
+check:indeterminate:active, radio:indeterminate:active { box-shadow: inset 0 1px rgba(0, 0, 0, 0.2); background-image: image(#2b5200); }
+
+check:indeterminate:disabled, radio:indeterminate:disabled { box-shadow: none; color: #552222; }
+
+check:disabled, radio:disabled { color: #552222; border-color: #552222; }
+
+row:selected check, row:selected radio { border-color: #030500; }
+
+check { border-radius: 3px; -gtk-icon-size: 14px; }
+
+check:checked { -gtk-icon-source: -gtk-scaled(-gtk-recolor(url("assets/check-symbolic.symbolic.png")), -gtk-recolor(url("assets/check@2-symbolic.symbolic.png"))); }
+
+check:indeterminate { -gtk-icon-source: -gtk-scaled(-gtk-recolor(url("assets/dash-symbolic.symbolic.png")), -gtk-recolor(url("assets/dash@2-symbolic.symbolic.png"))); }
+
+treeview.view radio:selected:selected, radio { border-radius: 100%; -gtk-icon-size: 14px; }
+
+treeview.view radio:checked:selected, radio:checked { -gtk-icon-source: -gtk-scaled(-gtk-recolor(url("assets/bullet-symbolic.symbolic.png")), -gtk-recolor(url("assets/bullet@2-symbolic.symbolic.png"))); }
+
+treeview.view radio:indeterminate:selected, radio:indeterminate { -gtk-icon-source: -gtk-scaled(-gtk-recolor(url("assets/dash-symbolic.symbolic.png")), -gtk-recolor(url("assets/dash@2-symbolic.symbolic.png"))); }
+
+treeview.view check:selected:focus, treeview.view check:selected, treeview.view radio:selected:focus, treeview.view radio:selected { color: #000000; border-color: #101f00; }
+
+/************ GtkScale * */
+progressbar > trough, scale > trough > fill, scale > trough { border: 1px solid #797979; border-radius: 3px; background-color: #909090; }
+
+headerbar progressbar > trough, headerbar scale > trough > fill, headerbar scale > trough { background-color: #7c7c7c; }
+
+progressbar > trough:disabled, scale > trough > fill:disabled, scale > trough:disabled { background-color: #938989; border-color: #674e4e; }
+
+row:selected progressbar > trough, row:selected scale > trough > fill, row:selected scale > trough { outline-color: rgba(255, 255, 255, 0.8); border-color: #101f00; }
+
+.osd progressbar > trough, .osd scale > trough > fill, .osd scale > trough { border-color: #002269; background-color: rgba(0, 34, 105, 0.8); }
+
+.osd progressbar > trough:disabled, .osd scale > trough > fill:disabled, .osd scale > trough:disabled { background-color: rgba(93, 127, 173, 0.5); }
+
+progressbar > trough > progress, scale > trough > highlight { border: 1px solid #101f00; border-radius: 3px; background-color: #386b00; }
+
+progressbar > trough > progress:disabled, scale > trough > highlight:disabled { background-color: transparent; border-color: transparent; }
+
+row:selected progressbar > trough > progress, row:selected scale > trough > highlight { border-color: #101f00; }
+
+.osd progressbar > trough > progress, .osd scale > trough > highlight { border-color: #002269; }
+
+.osd progressbar > trough > progress:disabled, .osd scale > trough > highlight:disabled { border-color: transparent; }
+
+scale { min-height: 10px; min-width: 10px; padding: 12px; transition-property: outline, outline-width, outline-offset, outline-color; transition-duration: 300ms; animation-timing-function: ease-in-out; }
+
+scale > trough { outline: 0 solid transparent; outline-offset: 16px; }
+
+scale:focus:focus-visible > trough { outline-color: rgba(56, 107, 0, 0.5); outline-width: 2px; outline-offset: 10px; }
+
+scale > trough { transition: outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); }
+
+scale > trough > fill, scale > trough > highlight { margin: -1px; }
+
+scale > trough > slider { min-height: 18px; min-width: 18px; margin: -9px; }
+
+scale.fine-tune.horizontal { padding-top: 9px; padding-bottom: 9px; min-height: 16px; }
+
+scale.fine-tune.vertical { padding-left: 9px; padding-right: 9px; min-width: 16px; }
+
+scale.fine-tune > trough > slider { margin: -6px; }
+
+scale.fine-tune > trough > fill, scale.fine-tune > trough > highlight, scale.fine-tune > trough { border-radius: 5px; }
+
+scale > trough > fill:disabled { border-color: transparent; background-color: transparent; }
+
+.osd scale > trough > fill { background-color: #002269; }
+
+.osd scale > trough > fill:disabled { border-color: transparent; background-color: transparent; }
+
+scale > trough > slider { color: #241f31; background-color: #bcbeb9; outline-color: rgba(56, 107, 0, 0.5); background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.15)); text-shadow: 0 1px rgba(255, 255, 255, 0.3); -gtk-icon-shadow: 0 1px rgba(255, 255, 255, 0.3); box-shadow: inset 0 1px rgba(255, 255, 255, 0.5), 0 1px 2px rgba(0, 0, 0, 0.4); border-width: 1px; border-style: solid; border-radius: 100%; transition: all 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); transition-property: background, border, box-shadow; }
+
+scale > trough > slider:hover { background-color: shade(#bcbeb9, 1.1); }
+
+scale > trough > slider:active { border-color: #101f00; }
+
+scale > trough > slider:disabled { color: #552222; background-color: #938989; background-image: none; }
+
+row:selected scale > trough > slider:disabled, row:selected scale > trough > slider { border-color: #101f00; }
+
+.osd scale > trough > slider { border-color: #001d5a; background-color: #6789b4; }
+
+.osd scale > trough > slider:hover { background-color: #6789b4; }
+
+.osd scale > trough > slider:active { background-color: #6789b4; }
+
+.osd scale > trough > slider:disabled { background-color: #6789b4; }
+
+scale > value { color: alpha(currentColor,0.55); font-feature-settings: "tnum"; }
+
+scale.horizontal > marks { color: alpha(currentColor,0.55); }
+
+scale.horizontal > marks.top { margin-bottom: 6px; }
+
+scale.horizontal > marks.bottom { margin-top: 6px; }
+
+scale.horizontal > marks indicator { background-color: currentColor; min-height: 6px; min-width: 1px; }
+
+scale.horizontal > value.left { margin-right: 9px; }
+
+scale.horizontal > value.right { margin-left: 9px; }
+
+scale.horizontal.fine-tune > marks.top { margin-top: 3px; }
+
+scale.horizontal.fine-tune > marks.bottom { margin-bottom: 3px; }
+
+scale.horizontal.fine-tune > marks indicator { min-height: 3px; }
+
+scale.horizontal.marks-after slider { border-radius: 5px 5px 100% 100%; }
+
+scale.horizontal.marks-before slider { border-radius: 100% 100% 5px 5px; }
+
+scale.vertical > marks { color: alpha(currentColor,0.55); }
+
+scale.vertical > marks.top { margin-right: 6px; }
+
+scale.vertical > marks.bottom { margin-left: 6px; }
+
+scale.vertical > marks indicator { background-color: currentColor; min-height: 1px; min-width: 6px; }
+
+scale.vertical > value.top { margin-bottom: 9px; }
+
+scale.vertical > value.bottom { margin-top: 9px; }
+
+scale.vertical.fine-tune > marks.top { margin-left: 3px; }
+
+scale.vertical.fine-tune > marks.bottom { margin-right: 3px; }
+
+scale.vertical.fine-tune > marks indicator { min-height: 3px; }
+
+scale.vertical.marks-after slider { border-radius: 5px 100% 100% 5px; }
+
+scale.vertical.marks-before slider { border-radius: 100% 5px 5px 100%; }
+
+scale.color { min-height: 0; min-width: 0; }
+
+scale.color > trough { background-image: image(#797979); background-repeat: no-repeat; }
+
+scale.color.horizontal { padding: 0 0 15px 0; }
+
+scale.color.horizontal > trough { padding-bottom: 4px; background-position: 0 -3px; border-top-left-radius: 0; border-top-right-radius: 0; }
+
+scale.color.horizontal > trough > slider:dir(ltr):hover, scale.color.horizontal > trough > slider:dir(ltr):backdrop, scale.color.horizontal > trough > slider:dir(ltr):disabled, scale.color.horizontal > trough > slider:dir(ltr):backdrop:disabled, scale.color.horizontal > trough > slider:dir(ltr), scale.color.horizontal > trough > slider:dir(rtl):hover, scale.color.horizontal > trough > slider:dir(rtl):backdrop, scale.color.horizontal > trough > slider:dir(rtl):disabled, scale.color.horizontal > trough > slider:dir(rtl):backdrop:disabled, scale.color.horizontal > trough > slider:dir(rtl) { margin-bottom: -15px; margin-top: 6px; }
+
+scale.color.vertical:dir(ltr) { padding: 0 0 0 15px; }
+
+scale.color.vertical:dir(ltr) > trough { padding-left: 4px; background-position: 3px 0; border-bottom-right-radius: 0; border-top-right-radius: 0; }
+
+scale.color.vertical:dir(ltr) > trough > slider:hover, scale.color.vertical:dir(ltr) > trough > slider:backdrop, scale.color.vertical:dir(ltr) > trough > slider:disabled, scale.color.vertical:dir(ltr) > trough > slider:backdrop:disabled, scale.color.vertical:dir(ltr) > trough > slider { margin-left: -15px; margin-right: 6px; }
+
+scale.color.vertical:dir(rtl) { padding: 0 15px 0 0; }
+
+scale.color.vertical:dir(rtl) > trough { padding-right: 4px; background-position: -3px 0; border-bottom-left-radius: 0; border-top-left-radius: 0; }
+
+scale.color.vertical:dir(rtl) > trough > slider:hover, scale.color.vertical:dir(rtl) > trough > slider:backdrop, scale.color.vertical:dir(rtl) > trough > slider:disabled, scale.color.vertical:dir(rtl) > trough > slider:backdrop:disabled, scale.color.vertical:dir(rtl) > trough > slider { margin-right: -15px; margin-left: 6px; }
+
+scale.color.fine-tune.horizontal:dir(ltr), scale.color.fine-tune.horizontal:dir(rtl) { padding: 0 0 12px 0; }
+
+scale.color.fine-tune.horizontal:dir(ltr) > trough, scale.color.fine-tune.horizontal:dir(rtl) > trough { padding-bottom: 7px; background-position: 0 -6px; }
+
+scale.color.fine-tune.horizontal:dir(ltr) > trough > slider, scale.color.fine-tune.horizontal:dir(rtl) > trough > slider { margin-bottom: -15px; margin-top: 6px; }
+
+scale.color.fine-tune.vertical:dir(ltr) { padding: 0 0 0 12px; }
+
+scale.color.fine-tune.vertical:dir(ltr) > trough { padding-left: 7px; background-position: 6px 0; }
+
+scale.color.fine-tune.vertical:dir(ltr) > trough > slider { margin-left: -15px; margin-right: 6px; }
+
+scale.color.fine-tune.vertical:dir(rtl) { padding: 0 12px 0 0; }
+
+scale.color.fine-tune.vertical:dir(rtl) > trough { padding-right: 7px; background-position: -6px 0; }
+
+scale.color.fine-tune.vertical:dir(rtl) > trough > slider { margin-right: -15px; margin-left: 6px; }
+
+/***************** Progress bars * */
+progressbar { font-size: smaller; color: rgba(36, 31, 49, 0.4); font-feature-settings: "tnum"; }
+
+progressbar.horizontal > trough { min-width: 150px; }
+
+progressbar.horizontal > trough, progressbar.horizontal > trough > progress { min-height: 2px; }
+
+progressbar.vertical > trough { min-height: 80px; }
+
+progressbar.vertical > trough, progressbar.vertical > trough > progress { min-width: 2px; }
+
+progressbar.horizontal > trough > progress { margin: 0 -1px; }
+
+progressbar.vertical > trough > progress { margin: -1px 0; }
+
+progressbar > trough > progress { /* share most of scales' */ /* override insensitive that is specific to progress */ border-radius: 1.5px; }
+
+progressbar > trough > progress:disabled { background-color: #552222; border-color: #552222; }
+
+progressbar > trough > progress.left { border-top-left-radius: 5px; border-bottom-left-radius: 5px; }
+
+progressbar > trough > progress.right { border-top-right-radius: 5px; border-bottom-right-radius: 5px; }
+
+progressbar > trough > progress.top { border-top-right-radius: 5px; border-top-left-radius: 5px; }
+
+progressbar > trough > progress.bottom { border-bottom-right-radius: 5px; border-bottom-left-radius: 5px; }
+
+progressbar.osd { min-width: 3px; min-height: 3px; background-color: transparent; }
+
+progressbar.osd > trough { border-style: none; border-radius: 0; background-color: transparent; box-shadow: none; }
+
+progressbar.osd > trough > progress { border-style: none; border-radius: 0; }
+
+progressbar > trough.empty > progress { all: unset; }
+
+/************* Level Bar * */
+levelbar.horizontal trough > block { min-height: 9px; border-radius: 5px; }
+
+levelbar.horizontal trough > block:dir(rtl) { border-radius: 0 5px 5px 0; }
+
+levelbar.horizontal trough > block:dir(ltr) { border-radius: 5px 0 0 5px; }
+
+levelbar.horizontal trough > block.empty, levelbar.horizontal trough > block.full { border-radius: 5px; }
+
+levelbar.horizontal.discrete trough > block { min-height: 2px; margin: 1px; min-width: 24px; border-radius: 0; }
+
+levelbar.horizontal.discrete trough > block:first-child { border-radius: 2px 0 0 2px; }
+
+levelbar.horizontal.discrete trough > block:last-child { border-radius: 0 2px 2px 0; }
+
+levelbar.vertical trough > block { min-width: 9px; border-radius: 5px; }
+
+levelbar.vertical.discrete > trough > block { min-width: 2px; margin: 1px 0; min-height: 32px; }
+
+levelbar > trough { padding: 1px; color: #241f31; border-color: #797979; background-color: #908f8d; box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.4), 0 1px rgba(255, 255, 255, 0.5); }
+
+levelbar > trough:backdrop { color: #393543; border-color: #828282; background-color: #8d8c8a; }
+
+levelbar > trough > block { border: 1px solid; }
+
+levelbar > trough > block.low { border-color: #f57900; background-color: #f57900; }
+
+levelbar > trough > block.high, levelbar > trough > block:not(.empty) { border-color: #386b00; background-color: #386b00; }
+
+levelbar > trough > block.full { border-color: #73d216; background-color: #73d216; }
+
+levelbar > trough > block.empty { background-color: #9a9a9a; border-color: #9a9a9a; }
+
+/**************** Print dialog * */
+window.dialog.print drawing { color: #241f31; background: none; border: none; padding: 0; }
+
+window.dialog.print drawing paper { background: white; color: #2e3436; border: 1px solid #797979; }
+
+window.dialog.print .dialog-action-box { margin: 12px; }
+
+/********** Frames * */
+frame, .frame { border: 1px solid #797979; }
+
+frame { border-radius: 8px; }
+
+frame > label { margin: 4px; }
+
+actionbar > revealer > box { padding: 6px; border-top: 1px solid #797979; }
+
+actionbar > revealer > box, actionbar > revealer > box > box.start, actionbar > revealer > box > box.end { border-spacing: 6px; }
+
+scrolledwindow > overshoot.top { background-image: radial-gradient(farthest-side at top, #606060 85%, rgba(96, 96, 96, 0)), radial-gradient(farthest-side at top, rgba(36, 31, 49, 0.07), rgba(36, 31, 49, 0)); background-size: 100% 3%, 100% 50%; background-repeat: no-repeat; background-position: top; background-color: transparent; border: none; box-shadow: none; }
+
+scrolledwindow > overshoot.bottom { background-image: radial-gradient(farthest-side at bottom, #606060 85%, rgba(96, 96, 96, 0)), radial-gradient(farthest-side at bottom, rgba(36, 31, 49, 0.07), rgba(36, 31, 49, 0)); background-size: 100% 3%, 100% 50%; background-repeat: no-repeat; background-position: bottom; background-color: transparent; border: none; box-shadow: none; }
+
+scrolledwindow > overshoot.left { background-image: radial-gradient(farthest-side at left, #606060 85%, rgba(96, 96, 96, 0)), radial-gradient(farthest-side at left, rgba(36, 31, 49, 0.07), rgba(36, 31, 49, 0)); background-size: 3% 100%, 50% 100%; background-repeat: no-repeat; background-position: left; background-color: transparent; border: none; box-shadow: none; }
+
+scrolledwindow > overshoot.right { background-image: radial-gradient(farthest-side at right, #606060 85%, rgba(96, 96, 96, 0)), radial-gradient(farthest-side at right, rgba(36, 31, 49, 0.07), rgba(36, 31, 49, 0)); background-size: 3% 100%, 50% 100%; background-repeat: no-repeat; background-position: right; background-color: transparent; border: none; box-shadow: none; }
+
+scrolledwindow > junction { background: #797979, linear-gradient(to bottom, transparent 1px, #8d8c8f 1px), linear-gradient(to right, transparent 1px, #8d8c8f 1px); }
+
+scrolledwindow > junction:dir(rtl) { background: #797979, linear-gradient(to bottom, transparent 1px, #8d8c8f 1px), linear-gradient(to left, transparent 1px, #8d8c8f 1px); }
+
+separator { background: #868686; min-width: 1px; min-height: 1px; }
+
+/********* Lists * */
+listview, list { color: #241f31; background-color: #908f8d; border-color: #797979; }
+
+listview:backdrop, list:backdrop { color: #393543; background-color: #8d8c8a; border-color: #828282; }
+
+listview > row, list > row { padding: 2px; }
+
+listview > row.expander, list > row.expander { padding: 0px; }
+
+listview > row.expander .row-header, list > row.expander .row-header { padding: 2px; }
+
+listview.horizontal row.separator, listview.separators.horizontal > row:not(.separator), list.horizontal row.separator, list.separators.horizontal > row:not(.separator) { border-left: 1px solid #7e7d7d; }
+
+listview:not(.horizontal) row.separator, listview.separators:not(.horizontal) > row:not(.separator), list:not(.horizontal) row.separator, list.separators:not(.horizontal) > row:not(.separator) { border-bottom: 1px solid #7e7d7d; }
+
+row { transition-property: outline, outline-width, outline-offset, outline-color; transition-duration: 300ms; animation-timing-function: ease-in-out; }
+
+row { outline: 0 solid transparent; outline-offset: 4px; }
+
+row:focus:focus-visible { outline-color: rgba(56, 107, 0, 0.5); outline-width: 2px; outline-offset: -2px; }
+
+row.activatable.has-open-popup, row.activatable:hover { background-color: rgba(36, 31, 49, 0.05); }
+
+row.activatable:active { box-shadow: inset 0 2px 2px -2px rgba(0, 0, 0, 0.2); }
+
+row.activatable:selected:active { box-shadow: inset 0 2px 3px -1px rgba(0, 0, 0, 0.5); }
+
+row.activatable:selected.has-open-popup, row.activatable:selected:hover { background-color: #366305; }
+
+row:selected { outline-color: rgba(255, 255, 255, 0.8); }
+
+columnview > listview > row { padding: 0; }
+
+columnview > listview > row > cell { padding: 8px 6px; }
+
+columnview > listview > row > cell:not(:first-child) { border-left: 1px solid transparent; }
+
+columnview.column-separators > listview > row > cell { border-left-color: #7e7d7d; }
+
+columnview.data-table > listview > row > cell { padding-top: 2px; padding-bottom: 2px; }
+
+treeexpander { border-spacing: 4px; }
+
+/******************************************************** Data Tables * treeview like tables with individual focusable cells * https://gitlab.gnome.org/GNOME/gtk/-/issues/2929 * */
+columnview row:not(:selected) cell editablelabel:not(.editing):focus-within { outline: 2px solid rgba(56, 107, 0, 0.5); }
+
+columnview row:not(:selected) cell editablelabel.editing:focus-within { outline: 2px solid #386b00; }
+
+columnview row:not(:selected) cell editablelabel.editing text selection { background-color: rgba(54, 54, 54, 0.5); color: transparent; }
+
+columnview row:not(:selected) cell editablelabel.editing text selection:focus-within { background-color: rgba(56, 107, 0, 0.3); color: #241f31; }
+
+/******************************************************* Rich Lists * Large list usually containing lots of widgets * https://gitlab.gnome.org/GNOME/gtk/-/issues/3073 * */
+.rich-list { /* rich lists usually containing other widgets than just labels/text */ }
+
+.rich-list > row { padding: 8px 12px; min-height: 32px; /* should be tall even when only containing a label */ }
+
+.rich-list > row > box { border-spacing: 12px; }
+
+/********************* App Notifications * */
+.app-notification { padding: 10px; border-spacing: 10px; border-radius: 0 0 5px 5px; background-color: rgba(103, 137, 180, 0.7); background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.2), transparent 2px); background-clip: padding-box; }
+
+.app-notification border { border: none; }
+
+/************* Expanders * */
+expander { min-width: 16px; min-height: 16px; -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); }
+
+expander:dir(rtl) { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic-rtl"); }
+
+expander:disabled { color: #552222; }
+
+expander:checked { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); }
+
+expander-widget { transition-property: outline, outline-width, outline-offset, outline-color; transition-duration: 300ms; animation-timing-function: ease-in-out; }
+
+expander-widget > box > title { outline: 0 solid transparent; outline-offset: 4px; }
+
+expander-widget:focus:focus-visible > box > title { outline-color: rgba(56, 107, 0, 0.5); outline-width: 2px; outline-offset: -2px; }
+
+expander-widget > box > title { transition: outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); border-radius: 5px; }
+
+expander-widget > box > title:hover > expander { color: #695a8f; }
+
+.navigation-sidebar:not(decoration):not(window):drop(active):focus, .navigation-sidebar:not(decoration):not(window):drop(active), placessidebar:not(decoration):not(window):drop(active):focus, placessidebar:not(decoration):not(window):drop(active), stackswitcher:not(decoration):not(window):drop(active):focus, stackswitcher:not(decoration):not(window):drop(active), expander-widget:not(decoration):not(window):drop(active):focus, expander-widget:not(decoration):not(window):drop(active) { box-shadow: none; }
+
+/************ Calendar * */
+calendar { color: #241f31; border: 1px solid #797979; font-feature-settings: "tnum"; }
+
+calendar > header { border-bottom: 1px solid #797979; }
+
+calendar > header > button { border: none; box-shadow: none; background: none; border-radius: 0; }
+
+calendar > header > button:backdrop { background: none; }
+
+calendar > grid > label.today { box-shadow: inset 0px -2px #797979; }
+
+calendar > grid > label.today:selected { box-shadow: none; }
+
+calendar > grid > label:focus { outline-color: rgba(56, 107, 0, 0.5); outline-offset: -2px; outline-width: 2px; outline-style: solid; }
+
+calendar > grid > label.day-number { padding: 4px; }
+
+calendar > grid > label.day-number:selected { border-radius: 3px; }
+
+calendar > grid > label.day-number.other-month { color: alpha(currentColor,0.3); }
+
+/*********** Dialogs * */
+window.dialog.message .titlebar { min-height: 20px; background-image: none; background-color: #a7a7a7; border-style: none; border-top-left-radius: 7px; border-top-right-radius: 7px; }
+
+window.dialog.message box.dialog-vbox.vertical { border-spacing: 10px; }
+
+window.dialog.message label.title { font-weight: 800; font-size: 15pt; }
+
+window.dialog.message.csd.background { border-bottom-left-radius: 9px; border-bottom-right-radius: 9px; }
+
+window.dialog.message.csd .dialog-action-area button { padding: 10px 14px; border-radius: 0; border-left-style: solid; border-right-style: none; border-bottom-style: none; }
+
+window.dialog.message.csd .dialog-action-area button:first-child { border-left-style: none; border-bottom-left-radius: 7px; }
+
+window.dialog.message.csd .dialog-action-area button:last-child { border-bottom-right-radius: 7px; }
+
+filechooser .dialog-action-box { border-top: 1px solid #797979; }
+
+filechooser #pathbarbox { border-bottom: 1px solid #a7a7a7; }
+
+filechooserbutton > button > box { border-spacing: 6px; }
+
+filechooserbutton:drop(active) { box-shadow: none; border-color: transparent; }
+
+/*********** Sidebar * */
+.sidebar { background-color: #9c9b9a; }
+
+.sidebar:not(separator):dir(ltr), .sidebar:not(separator).left, .sidebar:not(separator).left:dir(rtl) { border-right: 1px solid #797979; border-left-style: none; }
+
+.sidebar:not(separator):dir(rtl), .sidebar:not(separator).right { border-left: 1px solid #797979; border-right-style: none; }
+
+.sidebar listview.view, .sidebar list { background-color: transparent; }
+
+paned .sidebar.left, paned .sidebar.right, paned .sidebar.left:dir(rtl), paned .sidebar:dir(rtl), paned .sidebar:dir(ltr), paned .sidebar { border-style: none; }
+
+stacksidebar list.separators:not(.horizontal) > row:not(.separator) { border-bottom: none; }
+
+stacksidebar row { padding: 10px 4px; transition-property: outline, outline-width, outline-offset, outline-color; transition-duration: 300ms; animation-timing-function: ease-in-out; }
+
+stacksidebar row { outline: 0 solid transparent; outline-offset: 4px; }
+
+stacksidebar row:focus:focus-visible { outline-color: rgba(56, 107, 0, 0.5); outline-width: 2px; outline-offset: -2px; }
+
+stacksidebar row > label { padding-left: 6px; padding-right: 6px; }
+
+stacksidebar row.needs-attention > label { background-size: 6px 6px, 0 0; }
+
+stacksidebar row:selected { background-color: #386b00; border-radius: 5px; color: #241f31; }
+
+stacksidebar row:selected:hover:dir(ltr), stacksidebar row:selected:hover:dir(rtl) { background-color: #2b5200; }
+
+stacksidebar row.activatable:active, stacksidebar row.activatable:selected:active { box-shadow: none; }
+
+separator.sidebar { background-color: #797979; }
+
+/********************** Navigation Sidebar * */
+.navigation-sidebar { padding: 5px 0; }
+
+.navigation-sidebar > separator { margin: 5px; }
+
+.navigation-sidebar > row { min-height: 36px; padding: 0 8px; border-radius: 5px; margin: 0 5px 2px; transition-property: outline, outline-width, outline-offset, outline-color; transition-duration: 300ms; animation-timing-function: ease-in-out; }
+
+.navigation-sidebar > row { outline: 0 solid transparent; outline-offset: 4px; }
+
+.navigation-sidebar > row:focus-visible:focus-within { outline-color: rgba(56, 107, 0, 0.5); outline-width: 2px; outline-offset: -2px; }
+
+.navigation-sidebar > row:hover { background-color: #647d47; }
+
+.navigation-sidebar > row:selected { background-color: #386b00; color: inherit; }
+
+.navigation-sidebar > row:selected:hover { background-color: #878b7f; }
+
+.navigation-sidebar > row:disabled { color: #552222; }
+
+/**************** File chooser * */
+row image.sidebar-icon { opacity: 1; }
+
+/* this should be more generic, only using .navigation-sidebar https://gitlab.gnome.org/GNOME/gtk/-/issues/2929 */
+placessidebar .navigation-sidebar > row { padding: 0; }
+
+placessidebar .navigation-sidebar > row > revealer { padding: 0 14px; }
+
+placessidebar .navigation-sidebar > row image.sidebar-icon:dir(ltr) { padding-right: 8px; }
+
+placessidebar .navigation-sidebar > row image.sidebar-icon:dir(rtl) { padding-left: 8px; }
+
+placessidebar .navigation-sidebar > row label.sidebar-label:dir(ltr) { padding-right: 2px; }
+
+placessidebar .navigation-sidebar > row label.sidebar-label:dir(rtl) { padding-left: 2px; }
+
+button.sidebar-button { min-height: 26px; min-width: 26px; margin-top: 3px; margin-bottom: 3px; padding: 0; border-radius: 100%; }
+
+placessidebar .navigation-sidebar > row:selected:active { box-shadow: none; }
+
+placessidebar .navigation-sidebar > row.sidebar-placeholder-row { padding: 0 8px; min-height: 2px; background-image: image(#73d216); background-clip: content-box; }
+
+placessidebar .navigation-sidebar > row.sidebar-new-bookmark-row { color: #386b00; }
+
+placessidebar .navigation-sidebar > row:drop(active):not(:disabled) { color: #73d216; box-shadow: inset 0 1px #73d216, inset 0 -1px #73d216; }
+
+placessidebar .navigation-sidebar > row:drop(active):not(:disabled):selected { color: #000000; background-color: #73d216; }
+
+placesview .server-list-button > image { transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); -gtk-icon-transform: rotate(0turn); }
+
+placesview .server-list-button:checked > image { transition: 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); -gtk-icon-transform: rotate(-0.5turn); }
+
+placesview > actionbar > revealer > box > box { border-spacing: 6px; }
+
+/********* Paned * */
+paned > separator { min-width: 1px; min-height: 1px; -gtk-icon-source: none; border-style: none; background-color: transparent; background-image: image(#797979); background-size: 1px 1px; }
+
+paned > separator:selected { background-image: image(#386b00); }
+
+paned > separator.wide { min-width: 5px; min-height: 5px; background-color: #a7a7a7; background-image: image(#797979), image(#797979); background-size: 1px 1px, 1px 1px; }
+
+paned.horizontal > separator { background-repeat: repeat-y; }
+
+paned.horizontal > separator:dir(ltr) { margin: 0 -8px 0 0; padding: 0 8px 0 0; background-position: left; }
+
+paned.horizontal > separator:dir(rtl) { margin: 0 0 0 -8px; padding: 0 0 0 8px; background-position: right; }
+
+paned.horizontal > separator.wide { margin: 0; padding: 0; background-repeat: repeat-y, repeat-y; background-position: left, right; }
+
+paned.vertical > separator { margin: 0 0 -8px 0; padding: 0 0 8px 0; background-repeat: repeat-x; background-position: top; }
+
+paned.vertical > separator.wide { margin: 0; padding: 0; background-repeat: repeat-x, repeat-x; background-position: bottom, top; }
+
+/************** GtkVideo * */
+video { background: black; }
+
+video image.osd { min-width: 64px; min-height: 64px; border-radius: 32px; }
+
+/************ Tooltips * */
+tooltip { padding: 6px 10px; border-radius: 8px; box-shadow: none; }
+
+tooltip.background { background-color: rgba(103, 137, 180, 0.8); background-clip: padding-box; border: 1px solid #002269; color: #002269; }
+
+tooltip > box { border-spacing: 6px; }
+
+/***************** Color Chooser * */
+colorswatch { transition: outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); transition-property: outline, outline-width, outline-offset, outline-color; transition-duration: 300ms; animation-timing-function: ease-in-out; }
+
+colorswatch { outline: 0 solid transparent; outline-offset: 6px; }
+
+colorswatch:focus:focus-visible { outline-color: rgba(56, 107, 0, 0.5); outline-width: 4px; outline-offset: -2px; }
+
+colorswatch:drop(active), colorswatch { border-style: none; }
+
+colorswatch.top { border-top-left-radius: 5.5px; border-top-right-radius: 5.5px; }
+
+colorswatch.top > overlay { border-top-left-radius: 5px; border-top-right-radius: 5px; }
+
+colorswatch.bottom { border-bottom-left-radius: 5.5px; border-bottom-right-radius: 5.5px; }
+
+colorswatch.bottom > overlay { border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; }
+
+colorswatch.left, colorswatch:first-child:not(.top) { border-top-left-radius: 5.5px; border-bottom-left-radius: 5.5px; }
+
+colorswatch.left > overlay, colorswatch:first-child:not(.top) > overlay { border-top-left-radius: 5px; border-bottom-left-radius: 5px; }
+
+colorswatch.right, colorswatch:last-child:not(.bottom) { border-top-right-radius: 5.5px; border-bottom-right-radius: 5.5px; }
+
+colorswatch.right > overlay, colorswatch:last-child:not(.bottom) > overlay { border-top-right-radius: 5px; border-bottom-right-radius: 5px; }
+
+colorswatch.dark > overlay { color: white; }
+
+colorswatch.dark.activatable:hover > overlay { border-color: rgba(0, 0, 0, 0.8); }
+
+colorswatch.light > overlay { color: black; }
+
+colorswatch.light.activatable:hover > overlay { border-color: rgba(0, 0, 0, 0.5); }
+
+colorswatch:drop(active) { box-shadow: none; }
+
+colorswatch:drop(active).light > overlay { border-color: #73d216; box-shadow: inset 0 0 0 2px #61b213, inset 0 0 0 1px #73d216; }
+
+colorswatch:drop(active).dark > overlay { border-color: #73d216; box-shadow: inset 0 0 0 2px rgba(0, 0, 0, 0.3), inset 0 0 0 1px #73d216; }
+
+colorswatch > overlay { border: 1px solid rgba(0, 0, 0, 0.3); }
+
+colorswatch.activatable:hover > overlay { box-shadow: inset 0 1px rgba(255, 255, 255, 0.4), inset 0 -1px rgba(0, 0, 0, 0.2); }
+
+colorswatch#add-color-button { border-radius: 5px 0 0 5px; }
+
+colorswatch#add-color-button:only-child { border-radius: 5px; }
+
+colorswatch#add-color-button > overlay { color: #241f31; background-color: #bcbeb9; outline-color: rgba(56, 107, 0, 0.5); background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.15)); text-shadow: 0 1px rgba(255, 255, 255, 0.3); -gtk-icon-shadow: 0 1px rgba(255, 255, 255, 0.3); box-shadow: inset 0 1px rgba(255, 255, 255, 0.5), 0 1px 2px rgba(0, 0, 0, 0.4); }
+
+colorswatch#add-color-button.activatable:hover > overlay { background-color: shade(#bcbeb9, 1.1); }
+
+colorswatch:disabled { opacity: 0.5; }
+
+colorswatch:disabled > overlay { border-color: rgba(0, 0, 0, 0.6); box-shadow: none; }
+
+row:selected colorswatch { box-shadow: 0 0 0 2px #000000; }
+
+colorswatch#editor-color-sample { border-radius: 4px; }
+
+colorswatch#editor-color-sample > overlay { border-radius: 4.5px; }
+
+plane { transition: outline-width 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94), outline-offset 200ms cubic-bezier(0.25, 0.46, 0.45, 0.94); transition-property: outline, outline-width, outline-offset, outline-color; transition-duration: 300ms; animation-timing-function: ease-in-out; }
+
+plane { outline: 0 solid transparent; outline-offset: 6px; }
+
+plane:focus:focus-visible { outline-color: rgba(56, 107, 0, 0.5); outline-width: 2px; outline-offset: 2px; }
+
+colorchooser .popover.osd { border-radius: 5px; }
+
+/******** Misc * */
+.content-view { background-color: #959595; }
+
+.content-view:hover { -gtk-icon-filter: brightness(1.2); }
+
+.content-view .tile { margin: 2px; background-color: transparent; border-radius: 0; padding: 0; }
+
+.content-view .tile:active, .content-view .tile:selected { background-color: transparent; }
+
+.content-view .tile:disabled { background-color: transparent; }
+
+.osd .scale-popup button.flat { border-style: none; border-radius: 5px; }
+
+.scale-popup button:hover { background-color: rgba(36, 31, 49, 0.1); border-radius: 5px; }
+
+/********************** Window Decorations * */
+window { border-width: 0px; }
+
+window.csd { box-shadow: 0 3px 9px 1px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(0, 0, 0, 0.23); margin: 0px; border-radius: 8px 8px 0 0; }
+
+window.csd:backdrop { box-shadow: 0 3px 9px 1px transparent, 0 2px 6px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(0, 0, 0, 0.18); transition: 200ms ease-out; }
+
+window.csd.popup { border-radius: 5px; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(0, 0, 0, 0.13); }
+
+window.csd.dialog.message { border-radius: 8px; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2), 0 0 0 1px rgba(0, 0, 0, 0.13); }
+
+window.solid-csd { margin: 0; padding: 4px; border: solid 1px #797979; border-radius: 0; box-shadow: inset 0 0 0 4px #797979, inset 0 0 0 3px #b4b4b4, inset 0 1px rgba(255, 255, 255, 0.8); }
+
+window.solid-csd:backdrop { box-shadow: inset 0 0 0 4px #797979, inset 0 0 0 3px #a7a7a7, inset 0 1px rgba(255, 255, 255, 0.8); }
+
+window.maximized, window.fullscreen { border-radius: 0; box-shadow: none; }
+
+window.tiled, window.tiled-top, window.tiled-left, window.tiled-right, window.tiled-bottom { border-radius: 0; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.23), 0 0 0 20px transparent; }
+
+window.tiled:backdrop, window.tiled-top:backdrop, window.tiled-left:backdrop, window.tiled-right:backdrop, window.tiled-bottom:backdrop { box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.18), 0 0 0 20px transparent; }
+
+window.popup { box-shadow: none; }
+
+window.ssd { box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.23); }
+
+tooltip.csd { border-radius: 5px; box-shadow: none; }
+
+.monospace { font-family: monospace; }
+
+/********************** Touch Copy & Paste * */
+cursor-handle { background-color: transparent; background-image: none; box-shadow: none; border-style: none; min-width: 20px; min-height: 24px; padding-left: 20px; padding-right: 20px; padding-top: 24px; padding-bottom: 24px; }
+
+cursor-handle.top:dir(ltr), cursor-handle.bottom:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-start.png"), url("assets/text-select-start@2.png")); }
+
+cursor-handle.bottom:dir(ltr), cursor-handle.top:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-end.png"), url("assets/text-select-end@2.png")); }
+
+cursor-handle.insertion-cursor:dir(ltr), cursor-handle.insertion-cursor:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above.png"), url("assets/slider-horz-scale-has-marks-above@2.png")); }
+
+cursor-handle.top:hover:dir(ltr), cursor-handle.bottom:hover:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-start-hover.png"), url("assets/text-select-start-hover@2.png")); }
+
+cursor-handle.bottom:hover:dir(ltr), cursor-handle.top:hover:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-end-hover.png"), url("assets/text-select-end-hover@2.png")); }
+
+cursor-handle.insertion-cursor:hover:dir(ltr), cursor-handle.insertion-cursor:hover:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-hover.png"), url("assets/slider-horz-scale-has-marks-above-hover@2.png")); }
+
+cursor-handle.top:active:dir(ltr), cursor-handle.bottom:active:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-start-active.png"), url("assets/text-select-start-active@2.png")); }
+
+cursor-handle.bottom:active:dir(ltr), cursor-handle.top:active:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/text-select-end-active.png"), url("assets/text-select-end-active@2.png")); }
+
+cursor-handle.insertion-cursor:active:dir(ltr), cursor-handle.insertion-cursor:active:dir(rtl) { -gtk-icon-source: -gtk-scaled(url("assets/slider-horz-scale-has-marks-above-active.png"), url("assets/slider-horz-scale-has-marks-above-active@2.png")); }
+
+shortcuts-section { margin: 20px; }
+
+.shortcuts-search-results { margin: 20px; border-spacing: 24px; }
+
+shortcut { border-spacing: 6px; }
+
+shortcut > .keycap { min-width: 20px; min-height: 25px; margin-top: 2px; padding-bottom: 3px; padding-left: 6px; padding-right: 6px; color: #241f31; background-color: #908f8d; border: 1px solid; border-color: #909090; border-radius: 5px; box-shadow: inset 0 -3px #a2a2a2; font-size: smaller; }
+
+:not(decoration):not(window):drop(active):focus, :not(decoration):not(window):drop(active) { border-color: #73d216; box-shadow: inset 0 0 0 1px #73d216; caret-color: #73d216; }
+
+stackswitcher > button.text-button { min-width: 100px; }
+
+stackswitcher.circular { border-spacing: 12px; }
+
+stackswitcher.circular > button.circular, stackswitcher.circular > button.text-button.circular { min-width: 32px; min-height: 32px; padding: 0; }
+
+/************* App Icons * */
+/* Outline for low res icons */
+.lowres-icon { -gtk-icon-shadow: 0 -1px rgba(0, 0, 0, 0.05), 1px 0 rgba(0, 0, 0, 0.1), 0 1px rgba(0, 0, 0, 0.3), -1px 0 rgba(0, 0, 0, 0.1); }
+
+/* Drapshadow for large icons */
+.icon-dropshadow { -gtk-icon-shadow: 0 1px 12px rgba(0, 0, 0, 0.05), 0 -1px rgba(0, 0, 0, 0.05), 1px 0 rgba(0, 0, 0, 0.1), 0 1px rgba(0, 0, 0, 0.3), -1px 0 rgba(0, 0, 0, 0.1); }
+
+/********* Emoji * */
+popover.emoji-picker > contents { padding: 0; }
+
+.emoji-searchbar { padding: 6px; border-spacing: 6px; border-bottom: 1px solid #797979; }
+
+.emoji-toolbar { padding: 6px; border-spacing: 6px; border-top: 1px solid #797979; }
+
+button.emoji-section { border-color: transparent; border-width: 3px; border-style: none none solid; border-radius: 0; padding: 3px 0 0; min-width: 32px; min-height: 28px; /* reset props inherited from the button style */ background: none; box-shadow: none; text-shadow: none; }
+
+button.emoji-section:hover { border-color: #797979; }
+
+button.emoji-section:checked { border-color: #386b00; }
+
+popover.emoji-picker emoji { font-size: x-large; padding: 6px; border-radius: 6px; }
+
+popover.emoji-picker emoji:focus, popover.emoji-picker emoji:hover { background: #386b00; }
+
+emoji-completion-row > box { border-spacing: 10px; padding: 2px 10px; }
+
+emoji-completion-row:focus, emoji-completion-row:hover { background-color: #386b00; color: #000000; }
+
+emoji-completion-row emoji:focus, emoji-completion-row emoji:hover { background-color: #386b00; }
+
+popover.entry-completion > contents { padding: 0; }
+
+statusbar { padding: 6px 10px 6px 10px; }
+
+menubutton > button > box { border-spacing: 6px; }
+
+menubutton arrow { min-height: 16px; min-width: 16px; }
+
+menubutton arrow.none { -gtk-icon-source: -gtk-icontheme("open-menu-symbolic"); }
+
+menubutton arrow.down { -gtk-icon-source: -gtk-icontheme("pan-down-symbolic"); }
+
+menubutton arrow.up { -gtk-icon-source: -gtk-icontheme("pan-up-symbolic"); }
+
+menubutton arrow.left { -gtk-icon-source: -gtk-icontheme("pan-start-symbolic"); }
+
+menubutton arrow.right { -gtk-icon-source: -gtk-icontheme("pan-end-symbolic"); }
+
+/* GTK NAMED COLORS ---------------- use responsibly! */
+/*
+widget text/foreground color */
+@define-color theme_fg_color #241f31;
+/*
+text color for entries, views and content in general */
+@define-color theme_text_color #241f31;
+/*
+widget base background color */
+@define-color theme_bg_color #a7a7a7;
+/*
+text widgets and the like base background color */
+@define-color theme_base_color #908f8d;
+/*
+base background color of selections */
+@define-color theme_selected_bg_color #386b00;
+/*
+text/foreground color of selections */
+@define-color theme_selected_fg_color #000000;
+/*
+base background color of insensitive widgets */
+@define-color insensitive_bg_color #938989;
+/*
+text foreground color of insensitive widgets */
+@define-color insensitive_fg_color #552222;
+/*
+insensitive text widgets and the like base background color */
+@define-color insensitive_base_color #908f8d;
+/*
+widget text/foreground color on backdrop windows */
+@define-color theme_unfocused_fg_color #66636c;
+/*
+text color for entries, views and content in general on backdrop windows */
+@define-color theme_unfocused_text_color #241f31;
+/*
+widget base background color on backdrop windows */
+@define-color theme_unfocused_bg_color #a7a7a7;
+/*
+text widgets and the like base background color on backdrop windows */
+@define-color theme_unfocused_base_color #8d8c8a;
+/*
+base background color of selections on backdrop windows */
+@define-color theme_unfocused_selected_bg_color #386b00;
+/*
+text/foreground color of selections on backdrop windows */
+@define-color theme_unfocused_selected_fg_color #000000;
+/*
+insensitive color on backdrop windows*/
+@define-color unfocused_insensitive_color #818181;
+/*
+widgets main borders color */
+@define-color borders #797979;
+/*
+widgets main borders color on backdrop windows */
+@define-color unfocused_borders #828282;
+/*
+these are pretty self explicative */
+@define-color warning_color #f57900;
+@define-color error_color #990000;
+@define-color success_color #73d216;
+/*
+these colors are exported for the window manager and shouldn't be used in applications,
+read if you used those and something break with a version upgrade you're on your own... */
+@define-color wm_title shade(#241f31, 1.8);
+@define-color wm_unfocused_title #66636c;
+@define-color wm_highlight rgba(255, 255, 255, 0.8);
+@define-color wm_borders_edge rgba(255, 255, 255, 0.8);
+@define-color wm_bg_a shade(#a7a7a7, 1.2);
+@define-color wm_bg_b #a7a7a7;
+@define-color wm_shadow alpha(black, 0.35);
+@define-color wm_border alpha(black, 0.18);
+@define-color wm_button_hover_color_a shade(#a7a7a7, 1.3);
+@define-color wm_button_hover_color_b #a7a7a7;
+@define-color wm_button_active_color_a shade(#a7a7a7, 0.85);
+@define-color wm_button_active_color_b shade(#a7a7a7, 0.89);
+@define-color wm_button_active_color_c shade(#a7a7a7, 0.9);
+/* content view background such as thumbnails view in Photos or Boxes */
+@define-color content_view_bg #908f8d;
+/* Very contrasty background for text views (@theme_text_color foreground) */
+@define-color text_view_bg #908f8d;
diff --git a/source/gtk4/gtk.css b/source/gtk4/gtk.css
new file mode 100644
index 0000000..cf32f05
--- /dev/null
+++ b/source/gtk4/gtk.css
@@ -0,0 +1 @@
+@import url("resource:///org/gtk/libgtk/theme/Default/Default-light.css");
diff --git a/source/gtk4/meson.build b/source/gtk4/meson.build
new file mode 100644
index 0000000..5e52a8b
--- /dev/null
+++ b/source/gtk4/meson.build
@@ -0,0 +1,26 @@
+default_scss_files = files([
+ '_colors-public.scss',
+ '_colors.scss',
+ '_common.scss',
+ '_drawing.scss',
+])
+
+default_theme_variants = [
+ 'light',
+ 'dark',
+ 'hc',
+ 'hc-dark',
+]
+
+default_theme_deps = []
+
+foreach variant: default_theme_variants
+ default_theme_deps += custom_target('Default theme variant: ' + variant,
+ input: 'Default-@0@.scss'.format(variant),
+ output: 'Default-@0@.css'.format(variant),
+ command: [
+ sassc, sassc_opts, '@INPUT@', '@OUTPUT@',
+ ],
+ depend_files: default_scss_files,
+ )
+endforeach
diff --git a/source/gtk4/render-assets.sh b/source/gtk4/render-assets.sh
new file mode 100755
index 0000000..f4b6998
--- /dev/null
+++ b/source/gtk4/render-assets.sh
@@ -0,0 +1,38 @@
+#! /bin/bash
+
+INKSCAPE="/usr/bin/inkscape"
+OPTIPNG="/usr/bin/optipng"
+
+INDEX="assets.txt"
+
+for s in "" "-hc";
+do
+ SRC_FILE="assets$s.svg"
+ ASSETS_DIR="assets$s"
+
+ for i in `cat $INDEX`
+ do
+ if [ -f $ASSETS_DIR/$i.png ]; then
+ echo $ASSETS_DIR/$i.png exists.
+ else
+ echo
+ echo Rendering $ASSETS_DIR/$i.png
+ $INKSCAPE --export-id=$i \
+ --export-id-only \
+ --export-png=$ASSETS_DIR/$i.png $SRC_FILE >/dev/null #\
+ # && $OPTIPNG -o7 --quiet $ASSETS_DIR/$i.png
+ fi
+ if [ -f $ASSETS_DIR/$i@2.png ]; then
+ echo $ASSETS_DIR/$i@2.png exists.
+ else
+ echo
+ echo Rendering $ASSETS_DIR/$i@2.png
+ $INKSCAPE --export-id=$i \
+ --export-dpi=180 \
+ --export-id-only \
+ --export-png=$ASSETS_DIR/$i@2.png $SRC_FILE >/dev/null #\
+ # && $OPTIPNG -o7 --quiet $ASSETS_DIR/$i@2.png
+ fi
+ done
+done
+exit 0
diff --git a/source/templates/_theme_colors.scss b/source/templates/_theme_colors.scss
new file mode 100644
index 0000000..1427910
--- /dev/null
+++ b/source/templates/_theme_colors.scss
@@ -0,0 +1,33 @@
+$window_fg: #241f31;
+$window_bg: #a79f94;
+$text_widget_fg: #241f31;
+$text_widget_bg: #90897f;
+
+
+$button_fg: #241f31;
+$button_bg: #a0a780;
+
+$disabled_fg: #552222;
+$disabled_bg: #997676;
+
+$selected_fg: #000000;
+$selected_bg: #476c0e;
+
+$warningc: #f57900;
+$errorc: #990000;
+$successc: #73d216;
+
+
+$titlebar_active_fg: $selected_fg;
+$titlebar_active_bg: $selected_bg;
+
+$titlebar_backdrop_fg: $window_fg;
+$titlebar_backdrop_bg: $window_bg;
+
+$hint_fg: #002269;
+$hint_bg: #6789b4;
+
+$osd_fg: #eeeeec;
+$osd_bg: darken($window_bg, 0.1);
+
+