diff --git a/src/other/firefox/README.md b/src/other/firefox/README.md
new file mode 100644
index 0000000..9f732a6
--- /dev/null
+++ b/src/other/firefox/README.md
@@ -0,0 +1,84 @@
+
+## Firefox Mojave theme
+
+
A MacOSX Mojave theme for Firefox 60+
+
+#### Preview
+
+
+
+## Description
+
+This is a bunch of CSS code to make Firefox look closer to Mac Mojave theme.
+Based on https://github.com/rafaelmardojai/firefox-gnome-theme
+
+## Installation
+
+### Manual installation
+
+Copy `../configuration/user.js` to your user Firefox Profile Directory
+
+or you can:
+
+1. Go to `about:support` in Firefox.
+2. Application Basics > Profile Directory > Open Directory.
+3. Copy `chrome` folder Firefox config folder.
+4. If you are using Firefox 69+:
+ 1. Go to `about:config` in Firefox.
+ 2. Search for `toolkit.legacyUserProfileCustomizations.stylesheets` and set it to `true`.
+5. Restart Firefox.
+6. Open Firefox customization panel and:
+ 1. Use *Title bar* option to toggle CSD if is not set by default.
+ 2. Move the new tab button to headerbar.
+ 3. Select light or dark variants on theme switcher.
+7. Be happy with your new gnomish Firefox.
+
+## Enabling optional features
+Open `userChrome.css` with a text editor and follow instructions to enable extra features. Keep in mind this file might change in future versions and your configuration will be lost. You can copy the @imports you want to enable to a new file named `customChrome` directly in your `chrome` directory if you want it to survive updates. Remember all @imports must be at the top of the file, before other statements.
+
+## Known bugs
+
+### CSD have sharp corners
+See upstream [bug](https://bugzilla.mozilla.org/show_bug.cgi?id=1408360).
+
+#### Wayland fix:
+1. Go to the `about:config` page
+2. Search for the `layers.acceleration.force-enabled` preference and set it to true.
+3. Now restart Firefox, and it should look good!
+
+#### X11 fix:
+1. Go to the `about:config` page
+2. Type `mozilla.widget.use-argb-visuals`
+3. Set it as a `boolean` and click on the add button
+4. Now restart Firefox, and it should look good!
+
+### Icons color broken
+Icons might appear black where they should be white on some systems. I have no idea why, but you can adjust them in the `theme/colors/light.css` or `theme/colors/dark.css` files, look for `--gnome-icons-hack-filter` var and play with css filters.
+
+## Development
+
+If you wanna mess around the styles and change something, you might find these
+things useful.
+
+To use the Inspector to debug the UI, open the developer tools (F12) on any
+page, go to options, check both of those:
+
+- Enable browser chrome and add-on debugging toolboxes
+- Enable remote debugging
+
+Now you can close those tools and press Ctrl+Alt+Shift+I to Inspect the browser
+UI.
+
+Also you can inspect any GTK3 application, for example type this into a terminal
+and it will run Epiphany with the GTK Inspector, so you can check the CSS styles
+of its elements too.
+
+```sh
+GTK_DEBUG=interactive epiphany
+```
+
+Feel free to use any parts of my code to develop your own themes, I don't force
+any specific license on your code.
+
+## Credits
+Developed by **Rafael Mardojai** and [contributors](https://github.com/rafaelmardojai/firefox-gnome-theme/graphs/contributors). Based on **[Sai Kurogetsu](https://github.com/kurogetsusai/firefox-gnome-theme)** original work.
diff --git a/src/other/firefox/chrome/WhiteSur/colors/dark.css b/src/other/firefox/chrome/WhiteSur/colors/dark.css
new file mode 100644
index 0000000..1dc48fa
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/colors/dark.css
@@ -0,0 +1,130 @@
+@namespace xul url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/* Variables that start with --gnome- are added by me and are assigned
+ * to elements somewhere in this code. The rest of the variables are
+ * built-in in Firefox, so you need to add an !important if you wanna
+ * override them. */
+
+@media (prefers-color-scheme: dark) {
+ :root {
+ /* Browser area before a page starts loading */
+ --gnome-browser-before-load-background: #333333;
+ --theme-primary-color: #315bef;
+
+ /* Toolbars */
+ --gnome-toolbar-background: #373737;
+ --gnome-tabstoolbar-background: #1e1e1e;
+ --gnome-findbar-background: #333333;
+ --gnome-toolbar-color: #ffffff;
+ --gnome-toolbar-border-color: #070707;
+ --gnome-inactive-toolbar-background: #313131;
+ --gnome-inactive-toolbar-border-color: #121212;
+
+ /* Sidebar */
+ --gnome-sidebar-background: #3b3b3b;
+ --gnome-inactive-sidebar-background: #3f3f3f;
+
+ /* Popups */
+ --gnome-menu-background: rgba(51, 51, 51, 0.95);
+ --gnome-menu-border-color: #070707;
+ --gnome-popover-background: rgba(51, 51, 51, 0.95);
+ --gnome-popover-border-color: #070707;
+ --gnome-popover-shadow: 0 5px 8px rgba(0, 0, 0, 0.3), inset 0 0 0 1px rgba(255, 255, 255, 0.06);
+ --gnome-popover-button-hover-background: rgba(255, 255, 255, 0.1);
+ --gnome-popover-button-active-background: rgba(255, 255, 255, 0.15);
+ --gnome-popover-separator-color: rgba(0, 0, 0, 0.1);
+
+ /* Header bar */
+ --gnome-headerbar-background: #373737;
+ --gnome-headerbar-border-color: #070707;
+ --gnome-headerbar-box-shadow: inset 0 1px rgba(255, 255, 255, 0.15);
+ --gnome-inactive-headerbar-background: #313131;
+ --gnome-inactive-headerbar-border-color: #202020;
+ --gnome-inactive-headerbar-box-shadow: inset 0 1px rgba(255, 255, 255, 0.08);
+
+ /* Buttons */
+ --gnome-button-background: linear-gradient(to top, #636363 0%, #696969 100%);
+ --gnome-button-border-color: #282828;
+ --gnome-button-border-accent-color: #282828;
+ --gnome-button-box-shadow: inset 0 1px rgba(255, 255, 255, 0.1);
+ --gnome-button-hover-color: rgba(255, 255, 255, 0.1);
+ --gnome-button-active-color: rgba(255, 255, 255, 0.2);
+ --gnome-button-hover-background: linear-gradient(to top, #707070 0%, #737373 100%);
+ --gnome-button-active-background: linear-gradient(to top, #464646 0%, #525252 100%);
+ --gnome-button-active-border-color: #1b1b1b;
+ --gnome-button-active-border-accent-color: #1b1b1b;
+ --gnome-button-active-box-shadow: inset 0 1px rgba(255, 255, 255, 0.1);
+ --gnome-button-disabled-background: #505050;
+ --gnome-button-disabled-border-color: #323232;
+ --gnome-button-disabled-box-shadow: inset 0 1px rgba(255, 255, 255, 0.03);
+ --gnome-inactive-button-background: linear-gradient(#383838, #383838);
+ --gnome-inactive-button-border-color: #323232;
+ --gnome-inactive-button-box-shadow: inset 0 1px rgba(255, 255, 255, 0.0);
+ --gnome-button-suggested-action-background: linear-gradient(to top, #155099 2px, #15539e);
+ --gnome-button-suggested-action-border-color: #0f3b71;
+ --gnome-button-suggested-action-border-accent-color: #092444;;
+ --gnome-button-suggested-action-box-shadow: inset 0 1px rgba(255, 255, 255, 0.08);
+ --gnome-button-suggested-action-hover-background: linear-gradient(to top, #155099, #1655a2 1px);
+ --gnome-button-suggested-action-active-background: #103e75;
+ --gnome-button-suggested-action-active-border-color: #0f3b71;
+ --gnome-button-suggested-action-active-box-shadow: inset 0 1px rgba(255, 255, 255, 0.05);
+ --gnome-button-destructive-action-background: linear-gradient(to top, #ae151c 2px, #b2161d);
+ --gnome-button-destructive-action-border-color: #851015;
+ --gnome-button-destructive-action-border-accent-color: #570b0e;
+ --gnome-button-destructive-action-box-shadow: inset 0 1px rgba(255, 255, 255, 0.02), 0 1px 2px rgba(0, 0, 0, 0.07);
+ --gnome-button-destructive-action-hover-background: linear-gradient(to top, #ae151c, #b7161d 1px);
+ --gnome-button-destructive-action-active-background: #8a1116;
+ --gnome-button-destructive-action-active-border-color: #851015;
+ --gnome-button-destructive-action-active-box-shadow: inset 0 1px rgba(255, 255, 255, 0);
+
+ --gnome-headerbar-button-hover-background: rgba(255, 255, 255, 0.1);
+ --gnome-headerbar-button-active-background: rgba(255, 255, 255, 0.15);
+
+ /* URL bar */
+ --gnome-urlbar-background: #464646;
+ --gnome-urlbar-border-color: #282828;
+ --gnome-urlbar-box-shadow: inset 0 0 0 1px rgba(21, 83, 158, 0);
+ --gnome-urlbar-color: #ffffff;
+ --gnome-hover-urlbar-border-color: #585858;
+ --gnome-inactive-urlbar-background: #313131;
+ --gnome-inactive-urlbar-border-color: #282828;
+ --gnome-inactive-urlbar-box-shadow: none;
+ --gnome-inactive-urlbar-color: #d6d6d6;
+ --gnome-focused-urlbar-border-color: #338CBE;
+ --gnome-focused-urlbar-highlight-color: #006EA0;
+ --gnome-private-urlbar-background: #25003e;
+
+ /* Tabs */
+ --gnome-tabbar-tab-background: #262626;
+ --gnome-tabbar-tab-color: rgb(141, 144, 145);
+ --gnome-tabbar-tab-hover-background: #2b2b2b;
+ --gnome-tabbar-tab-hover-border-bottom-color: #1b1b1b;
+ --gnome-tabbar-tab-hover-color: rgb(200, 200, 200);
+ --gnome-tabbar-tab-active-background: #373737;
+ --gnome-tabbar-tab-active-border-bottom-color: #15539e;
+ --gnome-tabbar-tab-active-color: #ffffff;
+ --gnome-tabbar-tab-active-hover-background: #313131;
+ --gnome-inactive-tabbar-tab-color: rgb(141, 144, 145);
+ --gnome-inactive-tabbar-tab-active-background: #313131;
+ --gnome-inactive-tabbar-tab-active-border-bottom-color: #15539e;
+ --gnome-inactive-tabbar-tab-active-color: rgb(141, 144, 145);
+
+ /* Switch */
+ --gnome-switch-background: #282828;
+ --gnome-switch-border-color: #1b1b1b;
+ --gnome-switch-slider-background: linear-gradient(to bottom, #3c3c3c 20%, #353535 90%);
+ --gnome-switch-slider-border-color: #111111;
+ --gnome-switch-slider-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);
+ --gnome-switch-active-background: #15539e;
+ --gnome-switch-active-border-color: #030c17;
+ --gnome-switch-active-slider-border-color: #030c17;
+
+ /* Dirty hacks for replaced symbolic icons, they load from
+ * /usr/share/icons// and on some systems they need to be
+ * inverted, on others they don't, adjusts the filters below to your
+ * needs (you may also adjust icon brightness here). */
+ --gnome-convert-icon-to-symbolic-hack-filter: invert(100%) sepia(100%) grayscale(100%) brightness(200%) brightness(85%);
+ --gnome-icons-hack-filter: invert(100%) sepia(100%) grayscale(100%) brightness(200%) brightness(200%); /* without invert: none */
+ --gnome-window-icons-hack-filter: invert(90%); /* without invert: none */
+ }
+}
diff --git a/src/other/firefox/chrome/WhiteSur/colors/light.css b/src/other/firefox/chrome/WhiteSur/colors/light.css
new file mode 100644
index 0000000..f99ab21
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/colors/light.css
@@ -0,0 +1,128 @@
+@namespace xul url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/* Variables that start with --gnome- are added by me and are assigned
+ * to elements somewhere in this code. The rest of the variables are
+ * built-in in Firefox, so you need to add an !important if you wanna
+ * override them. */
+
+:root {
+ /* Browser area before a page starts loading */
+ --gnome-browser-before-load-background: #f5f5f5;
+ --theme-primary-color: #315bef;
+
+ /* Toolbars */
+ --gnome-toolbar-background: #ffffff;
+ --gnome-tabstoolbar-background: #E5E5E5;
+ --gnome-findbar-background: #f5f5f5;
+ --gnome-toolbar-color: rgb(46, 52, 54);
+ --gnome-toolbar-border-color: #cfcfcf;
+ --gnome-inactive-toolbar-color: rgba(46, 52, 54, 0.35);
+ --gnome-inactive-toolbar-background: #f6f5f4;
+ --gnome-inactive-toolbar-border-color: #dadada;
+
+ /* Sidebar */
+ --gnome-sidebar-background: #f5f5f5;
+ --gnome-inactive-sidebar-background: #f9f9f8;
+
+ /* Popups */
+ --gnome-menu-background: rgba(255, 255, 255, 0.95);
+ --gnome-menu-border-color: #cdc7c2;
+ --gnome-popover-background: rgba(255, 255, 255, 0.95);
+ --gnome-popover-border-color: #cdc7c2;
+ --gnome-popover-shadow: 0 5px 8px rgba(0, 0, 0, 0.3);
+ --gnome-popover-button-hover-background: rgba(0, 0, 0, 0.1);
+ --gnome-popover-button-active-background: rgba(0, 0, 0, 0.2);
+ --gnome-popover-separator-color: rgba(0, 0, 0, 0.1);
+
+ /* Header bar */
+ --gnome-headerbar-background: #ffffff;
+ --gnome-headerbar-border-color: #bdb7b0;
+ --gnome-headerbar-box-shadow: 0 1px rgba(255, 255, 255, 0.65) inset;
+ --gnome-inactive-headerbar-background: #f5f5f5;
+ --gnome-inactive-headerbar-border-color: #dadada;
+ --gnome-inactive-headerbar-box-shadow: 0 1px #fff inset;
+
+ /* Buttons */
+ --gnome-button-background: linear-gradient(to top, #f1f1f1 0%, #fdfdfd 95%, #fefefe 100%);
+ --gnome-button-border-color: #cdc7c2;
+ --gnome-button-border-accent-color: #b2b2b1;
+ --gnome-button-box-shadow: inset 0 1px white, 0 1px 2px rgba(0, 0, 0, 0.03);
+ --gnome-button-hover-color: rgba(0, 0, 0, 0.1);
+ --gnome-button-active-color: rgba(0, 0, 0, 0.2);
+ --gnome-button-hover-background: linear-gradient(to top, #fdfdfd 0%, #ffffff 100%);
+ --gnome-button-active-background: #cfcfcf;
+ --gnome-button-active-border-color: #b2b2b1;
+ --gnome-button-active-box-shadow: 0 1px rgba(255, 255, 255, 0) inset;
+ --gnome-button-disabled-background: #faf9f8;
+ --gnome-button-disabled-border-color: #cdc7c2;
+ --gnome-button-disabled-box-shadow: inset 0 1px rgba(255, 255, 255, 0);
+ --gnome-inactive-button-background: #f6f5f4;
+ --gnome-inactive-button-border-color: #dadada;
+ --gnome-inactive-button-box-shadow: 0 1px rgba(255, 255, 255, 0) inset, 0 1px rgba(255, 255, 255, 0);
+ --gnome-button-suggested-action-background: linear-gradient(to top, #2379e2 2px, #3584e4);
+ --gnome-button-suggested-action-border-color: #1b6acb;
+ --gnome-button-suggested-action-border-accent-color: #15539e;
+ --gnome-button-suggested-action-box-shadow: inset 0 1px rgba(255, 255, 255, 0.1), 0 1px 2px rgba(0, 0, 0, 0.07);
+ --gnome-button-suggested-action-hover-background: linear-gradient(to top, #3584e4, #3987e5 1px);
+ --gnome-button-suggested-action-active-background: #1961b9;
+ --gnome-button-suggested-action-active-border-color: #1b6acb;
+ --gnome-button-suggested-action-active-box-shadow: inset 0 1px rgba(255, 255, 255, 0);
+ --gnome-button-destructive-action-background: linear-gradient(to top, #ce1921 2px, #e01b24);
+ --gnome-button-destructive-action-border-color: #b2161d;
+ --gnome-button-destructive-action-border-accent-color: #851015;
+ --gnome-button-destructive-action-box-shadow: inset 0 1px rgba(255, 255, 255, 0.1), 0 1px 2px rgba(0, 0, 0, 0.07);
+ --gnome-button-destructive-action-hover-background: linear-gradient(to top, #e01b24, #e41c26 1px);
+ --gnome-button-destructive-action-active-background: #a0131a;
+ --gnome-button-destructive-action-active-border-color: #b2161d;
+ --gnome-button-destructive-action-active-box-shadow: inset 0 1px rgba(255, 255, 255, 0);
+
+ --gnome-headerbar-button-hover-background: rgba(0, 0, 0, 0.1);
+ --gnome-headerbar-button-active-background: rgba(0, 0, 0, 0.15);
+
+ /* URL bar */
+ --gnome-urlbar-background: #f5f5f5;
+ --gnome-urlbar-border-color: #b6b6b3;
+ --gnome-urlbar-box-shadow: 0 3px 3px rgba(0, 0, 0, 0.08), 0 5px 8px rgba(0, 0, 0, 0.05), 0 8px 16px rgba(0, 0, 0, 0.03);
+ --gnome-urlbar-color: #020202;
+ --gnome-hover-urlbar-border-color: #e5e5e5;
+ --gnome-inactive-urlbar-background: linear-gradient(#fcfcfc, #fcfcfc);
+ --gnome-inactive-urlbar-border-color: #dadada;
+ --gnome-inactive-urlbar-box-shadow: 0 3px 5px rgba(0, 0, 0, 0.05);
+ --gnome-inactive-urlbar-color: #323232;
+ --gnome-focused-urlbar-border-color: #5683DA;
+ --gnome-focused-urlbar-highlight-color: #6592E9;
+ --gnome-private-urlbar-background: #e6c2ff;
+
+ /* Tabs */
+ --gnome-tabbar-tab-background: #E5E5E5;
+ --gnome-tabbar-tab-color: rgb(141, 144, 145);
+ --gnome-tabbar-tab-hover-background: #d5d5d5;
+ --gnome-tabbar-tab-hover-border-bottom-color: #b6b6b3;
+ --gnome-tabbar-tab-hover-color: rgb(93, 98, 99);
+ --gnome-tabbar-tab-active-background: #ffffff;
+ --gnome-tabbar-tab-active-border-bottom-color: #4a90d9;
+ --gnome-tabbar-tab-active-color: rgb(46, 52, 54);
+ --gnome-tabbar-tab-active-hover-background: #f5f5f5;
+ --gnome-inactive-tabbar-tab-color: #8b8e8f;
+ --gnome-inactive-tabbar-tab-active-background: #f5f5f5;
+ --gnome-inactive-tabbar-tab-active-border-bottom-color: var(--gnome-tabbar-tab-active-border-bottom-color);
+ --gnome-inactive-tabbar-tab-active-color: var(--gnome-inactive-tabbar-tab-color);
+
+ /* Switch */
+ --gnome-switch-background: #e1dedb;
+ --gnome-switch-border-color: #cdc7c2;
+ --gnome-switch-slider-background: linear-gradient(to bottom, white 10%, white 90%);
+ --gnome-switch-slider-border-color: #bfb8b1;
+ --gnome-switch-slider-box-shadow: inset 0 1px white, 0 1px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.07);
+ --gnome-switch-active-background: #3584e4;
+ --gnome-switch-active-border-color: #185fb4;
+ --gnome-switch-active-slider-border-color: #185fb4;
+
+ /* Dirty hacks for replaced symbolic icons, they load from
+ * /usr/share/icons// and on some systems they need to be
+ * inverted, on others they don't, adjusts the filters below to your
+ * needs (you may also adjust icon brightness here). */
+ --gnome-convert-icon-to-symbolic-hack-filter: invert(100%) sepia(100%) grayscale(100%) brightness(200%) brightness(85%) invert(100%);
+ --gnome-icons-hack-filter: none;
+ --gnome-window-icons-hack-filter: invert(30%);
+}
diff --git a/src/other/firefox/chrome/WhiteSur/drag-window-headerbar-buttons.css b/src/other/firefox/chrome/WhiteSur/drag-window-headerbar-buttons.css
new file mode 100644
index 0000000..a0c207c
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/drag-window-headerbar-buttons.css
@@ -0,0 +1,16 @@
+/* Allow drag window from headerbar buttons */
+
+@namespace xul url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+:root[tabsintitlebar] #nav-bar *,
+:root[tabsintitlebar] #titlebar .titlebar-button,
+:root[tabsintitlebar][inFullscreen] #window-controls toolbarbutton {
+ -moz-window-dragging: drag;
+}
+
+/* Avoid window dragging from urlbar */
+:root[tabsintitlebar] #nav-bar .urlbar-input-box,
+:root[tabsintitlebar] #nav-bar .urlbar-input-box * {
+ -moz-window-dragging: no-drag !important;
+}
+
diff --git a/src/other/firefox/chrome/WhiteSur/hide-single-tab.css b/src/other/firefox/chrome/WhiteSur/hide-single-tab.css
new file mode 100644
index 0000000..943c67b
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/hide-single-tab.css
@@ -0,0 +1,7 @@
+@namespace xul url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+#tabbrowser-tabs tab:only-of-type {
+ display: none !important;
+}
+
+/* TODO: Hidde tabbar bottom border */
diff --git a/src/other/firefox/chrome/WhiteSur/hide-window-buttons.css b/src/other/firefox/chrome/WhiteSur/hide-window-buttons.css
new file mode 100644
index 0000000..2859ceb
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/hide-window-buttons.css
@@ -0,0 +1,9 @@
+@namespace xul url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+:root[tabsintitlebar][sizemode="maximized"] #titlebar .titlebar-buttonbox-container {
+ display: none !important;
+}
+
+:root[tabsintitlebar][sizemode="maximized"] #nav-bar {
+ padding-left: 3px !important;
+}
diff --git a/src/other/firefox/chrome/WhiteSur/icons/application-x-addon-symbolic.svg b/src/other/firefox/chrome/WhiteSur/icons/application-x-addon-symbolic.svg
new file mode 100644
index 0000000..0b896c9
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/icons/application-x-addon-symbolic.svg
@@ -0,0 +1,16 @@
+
+
diff --git a/src/other/firefox/chrome/WhiteSur/icons/applications-engineering-symbolic.svg b/src/other/firefox/chrome/WhiteSur/icons/applications-engineering-symbolic.svg
new file mode 100644
index 0000000..e355e5a
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/icons/applications-engineering-symbolic.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/icons/checkbox-checked-symbolic.svg b/src/other/firefox/chrome/WhiteSur/icons/checkbox-checked-symbolic.svg
new file mode 100644
index 0000000..da86336
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/icons/checkbox-checked-symbolic.svg
@@ -0,0 +1,5 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/icons/checkbox-symbolic.svg b/src/other/firefox/chrome/WhiteSur/icons/checkbox-symbolic.svg
new file mode 100644
index 0000000..554e927
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/icons/checkbox-symbolic.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/icons/edit-copy-symbolic.svg b/src/other/firefox/chrome/WhiteSur/icons/edit-copy-symbolic.svg
new file mode 100644
index 0000000..e6360cd
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/icons/edit-copy-symbolic.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/icons/edit-cut-symbolic.svg b/src/other/firefox/chrome/WhiteSur/icons/edit-cut-symbolic.svg
new file mode 100644
index 0000000..d88918c
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/icons/edit-cut-symbolic.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/icons/edit-find-symbolic.svg b/src/other/firefox/chrome/WhiteSur/icons/edit-find-symbolic.svg
new file mode 100644
index 0000000..0e0905f
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/icons/edit-find-symbolic.svg
@@ -0,0 +1,6 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/icons/edit-paste-symbolic.svg b/src/other/firefox/chrome/WhiteSur/icons/edit-paste-symbolic.svg
new file mode 100644
index 0000000..124bf7c
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/icons/edit-paste-symbolic.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/icons/folder-download-symbolic.svg b/src/other/firefox/chrome/WhiteSur/icons/folder-download-symbolic.svg
new file mode 100644
index 0000000..1b3aeb8
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/icons/folder-download-symbolic.svg
@@ -0,0 +1,6 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/icons/folder-locked-symbolic.svg b/src/other/firefox/chrome/WhiteSur/icons/folder-locked-symbolic.svg
new file mode 100644
index 0000000..fbf365e
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/icons/folder-locked-symbolic.svg
@@ -0,0 +1,7 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/icons/folder-symbolic.svg b/src/other/firefox/chrome/WhiteSur/icons/folder-symbolic.svg
new file mode 100644
index 0000000..05e119d
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/icons/folder-symbolic.svg
@@ -0,0 +1,6 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/icons/go-next-symbolic.svg b/src/other/firefox/chrome/WhiteSur/icons/go-next-symbolic.svg
new file mode 100644
index 0000000..ce6449a
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/icons/go-next-symbolic.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/icons/go-previous-symbolic.svg b/src/other/firefox/chrome/WhiteSur/icons/go-previous-symbolic.svg
new file mode 100644
index 0000000..ede8ba3
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/icons/go-previous-symbolic.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/icons/mail-unread-symbolic.svg b/src/other/firefox/chrome/WhiteSur/icons/mail-unread-symbolic.svg
new file mode 100644
index 0000000..035ac16
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/icons/mail-unread-symbolic.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/icons/open-menu-symbolic.svg b/src/other/firefox/chrome/WhiteSur/icons/open-menu-symbolic.svg
new file mode 100644
index 0000000..f5d2964
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/icons/open-menu-symbolic.svg
@@ -0,0 +1,7 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/icons/page-action.svg b/src/other/firefox/chrome/WhiteSur/icons/page-action.svg
new file mode 100644
index 0000000..7c8932e
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/icons/page-action.svg
@@ -0,0 +1,7 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/icons/pan-down-symbolic-light.svg b/src/other/firefox/chrome/WhiteSur/icons/pan-down-symbolic-light.svg
new file mode 100644
index 0000000..529dcd3
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/icons/pan-down-symbolic-light.svg
@@ -0,0 +1,54 @@
+
+
diff --git a/src/other/firefox/chrome/WhiteSur/icons/pan-down-symbolic.svg b/src/other/firefox/chrome/WhiteSur/icons/pan-down-symbolic.svg
new file mode 100644
index 0000000..27a58fe
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/icons/pan-down-symbolic.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/icons/pan-end-symbolic-light.svg b/src/other/firefox/chrome/WhiteSur/icons/pan-end-symbolic-light.svg
new file mode 100644
index 0000000..cf804dc
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/icons/pan-end-symbolic-light.svg
@@ -0,0 +1,54 @@
+
+
diff --git a/src/other/firefox/chrome/WhiteSur/icons/pan-end-symbolic.svg b/src/other/firefox/chrome/WhiteSur/icons/pan-end-symbolic.svg
new file mode 100644
index 0000000..f30b850
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/icons/pan-end-symbolic.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/icons/pan-start-symbolic.svg b/src/other/firefox/chrome/WhiteSur/icons/pan-start-symbolic.svg
new file mode 100644
index 0000000..c750fbd
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/icons/pan-start-symbolic.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/icons/pan-up-symbolic.svg b/src/other/firefox/chrome/WhiteSur/icons/pan-up-symbolic.svg
new file mode 100644
index 0000000..e3bd8ac
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/icons/pan-up-symbolic.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/icons/preferences-system-symbolic.svg b/src/other/firefox/chrome/WhiteSur/icons/preferences-system-symbolic.svg
new file mode 100644
index 0000000..55013cf
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/icons/preferences-system-symbolic.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/icons/preferences-system-time-symbolic-light.svg b/src/other/firefox/chrome/WhiteSur/icons/preferences-system-time-symbolic-light.svg
new file mode 100644
index 0000000..62685f3
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/icons/preferences-system-time-symbolic-light.svg
@@ -0,0 +1,7 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/icons/preferences-system-time-symbolic.svg b/src/other/firefox/chrome/WhiteSur/icons/preferences-system-time-symbolic.svg
new file mode 100644
index 0000000..b2ac40d
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/icons/preferences-system-time-symbolic.svg
@@ -0,0 +1,7 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/icons/printer-symbolic.svg b/src/other/firefox/chrome/WhiteSur/icons/printer-symbolic.svg
new file mode 100644
index 0000000..92cf435
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/icons/printer-symbolic.svg
@@ -0,0 +1,10 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/icons/process-stop-symbolic.svg b/src/other/firefox/chrome/WhiteSur/icons/process-stop-symbolic.svg
new file mode 100644
index 0000000..dd95443
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/icons/process-stop-symbolic.svg
@@ -0,0 +1,6 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/icons/radio-checked-symbolic.svg b/src/other/firefox/chrome/WhiteSur/icons/radio-checked-symbolic.svg
new file mode 100644
index 0000000..cfb076e
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/icons/radio-checked-symbolic.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/icons/radio-symbolic.svg b/src/other/firefox/chrome/WhiteSur/icons/radio-symbolic.svg
new file mode 100644
index 0000000..c7e082c
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/icons/radio-symbolic.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/icons/save-to-pocket-light.svg b/src/other/firefox/chrome/WhiteSur/icons/save-to-pocket-light.svg
new file mode 100644
index 0000000..0c349fa
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/icons/save-to-pocket-light.svg
@@ -0,0 +1,6 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/icons/save-to-pocket.svg b/src/other/firefox/chrome/WhiteSur/icons/save-to-pocket.svg
new file mode 100644
index 0000000..a6df7cf
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/icons/save-to-pocket.svg
@@ -0,0 +1,6 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/icons/star-symbolic.svg b/src/other/firefox/chrome/WhiteSur/icons/star-symbolic.svg
new file mode 100644
index 0000000..8ddd794
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/icons/star-symbolic.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/icons/starred-symbolic.svg b/src/other/firefox/chrome/WhiteSur/icons/starred-symbolic.svg
new file mode 100644
index 0000000..b04e321
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/icons/starred-symbolic.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/icons/tab-new-symbolic.svg b/src/other/firefox/chrome/WhiteSur/icons/tab-new-symbolic.svg
new file mode 100644
index 0000000..91182e0
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/icons/tab-new-symbolic.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/icons/toggle-right-sidebar-symbolic.svg b/src/other/firefox/chrome/WhiteSur/icons/toggle-right-sidebar-symbolic.svg
new file mode 100644
index 0000000..418dd98
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/icons/toggle-right-sidebar-symbolic.svg
@@ -0,0 +1,11 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/icons/toggle-sidebar-symbolic.svg b/src/other/firefox/chrome/WhiteSur/icons/toggle-sidebar-symbolic.svg
new file mode 100644
index 0000000..4e448fa
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/icons/toggle-sidebar-symbolic.svg
@@ -0,0 +1,11 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/icons/tracking-protection.svg b/src/other/firefox/chrome/WhiteSur/icons/tracking-protection.svg
new file mode 100644
index 0000000..65c7680
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/icons/tracking-protection.svg
@@ -0,0 +1,7 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/icons/user-home-symbolic.svg b/src/other/firefox/chrome/WhiteSur/icons/user-home-symbolic.svg
new file mode 100644
index 0000000..a4861f9
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/icons/user-home-symbolic.svg
@@ -0,0 +1,3 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/icons/user-not-tracked-dark.svg b/src/other/firefox/chrome/WhiteSur/icons/user-not-tracked-dark.svg
new file mode 100644
index 0000000..4f1a2f6
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/icons/user-not-tracked-dark.svg
@@ -0,0 +1,6 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/icons/user-not-tracked.svg b/src/other/firefox/chrome/WhiteSur/icons/user-not-tracked.svg
new file mode 100644
index 0000000..b2aa36b
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/icons/user-not-tracked.svg
@@ -0,0 +1,6 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/icons/view-fullscreen-symbolic.svg b/src/other/firefox/chrome/WhiteSur/icons/view-fullscreen-symbolic.svg
new file mode 100644
index 0000000..72cddce
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/icons/view-fullscreen-symbolic.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/icons/view-more-horizontal-symbolic.svg b/src/other/firefox/chrome/WhiteSur/icons/view-more-horizontal-symbolic.svg
new file mode 100644
index 0000000..6c54fac
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/icons/view-more-horizontal-symbolic.svg
@@ -0,0 +1,8 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/icons/view-refresh-symbolic.svg b/src/other/firefox/chrome/WhiteSur/icons/view-refresh-symbolic.svg
new file mode 100644
index 0000000..e443de4
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/icons/view-refresh-symbolic.svg
@@ -0,0 +1,7 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/icons/view-restore-symbolic.svg b/src/other/firefox/chrome/WhiteSur/icons/view-restore-symbolic.svg
new file mode 100644
index 0000000..b505414
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/icons/view-restore-symbolic.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/icons/window-close-symbolic-light.svg b/src/other/firefox/chrome/WhiteSur/icons/window-close-symbolic-light.svg
new file mode 100644
index 0000000..fe15e26
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/icons/window-close-symbolic-light.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/icons/window-close-symbolic.svg b/src/other/firefox/chrome/WhiteSur/icons/window-close-symbolic.svg
new file mode 100644
index 0000000..a2ccfc2
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/icons/window-close-symbolic.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/icons/window-maximize-symbolic.svg b/src/other/firefox/chrome/WhiteSur/icons/window-maximize-symbolic.svg
new file mode 100644
index 0000000..92b3f9f
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/icons/window-maximize-symbolic.svg
@@ -0,0 +1,81 @@
+
+
diff --git a/src/other/firefox/chrome/WhiteSur/icons/window-minimize-symbolic.svg b/src/other/firefox/chrome/WhiteSur/icons/window-minimize-symbolic.svg
new file mode 100644
index 0000000..5faa7c6
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/icons/window-minimize-symbolic.svg
@@ -0,0 +1,81 @@
+
+
diff --git a/src/other/firefox/chrome/WhiteSur/icons/window-new-symbolic.svg b/src/other/firefox/chrome/WhiteSur/icons/window-new-symbolic.svg
new file mode 100644
index 0000000..7aef954
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/icons/window-new-symbolic.svg
@@ -0,0 +1,9 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/icons/zoom-in-symbolic.svg b/src/other/firefox/chrome/WhiteSur/icons/zoom-in-symbolic.svg
new file mode 100644
index 0000000..473ed97
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/icons/zoom-in-symbolic.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/icons/zoom-out-symbolic.svg b/src/other/firefox/chrome/WhiteSur/icons/zoom-out-symbolic.svg
new file mode 100644
index 0000000..adc8605
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/icons/zoom-out-symbolic.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/matching-autocomplete-width.css b/src/other/firefox/chrome/WhiteSur/matching-autocomplete-width.css
new file mode 100644
index 0000000..190a32d
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/matching-autocomplete-width.css
@@ -0,0 +1,177 @@
+@namespace xul url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/*
+This feature is included by default for Firefox 70+
+*/
+
+/**************************************************************************************
+*********************************** FIREFOX 68 ****************************************
+**************************************************************************************/
+/* Set popover size and position */
+panel#urlbar-results {
+ --box-width: calc(100vw - var(--item-padding-start) - var(--item-padding-end) + 8px);
+ --fixed-widths: calc((6px + 16px + 6px) + (16px + 9px) + 11px);
+ box-sizing: border-box;
+ border-radius: 9px;
+ margin-left: 0 !important;
+ margin-top: 0 !important;
+ max-width: var(--box-width) !important;
+}
+
+/* Style as regular popover */
+panel#urlbar-results {
+ background: var(--gnome-popover-background) !important;
+ border: 1px solid !important;
+ border-color: var(--gnome-popover-border-color) !important;
+ border-radius: 9px;
+ color: var(--gnome-toolbar-color) !important;
+ padding: 8px;
+}
+
+/* Results box */
+#urlbarView-results {
+ --item-padding-start: 0 !important;
+ --item-padding-end: 0 !important;
+ max-height: 35vh !important;
+ overflow-x: auto;
+ max-width: calc(var(--box-width) - 18px) !important;
+}
+
+/* Search panel */
+.search-one-offs {
+ width: 100%;
+ --item-padding-start: 0 !important;
+ --item-padding-end: 0 !important;
+}
+.search-panel-one-offs-header, .search-panel-one-offs {
+ background: transparent !important;
+ border: 0 !important;
+}
+panel#urlbar-results.search-panel-one-offs-header {
+ border-top: 1px solid var(--gnome-popover-separator-color) !important;
+}
+
+/* Search engines buttons */
+.searchbar-engine-one-off-item:not(.dummy) {
+ --toolbarbutton-active-background: transparent !important;
+ --toolbarbutton-hover-background: transparent !important;
+}
+
+.searchbar-engine-one-off-item:not(.dummy) {
+ -moz-appearance: none !important;
+ --toolbarbutton-active-background: transparent !important;
+ --toolbarbutton-hover-background: transparent !important;
+ -moz-appearance: none !important;
+ background: var(--gnome-button-background) !important;
+ box-shadow: var(--gnome-button-box-shadow) !important;
+ border: 1px solid var(--gnome-button-border-color) !important;
+ border-left-width: 0 !important;
+ border-bottom-color: var(--gnome-button-border-accent-color) !important;
+ padding: 0 2px !important;
+ min-height: 34px !important;
+ min-width: 34px !important;
+ margin: 0 !important;
+}
+.searchbar-engine-one-off-item:hover, .searchbar-engine-one-off-item[selected] {
+ background: var(--gnome-button-hover-background) !important;
+ color: unset !important;
+}
+.searchbar-engine-one-off-item:first-child {
+ border-radius: 5px 0 0 5px;
+ border-left-width: 1px !important;
+}
+.searchbar-engine-one-off-item.last-engine, .searchbar-engine-one-off-item:last-child {
+ border-radius: 0 5px 5px 0;
+}
+.searchbar-engine-one-off-item.dummy {
+ display: none !important;
+}
+.searchbar-engine-one-off-item:not(.last-row) {
+ box-sizing: border-box !important;
+}
+#urlbar-anon-search-settings-compact {
+ border-left-width: 1px !important;
+ border-bottom: 1px solid var(--gnome-button-border-accent-color) !important;
+ border-radius: 5px;
+ margin-left: 6px !important;
+}
+
+/* Convert search engines icons to symbolic */
+#urlbar-results .searchbar-engine-one-off-item:not(.search-setting-button-compact) .button-icon {
+ filter: var(--gnome-convert-icon-to-symbolic-hack-filter);
+}
+
+/**************************************************************************************
+********************************** FIREFOX 60-67 **************************************
+**************************************************************************************/
+/* TODO: Remove when FF =< 67 is deprecated */
+#PopupAutoCompleteRichResult {
+ margin-left: 0 !important;
+ margin-top: -7px;
+}
+#PopupAutoCompleteRichResult {
+ background: var(--gnome-popover-background) !important;
+ border: 1px solid !important;
+ border-color: var(--gnome-popover-border-color) !important;
+ border-radius: 9px;
+ box-shadow: var(--gnome-popover-shadow) !important; /* BUG: Not showing any shadow at all */
+ color: var(--gnome-toolbar-color) !important;
+ padding: 8px !important;
+}
+#PopupAutoCompleteRichResult .autocomplete-richlistbox {
+ --box-width: calc(100vw - var(--item-padding-start) - var(--item-padding-end) - 42px);
+ max-width: var(--box-width);
+}
+#PopupAutoCompleteRichResult .autocomplete-richlistitem {
+ padding-left: 0 !important;
+ padding-right: 5px !important;
+ border-inline-end-width: 0 !important;
+ max-width: calc(var(--box-width) - 5px);
+ display: flex;
+ align-items: center;
+}
+/* Search panel */
+#PopupAutoCompleteRichResult .search-panel-one-offs-header, #PopupAutoCompleteRichResult .search-panel-one-offs {
+ background: transparent !important;
+ border: 0 !important;
+}
+#PopupAutoCompleteRichResult .search-panel-one-offs-header {
+ border-top: 1px solid var(--gnome-popover-separator-color) !important;
+}
+#PopupAutoCompleteRichResult .search-panel-one-offs {
+ --item-padding-start: 0 !important;
+ --item-padding-end: 0 !important;
+}
+/* Search engines buttons */
+#PopupAutoCompleteRichResult .searchbar-engine-one-off-item:not(.dummy) {
+ -moz-appearance: none !important;
+ --toolbarbutton-active-background: transparent !important;
+ --toolbarbutton-hover-background: transparent !important;
+ background: var(--gnome-button-background) !important;
+ box-shadow: var(--gnome-button-box-shadow);
+ border-width: 1px 1px 1px 0;
+ border-style: solid;
+ border-color: var(--gnome-button-border-color) !important;
+ border-bottom-color: var(--gnome-button-border-accent-color) !important;
+ padding: 0 2px !important;
+ height: 34px !important;
+ color: var(--gnome-toolbar-color) !important;
+ box-sizing: border-box !important;
+}
+#PopupAutoCompleteRichResult .searchbar-engine-one-off-item:hover, #PopupAutoCompleteRichResult .searchbar-engine-one-off-item[selected] {
+ background: var(--gnome-button-hover-background) !important;
+ color: unset !important;
+}
+#PopupAutoCompleteRichResult .searchbar-engine-one-off-item:first-child {
+ border-radius: 5px 0 0 5px;
+ border-left-width: 1px !important;
+}
+#PopupAutoCompleteRichResult .searchbar-engine-one-off-item.last-engine {
+ border-radius: 0 5px 5px 0;
+}
+#PopupAutoCompleteRichResult .searchbar-engine-one-off-item.dummy {
+ display: none !important;
+}
+#PopupAutoCompleteRichResult .searchbar-engine-one-off-item:not(.last-row) {
+ box-sizing: border-box !important;
+}
diff --git a/src/other/firefox/chrome/WhiteSur/parts/buttons-fixes.css b/src/other/firefox/chrome/WhiteSur/parts/buttons-fixes.css
new file mode 100644
index 0000000..1a82cae
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/parts/buttons-fixes.css
@@ -0,0 +1,176 @@
+/* Buttons Issues/Glitches fixes */
+@namespace xul "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
+
+/* Overrides: Make the back button the same as other buttons */
+:root:not([uidensity=compact]) #back-button {
+ border-radius: var(--toolbarbutton-border-radius) !important;
+}
+:root:not([uidensity=compact]) #back-button > .toolbarbutton-icon {
+ background-color: unset !important;
+ border: unset !important;
+ width: calc(2 * var(--toolbarbutton-inner-padding) + 16px) !important;
+ height: calc(2 * var(--toolbarbutton-inner-padding) + 16px) !important;
+ padding: var(--toolbarbutton-inner-padding) !important;
+ border-radius: var(--toolbarbutton-border-radius);
+ box-shadow: none !important;
+}
+:root:not([uidensity=compact]) #back-button:not([disabled]):not([open]):hover > .toolbarbutton-icon {
+ background-color: var(--toolbarbutton-hover-background) !important;
+ box-shadow: unset;
+ border-color: unset;
+}
+:root:not([uidensity=compact]) #back-button[open] > .toolbarbutton-icon,
+:root:not([uidensity=compact]) #back-button:not([disabled]):hover:active > .toolbarbutton-icon {
+ background-color: var(--toolbarbutton-active-background) !important;
+ border-color: unset;
+}
+
+/* Remove the header bar buttons' hover styles */
+#nav-bar {
+ --toolbarbutton-active-background: transparent !important;
+ --toolbarbutton-hover-background: transparent !important;
+}
+
+/* Glitch customizing: Cut / Copy / Paste buttons' icons
+ * :not(#hack) is there just to elevate rule priority */
+:root[customizing] #nav-bar > hbox toolbaritem toolbarbutton image:not(#hack) {
+ opacity: 1 !important;
+}
+/* Glitch customizing: Reload and Cut / Copy / Paste buttons */
+:root:-moz-window-inactive[customizing] #nav-bar #stop-reload-button toolbarbutton,
+:root:-moz-window-inactive[customizing] #nav-bar #edit-controls toolbarbutton {
+ background-image: var(--gnome-inactive-button-background);
+ box-shadow: var(--gnome-inactive-button-box-shadow);
+}
+/* Glitch customizing: Reload and Cut / Copy / Paste buttons' icons */
+:root:-moz-window-inactive[customizing] #nav-bar #stop-reload-button image.toolbarbutton-icon,
+:root:-moz-window-inactive[customizing] #nav-bar #edit-controls image.toolbarbutton-icon {
+ opacity: .7 !important;
+}
+
+/* Glitch: Overflow and Burger buttons
+ * :not(#hack) is there just to elevate rule priority */
+:root[customizing] #nav-bar > toolbarbutton[disabled]:not(#hack),
+:root[customizing] #nav-bar > toolbaritem > toolbarbutton[disabled]:not(#hack) {
+ opacity: .5 !important;
+}
+/* Glitch: Overflow button's icon */
+:root[customizing] #nav-bar toolbarbutton:not(#urlbar-zoom-button)[disabled] image {
+ fill-opacity: var(--toolbarbutton-icon-fill-opacity) !important;
+}
+
+/* Bookmark buttons */
+#nav-bar toolbarbutton.bookmark-item {
+ width: auto !important;
+}
+#nav-bar toolbarbutton.bookmark-item .toolbarbutton-icon {
+ margin-left: 6px;
+}
+#nav-bar toolbarbutton.bookmark-item .toolbarbutton-text {
+ padding-right: 6px;
+}
+
+/* Remove Burger button's left separator */
+#PanelUI-button {
+ border: 0 !important;
+ margin: 0 !important;
+ padding-inline-start: 0 !important;
+}
+
+/* Space main menu button from other headerbar buttons
+#nav-bar #PanelUI-menu-button:not(#hack) {
+ margin-left: 10px !important;
+}*/
+
+/* Fix library animation */
+#library-animatable-box {
+ --library-button-height: 46px !important;
+ --library-icon-x: 1716px !important;
+ /*--library-icon-x: 1715.9833984375px !important;*/
+}
+#library-button[animate] > .toolbarbutton-icon {
+ fill: transparent !important;
+}
+
+/* Fix toolbars close icons */
+.close-icon:not(.tab-close-button) image {
+ height: 16px !important;
+ width: 16px !important;
+ margin: 6px !important;
+}
+
+/* */
+#appMenu-popup .panel-banner-item[notificationid="update-restart"]::after {
+ display: none !important;
+}
+
+/* Identity site popover buttons */
+.identity-popup-preferences-button:not(#hack) {
+ list-style-image: url("chrome://browser/skin/settings.svg") !important;
+}
+#tracking-protection-preferences-button > .toolbarbutton-text {
+ padding-inline-end: 0 !important;
+}
+.protections-popup-footer-button-label {
+ margin-inline-start: 3px !important;
+}
+
+/* Fix findbar buttons issues */
+.findbar-container .findbar-find-previous image,
+.findbar-container .findbar-find-next image {
+ margin: 6px !important;
+ opacity: 1 !important;
+}
+.findbar-container toolbarbutton:focus {
+ outline: 0 !important;
+}
+
+/* Sidebar header button reset font size */
+#sidebar-header {
+ font-size: 1em !important;
+}
+
+/* Sidebar header button arrow opacity */
+#sidebar-switcher-arrow {
+ opacity: 1 !important;
+}
+
+/* Sidebar history view */
+#viewButton {
+ margin: 0 !important;
+ margin-inline-start: 6px !important;
+}
+
+/* Menulist */
+menulist {
+ -moz-appearance: none !important;
+}
+#identity-popup-popup-menulist {
+ margin-right: 0 !important;
+}
+
+/* Bookmarks editor buttons */
+.expander-down image, .expander-up image {
+ margin: 6px !important;
+}
+
+/* Identity popup tracking protection button */
+.tracking-protection-button {
+ margin-inline-end: 0 !important;
+}
+
+/* Identity popup delete permission button */
+.identity-popup-permission-remove-button {
+ opacity: 1 !important;
+}
+
+/* Identity popup expander button */
+#identity-popup-security {
+ -moz-box-align: center;
+}
+#identity-popup-security-expander {
+ width: 34px !important;
+}
+#identity-popup-security-expander .button-icon {
+ margin: 0 !important;
+}
diff --git a/src/other/firefox/chrome/WhiteSur/parts/buttons.css b/src/other/firefox/chrome/WhiteSur/parts/buttons.css
new file mode 100644
index 0000000..8c45132
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/parts/buttons.css
@@ -0,0 +1,357 @@
+/* Buttons */
+@import "buttons-fixes.css";
+@namespace xul "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
+
+/* Hide buttons separator */
+#nav-bar .toolbaritem-combined-buttons separator {
+ display: none !important;
+}
+
+#appMenu-popup .toolbaritem-combined-buttons toolbarseparator {
+ border: 0 !important;
+}
+
+/* Buttons */
+.subviewbutton.panel-subview-footer,
+.panel-footer button,
+#downloadsHistory,
+#downloadsPanel-mainView .download-state .downloadButton,
+#overflowMenu-customize-button,
+#appMenu-popup .panel-banner-item,
+#appMenu-popup .toolbaritem-combined-buttons toolbarbutton:not(#appMenu-fxa-label),
+.subviewbutton-back,
+#context-navigation menuitem,
+.identity-popup-preferences-button:not(#hack),
+.findbar-container toolbarbutton,
+#sidebar-switcher-target,
+#viewButton,
+.close-icon:not(.tab-close-button),
+.menulist-label-box,
+.expander-down, .expander-up,
+.notification-button,
+.protections-popup-footer-button,
+.identity-popup-permission-remove-button,
+#identity-popup-security-expander,
+#PanelUI-panic-view-button,
+.tracking-protection-button,
+.dialog-button {
+ -moz-appearance: none !important;
+ background: var(--gnome-button-background) !important;
+ box-shadow: var(--gnome-button-box-shadow) !important;
+ border: 1px solid var(--gnome-button-border-color) !important;
+ border-bottom-color: var(--gnome-button-border-accent-color) !important;
+ border-radius: 5px !important;
+ padding: 0 4px !important;
+ height: 28px !important;
+ max-height: 28px !important;
+ min-height: 28px !important;
+ min-width: 28px !important;
+ color: var(--gnome-toolbar-color) !important;
+ transition: all 200ms;
+}
+
+/* Text buttons */
+.subviewbutton.panel-subview-footer,
+.panel-footer button,
+#downloadsHistory,
+#overflowMenu-customize-button,
+#appMenu-popup .panel-banner-item,
+#appMenu-zoomReset-button:not(#appMenu-fxa-label):not(#hack),
+#tracking-protection-preferences-button:not(#hack),
+.findbar-container toolbarbutton.findbar-button,
+.notification-button,
+.protections-popup-footer-button,
+#PanelUI-panic-view-button,
+.tracking-protection-button,
+.dialog-button {
+ padding: 2px 10px !important;
+ text-align: center !important;
+}
+
+.subviewbutton.panel-subview-footer label {
+ text-align: center !important;
+}
+
+/* Drop down buttons */
+#sidebar-switcher-target,
+#viewButton {
+ padding: 2px 16px !important;
+ position: relative;
+}
+#sidebar-switcher-arrow,
+#viewButton .button-menu-dropmarker { /* Arrow position, type b */
+ transform: translate(6px, 0)
+}
+.menulist-label-box {
+ padding: 2px 26px 2px 16px !important;
+ position: relative;
+}
+.menulist-label-box:after { /* Arrow position */
+ position: absolute !important;
+ right: 8px !important;
+ top: 8px !important;
+}
+.menulist-label-box:after { /* Create arrow if icon tag no exist */
+ content: "";
+}
+
+/* Hover buttons */
+.subviewbutton.panel-subview-footer:hover,
+.panel-footer button:hover,
+#downloadsHistory:hover,
+#downloadsPanel-mainView .download-state .downloadButton:hover,
+#overflowMenu-customize-button:hover,
+#appMenu-popup .panel-banner-item:hover,
+.subviewbutton-back:hover,
+#appMenu-popup .toolbaritem-combined-buttons toolbarbutton:not(#appMenu-fxa-label):not([disabled]):hover,
+#context-navigation menuitem:not([disabled]):hover,
+.identity-popup-preferences-button:not(#hack):hover,
+.findbar-container toolbarbutton:hover,
+.findbar-closebutton .toolbarbutton-icon:hover,
+#sidebar-switcher-target:hover,
+#viewButton:hover,
+menulist:hover .menulist-label-box,
+.expander-down:hover, .expander-up:hover,
+.notification-button:hover,
+.protections-popup-footer-button:hover,
+.identity-popup-permission-remove-button:hover,
+#identity-popup-security-expander:hover,
+.tracking-protection-button:hover,
+.dialog-button:hover {
+ outline: 0 !important;
+ background: var(--gnome-button-hover-background) !important;
+}
+
+/* Active buttons */
+.subviewbutton.panel-subview-footer:active,
+.panel-footer button:active,
+#downloadsHistory:active,
+#downloadsPanel-mainView .download-state .downloadButton:active,
+#overflowMenu-customize-button:active,
+#appMenu-popup .panel-banner-item:active,
+.subviewbutton-back:not(#hack):active,
+#appMenu-popup .toolbaritem-combined-buttons toolbarbutton:not([disabled]):not(#appMenu-fxa-label):active,
+#context-navigation menuitem:active:not([disabled]),
+.identity-popup-preferences-button:not(#hack):active,
+.findbar-container toolbarbutton[checked],
+.findbar-container toolbarbutton:active,
+#sidebar-switcher-target:active, #sidebar-switcher-target.active,
+#viewButton[open],
+menulist[open] .menulist-label-box,
+.expander-down:active, .expander-up:active,
+.notification-button:active,
+.protections-popup-footer-button:not(#hack):active,
+.identity-popup-permission-remove-button:active,
+#identity-popup-security-expander:active,
+.tracking-protection-button:active,
+.dialog-button:active {
+ background: var(--gnome-button-active-background) !important;
+ box-shadow: var(--gnome-button-active-box-shadow) !important;
+ border-color: var(--gnome-button-active-border-color) !important;
+}
+
+/* Disabled buttons */
+#appMenu-popup .toolbaritem-combined-buttons toolbarbutton[disabled],
+#context-navigation menuitem[disabled] {
+ background: var(--gnome-button-disabled-background) !important;
+ border-color: var(--gnome-button-disabled-border-color) !important;
+ box-shadow: var(--gnome-button-disabled-box-shadow) !important;
+ opacity: 1 !important;
+}
+
+#nav-bar toolbarbutton:not(#urlbar-zoom-button)[disabled] image,
+#appMenu-popup .toolbaritem-combined-buttons toolbarbutton[disabled] image,
+#context-navigation menuitem[disabled] image {
+ opacity: .4 !important;
+}
+
+#appMenu-popup .toolbaritem-combined-buttons toolbarbutton[disabled]:hover {
+ background: var(--gnome-button-disabled-background) !important;
+}
+
+/* Inactive window buttons */
+.findbar-container toolbarbutton:-moz-window-inactive,
+#sidebar-switcher-target:-moz-window-inactive,
+#viewButton:-moz-window-inactive {
+ background: var(--gnome-inactive-button-background) !important;
+ box-shadow: var(--gnome-inactive-button-box-shadow) !important;
+ border-color: var(--gnome-inactive-button-border-color) !important;
+}
+
+/* Flat buttons */
+.subviewbutton-back:not(#hack),
+#TabsToolbar .toolbarbutton-1 {
+ background: transparent !important;
+ box-shadow: none !important;
+ border-color: transparent !important;
+ border-radius: 5px !important;
+}
+
+.subviewbutton-back:not(#hack):not(:active):hover,
+#protections-popup-show-report-button:not(:active):hover {
+ box-shadow: var(--gnome-button-box-shadow) !important;
+ border-color: var(--gnome-button-border-color) !important;
+ border-bottom-color: var(--gnome-button-border-accent-color) !important;
+}
+
+.close-icon:not(.tab-close-button) {
+ background: transparent !important;
+ box-shadow: none !important;
+ border: 1px solid transparent !important;
+ border-radius: 5px !important;
+ padding: 0 0 !important;
+ height: 28px !important;
+ width: 28px !important;
+ min-height: 28px !important;
+ min-width: 28px !important;
+}
+
+#TabsToolbar .toolbarbutton-1 {
+ margin: 0 0 !important;
+ padding: 0 0 !important;
+ height: 28px !important;
+ width: 32px !important;
+ min-height: 28px !important;
+ min-width: 32px !important;
+ border-radius: 0 !important;
+ transition: all 200ms;
+}
+
+#TabsToolbar .toolbarbutton-1 image {
+ margin: 0 0 !important;
+ padding: 0 0 !important;
+ height: 16px !important;
+ width: 16px !important;
+ min-height: 16px !important;
+ min-width: 16px !important;
+}
+
+.close-icon:not(.tab-close-button):hover,
+#TabsToolbar .toolbarbutton-1:not(:active):not([open]):hover {
+ outline: 0 !important;
+ background: var(--gnome-button-hover-color) !important;
+}
+
+.close-icon:not(.tab-close-button):active,
+#TabsToolbar .toolbarbutton-1:active, #TabsToolbar .toolbarbutton-1[open] {
+ outline: 0 !important;
+ background: var(--gnome-button-active-color) !important;
+}
+
+/* Circle buttons */
+#downloadsPanel-mainView .download-state .downloadButton,
+.identity-popup-permission-remove-button:not(#hack) {
+ padding: 0 0 !important;
+ height: 32px !important;
+ width: 32px !important;
+ min-height: 32px !important;
+ min-width: 32px !important;
+ border-radius: 100% !important;
+}
+
+/* Combined buttons */
+#nav-bar .toolbaritem-combined-buttons toolbarbutton:not(:last-of-type):not(#hack),
+.subviewbutton.panel-subview-footer:not(:only-of-type):not(:last-of-type),
+.panel-footer button:not(:only-of-type):not(:last-of-type),
+#appMenu-popup .toolbaritem-combined-buttons toolbarbutton:not(:last-of-type):not(#appMenu-zoomEnlarge-button),
+#context-navigation menuitem:not(:last-of-type),
+.findbar-container toolbarbutton.findbar-find-previous,
+.findbar-button:not(:last-of-type) {
+ border-top-right-radius: 0 !important;
+ border-bottom-right-radius: 0 !important;
+ border-right-width: 0 !important;
+ margin-right: 0 !important;
+}
+
+#nav-bar .toolbaritem-combined-buttons toolbarbutton:not(:first-of-type):not(#hack),
+.subviewbutton.panel-subview-footer:not(:only-of-type):not(:first-of-type),
+.panel-footer button:not(:only-of-type):not(:first-of-type),
+#appMenu-popup .toolbaritem-combined-buttons toolbarbutton:not(:first-of-type):not(#appMenu-fullscreen-button),
+#context-navigation menuitem:not(:first-of-type),
+.findbar-container toolbarbutton.findbar-find-previous,
+.findbar-container toolbarbutton.findbar-find-next,
+.findbar-button:not(:first-of-type) {
+ border-top-left-radius: 0 !important;
+ border-bottom-left-radius: 0 !important;
+ margin-left: 0 !important;
+}
+
+#nav-bar .toolbaritem-combined-buttons {
+ margin-left: 0 !important;
+ margin-right: 0 !important;
+}
+
+/* Buttons with suggested action */
+#appMenu-popup .panel-banner-item[notificationid="update-restart"],
+button.popup-notification-primary-button,
+#editBookmarkPanelDoneButton,
+#tracking-action-block {
+ color: white !important;
+ background: var(--gnome-button-suggested-action-background) !important;
+ border-color: var(--gnome-button-suggested-action-border-color) !important;
+ border-bottom-color: var(--gnome-button-suggested-action-border-accent-color) !important;
+ box-shadow: var(--gnome-button-suggested-action-box-shadow) !important;
+ text-shadow: 0 -1px rgba(0, 0, 0, 0.559216) !important;
+}
+
+#appMenu-popup .panel-banner-item[notificationid="update-restart"]:hover,
+button.popup-notification-primary-button.popup-notification-button:hover,
+#editBookmarkPanelDoneButton:hover {
+ background: var(--gnome-button-suggested-action-hover-background) !important;
+}
+
+#appMenu-popup .panel-banner-item[notificationid="update-restart"]:active,
+button.popup-notification-primary-button.popup-notification-button:active,
+#editBookmarkPanelDoneButton:active {
+ background: var(--gnome-button-suggested-action-active-background) !important;
+ border-color: var(--gnome-button-suggested-action-active-border-color) !important;
+ box-shadow: var(--gnome-button-suggested-action-active-box-shadow) !important;
+ text-shadow: none !important;
+}
+
+/* Buttons with destructive action */
+#editBookmarkPanelRemoveButton,
+#PanelUI-panic-view-button {
+ color: white !important;
+ background: var(--gnome-button-destructive-action-background) !important;
+ border-color: var(--gnome-button-destructive-action-border-color) !important;
+ border-bottom-color: var(--gnome-button-destructive-action-border-accent-color) !important;
+ box-shadow: var(--gnome-button-destructive-action-box-shadow) !important;
+ text-shadow: 0 -1px rgba(0, 0, 0, 0.558275) !important;
+}
+
+#editBookmarkPanelRemoveButton:hover,
+.identity-popup-permission-remove-button:not(#hack):hover,
+#PanelUI-panic-view-button:hover {
+ background: var(--gnome-button-destructive-action-hover-background) !important;
+}
+
+#editBookmarkPanelRemoveButton:active,
+.identity-popup-permission-remove-button:not(#hack):active,
+#PanelUI-panic-view-button:active {
+ background: var(--gnome-button-destructive-action-active-background) !important;
+ border-color: var(--gnome-button-destructive-action-active-border-color) !important;
+ box-shadow: var(--gnome-button-destructive-action-active-box-shadow) !important;
+}
+
+.identity-popup-permission-remove-button:not(#hack):hover { /* Is flat */
+ border-color: var(--gnome-button-destructive-action-border-color) !important;
+ border-bottom-color: var(--gnome-button-destructive-action-border-accent-color) !important;
+ box-shadow: var(--gnome-button-destructive-action-box-shadow) !important;
+}
+.identity-popup-permission-remove-button:not(#hack):hover .button-icon {
+ filter: invert(100%) brightness(200%);
+}
+
+/* User sync menu, bigger avatar */
+#fxa-toolbar-menu-button .toolbarbutton-badge-stack {
+ padding: 0 !important;
+ margin: 0 !important;
+}
+
+#fxa-avatar-image {
+ height: 26px !important;
+ margin: 0 !important;
+ padding: 0 !important;
+ width: 26px !important;
+}
diff --git a/src/other/firefox/chrome/WhiteSur/parts/csd.css b/src/other/firefox/chrome/WhiteSur/parts/csd.css
new file mode 100644
index 0000000..c0b4936
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/parts/csd.css
@@ -0,0 +1,138 @@
+/* GNOME CSD styles for headerbar on Firefox [tabsintitlebar] */
+
+@namespace xul url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+#main-window {
+ -moz-appearance: -moz-window-titlebar !important;
+}
+
+/* Headerbar top border corners rounded */
+:root[tabsintitlebar]:not([inFullscreen]):not([sizemode="maximized"]) #nav-bar {
+ border-radius: 16px 16px 0 0 !important;
+}
+
+/* Window buttons: at least 1 button */
+@media (-moz-gtk-csd-minimize-button), (-moz-gtk-csd-maximize-button), (-moz-gtk-csd-close-button) {
+ :root[tabsintitlebar]:not([inFullscreen]) #nav-bar {
+ padding-right: 60px !important;
+ }
+}
+/* Window buttons: at least 2 buttons */
+@media (-moz-gtk-csd-minimize-button) and (-moz-gtk-csd-maximize-button),
+ (-moz-gtk-csd-minimize-button) and (-moz-gtk-csd-close-button),
+ (-moz-gtk-csd-maximize-button) and (-moz-gtk-csd-close-button) {
+ :root[tabsintitlebar]:not([inFullscreen]) #nav-bar {
+ padding-right: 70px !important;
+ }
+}
+/* Window buttons: 3 buttons */
+@media (-moz-gtk-csd-minimize-button) and (-moz-gtk-csd-maximize-button) and (-moz-gtk-csd-close-button) {
+ :root[tabsintitlebar]:not([inFullscreen]) #nav-bar {
+ padding-right: 90px !important;
+ }
+}
+
+/* Fullscreen headerbar padding for 1 button */
+:root[tabsintitlebar][inFullscreen] #nav-bar {
+ padding-right: 40px !important;
+}
+
+/* Window buttons box */
+:root[tabsintitlebar] #titlebar .titlebar-buttonbox-container,
+:root[tabsintitlebar] #titlebar-buttonbox-container,
+:root[tabsintitlebar][inFullscreen] #window-controls {
+ -moz-appearance: none !important;
+ padding: 0 3px 0 4px;
+ position: absolute !important;
+ right: 8px;
+ top: 0;
+ display: block !important;
+}
+:root[tabsintitlebar] #titlebar .titlebar-buttonbox {
+ -moz-appearance: none !important;
+}
+
+/* Window buttons style */
+:root[tabsintitlebar] #titlebar .titlebar-button,
+:root[tabsintitlebar][inFullscreen] #window-controls toolbarbutton {
+ -moz-appearance: none !important;
+ border: none !important;
+ border-radius: 100px !important;
+ height: 16px;
+ margin: 16px 4px !important;
+ padding: 2px 0 !important;
+ width: 16px;
+}
+:root[tabsintitlebar] #titlebar .titlebar-button .toolbarbutton-icon,
+:root[tabsintitlebar][inFullscreen] #window-controls toolbarbutton .toolbarbutton-icon {
+ opacity: 0 !important;
+}
+:root[tabsintitlebar] #titlebar:-moz-window-inactive .titlebar-button .toolbarbutton-icon,
+:root[tabsintitlebar][inFullscreen] #window-controls:-moz-window-inactive toolbarbutton .toolbarbutton-icon {
+ opacity: 0 !important;
+}
+
+/* Remove close and minimize buttons from fullscreen buttons */
+:root[tabsintitlebar][inFullscreen] #window-controls #close-button,
+:root[tabsintitlebar][inFullscreen] #window-controls #minimize-button,
+:root[tabsintitlebar][inFullscreen] #titlebar .titlebar-buttonbox-container,
+:root[tabsintitlebar][inFullscreen] #titlebar .titlebar-buttonbox .titlebar-close,
+:root[tabsintitlebar][inFullscreen] #titlebar .titlebar-buttonbox .titlebar-min {
+ display: none !important;
+}
+
+/* Left window buttons */
+@media (-moz-gtk-csd-reversed-placement) {
+ :root[tabsintitlebar]:not([inFullscreen]) #nav-bar {
+ padding-right: 3px !important;
+ }
+
+ /* Window buttons box */
+ :root[tabsintitlebar] #titlebar .titlebar-buttonbox-container {
+ padding: 0 3px 0 4px;
+ left: 8px;
+ right: auto;
+ }
+
+ /* Window controls: at least 1 button */
+ @media (-moz-gtk-csd-minimize-button), (-moz-gtk-csd-maximize-button), (-moz-gtk-csd-close-button) {
+ :root[tabsintitlebar]:not([inFullscreen]) #nav-bar {
+ padding-left: 60px !important;
+ }
+ }
+ /* Window controls: at least 2 buttons */
+ @media (-moz-gtk-csd-minimize-button) and (-moz-gtk-csd-maximize-button),
+ (-moz-gtk-csd-minimize-button) and (-moz-gtk-csd-close-button),
+ (-moz-gtk-csd-maximize-button) and (-moz-gtk-csd-close-button) {
+ :root[tabsintitlebar]:not([inFullscreen]) #nav-bar {
+ padding-left: 70px !important;
+ }
+ }
+ /* Window controls: 3 buttons */
+ @media (-moz-gtk-csd-minimize-button) and (-moz-gtk-csd-maximize-button) and (-moz-gtk-csd-close-button) {
+ :root[tabsintitlebar]:not([inFullscreen]) #nav-bar {
+ padding-left: 90px !important;
+ }
+ }
+}
+
+/* Remove tabsbar titlebar blank spaces */
+:root[tabsintitlebar] #TabsToolbar .titlebar-placeholder {
+ display: none !important;
+}
+
+/* Prevent menubar from breaking */
+:root[tabsintitlebar] #toolbar-menubar:not([inactive=true]) {
+ height: 30px !important;
+ margin-bottom: 8px;
+}
+
+/* Remove default style of titlebar */
+:root[tabsintitlebar] #titlebar {
+ -moz-appearance: none !important;
+}
+
+/* Fix the issue when dragging tabs */
+:root[tabsintitlebar] #navigator-toolbox[movingtab] #TabsToolbar {
+ padding-bottom: 0 !important;
+}
diff --git a/src/other/firefox/chrome/WhiteSur/parts/custom-icons.css b/src/other/firefox/chrome/WhiteSur/parts/custom-icons.css
new file mode 100644
index 0000000..d5f06ef
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/parts/custom-icons.css
@@ -0,0 +1,61 @@
+/* Replace icons */
+
+@namespace xul "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
+
+/* Back button */
+#nav-bar #back-button .toolbarbutton-icon {
+ filter: var(--gnome-icons-hack-filter);
+ list-style-image: url("moz-icon://stock/go-previous-symbolic?size=dialog") !important;;
+}
+
+/* Forward button */
+#nav-bar #forward-button .toolbarbutton-icon {
+ filter: var(--gnome-icons-hack-filter);
+ list-style-image: url("moz-icon://stock/go-next-symbolic?size=dialog") !important;
+}
+
+/* Reload button */
+/* Glitch - animations (may be possible to fix in about:config)
+#reload-button .toolbarbutton-icon {
+ filter: var(--gnome-icons-hack-filter);
+ list-style-image: url("moz-icon://stock/view-refresh-symbolic?size=dialog") !important;
+}*/
+/* Reload button */
+/* Glitch - animations (may be possible to fix in about:config)
+#stop-button .toolbarbutton-icon {
+ filter: var(--gnome-icons-hack-filter);
+ list-style-image: url("moz-icon://stock/process-stop-symbolic?size=dialog") !important;
+}*/
+
+/* Downloads button */
+/* Glitch - it swaps to the default one anyway
+#downloads-button {
+ filter: var(--gnome-icons-hack-filter);
+ list-style-image: url("moz-icon://stock/folder-download-symbolic?size=dialog") !important;
+} */
+
+/* Downloads button */
+/* Default is ok
+#PanelUI-menu-button {
+ filter: var(--gnome-icons-hack-filter);
+ list-style-image: url("moz-icon://stock/open-menu-symbolic?size=dialog") !important;
+} */
+
+/* Popovers subview menu arrow */
+.PanelUI-subView .subviewbutton-nav::after {
+ content: "" !important;
+ filter: var(--gnome-icons-hack-filter);
+ background: url("moz-icon://stock/pan-start-symbolic?size=dialog");
+ background-size: contain;
+ height: 16px;
+ width: 16px;
+ margin-top: -2px !important;
+}
+
+/* Popovers subview back button */
+.subviewbutton-back {
+ list-style-image: url("moz-icon://stock/pan-start-symbolic?size=dialog") !important;
+}
+.subviewbutton-back .toolbarbutton-icon {
+ filter: var(--gnome-icons-hack-filter);
+}
diff --git a/src/other/firefox/chrome/WhiteSur/parts/entries.css b/src/other/firefox/chrome/WhiteSur/parts/entries.css
new file mode 100644
index 0000000..bd0ad75
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/parts/entries.css
@@ -0,0 +1,75 @@
+/* Entries */
+
+@namespace xul "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
+
+/* Entries */
+#searchbar,
+#search-box,
+.findbar-textbox {
+ -moz-appearance: none !important;
+ background: var(--gnome-urlbar-background) !important;
+ border: 1px solid var(--gnome-urlbar-border-color) !important;
+ border-radius: 8px !important;
+ box-shadow: none !important;
+ color: var(--gnome-urlbar-color) !important;
+ height: 28px !important;
+ max-height: 28px !important;
+ margin: 0 !important;
+ padding: 6px !important;
+ box-sizing: border-box;
+ transition: all 100ms;
+}
+
+/* Entries focused */
+#urlbar[breakout][breakout-extend],
+#searchbar:focus-within,
+#search-box[focused],
+.findbar-textbox[focused],
+.findbar-textbox:focus {
+ outline: 2px solid var(--gnome-focused-urlbar-border-color) !important;
+ outline-offset: -2px;
+ -moz-outline-radius: 8px;
+ transition: all 100ms;
+}
+
+/* Inactive window entries */
+#searchbar:-moz-window-inactive,
+#search-box:-moz-window-inactive,
+.findbar-textbox:-moz-window-inactive {
+ background: var(--gnome-inactive-urlbar-background) !important;
+ border-color: var(--gnome-inactive-urlbar-border-color) !important;
+ color: var(--gnome-inactive-urlbar-color) !important;
+}
+
+/* Entries combined */
+.findbar-textbox:not(.minimal) {
+ border-top-right-radius: 0 !important;
+ border-bottom-right-radius: 0 !important;
+ border-right-width: 0 !important;
+}
+.findbar-textbox:not(.minimal)[focused], .findbar-textbox:not(.minimal):focus {
+ -moz-outline-radius: 8px 0 0 8px !important;
+}
+
+/* Entries fixes */
+#urlbar-container, #search-container {
+ padding: 0 !important;
+ margin: 0 3px !important;
+}
+#urlbar-input-container {
+ background: transparent !important;
+ border: 0 !important;
+}
+#urlbar, #searchbar {
+ margin: 0 3px !important;
+ padding: 0 !important;
+}
+.searchbar-textbox {
+ border: 0 !important;
+ padding: 0 !important;
+ margin: 0 !important;
+ min-height: auto !important;
+}
+#searchbar > .searchbar-textbox[focused] .searchbar-search-button:not(#hack) {
+ margin: 0 !important;
+}
diff --git a/src/other/firefox/chrome/WhiteSur/parts/findbar.css b/src/other/firefox/chrome/WhiteSur/parts/findbar.css
new file mode 100644
index 0000000..b70552b
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/parts/findbar.css
@@ -0,0 +1,49 @@
+/* Find bar */
+
+@namespace xul "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
+
+findbar {
+ position: relative;
+}
+
+.findbar-container {
+ padding: 6px !important;
+ display: flex;
+ justify-content: center;
+ position: relative;
+ flex-direction: row;
+ width: calc(100% - 42px);
+}
+
+hbox[anonid="findbar-textbox-wrapper"] {
+ position: absolute;
+ right: calc(50vw - 36px);
+ transform: translate(50%, 0);
+ display: flex !important;
+}
+
+.findbar-find-status, .found-matches {
+ order: -1;
+ padding: 7px 0;
+}
+.findbar-find-status {
+ padding-left: 6px;
+ flex: 1;
+}
+
+.findbar-closebutton {
+ margin: 6px 6px 6px 0 !important;
+ padding: 0 0 !important;
+ border-radius: 100px !important;
+}
+
+@media (max-width: 1100px) {
+ hbox[anonid="findbar-textbox-wrapper"] {
+ position: relative;
+ right: 0;
+ transform: none;
+ }
+ .findbar-find-status, .found-matches {
+ order: 0;
+ }
+}
diff --git a/src/other/firefox/chrome/WhiteSur/parts/headerbar-private-urlbar.css b/src/other/firefox/chrome/WhiteSur/parts/headerbar-private-urlbar.css
new file mode 100644
index 0000000..f7712fc
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/parts/headerbar-private-urlbar.css
@@ -0,0 +1,26 @@
+/* Private window header bar's URL bar */
+
+@namespace xul url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+:root[privatebrowsingmode="temporary"] #nav-bar toolbarspring:first-of-type:before {
+ background: url("../icons/user-not-tracked.svg") no-repeat;
+ background-size: contain;
+ content: "";
+ display: block;
+ position: absolute;
+ width: 64px;
+ height: 64px;
+ top: 0;
+ opacity: 0.3;
+ transform: translate(15px, 0);
+}
+:root[privatebrowsingmode="temporary"] #nav-bar toolbarspring:first-of-type:-moz-lwtheme-brighttext:before {
+ background-image: url("../icons/user-not-tracked-dark.svg");
+}
+:root[privatebrowsingmode="temporary"] #nav-bar {
+ overflow: hidden;
+}
+
+#TabsToolbar .private-browsing-indicator {
+ display: none !important;
+}
diff --git a/src/other/firefox/chrome/WhiteSur/parts/headerbar-urlbar.css b/src/other/firefox/chrome/WhiteSur/parts/headerbar-urlbar.css
new file mode 100644
index 0000000..c819736
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/parts/headerbar-urlbar.css
@@ -0,0 +1,143 @@
+/* Header bar's URL bar */
+
+@namespace xul "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
+
+#urlbar {
+ --urlbar-height: 34.00px;
+ --urlbar-toolbar-height: 34.00px !important;
+}
+
+/* Center the URL bar */
+toolbarspring {
+ max-width: 10000px !important;
+}
+
+/* URL bar */
+#urlbar {
+ box-shadow: none !important;
+ background: var(--gnome-popover-background) !important;
+ border-radius: 8px !important;
+}
+#urlbar-background {
+ box-shadow: none !important;
+ border: 0 !important;
+ background: transparent !important;
+ border-radius: 8px !important;
+}
+
+#urlbar[breakout][breakout-extend] {
+ left: 0 !important;
+ top: 0 !important;
+ width: 100% !important;
+ z-index: 5 !important;
+ padding: 0 !important;
+}
+#urlbar[breakout][breakout-extend][open] {
+ height: auto !important;
+ max-height: unset !important;
+}
+#urlbar[breakout][breakout-extend] #urlbar-input-container {
+ height: 32px !important;
+ max-height: 32px !important;
+ padding: 0 !important;
+}
+
+#urlbar[breakout][breakout-extend][open] #urlbar-background {
+ box-shadow: var(--gnome-urlbar-box-shadow) !important;
+}
+
+/* URL bar results */
+.urlbarView {
+ background: transparent !important;
+ color: var(--gnome-toolbar-color) !important;
+ margin: -2px 0 0 0 !important;
+ width: 100% !important;
+}
+
+.urlbarView-body-outer {
+ --item-padding-start: 0 !important;
+ --item-padding-end: 0 !important;
+ max-height: 40vh !important;
+ overflow-x: auto;
+ padding: 0 8px !important;
+}
+
+.urlbarView-body-inner {
+ border: 0 !important;
+}
+
+.urlbarView-row-inner, .urlbarView-no-wrap {
+ align-items: center !important;
+}
+.urlbarView-row-inner {
+ padding-block: 5px !important;
+ border-radius: 5px !important;
+}
+
+/* Search engines buttons */
+.search-one-offs {
+ margin-top: 6px !important;
+ margin-bottom: 2px !important;
+ padding: 8px !important;
+ background: var(--gnome-popover-background) !important;
+ border-top: 1px solid var(--gnome-entry-border-color) !important;
+ border-radius: 0 0 5px 5px !important;
+}
+
+.searchbar-engine-one-off-item {
+ --toolbarbutton-active-background: transparent !important;
+ --toolbarbutton-hover-background: transparent !important;
+ -moz-appearance: none !important;
+ background: var(--gnome-button-background) !important;
+ box-shadow: var(--gnome-button-box-shadow) !important;
+ border: 1px solid var(--gnome-button-border-color) !important;
+ border-left-width: 0 !important;
+ border-bottom-color: var(--gnome-button-border-accent-color) !important;
+ padding: 0 2px !important;
+ min-height: 34px !important;
+ min-width: 34px !important;
+ margin: 0 !important;
+}
+.searchbar-engine-one-off-item:hover, .searchbar-engine-one-off-item[selected] {
+ background: var(--gnome-button-hover-background) !important;
+ color: unset !important;
+}
+.searchbar-engine-one-off-item:first-child {
+ border-radius: 5px 0 0 5px;
+ border-left-width: 1px !important;
+}
+.searchbar-engine-one-off-item.last-engine, .searchbar-engine-one-off-item:last-child {
+ border-radius: 0 5px 5px 0;
+}
+
+#urlbar-anon-search-settings-compact {
+ border-left-width: 1px !important;
+ border-bottom: 1px solid var(--gnome-button-border-accent-color) !important;
+ border-radius: 5px;
+ margin-left: 6px !important;
+}
+
+/* URL bar and Search bar */
+#urlbar[focused] .urlbar-textbox-container {
+ margin: -1px !important;
+}
+#searchbar > .searchbar-textbox[focused] .searchbar-search-button {
+ margin-left: -1px !important;
+}
+#searchbar > .searchbar-textbox[focused] .search-go-button {
+ margin-right: -1px !important;
+}
+
+/* URL bar and Search bar's icons */
+.urlbar-icon:hover,
+.urlbar-icon-wrapper:hover,
+.urlbar-icon[open],
+.urlbar-icon-wrapper[open],
+.urlbar-icon:hover:active,
+.urlbar-icon-wrapper:hover:active,
+.searchbar-search-button:hover .searchbar-search-icon,
+.searchbar-search-button[open] .searchbar-search-icon,
+.searchbar-search-button:hover:active .searchbar-search-icon {
+ background-color: transparent !important;
+ fill-opacity: 1 !important;
+}
diff --git a/src/other/firefox/chrome/WhiteSur/parts/headerbar.css b/src/other/firefox/chrome/WhiteSur/parts/headerbar.css
new file mode 100644
index 0000000..52258d3
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/parts/headerbar.css
@@ -0,0 +1,110 @@
+/* Header bar */
+@import "headerbar-urlbar.css";
+@import "headerbar-private-urlbar.css";
+@namespace xul "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
+
+/* Headerbar */
+#nav-bar {
+ padding: 8px 16px !important;
+}
+
+/* Headerbar CSD colors */
+:root[tabsintitlebar] #nav-bar {
+ background: var(--gnome-headerbar-background) !important;
+ border: none !important;
+ border-bottom: none !important;
+ box-shadow: var(--gnome-headerbar-box-shadow) !important;
+}
+:root[tabsintitlebar] #nav-bar:-moz-window-inactive {
+ background: var(--gnome-inactive-headerbar-background) !important;
+ box-shadow: var(--gnome-inactive-headerbar-box-shadow) !important;
+}
+
+/* Headerbar buttons */
+#nav-bar toolbarbutton:not(#urlbar-zoom-button):not(.subviewbutton) {
+ border: none !important;
+ box-shadow: none !important;
+ background: none !important;
+ -moz-appearance: none !important;
+ border-radius: 8px !important;
+ padding: 0 4px !important;
+ min-height: 28px !important;
+ min-width: 28px !important;
+ color: var(--gnome-toolbar-color) !important;
+ transition: background 200ms;
+}
+
+/* Hover headerbar buttons */
+#nav-bar toolbarbutton:not(#urlbar-zoom-button):not(.subviewbutton):not([open]):not([disabled]):not([checked]):hover {
+ outline: 0 !important;
+ background: var(--gnome-headerbar-button-hover-background) !important;
+}
+
+/* Active headerbar buttons */
+#nav-bar toolbarbutton:not(#urlbar-zoom-button):not(.subviewbutton):not([disabled]):not(#hack):active,
+#nav-bar toolbarbutton:not(#urlbar-zoom-button):not(.subviewbutton):not(.subviewbutton):not([disabled])[open],
+#nav-bar toolbarbutton:not(#urlbar-zoom-button):not(.subviewbutton):not([disabled])[checked] {
+ background: var(--gnome-headerbar-button-active-background) !important;
+}
+
+/* Disabled headerbar buttons */
+#nav-bar toolbarbutton:not(#urlbar-zoom-button):not(.subviewbutton)[disabled] {
+}
+
+/* Inactive window buttons */
+#nav-bar toolbarbutton:not(#urlbar-zoom-button):not(.subviewbutton):-moz-window-inactive {
+}
+
+/* Buttons with margins */
+#nav-bar toolbarbutton:not(#urlbar-zoom-button):not(.subviewbutton) {
+ margin: 0 2px !important;
+}
+
+#nav-bar #back-button:not(#hack),
+#nav-bar #forward-button:not(#hack) {
+ padding: 0 4px !important;
+ width: 34px !important;
+ min-width: 34px !important;
+}
+
+#nav-bar #forward-button:not(#hack) {
+ margin-left: 0 !important;
+}
+
+#nav-bar #back-button:not(#hack) {
+ margin-right: 1px !important;
+}
+
+/* Headerbar entries */
+#nav-bar #searchbar,
+#urlbar #urlbar-input-container {
+ -moz-appearance: none !important;
+ background: var(--gnome-urlbar-background) !important;
+ border: none !important;
+ box-shadow: none !important;
+ border-radius: 8px !important;
+ color: var(--gnome-urlbar-color) !important;
+ padding: 0 6px !important;
+ height: 32px !important;
+ max-height: 32px !important;
+ transition: box-shadow 200ms;
+}
+
+#nav-bar #searchbar:hover,
+#urlbar #urlbar-input-container:hover {
+ box-shadow: inset 0 0 0 1px var(--gnome-hover-urlbar-border-color) !important;
+ transition-duration: 100ms;
+}
+
+#urlbar[breakout][breakout-extend] #urlbar-input-container,
+#urlbar[breakout][breakout-extend] #urlbar-input-container:hover {
+ background: none !important;
+ box-shadow: none !important;
+ padding: 0 6px !important;
+}
+
+#nav-bar #searchbar:focus-within {
+ border: none !important;
+ background: var(--gnome-urlbar-background) !important;
+ box-shadow: inset 0 0 0 2px var(--gnome-focused-urlbar-highlight-color) !important;
+}
diff --git a/src/other/firefox/chrome/WhiteSur/parts/icons.css b/src/other/firefox/chrome/WhiteSur/parts/icons.css
new file mode 100644
index 0000000..be564ec
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/parts/icons.css
@@ -0,0 +1,425 @@
+/* Replace icons */
+
+@namespace xul "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
+
+/* Built-in firefox icons color */
+.toolbarbutton-icon,
+.protections-popup-category-icon,
+.protections-popup-footer-icon {
+ fill: var(--gnome-toolbar-color) !important;
+ fill-opacity: 1 !important;
+}
+
+/* Tabs scroll icons */
+#TabsToolbar .scrollbutton-up {
+ list-style-image: url("../icons/pan-start-symbolic.svg") !important;
+}
+#TabsToolbar .scrollbutton-down {
+ list-style-image: url("../icons/pan-start-symbolic.svg") !important;
+}
+
+/* Popovers subview menu arrow */
+.PanelUI-subView .subviewbutton-nav::after {
+ content: "" !important;
+ background: url("../icons/pan-start-symbolic.svg");
+ background-size: contain;
+ height: 16px;
+ width: 16px;
+ margin-top: -2px !important;
+}
+.protections-popup-category::after {
+ content: url("../icons/pan-start-symbolic.svg") !important;
+}
+.identity-popup-content-blocking-category::after {
+ content: url("../icons/pan-start-symbolic.svg") !important;
+}
+#identity-popup-security-expander .button-icon {
+ list-style-image: url("../icons/pan-start-symbolic.svg") !important;
+}
+
+/* Popovers subview back button */
+.subviewbutton-back {
+ list-style-image: url("../icons/pan-start-symbolic.svg") !important;
+}
+
+/* Sub menu arrow */
+.menu-right {
+ -moz-appearance: none !important;
+ list-style-image: url("../icons/pan-end-symbolic.svg") !important;
+ width: 16px !important;
+ height: 16px !important;
+}
+menu[disabled] > .menu-right {
+ opacity: 0.3;
+}
+menu:not([disabled]):hover > .menu-right {
+ filter: invert(100%) brightness(200%);
+}
+
+/* Arrow down buttons */
+.expander-down > .button-box,
+#sidebar-switcher-arrow,
+#viewButton .button-menu-dropmarker {
+ -moz-appearance: none !important;
+ list-style-image: url("../icons/pan-down-symbolic.svg") !important;
+ width: 16px !important;
+ height: 16px !important;
+}
+.menulist-label-box:after {
+ content: url("../icons/pan-down-symbolic.svg") !important;
+}
+
+/* Arrow up buttons */
+.expander-up > .button-box {
+ -moz-appearance: none !important;
+ list-style-image: url("../icons/pan-up-symbolic.svg") !important;
+ width: 16px !important;
+ height: 16px !important;
+}
+
+/* Search entries */
+#urlbar[pageproxystate="invalid"] > #identity-box > #identity-icon,
+.searchbar-search-icon,
+#search-box .textbox-search-sign {
+ list-style-image: url(../icons/edit-find-symbolic.svg) !important;
+ opacity: 0.7 !important;
+}
+#search-box .textbox-search-sign {
+ width: 16px !important;
+ margin: 2px 0;
+}
+
+/* Tree views */
+treechildren::-moz-tree-twisty {
+ list-style-image: url("../icons/pan-down-symbolic.svg") !important;
+ width: 16px !important;
+ height: 16px !important;
+}
+treechildren::-moz-tree-twisty(open) {
+ list-style-image: url("../icons/pan-end-symbolic.svg") !important;
+}
+treechildren::-moz-tree-twisty(selected, focus) {
+ list-style-image: url("../icons/pan-down-symbolic-light.svg") !important;
+}
+treechildren::-moz-tree-twisty(selected, focus, open) {
+ list-style-image: url("../icons/pan-end-symbolic-light.svg") !important;
+}
+
+.sidebar-panel[lwt-sidebar-brighttext] .sidebar-placesTreechildren::-moz-tree-twisty {
+ list-style-image: url("../icons/pan-down-symbolic-light.svg") !important;
+}
+.sidebar-panel[lwt-sidebar-brighttext] .sidebar-placesTreechildren::-moz-tree-twisty(open) {
+ list-style-image: url("../icons/pan-end-symbolic-light.svg") !important;
+}
+/* Sidebar: History: clock icon */
+#historyTree treechildren::-moz-tree-image {
+ list-style-image: url("../icons/preferences-system-time-symbolic.svg") !important;
+}
+
+/* Menu checkbox */
+menuitem[type="checkbox"] {
+ list-style-image: url("../icons/checkbox-symbolic.svg") !important;
+}
+menuitem[type="checkbox"][hover="true"] {
+
+}
+menuitem[type="checkbox"][checked="true"] {
+ list-style-image: url("../icons/checkbox-checked-symbolic.svg") !important;
+}
+menuitem[type="checkbox"][disabled="true"] .menu-iconic-icon {
+ opacity: 0.5;
+}
+menuitem[type="checkbox"]:not([disabled="true"]):hover .menu-iconic-icon {
+ filter: invert(100%) brightness(200%);
+}
+
+/* Menu radio */
+menuitem[type="radio"] {
+ list-style-image: url("../icons/radio-symbolic.svg") !important;
+}
+menuitem[type="radio"][checked="true"] {
+ list-style-image: url("../icons/radio-checked-symbolic.svg") !important;
+}
+menuitem[type="radio"][disabled="true"] .menu-iconic-icon {
+ opacity: 0.5;
+}
+menuitem[type="radio"]:not([disabled="true"]):hover .menu-iconic-icon {
+ filter: invert(100%) brightness(200%);
+}
+
+/* Close button */
+.close-icon:not(.tab-close-button),
+.identity-popup-permission-remove-button .button-icon {
+ list-style-image: url("../icons/window-close-symbolic.svg") !important;
+}
+
+/* Private browsing button */
+#privatebrowsing-button {
+ list-style-image: url("../icons/user-not-tracked.svg") !important;
+}
+/* Sidebar button */
+#sidebar-button:-moz-locale-dir(ltr):not([positionend]) .toolbarbutton-icon, #sidebar-button:-moz-locale-dir(rtl)[positionend] .toolbarbutton-icon {
+ list-style-image: url("../icons/toggle-sidebar-symbolic.svg") !important;
+}
+#sidebar-button .toolbarbutton-icon {
+ list-style-image: url("../icons/toggle-right-sidebar-symbolic.svg");
+}
+/* Back button */
+#nav-bar #back-button .toolbarbutton-icon,
+#context-back {
+ list-style-image: url("../icons/go-previous-symbolic.svg") !important;
+}
+/* Forward button */
+#nav-bar #forward-button .toolbarbutton-icon,
+#context-forward {
+ list-style-image: url("../icons/go-next-symbolic.svg") !important;
+}
+/* Menu button */
+#PanelUI-menu-button {
+ list-style-image: url("../icons/open-menu-symbolic.svg") !important;
+}
+/* New tab button */
+#new-tab-button,
+.tabs-newtab-button,
+#tabs-newtab-button,
+#TabsToolbar {
+ list-style-image: url("../icons/tab-new-symbolic.svg") !important;
+}
+/* Home button */
+#home-button {
+ list-style-image: url("../icons/user-home-symbolic.svg") !important;
+}
+/* Preferences button */
+#preferences-button {
+ list-style-image: url("../icons/preferences-system-symbolic.svg") !important;
+}
+/* Fullscreen button */
+#fullscreen-button,
+#appMenu-fullscreen-button {
+ list-style-image: url("../icons/view-fullscreen-symbolic.svg") !important;
+}
+/* Zoom out button */
+#zoom-out-button,
+#appMenu-zoomReduce-button {
+ list-style-image: url("../icons/zoom-out-symbolic.svg") !important;
+}
+/* Zoom in button */
+#zoom-in-button,
+#appMenu-zoomEnlarge-button {
+ list-style-image: url("../icons/zoom-in-symbolic.svg") !important;
+}
+/* Developer button */
+#developer-button {
+ list-style-image: url("../icons/applications-engineering-symbolic.svg") !important;
+}
+/* Email link button */
+#email-link-button {
+ list-style-image: url("../icons/mail-unread-symbolic.svg") !important;
+}
+/* Print button */
+#print-button {
+ list-style-image: url("../icons/printer-symbolic.svg") !important;
+}
+/* Addons button */
+#add-ons-button {
+ list-style-image: url("../icons/application-x-addon-symbolic.svg") !important;
+}
+/* Find button */
+#find-button {
+ list-style-image: url("../icons/edit-find-symbolic.svg") !important;
+}
+/* New window button */
+#new-window-button {
+ list-style-image: url("../icons/window-new-symbolic.svg") !important;
+}
+/* Bookmarks menu button */
+#bookmarks-menu-button {
+ list-style-image: url("../icons/starred-symbolic.svg") !important;
+}
+/* History button */
+#history-panelmenu {
+ list-style-image: url("../icons/preferences-system-time-symbolic.svg") !important;
+}
+/* All tabs button */
+#alltabs-button {
+ list-style-image: url("../icons/pan-down-symbolic.svg") !important;
+}
+/* Cut button */
+#cut-button,
+#appMenu-cut-button {
+ list-style-image: url("../icons/edit-cut-symbolic.svg") !important;
+}
+/* Copy button */
+#copy-button,
+#appMenu-copy-button {
+ list-style-image: url("../icons/edit-copy-symbolic.svg") !important;
+}
+/* Paste button */
+#paste-button,
+#appMenu-paste-button {
+ list-style-image: url("../icons/edit-paste-symbolic.svg") !important;
+}
+/* Overflow button */
+#nav-bar-overflow-button {
+ list-style-image: url("../icons/view-more-horizontal-symbolic.svg") !important;
+}
+
+/* Glitch - animations (may be possible to fix in about:config) */
+#reload-button { /* Reload button */
+ list-style-image: url("../icons/view-refresh-symbolic.svg") !important;
+ animation: none !important;
+}
+#stop-button { /* Stop button */
+ list-style-image: url("../icons/process-stop-symbolic.svg") !important;
+ animation: none !important;
+}
+#downloads-button .toolbarbutton-icon { /* Downloads button / Glitch - it swaps to the default one anyway */
+ list-style-image: url("../icons/folder-download-symbolic.svg") !important;
+ animation: none !important;
+}
+
+#tracking-protection-icon {
+ list-style-image: url("../icons/tracking-protection.svg") !important;
+}
+
+#identity-icon {
+ list-style-image: url("../icons/folder-locked-symbolic.svg") !important;
+}
+
+#pageActionButton, .share-more-button {
+ list-style-image: url("../icons/page-action.svg") !important;
+}
+
+#pocket-button, #pageAction-panel-pocket {
+ list-style-image: url("../icons/save-to-pocket.svg") !important;
+}
+
+#star-button {
+ list-style-image: url("../icons/star-symbolic.svg") !important;
+}
+
+#star-button[starred] {
+ list-style-image: url("../icons/starred-symbolic.svg") !important;
+}
+
+#plugins-notification-icon:not(.plugin-blocked)[extraAttr="inactive"] > .plugin-icon {
+ fill-opacity: 0.25;
+ list-style-image: url("../icons/application-x-addon-symbolic.svg") !important;
+}
+
+#plugins-notification-icon:not(.plugin-blocked)[extraAttr="active"] > .plugin-icon {
+ fill-opacity: 1;
+ list-style-image: url("../icons/application-x-addon-symbolic.svg") !important;
+}
+
+/* #plugin-icon-badge {
+ list-style-image: url("../icons/application-x-addon-symbolic.svg") !important;
+} */
+
+.bookmark-item[container] {
+ list-style-image: url("../icons/folder-symbolic.svg") !important;
+}
+
+/* Invert icons color in dark variant */
+@media (prefers-color-scheme: dark) {
+ .PanelUI-subView .subviewbutton-nav::after,
+ .protections-popup-category::after,
+ .identity-popup-content-blocking-category::after,
+ #identity-popup-security-expander .button-icon,
+ .subviewbutton-back .toolbarbutton-icon,
+
+ .menu-right,
+
+ #urlbar[pageproxystate="invalid"] > #identity-box > #identity-icon,
+ .searchbar-search-icon,
+ #search-box .textbox-search-sign,
+
+ .menulist-label-box:after,
+ .expander-down image,
+ .expander-up image,
+ #sidebar-switcher-arrow,
+ #viewButton .button-menu-dropmarker,
+
+ menuitem[type="checkbox"] .menu-iconic-icon,
+ menuitem[type="radio"] .menu-iconic-icon,
+
+ .close-icon:not(.tab-close-button) image,
+ .identity-popup-permission-remove-button .button-icon,
+
+ :root[tabsintitlebar] #titlebar .titlebar-buttonbox .titlebar-close .toolbarbutton-icon,
+ :root[tabsintitlebar] #titlebar #titlebar-close .toolbarbutton-icon,
+ :root[tabsintitlebar] #titlebar .titlebar-buttonbox .titlebar-max .toolbarbutton-icon,
+ :root[tabsintitlebar] #titlebar #titlebar-max .toolbarbutton-icon,
+ :root[tabsintitlebar] #titlebar .titlebar-buttonbox .titlebar-min .toolbarbutton-icon,
+ :root[tabsintitlebar] #titlebar #titlebar-min .toolbarbutton-icon,
+ :root[tabsintitlebar][inFullscreen] #window-controls #restore-button .toolbarbutton-icon,
+
+ #privatebrowsing-button .toolbarbutton-icon,
+ #sidebar-button:-moz-locale-dir(ltr):not([positionend]) .toolbarbutton-icon,
+ #sidebar-button:-moz-locale-dir(rtl)[positionend] .toolbarbutton-icon,
+ #sidebar-button .toolbarbutton-icon,
+ #nav-bar #back-button .toolbarbutton-icon,
+ #context-back .menu-iconic-icon,
+ #nav-bar #forward-button .toolbarbutton-icon,
+ #context-forward .menu-iconic-icon,
+ #PanelUI-menu-button .toolbarbutton-icon,
+ #new-tab-button .toolbarbutton-icon,
+ .tabs-newtab-button .toolbarbutton-icon,
+ #tabs-newtab-button .toolbarbutton-icon,
+ #TabsToolbar .toolbarbutton-icon,
+ #home-button .toolbarbutton-icon,
+ #preferences-button .toolbarbutton-icon,
+ #fullscreen-button .toolbarbutton-icon,
+ #appMenu-fullscreen-button .toolbarbutton-icon,
+ #zoom-out-button .toolbarbutton-icon,
+ #appMenu-zoomReduce-button .toolbarbutton-icon,
+ #zoom-in-button .toolbarbutton-icon,
+ #appMenu-zoomEnlarge-button .toolbarbutton-icon,
+ #developer-button .toolbarbutton-icon,
+ #email-link-button .toolbarbutton-icon,
+ #print-button .toolbarbutton-icon,
+ #add-ons-button .toolbarbutton-icon,
+ #find-button .toolbarbutton-icon,
+ #new-window-button .toolbarbutton-icon,
+ #bookmarks-menu-button .toolbarbutton-icon,
+ #history-panelmenu .toolbarbutton-icon,
+ #alltabs-button .toolbarbutton-icon,
+ #cut-button .toolbarbutton-icon,
+ #appMenu-cut-button .toolbarbutton-icon,
+ #copy-button .toolbarbutton-icon,
+ #appMenu-copy-button .toolbarbutton-icon,
+ #paste-button .toolbarbutton-icon,
+ #appMenu-paste-button .toolbarbutton-icon,
+ #nav-bar-overflow-button .toolbarbutton-icon,
+ #reload-button .toolbarbutton-icon,
+ #stop-button .toolbarbutton-icon,
+ #tracking-protection-icon,
+ #identity-icon,
+ #pageActionButton,
+ #star-button:not([starred]),
+ #plugins-notification-icon:not(.plugin-blocked) > .plugin-icon,
+ .bookmark-item[container] .toolbarbutton-icon {
+ filter: invert(60%) brightness(150%);
+ }
+
+ #pocket-button,
+ #pageAction-panel-pocket {
+ list-style-image: url("../icons/save-to-pocket-light.svg") !important;
+ }
+
+ /* Tree views */
+ treechildren::-moz-tree-twisty {
+ list-style-image: url("../icons/pan-down-symbolic-light.svg") !important;
+ }
+ treechildren::-moz-tree-twisty(open) {
+ list-style-image: url("../icons/pan-end-symbolic-light.svg") !important;
+ }
+ #historyTree treechildren::-moz-tree-image {
+ list-style-image: url("../icons/preferences-system-time-symbolic-light.svg") !important;
+ }
+
+ /* Fix for extensions icons */
+ .webextension-browser-action {
+ list-style-image: var(--webextension-menupanel-image-light, inherit) !important;
+ }
+}
diff --git a/src/other/firefox/chrome/WhiteSur/parts/popups-contents.css b/src/other/firefox/chrome/WhiteSur/parts/popups-contents.css
new file mode 100644
index 0000000..4cbde3e
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/parts/popups-contents.css
@@ -0,0 +1,333 @@
+/* Popups contents syles */
+
+@namespace xul "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
+
+/* Style main context menu & buttons */
+#context-navigation {
+ padding: 2px 6px 6px;
+}
+#context-navigation > menuitem > .menu-iconic-left {
+ margin: auto !important;
+}
+#context-navigation menuitem {
+ --toolbarbutton-active-background: transparent !important;
+ --toolbarbutton-hover-background: transparent !important;
+}
+
+/* Remove icons from the main context menu */
+#contentAreaContextMenu menuitem image,
+#contentAreaContextMenu menu image {
+ visibility: hidden;
+}
+#contentAreaContextMenu menugroup menuitem image {
+ visibility: visible;
+}
+
+/* Main menu */
+#appMenu-popup .panel-banner-item:after {
+ -moz-box-ordinal-group: 0;
+ margin: 0 8px 0 0 !important;
+}
+#appMenu-popup .toolbaritem-combined-buttons {
+ margin-inline-end: 0 !important;
+}
+#appMenu-popup .toolbaritem-combined-buttons .before-label {
+ width: 5px !important;
+}
+#appMenu-fxa-status[fxastatus="signedin"] > #appMenu-fxa-label,
+#appMenu-fxa-container[fxastatus="signedin"] > #appMenu-fxa-status > #appMenu-fxa-label {
+ padding-left: 28px !important;
+}
+
+/* User sync account remove avatar */
+#fxa-menu-avatar {
+ display: none;
+}
+
+/* Add search engine button remove icon */
+#pageAction-panel-addSearchEngine .toolbarbutton-badge-stack {
+ display: none !important;
+}
+
+/* All tabs popover */
+.all-tabs-item[selected] {
+ border-left: 3px solid var(--gnome-tabbar-tab-active-border-bottom-color);
+ box-shadow: none !important;
+}
+
+.all-tabs-item > .all-tabs-secondary-button label {
+ margin: 0 !important;
+}
+
+/* Downloads popover */
+#downloadsPanel-mainView .download-state {
+ padding: 8px !important;
+ border: 0 !important;
+ border-radius: 5px !important;
+ display: flex;
+ align-items: center;
+}
+#downloadsPanel-mainView .download-state:hover {
+ background-color: var(--gnome-popover-button-hover-background) !important;
+}
+#downloadsPanel-mainView .download-state:last-child {
+ margin-bottom: 8px !important;
+}
+
+#downloadsPanel-mainView .downloadMainArea {
+ flex: 1;
+ display: flex;
+}
+#downloadsPanel-mainView .downloadMainArea:hover {
+ background: transparent !important;
+}
+
+#downloadsPanel-mainView .downloadTypeIcon {
+ margin: 0 !important;
+ margin-right: 6px !important;
+}
+
+#downloadsPanel-mainView .downloadContainer {
+ margin-inline-end: 0 !important;
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+}
+
+#downloadsPanel-mainView .download-state .downloadButton .button-box {
+ padding: 0 !important;
+ margin: 0 !important;
+}
+#downloadsPanel-mainView .download-state toolbarseparator {
+ display: none;
+}
+
+/* Customization overflow menu position */
+#customization-panel-container {
+ padding: 0 75px 25px !important;
+ margin-top: 10px;
+ z-index: 10;
+}
+#customization-panelWrapper > .panel-arrowbox {
+ margin-bottom: -5px !important;
+}
+
+/* Confirmation Hint */
+#confirmation-hint .panel-arrowcontent {
+ background: var(--gnome-button-suggested-action-background) !important;
+ border-color: var(--gnome-button-suggested-action-border-color) !important;
+}
+#confirmation-hint .panel-arrow {
+ fill: var(--gnome-button-suggested-action-border-color) !important;
+ stroke: var(--gnome-button-suggested-action-border-color) !important;
+}
+#confirmation-hint-message {
+ color: white !important;
+}
+
+/* Identity popup */
+#identity-popup-security,
+.identity-popup-section,
+#identity-popup-security-expander .button-box,
+.identity-popup-security-content {
+ border: 0 !important;
+}
+
+.identity-popup-security-content, #identity-popup-permissions-content, #identity-popup-content-blocking-content {
+ padding-inline-end: 0 !important;
+ padding-inline-start: 0 !important;
+}
+#identity-popup-permissions-content, #identity-popup-content-blocking-content {
+ background-image: none !important;
+}
+.identity-popup-security-content {
+ background-position: 0em 0.8em !important;
+ background-size: 24px auto;
+}
+.identity-popup-security-content .identity-popup-headline {
+ margin-left: 1.4em !important;
+}
+
+#identity-popup-content-blocking-category-list, #identity-popup-permission-list {
+ margin-inline-start: 0 !important;
+}
+
+.identity-popup-security-connection { /* FF70 */
+ background-position: 0 50% !important;
+ padding-inline-start: 16px !important;
+}
+#identity-popup-security-description { /* FF70 */
+ padding-inline-start: 0 !important;
+}
+
+.identity-popup-content-blocking-category-icon, .identity-popup-permission-icon {
+ margin-inline-start: 0 !important;
+}
+.identity-popup-content-blocking-category-label {
+ margin-inline-start: 6px !important;
+}
+.identity-popup-content-blocking-category-state-label {
+ opacity: 0.7;
+}
+
+#identity-popup-permissions-content {
+ padding-right: 0 !important;
+}
+#identity-popup-permissions-content description {
+ margin-inline-start: 0 !important;
+}
+#identity-popup-permissions-content {
+ padding-bottom: 10px !important;
+}
+
+/* TODO: create custom --gnome-list vars */
+#identity-popup-permission-list:not(:empty) {
+ border: 1px solid var(--gnome-button-border-color);
+ border-bottom: 0 !important;
+ padding: 0 !important;
+}
+.identity-popup-permission-item {
+ background: var(--gnome-menu-background);
+ border-bottom: 1px solid var(--gnome-button-border-color);
+ padding: 6px !important;
+ margin: 0 !important;
+}
+
+/* Protections popup */
+.protections-popup-section,
+#protections-popup-not-blocking-section-header {
+ border: 0 !important;
+}
+
+#protections-popup-mainView-panel-header {
+ background: var(--gnome-button-suggested-action-background) !important;
+ border: 1px solid var(--gnome-button-suggested-action-border-color) !important;
+ border-radius: 5px 5px 0 0;
+ min-height: 34px !important;
+}
+#protections-popup[toast] #protections-popup-mainView-panel-header {
+ border-radius: 5px !important;
+}
+
+#protections-popup-message {
+ height: 100% !important;
+ margin: 0 !important;
+ border-radius: 0 !important;
+}
+
+#protections-popup-tp-switch-section {
+ background: var(--gnome-button-background) !important;
+ border: 1px solid var(--gnome-button-border-color) !important;
+ border-top: 0 !important;
+ border-radius: 0 0 5px 5px;
+}
+#protections-popup[hasException] #protections-popup-tp-switch-section {
+ margin-bottom: 10px !important;
+ color: white !important;
+}
+
+#protections-popup[hasException] #protections-popup-tp-switch-section,
+#protections-popup[hasException] #protections-popup-mainView-panel-header{
+ background: var(--gnome-button-destructive-action-background) !important;
+ border-color: var(--gnome-button-destructive-action-border-color) !important;
+}
+
+#protections-popup-no-trackers-found-description {
+ margin: 10px 0 !important;
+}
+
+#protections-popup-blocking-section-header,
+#protections-popup-not-found-section-header,
+#protections-popup-not-blocking-section-header{
+ padding: 0px 5px !important;
+ margin-top: 20px !important;
+ height: auto !important;
+}
+
+#protections-popup-category-list {
+ margin: 0 !important;
+}
+.protections-popup-category-label {
+ margin-inline-start: 6px !important;
+}
+.protections-popup-category-state-label {
+ opacity: 0.7;
+}
+
+#protections-popup-content,
+#protections-popup-footer {
+ padding: 0 !important;
+}
+
+#protections-popup-footer {
+ display: flex;
+ justify-content: flex-end;
+ flex-wrap: wrap;
+ margin-top: 3px;
+}
+#protections-popup-show-report-stack {
+ width: 100% !important;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ margin-top: 10px;
+}
+
+#protections-popup-trackers-blocked-counter-box {
+ margin-inline-end: 0 !important;
+}
+
+/* TODO: consider switchers section */
+.protections-popup-tp-switch-box {
+ margin-top: 16px;
+ padding: 0 !important;
+ -moz-box-pack: start !important;
+}
+#protections-popup-tp-switch:not([enabled])[showdotindicator]::after {
+ display: none !important;
+}
+#protections-popup-tp-switch {
+ background: var(--gnome-switch-background) !important;
+ border: 1px solid var(--gnome-switch-border-color) !important;
+ border-radius: 24px !important;
+ min-width: 50px !important;
+ width: 50px !important;
+ min-height: 26px !important;
+ padding: 0 !important;
+ position: relative !important;
+ display: block !important;
+ margin: 0 !important;
+}
+#protections-popup-tp-switch:hover {
+ border-color: var(--gnome-switch-border-color) !important;
+}
+#protections-popup-tp-switch::before {
+ position: absolute !important;
+ top: 0px;
+ left: 0px;
+ background: var(--gnome-switch-slider-background) !important;
+ border: 1px solid var(--gnome-switch-slider-border-color) !important;
+ box-shadow: var(--gnome-switch-slider-box-shadow);
+ border-radius: 24px !important;
+ height: 24px !important;
+ width: 24px !important;
+ transition: left .2s ease;
+ outline: 0 !important;
+}
+#protections-popup-tp-switch[enabled] {
+ background: var(--gnome-switch-active-background) !important;
+ border-color: var(--gnome-switch-active-border-color) !important;
+ padding-inline-start: 24px !important;
+}
+#protections-popup-tp-switch[enabled]:hover {
+ border-color: var(--gnome-switch-active-border-color) !important;
+}
+#protections-popup-tp-switch[enabled]::before {
+ border-color: var(--gnome-switch-active-slider-border-color) !important;
+ left: 24px;
+}
+
+/* Feature recommendation notification, fix width */
+#contextual-feature-recommendation-notification {
+ width: auto !important;
+}
diff --git a/src/other/firefox/chrome/WhiteSur/parts/popups.css b/src/other/firefox/chrome/WhiteSur/parts/popups.css
new file mode 100644
index 0000000..c8f3f69
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/parts/popups.css
@@ -0,0 +1,131 @@
+/* Popup menus and context menus */
+
+@import "popups-contents.css";
+@namespace xul "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
+
+/* Style menus */
+menupopup {
+ -moz-appearance: none !important;
+ background: var(--gnome-menu-background) !important;
+ border: 1px solid var(--gnome-menu-border-color) !important;
+ border-radius: 5px;
+ padding: 4px 0 !important;
+ color: var(--gnome-toolbar-color) !important;
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1), inset 0 0 0 1px rgba(255, 255, 255, 0.06) !important;
+}
+menupopup menupopup {
+ margin: -5px 0 0 -4px;
+}
+
+menubar > menu > menupopup {
+ border-top-left-radius: 0 !important;
+ border-top-right-radius: 0 !important;
+}
+
+menuitem, menupopup menu {
+ -moz-appearance: none !important;
+ padding: 4px 8px !important;
+}
+
+menuitem[type="checkbox"] image, menuitem[type="radio"] image {
+ visibility: visible !important;
+}
+
+menuitem[disabled="true"]:hover, menupopup menu[disabled="true"]:hover {
+ background: transparent !important;
+}
+
+/* Adjust popovers position */
+panel[type=arrow] {
+ margin-top: 9px !important;
+ max-height: 80vh !important;
+}
+
+/* Style popovers */
+.panel-arrowcontent .panel-arrowcontent,
+.panel-header, .PanelUI-subView,
+.panel-subview-body, #widget-overflow-mainView, #protections-popup-footer,
+panelview {
+ border: 0 !important;
+ background: transparent !important;
+}
+
+.panel-arrowcontent {
+ background: var(--gnome-popover-background) !important;
+ border: 1px solid !important;
+ border-color: var(--gnome-popover-border-color) !important;
+ border-radius: 9px;
+ /* box-shadow: var(--gnome-popover-shadow) !important; */
+ padding: 12px !important;
+ color: var(--gnome-toolbar-color) !important;
+}
+.panel-arrow {
+ fill: var(--gnome-popover-background) !important;
+ stroke: var(--gnome-popover-border-color) !important;
+}
+
+.PanelUI-subView toolbarseparator:not([orient="vertical"]) {
+ margin: 10px 2px !important;
+}
+
+.panel-header {
+ padding: 0 0 10px 0 !important;
+}
+.panel-footer {
+ background-color: transparent !important;
+ display: flex;
+ justify-content: flex-end;
+ padding-top: 0px !important;
+}
+.panel-footer toolbarseparator {
+ display: none !important;
+}
+
+.panel-subview-body {
+ padding: 0 !important;
+}
+.panel-subview-footer {
+ margin-top: 10px !important;
+}
+
+/* Style popovers menu buttons */
+.subviewbutton:not(.subviewbutton-back),
+.toolbarbutton-1, .protections-popup-category,
+.identity-popup-content-blocking-category {
+ border-radius: 5px !important;
+ color: var(--gnome-toolbar-color) !important;
+ font: menu !important;
+}
+.subviewbutton:not(.subviewbutton-back),
+.protections-popup-category,
+.identity-popup-content-blocking-category {
+ padding: 5px !important;
+}
+
+.subviewbutton[disabled], .toolbarbutton-1[disabled],
+.protections-popup-category[disabled],
+.identity-popup-content-blocking-category[disabled] {
+ opacity: 0.5 !important;
+ color: var(--gnome-inactive-toolbar-color) !important;
+ background: none !important;
+}
+
+.subviewbutton[shortcut]:after {
+ opacity: 0.5 !important;
+}
+
+.subviewbutton:not([disabled]):hover, .toolbarbutton-1:not([disabled]):hover, .protections-popup-category:not([disabled]):hover,
+.identity-popup-content-blocking-category:not([disabled]):hover {
+ background: var(--gnome-popover-button-hover-background) !important;
+}
+
+/* Style popover separators */
+toolbarseparator, menuseparator {
+ border-color: var(--gnome-popover-separator-color) !important;
+}
+toolbarseparator:not([orient="vertical"]) {
+ margin: 8px 0 !important;
+}
+toolbarseparator[orient="vertical"] {
+ margin: 0 3px !important;
+}
diff --git a/src/other/firefox/chrome/WhiteSur/parts/remove-white-flash.css b/src/other/firefox/chrome/WhiteSur/parts/remove-white-flash.css
new file mode 100644
index 0000000..7d46d80
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/parts/remove-white-flash.css
@@ -0,0 +1,11 @@
+/* Removes a white flash after you open or close a tab. Affects all variants,
+ * but it's more visible on dark variants. */
+
+@namespace xul "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
+
+/* Overrides: Change the flash color */
+#tabbrowser-tabpanels,
+#tabbrowser-tabpanels[pendingpaint],
+browser {
+ background-color: var(--gnome-browser-before-load-background) !important;
+}
diff --git a/src/other/firefox/chrome/WhiteSur/parts/scrollbars.css b/src/other/firefox/chrome/WhiteSur/parts/scrollbars.css
new file mode 100644
index 0000000..5d22e00
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/parts/scrollbars.css
@@ -0,0 +1,33 @@
+/* Scrollbars hack */
+
+@namespace xul "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
+
+toolbarbutton#alltabs-button {
+ -moz-binding: url("scrollbars.xml#js");
+}
+
+#alltabs-button:not(#hack) {
+ list-style-image: none !important;
+ position: relative;
+}
+
+#alltabs-button:not(#hack) .toolbarbutton-icon {
+ display: none !important;
+}
+#alltabs-button:not(#hack) .toolbarbutton-badge-stack {
+ position: absolute;
+}
+
+#alltabs-button::before {
+ position: relative;
+ top: 2px;
+ content: url("../icons/pan-down-symbolic.svg");
+}
+@media (prefers-color-scheme: dark) {
+ #alltabs-button::before {
+ filter: invert(100%) brightness(200%);
+ }
+}
+#alltabs-button:-moz-window-inactive::before {
+ opacity: 0.7 !important;
+}
diff --git a/src/other/firefox/chrome/WhiteSur/parts/scrollbars.js b/src/other/firefox/chrome/WhiteSur/parts/scrollbars.js
new file mode 100644
index 0000000..a4828ec
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/parts/scrollbars.js
@@ -0,0 +1,125 @@
+(function () {
+ var css = `
+ @namespace url(http: //www.mozilla.org/keymaster/gatekeeper/there.is.only.xul);
+ @namespace html url("http://www.w3.org/1999/xhtml");
+
+ /* Colours - can't be read from chrome CSS. Setting on :root doesn't work. */
+ :not(select):not(hbox) > scrollbar {
+ --gnome-scrollbars-hover-bgcolor: rgba(192, 192, 192, 0.75);
+ --gnome-scrollbars-hover-border-color: rgba(192, 192, 192, 0.75);
+ --gnome-scrollbars-thumb-bgcolor: rgba(0, 0, 0, 0.32);
+ --gnome-scrollbars-thumb-blend-mode: multiply;
+ --gnome-scrollbars-thumb-outline: 1px solid rgba(255, 255, 255, 0.4);
+ --gnome-scrollbars-thumb-hover-bgcolor: #75797a;
+ --gnome-scrollbars-thumb-active-bgcolor: #4a90d9;
+ }
+ @media (prefers-color-scheme: dark) {
+ :not(select):not(hbox) > scrollbar {
+ --gnome-scrollbars-hover-bgcolor: rgba(29, 30, 31, 0.75);
+ --gnome-scrollbars-hover-border-color: rgba(13, 17, 18, 0.75);
+ --gnome-scrollbars-thumb-bgcolor: rgba(252, 254, 251, 0.58);
+ --gnome-scrollbars-thumb-blend-mode: screen;
+ --gnome-scrollbars-thumb-outline: 1px solid rgba(0, 0, 0, 0.4);
+ --gnome-scrollbars-thumb-hover-bgcolor: #d4d5d4;
+ --gnome-scrollbars-thumb-active-bgcolor: #15539e;
+ }
+ }
+
+ /* All states */
+ :not(select):not(hbox) > scrollbar {
+ -moz-appearance: none !important;
+ position: relative;
+ box-sizing: border-box !important;
+ background-color: transparent;
+ background-image: none;
+ z-index: 1;
+ pointer-events: auto;
+ width: auto !important;
+ border-style: solid !important;
+ display: flex !important;
+ justify-content: flex-end;
+ transition: all 0.1s linear;
+ }
+ scrollbar[root="true"] {
+ z-index: 2147483647 !important;
+ }
+ .panel-subview-body > scrollbar[orient="vertical"] {
+ width: 16px !important;
+ }
+ :not(select):not(hbox) > scrollbar[orient="vertical"] {
+ border-width: 0 0 0 1px;
+ -moz-margin-start: -13px;
+ }
+ :not(select):not(hbox) > scrollbar[orient="horizontal"] {
+ border-width: 1px 0 0 0;
+ margin-top: -13px;
+ }
+ :not(select):not(hbox) > scrollbar thumb {
+ -moz-appearance: none !important;
+ mix-blend-mode: var(--gnome-scrollbars-thumb-blend-mode);
+ /* Make handle edge-grabbable */
+ border: 3px solid transparent;
+ background-clip: padding-box;
+ border-radius: 6px;
+ }
+ :not(select):not(hbox) > scrollbar[orient="vertical"] thumb {
+ min-height: 44px !important;
+ }
+ :not(select):not(hbox) > scrollbar[orient="horizontal"] thumb {
+ min-width: 44px !important;
+ }
+ /* Unhovered */
+ :not(select):not(hbox) > scrollbar {
+ background-color: transparent;
+ border-color: transparent;
+ }
+ :not(select):not(hbox) > scrollbar[orient="vertical"] {
+ padding: 0 1px 0 5px;
+ margin-right: -3px;
+ width: 0px !important;
+ }
+ :not(select):not(hbox) > scrollbar[orient="horizontal"] {
+ padding: 5px 0 1px 0;
+ margin-bottom: -3px;
+ height: 16px !important;
+ }
+ :not(select):not(hbox) > scrollbar thumb {
+ background-color: var(--gnome-scrollbars-thumb-bgcolor);
+ outline: var(--gnome-scrollbars-thumb-outline);
+ outline-offset: -3px;
+ -moz-outline-radius: 3px;
+ }
+ /* Hovered scrollbar */
+ :not(select):not(hbox) > scrollbar:hover {
+ background-color: var(--gnome-scrollbars-hover-bgcolor);
+ border-color: var(--gnome-scrollbars-hover-border-color);
+ }
+ :not(select):not(hbox) > scrollbar:hover thumb {
+ outline-width: 0;
+ }
+ :not(select):not(hbox) > scrollbar[orient="vertical"]:hover {
+ padding: 0 1px 0 0;
+ margin-right: -1px;
+ width: 14px !important;
+ }
+ :not(select):not(hbox) > scrollbar[orient="horizontal"]:hover {
+ padding: 0 0 1px 0;
+ margin-bottom: -1px;
+ height: 14px !important;
+ }
+ /* Hovered thumb */
+ :not(select):not(hbox) > scrollbar:hover thumb:hover {
+ background-color: var(--gnome-scrollbars-thumb-hover-bgcolor);
+ }
+ /* Grabbed thumb */
+ :not(select):not(hbox) > scrollbar:hover thumb:active {
+ background-color: var(--gnome-scrollbars-thumb-active-bgcolor);
+ mix-blend-mode: normal;
+ }
+ `;
+
+ var sss = Cc['@mozilla.org/content/style-sheet-service;1'].getService(Ci.nsIStyleSheetService);
+ var uri = makeURI('data:text/css;charset=UTF=8,' + encodeURIComponent(css));
+ sss.loadAndRegisterSheet(uri, sss.AGENT_SHEET)
+})();
+
diff --git a/src/other/firefox/chrome/WhiteSur/parts/scrollbars.xml b/src/other/firefox/chrome/WhiteSur/parts/scrollbars.xml
new file mode 100644
index 0000000..6cee868
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/parts/scrollbars.xml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/other/firefox/chrome/WhiteSur/parts/tabsbar.css b/src/other/firefox/chrome/WhiteSur/parts/tabsbar.css
new file mode 100644
index 0000000..94ac20f
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/parts/tabsbar.css
@@ -0,0 +1,280 @@
+/* Tabs bar */
+
+@namespace xul "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
+
+/* Tabs bar height */
+#tabbrowser-tabs,
+#tabbrowser-tabs arrowscrollbox {
+ height: initial !important;
+ min-height: initial !important;
+}
+tab > stack {
+ height: 32px !important;
+}
+/* Extra margin for the first and last tabs */
+.tabbrowser-tab[first-tab]:not([pinned=true]) {
+ margin-left: 8px !important;
+}
+.tabbrowser-tab[last-tab]:not([pinned=true]) {
+ margin-right: 8px !important;
+}
+
+#TabsToolbar .toolbar-items {
+ margin-bottom: -1px !important;
+}
+
+:root[tabsintitlebar][inFullscreen] #TabsToolbar .toolbar-items {
+ margin-bottom: 0 !important;
+}
+
+/* Remove hover effects on tab bar buttons */
+#TabsToolbar {
+ --toolbarbutton-active-background: transparent !important;
+ --toolbarbutton-hover-background: transparent !important;
+ padding: 0 0 !important;
+}
+
+/* New hover effect */
+#TabsToolbar toolbarbutton {
+ fill-opacity: .6 !important;
+}
+#TabsToolbar toolbarbutton:not([disabled]):hover,
+#TabsToolbar toolbarbutton[open=true] {
+ fill-opacity: 1 !important;
+}
+
+/* Remove shadow next to tab scroll buttons */
+.arrowscrollbox-overflow-start-indicator,
+.arrowscrollbox-overflow-end-indicator {
+ display: none;
+}
+
+/* Remove tab separators */
+.tabbrowser-tab::after,
+.tabbrowser-tab::before {
+ border-color: transparent !important;
+ border-image: none !important;
+}
+
+/* Space between tabs */
+.tabbrowser-tab:not([pinned=true]) {
+ margin: 0 0 !important;
+}
+
+/* Tab labels */
+tab {
+ color: var(--gnome-tabbar-tab-color) !important;
+ font-family: Cantarell, inherit;
+ font-weight: bold;
+ font-size: 1em;
+}
+tab:hover {
+ color: var(--gnome-tabbar-tab-hover-color) !important;
+}
+tab[selected] {
+ color: var(--gnome-tabbar-tab-active-color) !important;
+}
+tab:-moz-window-inactive {
+ color: var(--gnome-inactive-tabbar-tab-color) !important;
+}
+tab[selected]:-moz-window-inactive {
+ color: var(--gnome-inactive-tabbar-tab-active-color) !important;
+}
+
+/* Center all inside tab */
+.tab-content {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ margin-top: -1px;
+ min-width: 100% !important;
+ padding: 0 10px !important;
+}
+
+/* Prevent tab icons size breaking */
+.tab-icon-image, .tab-icon-sound, .tab-throbber, .tab-throbber-fallback, .tab-close-button {
+ min-width: 16px;
+}
+
+/* Adjust tab label width */
+.tab-label-container {
+ min-width: 0 !important;
+}
+
+/* Put tab close button and icon sound to the right */
+.tab-icon-sound[soundplaying="true"], .tab-icon-sound[muted="true"],
+.tab-icon-sound[activemedia-blocked="true"] {
+ margin-left: auto !important;
+}
+.tabbrowser-tab:not([soundplaying]):not([muted]):not([activemedia-blocked]) .tab-close-button {
+ margin-left: auto !important;
+}
+.tab-icon-sound {
+ margin-right: 6px;
+}
+
+/* Force tab favicon to the center */
+.tab-throbber, .tab-throbber-fallback {
+ margin-left: auto;
+}
+.tabbrowser-tab:not([busy]) .tab-icon-image {
+ margin-left: auto;
+}
+
+/* If tab favicon is not present, force tab label to the center */
+.tabbrowser-tab .tab-label-container {
+ margin-left: 0 !important;
+}
+.tabbrowser-tab:not([image]):not([busy]):not([progress]) .tab-label-container {
+ margin-left: auto !important;
+}
+
+/* If tab close button is not present, don't force favicon to the center */
+#tabbrowser-tabs[closebuttons="activetab"] .tabbrowser-tab:not([selected="true"]) .tab-throbber,
+#tabbrowser-tabs[closebuttons="activetab"] .tabbrowser-tab:not([selected="true"]) .tab-throbber-fallback,
+#tabbrowser-tabs[closebuttons="activetab"] .tabbrowser-tab:not([selected="true"]):not([busy]) .tab-icon-image,
+#tabbrowser-tabs[closebuttons="activetab"] .tabbrowser-tab:not([selected="true"]):not([image]) .tab-label-container {
+ margin-left: 0 !important;
+}
+
+/* Remove tab icons */
+/* tab:not([pinned=true]) .tab-icon-image {
+ display: none;
+} */
+
+/* Close tab button */
+:root {
+ --gnome-fill-icon: red !important;
+}
+.tab-close-button {
+ -moz-appearance: none !important;
+ border: none !important;
+ box-sizing: content-box; /* Avoid deformation on flexbox */
+ border-radius: 2px;
+ list-style-image: url("../icons/window-close-symbolic.svg") !important;
+ height: 16px;
+ opacity: .3;
+ padding: 0;
+ width: 16px;
+}
+@media (prefers-color-scheme: dark) {
+ .tab-close-button {
+ list-style-image: url("../icons/window-close-symbolic-light.svg") !important;
+ }
+}
+:root:-moz-window-inactive .tab-close-button:not(#hack) {
+ opacity: .18 !important;
+}
+:root:not(:-moz-window-inactive) .tab-close-button:hover {
+ background-color: var(--gnome-button-hover-color) !important;
+ border: none !important;
+ opacity: 1;
+}
+:root:not(:-moz-window-inactive) .tab-close-button:active {
+ background-color: var(--gnome-button-active-color) !important;
+}
+
+.tab-close-button:active:not(:hover) {
+ background-image: none !important;
+ box-shadow: none !important;
+}
+
+/* Tab close button etc. positioning */
+.tab-throbber, .tab-icon-image, .tab-sharing-icon-overlay, .tab-icon-sound, .tab-close-button {
+ margin-top: 0 !important;
+}
+
+/* Remove blue line above tabs */
+.tab-line {
+ display: none;
+}
+
+/* Move container lines to the top */
+.tabbrowser-tab[usercontextid] > .tab-stack > .tab-background {
+ border-top: 3px solid var(--identity-tab-color) !important;
+}
+
+.tabbrowser-tab[usercontextid] > .tab-stack > .tab-background > .tab-bottom-line {
+ display: none;
+}
+
+.tab-background {
+ background-color: transparent !important;
+ transition: all 200ms;
+}
+
+/* Active tab */
+.tab-background[selected=true] {
+ background-color: var(--gnome-tabbar-tab-active-background) !important;
+ background-image: none !important;
+ border: none !important;
+ border-image: none !important;
+ margin-left: -1px !important;
+ margin-right: -1px !important;
+ box-shadow: 1px 0 var(--gnome-toolbar-border-color), -1px 0 var(--gnome-toolbar-border-color), inset 0 -1px var(--gnome-toolbar-border-color) !important;
+}
+.tab-background[selected=true]:-moz-window-inactive {
+ background-color: var(--gnome-inactive-tabbar-tab-active-background) !important;
+ border-image: none !important;
+}
+
+/* Tab hover */
+#TabsToolbar .tabbrowser-tab:hover > .tab-stack > .tab-background:not([selected=true]) {
+ background-color: var(--gnome-tabbar-tab-active-hover-background) !important;
+ border-image: none !important;
+ box-shadow: inset 0 1px var(--gnome-toolbar-border-color), inset 0 -1px var(--gnome-toolbar-border-color) !important;
+}
+
+/* Tabs scroll buttons hover */
+#TabsToolbar .scrollbutton-up:not([disabled]):hover, #TabsToolbar .scrollbutton-down:not([disabled]):hover {
+ background-color: var(--gnome-tabbar-tab-active-hover-background) !important;
+}
+
+/* Full width tabs */
+.tabbrowser-tab:not([style^="max-width"]):not([pinned]),
+.tabbrowser-tab[style^="max-width: 100px !important;"]:not([pinned]) {
+ max-width: 100% !important;
+}
+
+.tabbrowser-tab:not([style^="max-width"]):not([pinned]):not([fadein]),
+.tabbrowser-tab[style^="max-width: 100px !important;"]:not([pinned]):not([fadein]) {
+ max-width: .1px !important;
+}
+
+/* Remove blank spaces on tabs start and end */
+#TabsToolbar .titlebar-spacer {
+ display: none !important;
+}
+
+/* Remove container bottom line indicator */
+.tabbrowser-tab[usercontextid] > .tab-stack > .tab-background > .tab-bottom-line {
+ display: none;
+}
+
+/* Create new container tab indicator */
+.tabbrowser-tab[class*="identity-color-"] .tab-content::before {
+ content: "";
+ display: block;
+ background-image: var(#userContext-icons:--identity-icon);
+ background: var( --identity-tab-color);
+ -moz-context-properties: fill;
+ fill: var(--identity-icon-color);
+ background-size: contain;
+ background-repeat: no-repeat;
+ background-position: center center;
+ min-width: 10px;
+ height: 10px;
+ margin-right: 5px;
+ margin-left: auto !important;
+ border-radius: 100%;
+}
+
+.tabbrowser-tab[class*="identity-color-"][pinned] .tab-content::before,
+.tabbrowser-tab[class*="identity-color-"][image] .tab-content::before,
+.tabbrowser-tab[class*="identity-color-"][busy] .tab-content::before,
+.tabbrowser-tab[class*="identity-color-"][progress] .tab-content::before {
+ right: -10px;
+ top: -8px;
+ position: relative;
+ margin-right: -10px;
+}
diff --git a/src/other/firefox/chrome/WhiteSur/parts/titlebutton-dark.css b/src/other/firefox/chrome/WhiteSur/parts/titlebutton-dark.css
new file mode 100644
index 0000000..daa3b87
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/parts/titlebutton-dark.css
@@ -0,0 +1,136 @@
+@media (prefers-color-scheme: dark) {
+:root[tabsintitlebar] #titlebar .titlebar-buttonbox .titlebar-close,
+:root[tabsintitlebar] #titlebar #titlebar-close {
+ background: url("../titlebuttons/titlebutton-close-dark.svg") no-repeat;
+ background-size: contain;
+}
+:root[tabsintitlebar] #titlebar .titlebar-buttonbox .titlebar-max,
+:root[tabsintitlebar] #titlebar #titlebar-max {
+ background: url("../titlebuttons/titlebutton-maximize-dark.svg") no-repeat;
+ background-size: contain;
+}
+:root[tabsintitlebar] #titlebar .titlebar-buttonbox .titlebar-min,
+:root[tabsintitlebar] #titlebar #titlebar-min {
+ background: url("../titlebuttons/titlebutton-minimize-dark.svg") no-repeat;
+ background-size: contain;
+}
+:root[tabsintitlebar][sizemode="maximized"] #titlebar .titlebar-buttonbox .titlebar-max,
+:root[tabsintitlebar][sizemode="maximized"] #titlebar #titlebar-max {
+ background: url("../titlebuttons/titlebutton-maximize-dark.svg") no-repeat;
+ background-size: contain;
+}
+:root[tabsintitlebar] #titlebar .titlebar-buttonbox:hover .titlebar-close,
+:root[tabsintitlebar] #titlebar #titlebar-close:hover {
+ background: url("../titlebuttons/titlebutton-close-hover-inactive-dark.svg") no-repeat;
+ background-size: contain;
+}
+:root[tabsintitlebar] #titlebar .titlebar-buttonbox:hover .titlebar-max,
+:root[tabsintitlebar] #titlebar #titlebar-max:hover {
+ background: url("../titlebuttons/titlebutton-maximize-hover-inactive-dark.svg") no-repeat;
+ background-size: contain;
+}
+:root[tabsintitlebar] #titlebar .titlebar-buttonbox:hover .titlebar-min,
+:root[tabsintitlebar] #titlebar #titlebar-min:hover {
+ background: url("../titlebuttons/titlebutton-minimize-hover-inactive-dark.svg") no-repeat;
+ background-size: contain;
+}
+:root[tabsintitlebar] #titlebar .titlebar-buttonbox:hover .titlebar-close:hover,
+:root[tabsintitlebar] #titlebar #titlebar-close:hover {
+ background: url("../titlebuttons/titlebutton-close-hover-dark.svg") no-repeat;
+ background-size: contain;
+ transition: background-size 300ms cubic-bezier(0.0, 0.0, 0.2, 1);
+}
+:root[tabsintitlebar] #titlebar .titlebar-buttonbox:hover .titlebar-max:hover,
+:root[tabsintitlebar] #titlebar #titlebar-max:hover {
+ background: url("../titlebuttons/titlebutton-maximize-hover-dark.svg") no-repeat;
+ background-size: contain;
+ transition: background-size 300ms cubic-bezier(0.0, 0.0, 0.2, 1);
+}
+:root[tabsintitlebar] #titlebar .titlebar-buttonbox:hover .titlebar-min:hover,
+:root[tabsintitlebar] #titlebar #titlebar-min:hover {
+ background: url("../titlebuttons/titlebutton-minimize-hover-dark.svg") no-repeat;
+ background-size: contain;
+ transition: background-size 300ms cubic-bezier(0.0, 0.0, 0.2, 1);
+}
+:root[tabsintitlebar][sizemode="maximized"] #titlebar .titlebar-buttonbox:hover .titlebar-max,
+:root[tabsintitlebar][sizemode="maximized"] #titlebar #titlebar-max:hover {
+ background: url("../titlebuttons/titlebutton-unmaximize-hover-dark.svg") no-repeat;
+ background-size: contain;
+}
+:root[tabsintitlebar] #titlebar .titlebar-buttonbox:hover .titlebar-close:active,
+:root[tabsintitlebar] #titlebar #titlebar-close:active {
+ background: url("../titlebuttons/titlebutton-close-active-dark.svg") no-repeat;
+ background-size: contain;
+}
+:root[tabsintitlebar] #titlebar .titlebar-buttonbox:hover .titlebar-max:active,
+:root[tabsintitlebar] #titlebar #titlebar-max:active {
+ background: url("../titlebuttons/titlebutton-maximize-active-dark.svg") no-repeat;
+ background-size: contain;
+}
+:root[tabsintitlebar] #titlebar .titlebar-buttonbox:hover .titlebar-min:active,
+:root[tabsintitlebar] #titlebar #titlebar-min:active {
+ background: url("../titlebuttons/titlebutton-minimize-active-dark.svg") no-repeat;
+ background-size: contain;
+}
+:root[tabsintitlebar][sizemode="maximized"] #titlebar .titlebar-buttonbox:active .titlebar-max:active,
+:root[tabsintitlebar][sizemode="maximized"] #titlebar #titlebar-max:active {
+ background: url("../titlebuttons/titlebutton-unmaximize-active-dark.svg") no-repeat;
+ background-size: contain;
+}
+:root[tabsintitlebar] #titlebar:-moz-window-inactive .titlebar-buttonbox .titlebar-close,
+:root[tabsintitlebar] #titlebar:-moz-window-inactive #titlebar-close {
+ background: url("../titlebuttons/titlebutton-backdrop-dark.svg") no-repeat;
+ background-size: contain;
+}
+:root[tabsintitlebar] #titlebar:-moz-window-inactive .titlebar-buttonbox .titlebar-max,
+:root[tabsintitlebar] #titlebar:-moz-window-inactive #titlebar-max {
+ background: url("../titlebuttons/titlebutton-backdrop-dark.svg") no-repeat;
+ background-size: contain;
+}
+:root[tabsintitlebar] #titlebar:-moz-window-inactive .titlebar-buttonbox .titlebar-min,
+:root[tabsintitlebar] #titlebar:-moz-window-inactive #titlebar-min {
+ background: url("../titlebuttons/titlebutton-backdrop-dark.svg") no-repeat;
+ background-size: contain;
+}
+:root[tabsintitlebar][sizemode="maximized"] #titlebar:-moz-window-inactive .titlebar-buttonbox .titlebar-max,
+:root[tabsintitlebar][sizemode="maximized"] #titlebar:-moz-window-inactive #titlebar-max {
+ background: url("../titlebuttons/titlebutton-backdrop-dark.svg") no-repeat;
+ background-size: contain;
+}
+:root[tabsintitlebar] #titlebar:-moz-window-inactive .titlebar-buttonbox:hover .titlebar-close,
+:root[tabsintitlebar] #titlebar:-moz-window-inactive #titlebar-close:hover {
+ background: url("../titlebuttons/titlebutton-close-backdrop-dark.svg") no-repeat;
+ background-size: contain;
+}
+:root[tabsintitlebar] #titlebar:-moz-window-inactive .titlebar-buttonbox:hover .titlebar-max,
+:root[tabsintitlebar] #titlebar:-moz-window-inactive #titlebar-max:hover {
+ background: url("../titlebuttons/titlebutton-maximize-backdrop-dark.svg") no-repeat;
+ background-size: contain;
+}
+:root[tabsintitlebar] #titlebar:-moz-window-inactive .titlebar-buttonbox:hover .titlebar-min,
+:root[tabsintitlebar] #titlebar:-moz-window-inactive #titlebar-min:hover {
+ background: url("../titlebuttons/titlebutton-minimize-backdrop-dark.svg") no-repeat;
+ background-size: contain;
+}
+:root[tabsintitlebar][sizemode="maximized"] #titlebar:-moz-window-inactive .titlebar-buttonbox:hover .titlebar-max,
+:root[tabsintitlebar][sizemode="maximized"] #titlebar:-moz-window-inactive #titlebar-max:hover {
+ background: url("../titlebuttons/titlebutton-unmaximize-backdrop-dark.svg") no-repeat;
+ background-size: contain;
+}
+:root[tabsintitlebar][inFullscreen] #window-controls #restore-button {
+ background: url("../titlebuttons/titlebutton-maximize-dark.svg") no-repeat;
+ background-size: contain;
+}
+:root[tabsintitlebar][inFullscreen] #window-controls #restore-button:hover {
+ background: url("../titlebuttons/titlebutton-unmaximize-hover-dark.svg") no-repeat;
+ background-size: contain;
+}
+:root[tabsintitlebar][inFullscreen] #window-controls #restore-button:active {
+ background: url("../titlebuttons/titlebutton-unmaximize-active-dark.svg") no-repeat;
+ background-size: contain;
+}
+:root[tabsintitlebar][inFullscreen] #window-controls:-moz-window-inactive #restore-button {
+ background: url("../titlebuttons/titlebutton-backdrop-dark.svg") no-repeat;
+ background-size: contain;
+}
+}
diff --git a/src/other/firefox/chrome/WhiteSur/parts/titlebutton-light.css b/src/other/firefox/chrome/WhiteSur/parts/titlebutton-light.css
new file mode 100644
index 0000000..e6be77a
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/parts/titlebutton-light.css
@@ -0,0 +1,143 @@
+:root[tabsintitlebar] #titlebar .titlebar-buttonbox .titlebar-close,
+:root[tabsintitlebar] #titlebar #titlebar-close {
+ background: url("../titlebuttons/titlebutton-close.svg") no-repeat;
+ background-size: contain;
+}
+:root[tabsintitlebar] #titlebar .titlebar-buttonbox .titlebar-max,
+:root[tabsintitlebar] #titlebar #titlebar-max {
+ background: url("../titlebuttons/titlebutton-maximize.svg") no-repeat;
+ background-size: contain;
+}
+:root[tabsintitlebar] #titlebar .titlebar-buttonbox .titlebar-min,
+:root[tabsintitlebar] #titlebar #titlebar-min {
+ background: url("../titlebuttons/titlebutton-minimize.svg") no-repeat;
+ background-size: contain;
+}
+
+:root[tabsintitlebar] #titlebar .titlebar-buttonbox .titlebar-restore,
+:root[tabsintitlebar] #titlebar #titlebar-restore,
+:root[tabsintitlebar][sizemode="maximized"] #titlebar .titlebar-buttonbox .titlebar-max,
+:root[tabsintitlebar][sizemode="maximized"] #titlebar #titlebar-max {
+ background: url("../titlebuttons/titlebutton-maximize.svg") no-repeat;
+ background-size: contain;
+}
+:root[tabsintitlebar] #titlebar .titlebar-buttonbox:hover .titlebar-close,
+:root[tabsintitlebar] #titlebar #titlebar-close:hover {
+ background: url("../titlebuttons/titlebutton-close-hover-inactive.svg") no-repeat;
+ background-size: contain;
+}
+:root[tabsintitlebar] #titlebar .titlebar-buttonbox:hover .titlebar-max,
+:root[tabsintitlebar] #titlebar #titlebar-max:hover {
+ background: url("../titlebuttons/titlebutton-maximize-hover-inactive.svg") no-repeat;
+ background-size: contain;
+}
+:root[tabsintitlebar] #titlebar .titlebar-buttonbox:hover .titlebar-min,
+:root[tabsintitlebar] #titlebar #titlebar-min:hover {
+ background: url("../titlebuttons/titlebutton-minimize-hover-inactive.svg") no-repeat;
+ background-size: contain;
+}
+:root[tabsintitlebar] #titlebar .titlebar-buttonbox:hover .titlebar-close:hover,
+:root[tabsintitlebar] #titlebar #titlebar-close:hover {
+ background: url("../titlebuttons/titlebutton-close-hover.svg") no-repeat;
+ background-size: contain;
+ transition: background-size 300ms cubic-bezier(0.0, 0.0, 0.2, 1);
+}
+:root[tabsintitlebar] #titlebar .titlebar-buttonbox:hover .titlebar-max:hover,
+:root[tabsintitlebar] #titlebar #titlebar-max:hover {
+ background: url("../titlebuttons/titlebutton-maximize-hover.svg") no-repeat;
+ background-size: contain;
+ transition: background-size 300ms cubic-bezier(0.0, 0.0, 0.2, 1);
+}
+:root[tabsintitlebar] #titlebar .titlebar-buttonbox:hover .titlebar-min:hover,
+:root[tabsintitlebar] #titlebar #titlebar-min:hover {
+ background: url("../titlebuttons/titlebutton-minimize-hover.svg") no-repeat;
+ background-size: contain;
+ transition: background-size 300ms cubic-bezier(0.0, 0.0, 0.2, 1);
+}
+:root[tabsintitlebar] #titlebar .titlebar-buttonbox:hover .titlebar-restore,
+:root[tabsintitlebar] #titlebar #titlebar-restore:hover,
+:root[tabsintitlebar][sizemode="maximized"] #titlebar .titlebar-buttonbox:hover .titlebar-max,
+:root[tabsintitlebar][sizemode="maximized"] #titlebar #titlebar-max:hover {
+ background: url("../titlebuttons/titlebutton-unmaximize-hover.svg") no-repeat;
+ background-size: contain;
+}
+:root[tabsintitlebar] #titlebar .titlebar-buttonbox:hover .titlebar-close:active,
+:root[tabsintitlebar] #titlebar #titlebar-close:active {
+ background: url("../titlebuttons/titlebutton-close-active.svg") no-repeat;
+ background-size: contain;
+}
+:root[tabsintitlebar] #titlebar .titlebar-buttonbox:hover .titlebar-max:active,
+:root[tabsintitlebar] #titlebar #titlebar-max:active {
+ background: url("../titlebuttons/titlebutton-maximize-active.svg") no-repeat;
+ background-size: contain;
+}
+:root[tabsintitlebar] #titlebar .titlebar-buttonbox:hover .titlebar-min:active,
+:root[tabsintitlebar] #titlebar #titlebar-min:active {
+ background: url("../titlebuttons/titlebutton-minimize-active.svg") no-repeat;
+ background-size: contain;
+}
+:root[tabsintitlebar] #titlebar .titlebar-buttonbox:active .titlebar-restore,
+:root[tabsintitlebar] #titlebar #titlebar-restore:active,
+:root[tabsintitlebar][sizemode="maximized"] #titlebar .titlebar-buttonbox:active .titlebar-max:active,
+:root[tabsintitlebar][sizemode="maximized"] #titlebar #titlebar-max:active {
+ background: url("../titlebuttons/titlebutton-unmaximize-active.svg") no-repeat;
+ background-size: contain;
+}
+:root[tabsintitlebar] #titlebar:-moz-window-inactive .titlebar-buttonbox .titlebar-close,
+:root[tabsintitlebar] #titlebar:-moz-window-inactive #titlebar-close {
+ background: url("../titlebuttons/titlebutton-backdrop.svg") no-repeat;
+ background-size: contain;
+}
+:root[tabsintitlebar] #titlebar:-moz-window-inactive .titlebar-buttonbox .titlebar-max,
+:root[tabsintitlebar] #titlebar:-moz-window-inactive #titlebar-max {
+ background: url("../titlebuttons/titlebutton-backdrop.svg") no-repeat;
+ background-size: contain;
+}
+:root[tabsintitlebar] #titlebar:-moz-window-inactive .titlebar-buttonbox .titlebar-min,
+:root[tabsintitlebar] #titlebar:-moz-window-inactive #titlebar-min {
+ background: url("../titlebuttons/titlebutton-backdrop.svg") no-repeat;
+ background-size: contain;
+}
+:root[tabsintitlebar] #titlebar:-moz-window-inactive .titlebar-buttonbox .titlebar-restore,
+:root[tabsintitlebar] #titlebar:-moz-window-inactive #titlebar-restore,
+:root[tabsintitlebar][sizemode="maximized"] #titlebar:-moz-window-inactive .titlebar-buttonbox .titlebar-max,
+:root[tabsintitlebar][sizemode="maximized"] #titlebar:-moz-window-inactive #titlebar-max {
+ background: url("../titlebuttons/titlebutton-backdrop.svg") no-repeat;
+ background-size: contain;
+}
+:root[tabsintitlebar] #titlebar:-moz-window-inactive .titlebar-buttonbox:hover .titlebar-close,
+:root[tabsintitlebar] #titlebar:-moz-window-inactive #titlebar-close:hover {
+ background: url("../titlebuttons/titlebutton-close-backdrop.svg") no-repeat;
+ background-size: contain;
+}
+:root[tabsintitlebar] #titlebar:-moz-window-inactive .titlebar-buttonbox:hover .titlebar-max,
+:root[tabsintitlebar] #titlebar:-moz-window-inactive #titlebar-max:hover {
+ background: url("../titlebuttons/titlebutton-maximize-backdrop.svg") no-repeat;
+ background-size: contain;
+}
+:root[tabsintitlebar] #titlebar:-moz-window-inactive .titlebar-buttonbox:hover .titlebar-min,
+:root[tabsintitlebar] #titlebar:-moz-window-inactive #titlebar-min:hover {
+ background: url("../titlebuttons/titlebutton-minimize-backdrop.svg") no-repeat;
+ background-size: contain;
+}
+:root[tabsintitlebar][sizemode="maximized"] #titlebar:-moz-window-inactive .titlebar-buttonbox:hover .titlebar-max,
+:root[tabsintitlebar][sizemode="maximized"] #titlebar:-moz-window-inactive #titlebar-max:hover {
+ background: url("../titlebuttons/titlebutton-unmaximize-backdrop.svg") no-repeat;
+ background-size: contain;
+}
+:root[tabsintitlebar][inFullscreen] #window-controls #restore-button {
+ background: url("../titlebuttons/titlebutton-maximize.svg") no-repeat;
+ background-size: contain;
+}
+:root[tabsintitlebar][inFullscreen] #window-controls #restore-button:hover {
+ background: url("../titlebuttons/titlebutton-unmaximize-hover.svg") no-repeat;
+ background-size: contain;
+}
+:root[tabsintitlebar][inFullscreen] #window-controls #restore-button:active {
+ background: url("../titlebuttons/titlebutton-unmaximize-active.svg") no-repeat;
+ background-size: contain;
+}
+:root[tabsintitlebar][inFullscreen] #window-controls:-moz-window-inactive #restore-button {
+ background: url("../titlebuttons/titlebutton-backdrop.svg") no-repeat;
+ background-size: contain;
+}
diff --git a/src/other/firefox/chrome/WhiteSur/parts/toolbox.css b/src/other/firefox/chrome/WhiteSur/parts/toolbox.css
new file mode 100644
index 0000000..c501315
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/parts/toolbox.css
@@ -0,0 +1,105 @@
+/* Toolbox, a container for all toolbars (toolbox#navigator-toolbox):
+ * - menu bar (toolbar#toolbar-menubar)
+ * - tab bar (toolbar#TabsToolbar)
+ * - header bar (toolbar#nav-bar)
+ * - bookmark bar (toolbar#PersonalToolbar)
+ * - add-ons can add their own toolbars (toolbar) */
+
+@namespace xul "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
+
+/* Toolbox colors */
+#navigator-toolbox {
+ border: 0 !important;
+ background: none !important;
+}
+
+.toolbarbutton-icon {
+ color: var(--gnome-toolbar-color);
+ fill: var(--gnome-toolbar-color);
+}
+
+#nav-bar, #PersonalToolbar, #toolbar-menubar {
+ border: 0 !important;
+ color: var(--gnome-toolbar-color);
+ background: var(--gnome-toolbar-background) !important;
+ border-bottom: none !important;
+}
+#TabsToolbar {
+ border: 0 !important;
+ background: var(--gnome-tabstoolbar-background) !important;
+ border-bottom: 1px solid var(--gnome-toolbar-border-color) !important;
+ box-shadow: inset 0 1px var(--gnome-toolbar-border-color) !important;
+}
+findbar {
+ border: 0 !important;
+ background: var(--gnome-findbar-background) !important;
+ border-bottom: 1px solid var(--gnome-toolbar-border-color) !important;
+}
+#nav-bar:-moz-window-inactive,
+#PersonalToolbar:-moz-window-inactive, #toolbar-menubar:-moz-window-inactive,
+#TabsToolbar:-moz-window-inactive, findbar:-moz-window-inactive {
+ background: var(--gnome-inactive-toolbar-background) !important;
+}
+
+#navigator-toolbox:-moz-window-inactive label, #navigator-toolbox:-moz-window-inactive image,
+#downloads-indicator-anchor:-moz-window-inactive,
+findbar:-moz-window-inactive image:not(#hack),
+findbar:-moz-window-inactive label,
+#viewButton:-moz-window-inactive dropmarker {
+ opacity: 0.7 !important;
+}
+
+#toolbar-menubar:not([inactive=true]) {
+ margin-bottom: 0 !important;
+}
+
+#PersonalToolbar {
+ padding: 2px 4px 0 4px !important;
+ height: 32px !important;
+}
+
+/* Overrides: Remove border below the menu bar / above the header bar */
+#TabsToolbar:not([collapsed="true"]) + #nav-bar {
+ border-top-width: 0 !important;
+}
+
+#navigator-toolbox::after {
+ border-bottom-width: 0 !important;
+}
+
+/* Reorder toolbars */
+#navigator-toolbox #nav-bar, findbar {
+ -moz-box-ordinal-group: 0;
+}
+#navigator-toolbox #PersonalToolbar {
+ -moz-box-ordinal-group: 1;
+}
+#navigator-toolbox #titlebar {
+ -moz-box-ordinal-group: 2;
+}
+#navigator-toolbox toolbar {
+ -moz-box-ordinal-group: 10;
+}
+#navigator-toolbox #TabsToolbar {
+ -moz-box-ordinal-group: 100;
+}
+
+/* Overrides: Don't shift other toolbars on tab drag and drop */
+#TabsToolbar[movingtab] {
+ padding-bottom: 0 !important;
+}
+#TabsToolbar[movingtab] > .tabbrowser-tabs {
+ padding-bottom: 0 !important;
+ margin-bottom: 0 !important;
+}
+#TabsToolbar[movingtab] + #nav-bar {
+ margin-top: 0 !important;
+}
+
+/* bookmark-item */
+toolbarbutton.bookmark-item {
+ padding: 0 4px; !important;
+ margin: 0 2px !important;
+ border-radius: 3px !important;
+ max-height: 20px !important;
+}
diff --git a/src/other/firefox/chrome/WhiteSur/rounded-title-buttons.css b/src/other/firefox/chrome/WhiteSur/rounded-title-buttons.css
new file mode 100644
index 0000000..5ec3481
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/rounded-title-buttons.css
@@ -0,0 +1,10 @@
+/* Rounded title buttons (headerbar window controls) */
+
+@namespace xul url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+:root[tabsintitlebar] #titlebar .titlebar-button {
+ border-radius: 100% !important;
+ height: 30px !important;
+ width: 30px !important;
+ margin: 2px 5px !important;
+}
diff --git a/src/other/firefox/chrome/WhiteSur/symbolic-tab-icons.css b/src/other/firefox/chrome/WhiteSur/symbolic-tab-icons.css
new file mode 100644
index 0000000..4f78367
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/symbolic-tab-icons.css
@@ -0,0 +1,17 @@
+@namespace xul url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/* Icons light/dark fix coloring hack filters */
+:root {
+ --gnome-convert-icon-to-symbolic-hack-filter: invert(100%) sepia(100%) grayscale(100%) brightness(200%) brightness(85%) invert(100%);
+}
+@media (prefers-color-scheme: dark) {
+ :root {
+ --gnome-convert-icon-to-symbolic-hack-filter: invert(100%) sepia(100%) grayscale(100%) brightness(200%) brightness(85%);
+ }
+}
+
+/* Make tab icons look kinda like symbolic icons */
+tab .tab-icon-image {
+ filter: var(--gnome-convert-icon-to-symbolic-hack-filter);
+}
+
diff --git a/src/other/firefox/chrome/WhiteSur/system-icons.css b/src/other/firefox/chrome/WhiteSur/system-icons.css
new file mode 100644
index 0000000..928f924
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/system-icons.css
@@ -0,0 +1,175 @@
+@namespace xul url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+
+/* Icons light/dark fix coloring hack filters */
+:root {
+ --gnome-icons-hack-filter: none;
+ --gnome-window-icons-hack-filter: none;
+}
+@media (prefers-color-scheme: dark) {
+ :root {
+ --gnome-icons-hack-filter: invert(100%) sepia(100%) grayscale(100%) brightness(200%) brightness(200%);
+ --gnome-window-icons-hack-filter: invert(90%);
+ }
+}
+
+/* Toolbars close button */
+.close-icon:not(.tab-close-button) {
+ list-style-image: url("moz-icon://stock/window-close-symbolic?size=dialog") !important;
+}
+.close-icon:not(.tab-close-button) image {
+ filter: var(--gnome-window-icons-hack-filter) !important;
+}
+
+/* Navbar icons */
+
+/* Back button */
+#nav-bar #back-button .toolbarbutton-icon {
+ filter: var(--gnome-icons-hack-filter);
+ list-style-image: url("moz-icon://stock/go-previous-symbolic?size=dialog") !important;
+}
+/* Forward button */
+#nav-bar #forward-button .toolbarbutton-icon {
+ filter: var(--gnome-icons-hack-filter);
+ list-style-image: url("moz-icon://stock/go-next-symbolic?size=dialog") !important;
+}
+/* Menu button */
+#PanelUI-menu-button .toolbarbutton-icon {
+ filter: var(--gnome-icons-hack-filter);
+ list-style-image: url("moz-icon://stock/open-menu-symbolic?size=dialog") !important;
+}
+/* New tab button */
+#new-tab-button .toolbarbutton-icon {
+ filter: var(--gnome-icons-hack-filter);
+ list-style-image: url("moz-icon://stock/tab-new-symbolic?size=dialog") !important;
+}
+/* Home button */
+#home-button .toolbarbutton-icon {
+ filter: var(--gnome-icons-hack-filter);
+ list-style-image: url("moz-icon://stock/user-home-symbolic?size=dialog") !important;
+}
+/* Preferences button */
+#preferences-button .toolbarbutton-icon {
+ filter: var(--gnome-icons-hack-filter);
+ list-style-image: url("moz-icon://stock/preferences-system-symbolic?size=dialog") !important;
+}
+/* Fullscreen button */
+#fullscreen-button .toolbarbutton-icon {
+ filter: var(--gnome-icons-hack-filter);
+ list-style-image: url("moz-icon://stock/view-fullscreen-symbolic?size=dialog") !important;
+}
+/* Zoom out button */
+#zoom-out-button .toolbarbutton-icon {
+ filter: var(--gnome-icons-hack-filter);
+ list-style-image: url("moz-icon://stock/zoom-out-symbolic?size=dialog") !important;
+}
+/* Zoom in button */
+#zoom-in-button .toolbarbutton-icon {
+ filter: var(--gnome-icons-hack-filter);
+ list-style-image: url("moz-icon://stock/zoom-in-symbolic?size=dialog") !important;
+}
+/* Developer button */
+#developer-button .toolbarbutton-icon {
+ filter: var(--gnome-icons-hack-filter);
+ list-style-image: url("moz-icon://stock/applications-engineering-symbolic?size=dialog") !important;
+}
+/* Email link button */
+#email-link-button .toolbarbutton-icon {
+ filter: var(--gnome-icons-hack-filter);
+ list-style-image: url("moz-icon://stock/mail-unread-symbolic?size=dialog") !important;
+}
+/* Print button */
+#print-button .toolbarbutton-icon {
+ filter: var(--gnome-icons-hack-filter);
+ list-style-image: url("moz-icon://stock/printer-symbolic?size=dialog") !important;
+}
+/* Addons button */
+#add-ons-button .toolbarbutton-icon {
+ filter: var(--gnome-icons-hack-filter);
+ list-style-image: url("moz-icon://stock/application-x-addon-symbolic?size=dialog") !important;
+}
+/* Find button */
+#find-button .toolbarbutton-icon {
+ filter: var(--gnome-icons-hack-filter);
+ list-style-image: url("moz-icon://stock/edit-find-symbolic?size=dialog") !important;
+}
+/* New window button */
+#new-window-button .toolbarbutton-icon {
+ filter: var(--gnome-icons-hack-filter);
+ list-style-image: url("moz-icon://stock/window-new-symbolic?size=dialog") !important;
+}
+/* Bookmarks menu button */
+#bookmarks-menu-button .toolbarbutton-icon {
+ filter: var(--gnome-icons-hack-filter);
+ list-style-image: url("moz-icon://stock/starred-symbolic?size=dialog") !important;
+}
+/* History button */
+#history-panelmenu .toolbarbutton-icon {
+ filter: var(--gnome-icons-hack-filter);
+ list-style-image: url("moz-icon://stock/preferences-system-time-symbolic?size=dialog") !important;
+}
+/* All tabs button */
+#alltabs-button {
+ list-style-image: url("moz-icon://stock/pan-down-symbolic?size=dialog") !important;
+}
+#alltabs-button .toolbarbutton-icon {
+ filter: var(--gnome-icons-hack-filter);
+}
+/* Cut button */
+#cut-button .toolbarbutton-icon {
+ filter: var(--gnome-icons-hack-filter);
+ list-style-image: url("moz-icon://stock/edit-cut-symbolic?size=dialog") !important;
+}
+/* Copy button */
+#copy-button .toolbarbutton-icon {
+ filter: var(--gnome-icons-hack-filter);
+ list-style-image: url("moz-icon://stock/edit-copy-symbolic?size=dialog") !important;
+}
+/* Paste button */
+#paste-button .toolbarbutton-icon {
+ filter: var(--gnome-icons-hack-filter);
+ list-style-image: url("moz-icon://stock/edit-paste-symbolic?size=dialog") !important;
+}
+
+/* Navbar overflow button */
+#nav-bar-overflow-button .toolbarbutton-icon {
+ filter: var(--gnome-icons-hack-filter);
+ list-style-image: url("moz-icon://stock/view-more-horizontal-symbolic?size=dialog") !important;
+}
+
+/* Context back button */
+#context-back .menu-iconic-icon {
+ filter: var(--gnome-icons-hack-filter);
+ list-style-image: url("moz-icon://stock/go-previous-symbolic?size=dialog") !important;
+}
+/* Context forward button */
+#context-forward .menu-iconic-icon {
+ filter: var(--gnome-icons-hack-filter);
+ list-style-image: url("moz-icon://stock/go-next-symbolic?size=dialog") !important;
+}
+
+/* Main menu buttons icons */
+#appMenu-zoomReduce-button .toolbarbutton-icon {
+ filter: var(--gnome-icons-hack-filter);
+ list-style-image: url("moz-icon://stock/zoom-out-symbolic?size=dialog") !important;
+}
+#appMenu-zoomEnlarge-button .toolbarbutton-icon {
+ filter: var(--gnome-icons-hack-filter);
+ list-style-image: url("moz-icon://stock/zoom-in-symbolic?size=dialog") !important;
+}
+#appMenu-fullscreen-button .toolbarbutton-icon {
+ filter: var(--gnome-icons-hack-filter);
+ list-style-image: url("moz-icon://stock/view-fullscreen-symbolic?size=dialog") !important;
+}
+#appMenu-cut-button .toolbarbutton-icon {
+ filter: var(--gnome-icons-hack-filter);
+ list-style-image: url("moz-icon://stock/edit-cut-symbolic?size=dialog") !important;
+}
+#appMenu-copy-button .toolbarbutton-icon {
+ filter: var(--gnome-icons-hack-filter);
+ list-style-image: url("moz-icon://stock/edit-copy-symbolic?size=dialog") !important;
+}
+#appMenu-paste-button .toolbarbutton-icon {
+ filter: var(--gnome-icons-hack-filter);
+ list-style-image: url("moz-icon://stock/edit-paste-symbolic?size=dialog") !important;
+}
+
diff --git a/src/other/firefox/chrome/WhiteSur/theme.css b/src/other/firefox/chrome/WhiteSur/theme.css
new file mode 100644
index 0000000..4fb6375
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/theme.css
@@ -0,0 +1,23 @@
+@import "parts/toolbox.css";
+@import "parts/buttons.css";
+@import "parts/entries.css";
+@import "parts/headerbar.css";
+@import "parts/csd.css";
+@import "parts/titlebutton-light.css";
+@import "parts/titlebutton-dark.css";
+@import "parts/popups.css";
+@import "parts/tabsbar.css";
+@import "parts/findbar.css";
+@import "parts/scrollbars.css";
+@import "parts/remove-white-flash.css";
+@import "parts/custom-icons.css";
+@import "parts/icons.css";
+@import "colors/light.css";
+@import "colors/dark.css";
+@namespace xul "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
+
+/* Set theme version text in customization panel */
+#customization-footer::before {
+ content: "Firefox WhiteSur theme";
+ padding: 9px;
+}
diff --git a/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-backdrop-dark.svg b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-backdrop-dark.svg
new file mode 100644
index 0000000..354b141
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-backdrop-dark.svg
@@ -0,0 +1,10 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-backdrop.svg b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-backdrop.svg
new file mode 100644
index 0000000..c872d22
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-backdrop.svg
@@ -0,0 +1,11 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-close-active-dark.svg b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-close-active-dark.svg
new file mode 100644
index 0000000..b3261ab
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-close-active-dark.svg
@@ -0,0 +1,6 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-close-active.svg b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-close-active.svg
new file mode 100644
index 0000000..7942813
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-close-active.svg
@@ -0,0 +1,12 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-close-backdrop-dark.svg b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-close-backdrop-dark.svg
new file mode 100644
index 0000000..56be72e
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-close-backdrop-dark.svg
@@ -0,0 +1,11 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-close-backdrop.svg b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-close-backdrop.svg
new file mode 100644
index 0000000..158a52b
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-close-backdrop.svg
@@ -0,0 +1,12 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-close-dark.svg b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-close-dark.svg
new file mode 100644
index 0000000..68d826a
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-close-dark.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-close-hover-dark.svg b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-close-hover-dark.svg
new file mode 100644
index 0000000..3cdb1dd
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-close-hover-dark.svg
@@ -0,0 +1,5 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-close-hover-inactive-dark.svg b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-close-hover-inactive-dark.svg
new file mode 100644
index 0000000..ac817e8
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-close-hover-inactive-dark.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-close-hover-inactive.svg b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-close-hover-inactive.svg
new file mode 100644
index 0000000..1f3d7b1
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-close-hover-inactive.svg
@@ -0,0 +1,13 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-close-hover.svg b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-close-hover.svg
new file mode 100644
index 0000000..0bccd13
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-close-hover.svg
@@ -0,0 +1,13 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-close.svg b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-close.svg
new file mode 100644
index 0000000..6a34752
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-close.svg
@@ -0,0 +1,11 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-maximize-active-dark.svg b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-maximize-active-dark.svg
new file mode 100644
index 0000000..7bf2dd3
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-maximize-active-dark.svg
@@ -0,0 +1,6 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-maximize-active.svg b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-maximize-active.svg
new file mode 100644
index 0000000..8d246c3
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-maximize-active.svg
@@ -0,0 +1,8 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-maximize-backdrop-dark.svg b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-maximize-backdrop-dark.svg
new file mode 100644
index 0000000..de74985
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-maximize-backdrop-dark.svg
@@ -0,0 +1,11 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-maximize-backdrop.svg b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-maximize-backdrop.svg
new file mode 100644
index 0000000..a7bb1f5
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-maximize-backdrop.svg
@@ -0,0 +1,12 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-maximize-dark.svg b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-maximize-dark.svg
new file mode 100644
index 0000000..8d05b54
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-maximize-dark.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-maximize-hover-dark.svg b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-maximize-hover-dark.svg
new file mode 100644
index 0000000..9665879
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-maximize-hover-dark.svg
@@ -0,0 +1,5 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-maximize-hover-inactive-dark.svg b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-maximize-hover-inactive-dark.svg
new file mode 100644
index 0000000..216d468
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-maximize-hover-inactive-dark.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-maximize-hover-inactive.svg b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-maximize-hover-inactive.svg
new file mode 100644
index 0000000..b852689
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-maximize-hover-inactive.svg
@@ -0,0 +1,9 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-maximize-hover.svg b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-maximize-hover.svg
new file mode 100644
index 0000000..a6d737f
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-maximize-hover.svg
@@ -0,0 +1,9 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-maximize.svg b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-maximize.svg
new file mode 100644
index 0000000..e6e235f
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-maximize.svg
@@ -0,0 +1,11 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-minimize-active-dark.svg b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-minimize-active-dark.svg
new file mode 100644
index 0000000..e819d5b
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-minimize-active-dark.svg
@@ -0,0 +1,6 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-minimize-active.svg b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-minimize-active.svg
new file mode 100644
index 0000000..6b1114f
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-minimize-active.svg
@@ -0,0 +1,10 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-minimize-backdrop-dark.svg b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-minimize-backdrop-dark.svg
new file mode 100644
index 0000000..7a584e2
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-minimize-backdrop-dark.svg
@@ -0,0 +1,11 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-minimize-backdrop.svg b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-minimize-backdrop.svg
new file mode 100644
index 0000000..06a0826
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-minimize-backdrop.svg
@@ -0,0 +1,12 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-minimize-dark.svg b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-minimize-dark.svg
new file mode 100644
index 0000000..7e5f660
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-minimize-dark.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-minimize-hover-dark.svg b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-minimize-hover-dark.svg
new file mode 100644
index 0000000..5697187
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-minimize-hover-dark.svg
@@ -0,0 +1,5 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-minimize-hover-inactive-dark.svg b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-minimize-hover-inactive-dark.svg
new file mode 100644
index 0000000..4c50ada
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-minimize-hover-inactive-dark.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-minimize-hover-inactive.svg b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-minimize-hover-inactive.svg
new file mode 100644
index 0000000..3893eec
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-minimize-hover-inactive.svg
@@ -0,0 +1,11 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-minimize-hover.svg b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-minimize-hover.svg
new file mode 100644
index 0000000..daf5f78
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-minimize-hover.svg
@@ -0,0 +1,11 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-minimize.svg b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-minimize.svg
new file mode 100644
index 0000000..49db28e
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-minimize.svg
@@ -0,0 +1,11 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-unmaximize-active-dark.svg b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-unmaximize-active-dark.svg
new file mode 100644
index 0000000..061e819
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-unmaximize-active-dark.svg
@@ -0,0 +1,8 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-unmaximize-active.svg b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-unmaximize-active.svg
new file mode 100644
index 0000000..064b9a9
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-unmaximize-active.svg
@@ -0,0 +1,6 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-unmaximize-backdrop-dark.svg b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-unmaximize-backdrop-dark.svg
new file mode 100644
index 0000000..1528d73
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-unmaximize-backdrop-dark.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-unmaximize-backdrop.svg b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-unmaximize-backdrop.svg
new file mode 100644
index 0000000..b96203a
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-unmaximize-backdrop.svg
@@ -0,0 +1,12 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-unmaximize-hover-dark.svg b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-unmaximize-hover-dark.svg
new file mode 100644
index 0000000..3793017
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-unmaximize-hover-dark.svg
@@ -0,0 +1,5 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-unmaximize-hover-inactive-dark.svg b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-unmaximize-hover-inactive-dark.svg
new file mode 100644
index 0000000..7658f7d
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-unmaximize-hover-inactive-dark.svg
@@ -0,0 +1,4 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-unmaximize-hover-inactive.svg b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-unmaximize-hover-inactive.svg
new file mode 100644
index 0000000..26cac41
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-unmaximize-hover-inactive.svg
@@ -0,0 +1,7 @@
+
diff --git a/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-unmaximize-hover.svg b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-unmaximize-hover.svg
new file mode 100644
index 0000000..af27530
--- /dev/null
+++ b/src/other/firefox/chrome/WhiteSur/titlebuttons/titlebutton-unmaximize-hover.svg
@@ -0,0 +1,7 @@
+
diff --git a/src/other/firefox/chrome/userChrome.css b/src/other/firefox/chrome/userChrome.css
new file mode 100644
index 0000000..2ede0c8
--- /dev/null
+++ b/src/other/firefox/chrome/userChrome.css
@@ -0,0 +1,45 @@
+
+/* Import theme */
+
+@import "WhiteSur/mojave-theme.css"; /**/
+
+/*
+ * Here you can enable other theme features not included by default.
+ * To enable a specific feature, uncomment its @import line by removing "/*" at
+ * the beginning of the line. To disable it, put the "/*" back.
+ */
+
+/* Hide the tab bar when only one tab is open (GNOMISH)
+ * You should move the new tab button somewhere else for this to work, because by
+ * default it is on the tab bar too. */
+/*@import "Mojave/hide-single-tab.css"; /**/
+
+/* Limit the URL bar's autocompletion popup's width to the URL bar's width (GNOMISH)
+ * This feature is included by default for Firefox 70+ */
+/*@import "Mojave/matching-autocomplete-width.css"; /**/
+
+/* Rounded title buttons (headerbar window controls) (GNOMISH) */
+/*@import "Mojave/rounded-title-buttons.css"; /**/
+
+/* Active tab high contrast */
+/*@import "Mojave/active-tab-contrast.css"; /**/
+
+/* Use system theme icons instead of Adwaita icons included by theme */
+/*@import "Mojave/system-icons.css"; /**/
+
+/* Allow drag window from headerbar buttons (GNOMISH) [BUGGED]
+ * It can activate button action, with unpleasant behavior. */
+/*@import "Mojave/drag-window-headerbar-buttons.css"; /**/
+
+/* Make all tab icons look kinda like symbolic icons */
+/*@import "Mojave/symbolic-tab-icons.css"; /**/
+
+/* Hide window buttons (close/min/max) in maximized windows */
+/*@import "Mojave/hide-window-buttons.css"; /**/
+
+/* Import a custom stylesheet
+ * Everything you add in your customChrome.css file (it doesn't exist by
+ * default) will be included here and preserved between updates, so you can move
+ * your configuration to that file if you don't like setting it up after every
+ * update. You can also apply your own custom styles in that file. */
+@import "customChrome.css"; /**/
diff --git a/src/other/firefox/configuration/user.js b/src/other/firefox/configuration/user.js
new file mode 100644
index 0000000..6128f4d
--- /dev/null
+++ b/src/other/firefox/configuration/user.js
@@ -0,0 +1,13 @@
+/* user.js
+ * https://github.com/rafaelmardojai/firefox-gnome-theme/
+ */
+
+// Enable customChrome.css
+user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", true);
+
+// Enable CSD
+user_pref("browser.tabs.drawInTitlebar", true);
+
+// Set UI density to normal
+user_pref("browser.uidensity", 0);
+