diff --git a/alacritty/alacritty.yml b/alacritty/alacritty.yml
index 4f134ea..93940f4 100644
--- a/alacritty/alacritty.yml
+++ b/alacritty/alacritty.yml
@@ -97,7 +97,8 @@ font:
# - (macOS) Menlo
# - (Linux/BSD) monospace
# - (Windows) Consolas
- family: MesloLGS NF
+ # family: MesloLGS Nerd Font
+ family: VictorMono Nerd Font
# The `style` can be specified to pick a specific face.
style: Regular
@@ -108,7 +109,8 @@ font:
#
# If the bold family is not specified, it will fall back to the
# value specified for the normal font.
- family: MesloLGS NF
+ # family: MesloLGS Nerd Font
+ family: VictorMono Nerd Font
# The `style` can be specified to pick a specific face.
style: Bold
@@ -119,7 +121,8 @@ font:
#
# If the italic family is not specified, it will fall back to the
# value specified for the normal font.
- family: MesloLGS NF
+ # family: MesloLGS Nerd Font
+ family: VictorMono Nerd Font
# The `style` can be specified to pick a specific face.
style: Italic
@@ -136,7 +139,7 @@ font:
#style: Bold Italic
# Point size
- size: 10.0
+ size: 11.0
# Offset is the extra space around each character. `offset.y` can be thought of
# as modifying the line spacing, and `offset.x` as modifying the letter spacing.
@@ -315,7 +318,7 @@ colors:
#
# Window opacity as a floating point number from `0.0` to `1.0`.
# The value `0.0` is completely transparent and `1.0` is opaque.
-background_opacity: 0.45
+background_opacity: 0.70
#selection:
#semantic_escape_chars: ",│`|:\"' ()[]{}<>\t"
diff --git a/awesome/rc.lua b/awesome/rc.lua
index 4b79bc9..78f6048 100644
--- a/awesome/rc.lua
+++ b/awesome/rc.lua
@@ -49,7 +49,7 @@ beautiful.init("/home/chris/.config/awesome/theme.lua")
-- This is used later as the default terminal and editor to run.
terminal = "alacritty"
-editor = os.getenv("EDITOR") or "emacs"
+editor = os.getenv("EDITOR") or "emacsclient -a emacs"
editor_cmd = terminal .. " -e " .. editor
-- Default modkey.
@@ -58,6 +58,7 @@ editor_cmd = terminal .. " -e " .. editor
-- I suggest you to remap Mod4 to another key using xmodmap or other tools.
-- However, you can use another modifier like Mod1, but it may interact with others.
modkey = "Mod4"
+altkey = "Mod1"
-- Table of layouts to cover with awful.layout.inc, order matters.
awful.layout.layouts = {
@@ -107,7 +108,10 @@ mykeyboardlayout = awful.widget.keyboardlayout()
-- {{{ Wibar
-- Create a textclock widget
-mytextclock = wibox.widget.textclock()
+mytextclock = wibox.widget.textclock(" %a %b %d, %l:%M %p ")
+
+-- Create a volume widget
+-- myvolumewidget = wibox.widget.button()
-- Create a wibox for each screen and add it
local taglist_buttons = gears.table.join(
@@ -201,6 +205,14 @@ awful.screen.connect_for_each_screen(function(s)
-- Create the wibox
s.mywibox = awful.wibar({ position = "bottom", screen = s })
+ s.myrightwidgets =
+ { -- Right widgets
+ layout = wibox.layout.ratio.horizontal,
+ s.mytasklist, -- Middle widget
+ s.mysystray,
+ s.mylayoutbox,
+ inner_fill_strategy = "right"
+ }
-- Add widgets to the wibox
s.mywibox:setup {
layout = wibox.layout.align.horizontal,
@@ -209,14 +221,17 @@ awful.screen.connect_for_each_screen(function(s)
mylauncher,
s.mytaglist,
s.mypromptbox,
+ spacing = 15
},
- s.mytasklist, -- Middle widget
- { -- Right widgets
- layout = wibox.layout.fixed.horizontal,
+ mytextclock,
+ {
+ layout = wibox.layout.ratio.horizontal,
+ s.mytasklist, -- Middle widget
s.mysystray,
- mytextclock,
s.mylayoutbox,
+ inner_fill_strategy = "right"
},
+ expand = "outside"
}
end)
-- }}}
@@ -277,10 +292,10 @@ globalkeys = gears.table.join(
-- Increase-Decrease Gap
- awful.key({ modkey, Mod1 }, "k", function () awful.tag.incgap ( 1, null) end,
+ awful.key({ modkey, altkey }, "k", function () awful.tag.incgap ( 1, null) end,
{description = "increase gap", group = "layout"}),
- awful.key({ Mod1, modkey }, "j", function () awful.tag.incgap ( -1, null) end,
+ awful.key({ modkey, altkey }, "j", function () awful.tag.incgap ( -1, null) end,
{description = "decrease gap", group = "layout"}),
@@ -322,7 +337,7 @@ globalkeys = gears.table.join(
{description = "restore minimized", group = "client"}),
-- Prompt
- awful.key({ modkey }, "r", function ()
+ awful.key({ }, "Menu" , function ()
awful.util.spawn("/home/chris/.dotfiles/rofi/launchers-git/launcher.sh") end,
{description = "launch rofi", group = "launcher"}),
@@ -486,7 +501,8 @@ awful.rules.rules = {
"Tor Browser", -- Needs a fixed window size to avoid fingerprinting by screen size.
"Wpa_gui",
"veromix",
- "xtightvncviewer"},
+ "xtightvncviewer",
+ "feh"},
-- Note that the name property shown in xprop might be set slightly after creation of the client
-- and the name shown there might not match defined rules here.
@@ -502,12 +518,19 @@ awful.rules.rules = {
-- Add titlebars to normal clients and dialogs
{ rule_any = {type = { "normal", "dialog" }
- }, properties = { titlebars_enabled = true }
+ }, properties = { titlebars_enabled = false}
},
- -- Set Firefox to always map on the tag named "2" on screen 1.
- -- { rule = { class = "Firefox" },
- -- properties = { screen = 1, tag = "2" } },
+ -- Set Firefox to never have titlebars
+ { rule = { class = "Firefox" },
+ properties = { requests_no_titlebar = true, titlebars_enabled = false }
+ },
+
+ -- Set Feh center
+ { rule = {class = "feh"},
+ properties = {
+ placement = awful.placement.centered
+ }},
}
-- }}}
@@ -578,5 +601,6 @@ client.connect_signal("unfocus", function(c) c.border_color = beautiful.border_n
-- Autostart Applications
awful.spawn.with_shell("picom")
-awful.spawn.with_shell("nitrogen --restore")
-- awful.spawn.with_shell("polybarstart")
+awful.spawn.with_shell("feh --bg-fill ~/Pictures/wallpapers/RoyalKing.png")
+awful.spawn.with_shell("/usr/lib/polkit-kde-authentication-agent-1")
diff --git a/awesome/theme.lua b/awesome/theme.lua
index 919bc48..c2efafc 100644
--- a/awesome/theme.lua
+++ b/awesome/theme.lua
@@ -9,10 +9,11 @@ local gears = require('gears')
local gfs = require("gears.filesystem")
local themes_path = gfs.get_themes_dir()
+local wallpaperdir = "/home/chris/Pictures/wallpapers"
local theme = {}
-theme.font = "Rec Mono Linear 10"
+theme.font = "VictorMono Nerd Font SemiBold 10"
theme.bg_normal = "#282a36"
theme.bg_focus = "#43454f"
@@ -26,7 +27,7 @@ theme.fg_urgent = "#e2e4e5"
theme.fg_minimize = "#e2e4e5"
theme.useless_gap = dpi(8)
-theme.border_width = dpi(1)
+theme.border_width = dpi(0)
theme.border_normal = "#00000000"
theme.border_focus = "#00000000"
theme.border_marked = "#00000000"
@@ -74,8 +75,9 @@ theme.menu_width = dpi(100)
-- wibar
theme.wibar_shape = gears.shape.rounded_bar
theme.wibar_bg = theme.bg_normal
+theme.wibar_fg = theme.fg_normal
-- theme.wibar_y = 1030
-theme.wibar_x = 0
+-- theme.wibar_x = 0
-- theme.wibar_stretch = false
theme.wibar_border_width = 3
theme.wibar_border_color = nil
@@ -84,9 +86,8 @@ theme.wibar_border_color = nil
theme.wibar_opacity = 0.7
-- theme.wibar_type = nil
theme.wibar_width = dpi(1900)
--- theme.wibar_height = nil
+theme.wibar_height = dpi(30)
-- theme.wibar_bgimage = nil
--- theme.wibar_fg = nil
-- Define the image to load
theme.titlebar_bg_normal = "#282A36FF"
@@ -117,7 +118,7 @@ theme.titlebar_maximized_button_focus_inactive = themes_path.."default/titlebar
theme.titlebar_maximized_button_normal_active = themes_path.."default/titlebar/maximized_normal_active.png"
theme.titlebar_maximized_button_focus_active = themes_path.."default/titlebar/maximized_focus_active.png"
-theme.wallpaper = themes_path.."default/background.png"
+theme.wallpaper = wallpaperdir.."RoyalKing.png"
-- You can use your own layout icons like this:
theme.layout_fairh = themes_path.."default/layouts/fairhw.png"
@@ -137,6 +138,8 @@ theme.layout_cornerne = themes_path.."default/layouts/cornernew.png"
theme.layout_cornersw = themes_path.."default/layouts/cornersww.png"
theme.layout_cornerse = themes_path.."default/layouts/cornersew.png"
+-- Notifications
+
-- Generate Awesome icon:
theme.awesome_icon = theme_assets.awesome_icon(
theme.menu_height, theme.bg_focus, theme.fg_focus
diff --git a/firefox/chrome/LICENCE.md b/firefox/chrome/LICENCE.md
new file mode 100644
index 0000000..94a9ed0
--- /dev/null
+++ b/firefox/chrome/LICENCE.md
@@ -0,0 +1,674 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc.
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+ The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works. By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users. We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors. You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+ To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights. Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received. You must make sure that they, too, receive
+or can get the source code. And you must show them these terms so they
+know their rights.
+
+ Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+ For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software. For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+ Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so. This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software. The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable. Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products. If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+ Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary. To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ TERMS AND CONDITIONS
+
+ 0. Definitions.
+
+ "This License" refers to version 3 of the GNU General Public License.
+
+ "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+ "The Program" refers to any copyrightable work licensed under this
+License. Each licensee is addressed as "you". "Licensees" and
+"recipients" may be individuals or organizations.
+
+ To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy. The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+ A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+ To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy. Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+ To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies. Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+ An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License. If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+ 1. Source Code.
+
+ The "source code" for a work means the preferred form of the work
+for making modifications to it. "Object code" means any non-source
+form of a work.
+
+ A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+ The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form. A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+ The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities. However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work. For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+ The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+ The Corresponding Source for a work in source code form is that
+same work.
+
+ 2. Basic Permissions.
+
+ All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met. This License explicitly affirms your unlimited
+permission to run the unmodified Program. The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work. This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+ You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force. You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright. Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+ Conveying under any other circumstances is permitted solely under
+the conditions stated below. Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+ No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+ When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+ 4. Conveying Verbatim Copies.
+
+ You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+ You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+ 5. Conveying Modified Source Versions.
+
+ You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+ a) The work must carry prominent notices stating that you modified
+ it, and giving a relevant date.
+
+ b) The work must carry prominent notices stating that it is
+ released under this License and any conditions added under section
+ 7. This requirement modifies the requirement in section 4 to
+ "keep intact all notices".
+
+ c) You must license the entire work, as a whole, under this
+ License to anyone who comes into possession of a copy. This
+ License will therefore apply, along with any applicable section 7
+ additional terms, to the whole of the work, and all its parts,
+ regardless of how they are packaged. This License gives no
+ permission to license the work in any other way, but it does not
+ invalidate such permission if you have separately received it.
+
+ d) If the work has interactive user interfaces, each must display
+ Appropriate Legal Notices; however, if the Program has interactive
+ interfaces that do not display Appropriate Legal Notices, your
+ work need not make them do so.
+
+ A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit. Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+ 6. Conveying Non-Source Forms.
+
+ You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+ a) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by the
+ Corresponding Source fixed on a durable physical medium
+ customarily used for software interchange.
+
+ b) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by a
+ written offer, valid for at least three years and valid for as
+ long as you offer spare parts or customer support for that product
+ model, to give anyone who possesses the object code either (1) a
+ copy of the Corresponding Source for all the software in the
+ product that is covered by this License, on a durable physical
+ medium customarily used for software interchange, for a price no
+ more than your reasonable cost of physically performing this
+ conveying of source, or (2) access to copy the
+ Corresponding Source from a network server at no charge.
+
+ c) Convey individual copies of the object code with a copy of the
+ written offer to provide the Corresponding Source. This
+ alternative is allowed only occasionally and noncommercially, and
+ only if you received the object code with such an offer, in accord
+ with subsection 6b.
+
+ d) Convey the object code by offering access from a designated
+ place (gratis or for a charge), and offer equivalent access to the
+ Corresponding Source in the same way through the same place at no
+ further charge. You need not require recipients to copy the
+ Corresponding Source along with the object code. If the place to
+ copy the object code is a network server, the Corresponding Source
+ may be on a different server (operated by you or a third party)
+ that supports equivalent copying facilities, provided you maintain
+ clear directions next to the object code saying where to find the
+ Corresponding Source. Regardless of what server hosts the
+ Corresponding Source, you remain obligated to ensure that it is
+ available for as long as needed to satisfy these requirements.
+
+ e) Convey the object code using peer-to-peer transmission, provided
+ you inform other peers where the object code and Corresponding
+ Source of the work are being offered to the general public at no
+ charge under subsection 6d.
+
+ A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+ A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling. In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage. For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product. A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+ "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source. The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+ If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information. But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+ The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed. Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+ Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+ 7. Additional Terms.
+
+ "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law. If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+ When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it. (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.) You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+ Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+ a) Disclaiming warranty or limiting liability differently from the
+ terms of sections 15 and 16 of this License; or
+
+ b) Requiring preservation of specified reasonable legal notices or
+ author attributions in that material or in the Appropriate Legal
+ Notices displayed by works containing it; or
+
+ c) Prohibiting misrepresentation of the origin of that material, or
+ requiring that modified versions of such material be marked in
+ reasonable ways as different from the original version; or
+
+ d) Limiting the use for publicity purposes of names of licensors or
+ authors of the material; or
+
+ e) Declining to grant rights under trademark law for use of some
+ trade names, trademarks, or service marks; or
+
+ f) Requiring indemnification of licensors and authors of that
+ material by anyone who conveys the material (or modified versions of
+ it) with contractual assumptions of liability to the recipient, for
+ any liability that these contractual assumptions directly impose on
+ those licensors and authors.
+
+ All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10. If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term. If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+ If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+ Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+ 8. Termination.
+
+ You may not propagate or modify a covered work except as expressly
+provided under this License. Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+ However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+ Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+ Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+ 9. Acceptance Not Required for Having Copies.
+
+ You are not required to accept this License in order to receive or
+run a copy of the Program. Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance. However,
+nothing other than this License grants you permission to propagate or
+modify any covered work. These actions infringe copyright if you do
+not accept this License. Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+ 10. Automatic Licensing of Downstream Recipients.
+
+ Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License. You are not responsible
+for enforcing compliance by third parties with this License.
+
+ An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations. If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+ You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License. For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+ 11. Patents.
+
+ A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based. The
+work thus licensed is called the contributor's "contributor version".
+
+ A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version. For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+ Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+ In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement). To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+ If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients. "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+ If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+ A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License. You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+ Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+ 12. No Surrender of Others' Freedom.
+
+ If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all. For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+ 13. Use with the GNU Affero General Public License.
+
+ Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work. The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+ 14. Revised Versions of this License.
+
+ The Free Software Foundation may publish revised and/or new versions of
+the GNU General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Program specifies that a certain numbered version of the GNU General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation. If the Program does not specify a version number of the
+GNU General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+ If the Program specifies that a proxy can decide which future
+versions of the GNU General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+ Later license versions may give you additional or different
+permissions. However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+ 15. Disclaimer of Warranty.
+
+ THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. Limitation of Liability.
+
+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+ 17. Interpretation of Sections 15 and 16.
+
+ If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+
+ Copyright (C)
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+
+Also add information on how to contact you by electronic and paper mail.
+
+ If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
+
+ Copyright (C)
+ This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, your program's commands
+might be different; for a GUI interface, you would use an "about box".
+
+ You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU GPL, see
+.
+
+ The GNU General Public License does not permit incorporating your program
+into proprietary programs. If your program is a subroutine library, you
+may consider it more useful to permit linking proprietary applications with
+the library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License. But first, please read
+.
diff --git a/firefox/chrome/README.md b/firefox/chrome/README.md
new file mode 100644
index 0000000..5e95486
--- /dev/null
+++ b/firefox/chrome/README.md
@@ -0,0 +1,68 @@
+# Collection of random CSS hacks for Firefox
+
+Stylesheets in this repository are tested only on Windows 10. They should work on current Nightlies but also generally on latest release Firefox unless otherwise noted.
+
+# Loading user*.css files
+
+1. Find your profile folder, if Firefox is running you can find by going to about:support and there should be a button with label "Open Folder" under application basics
+2. Create a new folder to the profile folder and name it "chrome"
+3. userChrome.css and userContent.css files should be created inside this chrome-folder.
+
+Clone this repository or individual files inside that newly created chrome-folder.
+In the end you should have a folder structure like this:
+
+```
+
+|_chrome
+| |_chrome
+| |_content
+| |_userChrome.css
+| |_userContent.css
+|_extensions
+|_prefs.js
+...
+all other profile folders and files
+...
+```
+
+In short, create a parent chrome folder to the same directory where prefs.js is - the main profile folder. Firefox loads userContent.css and userChrome.css files only from that non-default chrome-folder.
+
+# Usage
+
+Stylesheets are divided in to chrome and content folders. The difference is that styles inside "content" affect web-pages whereas styles inside "chrome" affect browser UI.
+
+Use stylesheets under "chrome" in userChrome.css
+
+Use stylesheets under "content" in userContent.css
+
+You can import the stylesheets with @-rule import like this:
+
+```css
+@import url("path/filename.css");
+```
+
+## Important!
+
+Note that all `@import` rules need to be placed before any other rules in the file, including @namespace rules. Additionally, the order of imported files is just as important as the order of rules within one file.
+
+**Most notably, you are advised to import theme_ files before any other modules.**
+
+# Theme
+
+Stylesheets prefixed with `theme_` require `theme_color_variables.css` to be imported.
+
+Example userChrome.css resulting in rather complete dark blueish-grey UI:
+
+```css
+@import url(theme_color_variables.css);
+@import url(theme_sidebar.css);
+@import url(theme_toolbars.css);
+@import url(theme_popups_and_menus.css);
+
+/* Your other rules here */
+```
+
+You can use individual modules from theme such as to only include popups_and_menus. But it would still be required that you import the theme_color_variables.css or you'll have to manually edit all the colors.
+
+
+Example userChrome.css and userContent.css can be used as is to enable theme + certain features after /chrome and /content folders are copied into your profile.
\ No newline at end of file
diff --git a/firefox/chrome/chrome/Fx65_tabs_on_bottom.css b/firefox/chrome/chrome/Fx65_tabs_on_bottom.css
new file mode 100644
index 0000000..c4d8301
--- /dev/null
+++ b/firefox/chrome/chrome/Fx65_tabs_on_bottom.css
@@ -0,0 +1,26 @@
+/* Modify to change window drag space width */
+:root[tabsintitlebar="true"] #nav-bar{ --window-drag-space-width: 24px }
+
+.titlebar-buttonbox-container{
+ position: fixed;
+ top:0;
+ right:0;
+ height: 40px;
+}
+#toolbar-menubar[inactive] > .titlebar-buttonbox-container{ opacity: 0 }
+
+:root[sizemode="maximized"] > #navigator-toolbox{ padding-top: 8px !important; }
+:root[sizemode="maximized"] .titlebar-buttonbox-container{ top: 8px }
+
+:root[uidensity="compact"] .titlebar-buttonbox-container{ height: 32px }
+.titlebar-buttonbox-container > .titlebar-buttonbox{ height: 100%; }
+#titlebar{
+ -moz-box-ordinal-group: 2;
+ -moz-appearance: none !important;
+}
+:root[tabsintitlebar="true"] #nav-bar{
+ padding-right: calc(138px + var(--window-drag-space-width,0px));
+ padding-left: var(--window-drag-space-width,0px)
+}
+.titlebar-placeholder,
+#TabsToolbar .titlebar-spacer{ display: none; }
\ No newline at end of file
diff --git a/firefox/chrome/chrome/autohide_sidebar.css b/firefox/chrome/chrome/autohide_sidebar.css
new file mode 100644
index 0000000..7f2f5c6
--- /dev/null
+++ b/firefox/chrome/chrome/autohide_sidebar.css
@@ -0,0 +1,119 @@
+
+/* material firefox imports */
+/* @import "../global/variables.css"; */
+/* @import "../global/global.css"; */
+/* @import "../icons/icons.css"; */
+/* @import "../tabbar/tabbar.css"; */
+/* @import "../navbar/navbar.css"; */
+/* @import "../personalbar/personalbar.css"; */
+/* @import "../popup/popup.css"; */
+/* @import "../urlbar/urlbar.css"; */
+/* @import "../findbar/findbar.css"; */
+
+/* Show sidebar only when the cursor is over it */
+/* The border controlling sidebar width will be removed so you'll need to modify these values to change width */
+
+
+/* #sidebar-box{ */
+/* --uc-sidebar-width: 30px; */
+/* --uc-sidebar-hover-width: 210px; */
+/* position: relative; */
+/* min-width: var(--uc-sidebar-width) !important; */
+/* width: var(--uc-sidebar-width) !important; */
+/* max-width: var(--uc-sidebar-width) !important; */
+/* } */
+
+/* #sidebar-splitter{ display: none } */
+
+/* #sidebar-header{ overflow: hidden; color: var(--chrome-color, inherit) !important} */
+
+/* #sidebar{ */
+/* transition: min-width 115ms linear !important; */
+/* min-width: var(--uc-sidebar-width) !important; */
+/* will-change: min-width; */
+/* } */
+
+/* #sidebar-box:hover > #sidebar{ min-width: var(--uc-sidebar-hover-width) !important; } */
+
+/* .sidebar-panel{ */
+/* background-color: transparent !important; */
+/* color: var(--newtab-text-primary-color) !important; */
+/* } */
+
+/* .sidebar-panel #search-box{ */
+/* -moz-appearance: none !important; */
+/* background-color: rgba(249,249,250,0.1) !important; */
+/* color: inherit !important; */
+/* } */
+
+/* /\* Add sidebar divider and give it background *\/ */
+
+/* #sidebar, */
+/* #sidebar-header{ */
+/* background-color: var(--toolbar-non-lwt-bgcolor) !important; */
+/* border-right: 1px solid rgb(80,80,80); */
+/* } */
+
+
+
+
+
+
+
+/* Made for the treestyletab stuff */
+
+:root {
+ --initial-width : 50px; /* initial width of the sidebar */
+ --sidebar-width : 250px; /* expanded width of the sidebar */
+ --toolbar-height : 0;
+ --menubar-height : -40px;
+ --toolmenubar-height: -40px; /* sum of previous two */
+ --shadow-color : #28282F; /* shadow color. set to #00000000 for no shadow. same as folder color from hntp and tab-hover color from tst*/
+}
+
+/*
+There's two main sidebar components.
+1. #sidebar-box (outer)
+2. #sidebar (inner)
+*/
+/* lock outer to height by doing the inverse margin of the toolbar element */
+/* set outer width = initial width */
+#sidebar-box {
+ z-index : 1000 !important;
+ position : relative!important;
+ //margin-top : var(--menubar-height) !important;
+ padding-top : calc(-1*var(--menubar-height));
+ border-radius: 0 5px 0px 0;
+ min-width : var(--initial-width) !important;
+ max-width : var(--initial-width) !important;
+}
+
+/* inner width = expanded width & move inner to only show initial-width long section */
+#sidebar-box #sidebar {
+ min-width : var(--sidebar-width) !important;
+ max-width : var(--sidebar-width) !important;
+ transform : translateX(calc(var(--initial-width) - var(--sidebar-width))) !important;
+ border-radius: 0 3px 0px 0;
+ transition : all 0.2s ease-in-out;
+}
+
+/* move inner to show entire sidebar */
+#sidebar-box #sidebar:hover {
+ transform : translateX(0) !important;
+ box-shadow: 2px 0 33px var(--shadow-color);
+}
+
+#main-window[title^="Firefox"] #sidebar-box {
+ margin-top: var(--toolmenubar-height) !important;
+}
+
+/* hide sidebar header for tree style tabs sidebar */
+#sidebar-box[sidebarcommand="treestyletab_piro_sakura_ne_jp-sidebar-action"] #sidebar-header {
+ display: none;
+}
+
+
+/* Hide splitter, when using Tree Style Tab. */
+#sidebar-box[sidebarcommand="treestyletab_piro_sakura_ne_jp-sidebar-action"] + #sidebar-splitter {
+ display: none !important;
+}
diff --git a/firefox/chrome/chrome/blank_page_background.css b/firefox/chrome/chrome/blank_page_background.css
new file mode 100644
index 0000000..2aa543f
--- /dev/null
+++ b/firefox/chrome/chrome/blank_page_background.css
@@ -0,0 +1,6 @@
+/* Set blank page background-color */
+/* Uses color from theme_colors if available */
+
+#tabbrowser-tabpanels{
+ background-color: var(--uc-light-bkgnd-color,rgb(46,54,69)) !important;
+}
\ No newline at end of file
diff --git a/firefox/chrome/chrome/bookmarksbar_on_new_tabs_only.css b/firefox/chrome/chrome/bookmarksbar_on_new_tabs_only.css
new file mode 100644
index 0000000..787f7ff
--- /dev/null
+++ b/firefox/chrome/chrome/bookmarksbar_on_new_tabs_only.css
@@ -0,0 +1,11 @@
+:root[title$=" - Mozilla Firefox"] #PersonalToolbar,
+:root[title$=" - Mozilla Firefox (Private Browsing)"] #PersonalToolbar,
+:root[title$=" - Firefox Nightly"] #PersonalToolbar,
+:root[title$=" - Firefox Nightly (Private Browsing)"] #PersonalToolbar{ visibility: collapse; }
+/* about:home or something can have a "New Tab" prefix */
+:root[title="New Tab - Mozilla Firefox"] #PersonalToolbar,
+:root[title="New Tab - Mozilla Firefox (Private Browsing)"] #PersonalToolbar,
+:root[title="New Tab - Firefox Nightly"] #PersonalToolbar,
+:root[title="New Tab - Firefox Nightly (Private Browsing)"] #PersonalToolbar{ visibility: visible; }
+/* Short delay to prevent being shortly visible during tab restore */
+#PersonalToolbar{ transition: visibility 0ms linear 200ms !important}
\ No newline at end of file
diff --git a/firefox/chrome/chrome/button_effect_scale_onclick.css b/firefox/chrome/chrome/button_effect_scale_onclick.css
new file mode 100644
index 0000000..2fcd2bb
--- /dev/null
+++ b/firefox/chrome/chrome/button_effect_scale_onclick.css
@@ -0,0 +1,25 @@
+/* Effect */
+
+:root:not([uidensity="compact"]) #back-button{ --uc-back-extra-padding: 2px }
+
+.toolbarbutton-icon,
+.menuitem-iconic .menu-iconic-icon{
+ transition: transform 83ms linear !important;
+}
+
+toolbar .toolbarbutton-1 > .toolbarbutton-icon
+.urlbar-icon{
+ transition: padding 83ms linear !important;
+}
+
+toolbarbutton:not(.toolbarbutton-1):active > .toolbarbutton-icon,
+toolbar .toolbarbutton-1:not([disabled]):active > .toolbarbutton-badge-stack > .toolbarbutton-icon,
+.menuitem-iconic:active .menu-iconic-icon{
+ transform: scale(0.6) !important;
+}
+
+toolbar .toolbarbutton-1:not([disabled]):active > .toolbarbutton-icon{
+ padding: calc(var(--toolbarbutton-inner-padding) + var(--uc-back-extra-padding,0px) + 3px) !important;
+}
+
+#page-action-buttons .urlbar-icon:active{ padding: calc(var(--urlbar-icon-padding) + 3px) !important; }
\ No newline at end of file
diff --git a/firefox/chrome/chrome/button_effect_scale_onhover.css b/firefox/chrome/chrome/button_effect_scale_onhover.css
new file mode 100644
index 0000000..95f0968
--- /dev/null
+++ b/firefox/chrome/chrome/button_effect_scale_onhover.css
@@ -0,0 +1,35 @@
+/* Effect */
+
+:root:not([uidensity="compact"]) #back-button{ --uc-back-extra-padding: 2px }
+
+.toolbarbutton-icon,
+.menuitem-iconic .menu-iconic-icon{
+ transition: transform 83ms linear !important;
+}
+
+toolbar .toolbarbutton-1 > .toolbarbutton-icon,
+.urlbar-icon{
+ transition: padding 83ms linear !important;
+}
+
+toolbarbutton:not(.toolbarbutton-1) > .toolbarbutton-icon,
+toolbar .toolbarbutton-1 > .toolbarbutton-badge-stack > .toolbarbutton-icon,
+.menuitem-iconic .menu-iconic-icon{
+ transform: scale(0.8) !important;
+}
+
+toolbar .toolbarbutton-1 > .toolbarbutton-icon{
+ padding: calc(var(--toolbarbutton-inner-padding) + var(--uc-back-extra-padding,0px) + 2px) !important;
+}
+
+#page-action-buttons .urlbar-icon:not(:hover){ padding: calc(var(--urlbar-icon-padding) + 2px) !important; }
+
+toolbarbutton:not(.toolbarbutton-1):not([disabled]):hover > .toolbarbutton-icon,
+toolbar .toolbarbutton-1:not([disabled]):hover > .toolbarbutton-badge-stack > .toolbarbutton-icon,
+.menuitem-iconic:not([disabled]):hover .menu-iconic-icon{
+ transform: none !important;
+}
+
+toolbar .toolbarbutton-1:not([disabled]):hover > .toolbarbutton-icon{
+ padding: calc(var(--toolbarbutton-inner-padding) + var(--uc-back-extra-padding,0px)) !important;
+}
\ No newline at end of file
diff --git a/firefox/chrome/chrome/combined_favicon_and_tab_close_button.css b/firefox/chrome/chrome/combined_favicon_and_tab_close_button.css
new file mode 100644
index 0000000..9cfce31
--- /dev/null
+++ b/firefox/chrome/chrome/combined_favicon_and_tab_close_button.css
@@ -0,0 +1,40 @@
+/* Show tab close button when cursor is over the tab icon */
+
+.tab-close-button{
+ -moz-box-ordinal-group: 0;
+ display: -moz-box !important;
+ position: relative;
+ margin-right: -18px !important;
+ z-index: -1;
+ visibility: hidden;
+}
+
+.tab-close-button:hover{ background-color: var(--lwt-accent-color); }
+
+.tabbrowser-tab[selected] .tab-close-button:hover{ background-color: var(--lwt-selected-tab-background-color, var(--toolbar-bgcolor)); }
+
+/**** ONLY USE ONE OF THE FOLLOWING ****/
+/**** These select the behavior of a scenario where the page has no favicon ****/
+
+/*** Option 1 - no favicon - no close-button ***/
+
+/*
+.tab-icon-image:hover ~ .tab-close-button, .tab-close-button:hover{ visibility: visible; z-index: 1 }
+*/
+
+/*** Option 2 - No icon - always show close-button ***/
+
+/*
+.tab-icon-image:hover ~ .tab-close-button,
+.tab-close-button:hover,
+.tab-icon-image:not([src]) ~ .tab-close-button{ visibility: visible; z-index: 1 }
+.tab-icon-image:not([src]) ~ .tab-close-button{ margin-right:0px !important; }
+*/
+
+/*** Option 3 - No icon - show close-button when cursor is over the tab text ***/
+
+.tab-icon-image:hover ~ .tab-close-button,
+.tab-close-button:hover,
+.tab-icon-image:not([src]) ~ .tab-label-container:hover ~ .tab-close-button{ visibility: visible; z-index: 1 }
+.tab-icon-image:not([src]) ~ .tab-label-container:hover ~ .tab-close-button,
+.tab-icon-image:not([src]) ~ .tab-close-button:hover {margin-right: 0px !important; }
\ No newline at end of file
diff --git a/firefox/chrome/chrome/floating_findbar_on_top.css b/firefox/chrome/chrome/floating_findbar_on_top.css
new file mode 100644
index 0000000..6534fad
--- /dev/null
+++ b/firefox/chrome/chrome/floating_findbar_on_top.css
@@ -0,0 +1,45 @@
+findbar{
+ -moz-box-ordinal-group: 0;
+ margin-bottom: calc(0px - 2 * var(--toolbarbutton-inner-padding) - 25px);
+ position: relative;
+ border-top: none !important;
+ transition: transform 82ms linear, opacity 82ms linear 32ms !important;
+ background: none !important;
+ pointer-events: none;
+}
+
+.findbar-container > .findbar-find-fast{
+ padding: var(--toolbarbutton-inner-padding) 1px;
+ margin: 0 !important;
+}
+
+findbar[hidden]{ transform: translateY(-30px);}
+
+findbar > .findbar-container,
+findbar > .close-icon{
+ border: 1px solid var(--chrome-content-separator-color);
+ border-width: 0 0 1px 0px;
+ background: var(--uc-light-bkgnd-color,var(--toolbar-bgcolor)) !important;
+ pointer-events: auto;
+}
+findbar > .findbar-container{
+ -moz-box-direction: reverse;
+ border-left-width: 1px;
+}
+
+findbar > .findbar-container > hbox{ margin: 0 5px }
+
+findbar::before{
+ content:"";
+ display: -moz-box;
+ -moz-box-flex: 100;
+}
+
+/*
+Move findbar so it isn't over the scrollbar
+Delete if you want findbar to begin from right window edge
+*/
+findbar{
+ margin-right: 16px;
+ border-right: 1px solid var(--chrome-content-separator-color);
+}
\ No newline at end of file
diff --git a/firefox/chrome/chrome/hide_tabs_toolbar.css b/firefox/chrome/chrome/hide_tabs_toolbar.css
new file mode 100644
index 0000000..9c99400
--- /dev/null
+++ b/firefox/chrome/chrome/hide_tabs_toolbar.css
@@ -0,0 +1,29 @@
+/* Hide tabs toolbar Fx65+ */
+:root{--uc-toolbar-height: 32px}
+:root:not([uidensity="compact"]){--uc-toolbar-height: 38px}
+
+#TabsToolbar{visibility: collapse}
+#nav-bar,
+#PersonalToolbar{
+ background: transparent !important;
+}
+#navigator-toolbox{ background: var(--toolbar-bgcolor) var(--toolbar-bgimage) }
+
+#nav-bar{margin: calc(0px - var(--uc-toolbar-height)) 138px 0 0 }
+
+#toolbar-menubar{
+ min-height:unset !important;
+ height:var(--uc-toolbar-height) !important;
+ position: relative;
+}
+
+#main-menubar{
+ -moz-box-flex: 1;
+ background: var(--toolbar-non-lwt-bgcolor);
+ background-clip: padding-box;
+ border-right: 30px solid transparent;
+ border-image: linear-gradient(to left, transparent, var(--toolbar-non-lwt-bgcolor) 30px) 20 / 30px
+}
+
+#toolbar-menubar:not([inactive]){ z-index: 2 }
+#toolbar-menubar[inactive] > #menubar-items { opacity: 0 }
\ No newline at end of file
diff --git a/firefox/chrome/chrome/hide_tabs_with_one_tab.css b/firefox/chrome/chrome/hide_tabs_with_one_tab.css
new file mode 100644
index 0000000..f6edcf8
--- /dev/null
+++ b/firefox/chrome/chrome/hide_tabs_with_one_tab.css
@@ -0,0 +1,39 @@
+/* Makes tabs toolbar items zero-height initially and sets enlarge them to fill up space equal to tab-min-height set on tabs */
+/* Firefox 65+ only */
+/* !!USER!! - REMOVE ALL BUTTONS you can from the tabs toolbar */
+
+/* Configurable window drag space */
+:root[sizemode="normal"] #nav-bar{ --window-drag-space-width: 20px }
+
+#titlebar{ -moz-appearance: none !important; }
+#tabbrowser-tabs, #tabbrowser-tabs > .tabbrowser-arrowscrollbox{ min-height: 0 !important; }
+:root:not([customizing]) #tabbrowser-tabs .tabs-newtab-button,
+:root:not([customizing]) #TabsToolbar .titlebar-button{
+ -moz-appearance: none !important;
+ height: 0px;
+ padding-top: 0px !important;
+ padding-bottom: 0px !important;
+ -moz-box-align: stretch;
+ margin: 0 !important;
+}
+#tabbrowser-tabs .tabbrowser-tab{ height: var(--tab-min-height) }
+#tabbrowser-tabs .tabbrowser-tab[first-visible-tab="true"][last-visible-tab="true"]{
+ visibility: collapse !important;
+}
+
+/* Button re-styling */
+#tabbrowser-tabs .tabs-newtab-button:hover{ background-color: var(--toolbarbutton-hover-background) }
+#tabbrowser-tabs .tabs-newtab-button > .toolbarbutton-icon{
+ padding: 0 !important;
+ transform: scale(0.6);
+ background-color: transparent !important;
+}
+/* Extra top padding in maximized window */
+:root[sizemode="maximized"] > #navigator-toolbox{ padding-top:7px !important; }
+/* Fix window controls not being clickable */
+#toolbar-menubar:hover{
+ min-height: calc(var(--tab-min-height) + var(--space-above-tabbar) - 1px) !important;
+ height: calc(var(--tab-min-height) + var(--space-above-tabbar) - 1px) !important;
+ -moz-appearance: initial !important;
+}
+#nav-bar{ padding: 0 var(--window-drag-space-width,0px) }
\ No newline at end of file
diff --git a/firefox/chrome/chrome/hide_tabs_with_one_tab_w_window_controls.css b/firefox/chrome/chrome/hide_tabs_with_one_tab_w_window_controls.css
new file mode 100644
index 0000000..84200bd
--- /dev/null
+++ b/firefox/chrome/chrome/hide_tabs_with_one_tab_w_window_controls.css
@@ -0,0 +1,48 @@
+/* Makes tabs toolbar items zero-height initially and sets enlarge them to fill up space equal to tab-min-height set on tabs */
+/* Firefox 65+ only */
+/* !!USER!! - REMOVE ALL BUTTONS you can from the tabs toolbar */
+
+/* Configurable window drag space */
+:root[sizemode="normal"] #nav-bar{ --window-drag-space-width: 20px }
+
+#titlebar{ -moz-appearance: none !important; }
+/* We'll use window controls from menubar instead */
+#TabsToolbar > .titlebar-buttonbox-container { display: none }
+#tabbrowser-tabs, #tabbrowser-tabs > .tabbrowser-arrowscrollbox{ min-height: 0 !important; }
+
+#TabsToolbar > .titlebar-spacer[type="post-tabs"]{ width: 178px !important; }
+#toolbar-menubar > spacer{ pointer-events: none }
+
+:root:not([customizing]) #tabbrowser-tabs .tabs-newtab-button{
+ -moz-appearance: none !important;
+ height: 0px;
+ padding-top: 0px !important;
+ padding-bottom: 0px !important;
+ -moz-box-align: stretch;
+ margin: 0 !important;
+}
+#tabbrowser-tabs .tabbrowser-tab{ height: var(--tab-min-height) }
+#tabbrowser-tabs .tabbrowser-tab[first-visible-tab="true"][last-visible-tab="true"]{
+ visibility: collapse;
+}
+
+/* Button re-styling */
+#tabbrowser-tabs .tabs-newtab-button:hover{ background-color: var(--toolbarbutton-hover-background) }
+#tabbrowser-tabs .tabs-newtab-button > .toolbarbutton-icon{
+ padding: 0 !important;
+ transform: scale(0.6);
+ background-color: transparent !important;
+}
+/* Extra top padding in maximized window */
+:root[sizemode="maximized"] > #navigator-toolbox{ padding-top:7px !important; }
+
+/* Window controls in nav-bar */
+:root:not([customizing]) #toolbar-menubar[inactive]{
+ height: initial !important;
+ min-height: initial !important;
+ margin-bottom: -28px !important;
+}
+
+:root:not([customizing]) #toolbar-menubar[autohide][inactive] > #menubar-items{ pointer-events: none; opacity: 0 }
+
+#nav-bar{ padding-right: calc(3 * 46px + var(--window-drag-space-width,0px)); padding-left: var(--window-drag-space-width,0px)}
\ No newline at end of file
diff --git a/firefox/chrome/chrome/hide_toolbox_top_bottom_borders.css b/firefox/chrome/chrome/hide_toolbox_top_bottom_borders.css
new file mode 100644
index 0000000..3fe6799
--- /dev/null
+++ b/firefox/chrome/chrome/hide_toolbox_top_bottom_borders.css
@@ -0,0 +1,10 @@
+#main-window[sizemode="normal"]{ border-top: none !important }
+#navigator-toolbox::after{ content: none !important }
+
+/* OPTIONAL - uncomment to remove still remaining space atop of tabs */
+/* This just increases the height of tabs by few pixels, not decrease the toolbar height */
+
+/* Fx pre-65 */
+/* #navigator-toolbox > #TabsToolbar{margin-top: -2px;} */
+/* Fx65+ */
+/* #TabsToolbar > .toolbar-items > spacer{ display: none; } */
\ No newline at end of file
diff --git a/firefox/chrome/chrome/menubar_in_toolbar.css b/firefox/chrome/chrome/menubar_in_toolbar.css
new file mode 100644
index 0000000..f36606f
--- /dev/null
+++ b/firefox/chrome/chrome/menubar_in_toolbar.css
@@ -0,0 +1,7 @@
+#toolbar-menubar:not([inactive]) ~ #TabsToolbar{
+ margin-left:300px !important;
+ margin-top: -26px !important;
+}
+:root[sizemode="maximized"] #toolbar-menubar:not([inactive]) ~ #TabsToolbar{
+ margin-top: -28px !important;
+}
\ No newline at end of file
diff --git a/firefox/chrome/chrome/menubar_in_toolbar_oneliner_compatible.css b/firefox/chrome/chrome/menubar_in_toolbar_oneliner_compatible.css
new file mode 100644
index 0000000..cfab00e
--- /dev/null
+++ b/firefox/chrome/chrome/menubar_in_toolbar_oneliner_compatible.css
@@ -0,0 +1,11 @@
+/* Use with navbar_tabs_oneliner.css */
+
+#toolbar-menubar:not([inactive]) ~ #TabsToolbar{
+ margin-left:calc(var(--uc-navigationbar-width) + 300px ) !important;
+ margin-top: calc(0px - var(--uc-toolbar-height)) !important;
+ padding-left: 0px !important;
+}
+#toolbar-menubar:not([inactive]){
+ margin-left: var(--uc-navigationbar-width);
+ height: var(--uc-toolbar-height);
+}
\ No newline at end of file
diff --git a/firefox/chrome/chrome/minimal_text_fields.css b/firefox/chrome/chrome/minimal_text_fields.css
new file mode 100644
index 0000000..11b8550
--- /dev/null
+++ b/firefox/chrome/chrome/minimal_text_fields.css
@@ -0,0 +1,23 @@
+:root{
+ --lwt-toolbar-field-background-color: transparent !important;
+ --lwt-toolbar-field-border-color: transparent !important;
+}
+
+#urlbar,
+.searchbar-textbox{
+ box-shadow: none !important;
+}
+
+#urlbar > *,
+.searchbar-textbox > *{
+ opacity: 0;
+ transition: opacity 150ms linear
+}
+
+#urlbar > .urlbar-input-box,
+.searchbar-textbox > moz-input-box{ opacity: 0.6 }
+
+#urlbar:hover > *,
+#urlbar:focus-within > *,
+.searchbar-textbox:hover > *,
+.searchbar-textbox:focus-within > *{ opacity: 1 }
\ No newline at end of file
diff --git a/firefox/chrome/chrome/minimal_toolbarbuttons.css b/firefox/chrome/chrome/minimal_toolbarbuttons.css
new file mode 100644
index 0000000..54c91dd
--- /dev/null
+++ b/firefox/chrome/chrome/minimal_toolbarbuttons.css
@@ -0,0 +1,28 @@
+/* Create a circular placeholder for toolbarbutton and downscale to hide them */
+
+/* Create a placeholder for buttons */
+toolbar .toolbarbutton-1:not([open]),
+.titlebar-button{
+ background-image: radial-gradient(circle at center, var(--lwt-toolbarbutton-icon-fill) 0,var(--lwt-toolbarbutton-icon-fill) 10%,transparent 15% );
+}
+/* Hide placeholder on hover */
+toolbar:hover .toolbarbutton-1,.titlebar-buttonbox:hover > .titlebar-button{ background-image: none }
+
+toolbar .toolbarbutton-1 > *,
+.titlebar-button > *{
+ transform: scale(0);
+ transition: transform 82ms linear !important;
+}
+toolbar:hover .toolbarbutton-1 > *,
+.toolbarbutton-1[open] > *,
+.titlebar-buttonbox:hover > .titlebar-button > *{
+ transform: scale(1)
+}
+
+/* Urlbar icons, this way they show colors is applicable */
+.urlbar-icon{ transition: transform 82ms linear !important; }
+#urlbar:not(:hover) .urlbar-icon{ transform: scale(0.3) }
+
+/* The menu button has some margin on non-compact density which creates annnoying transitions */
+/* Lets remove that as well as border since this is minimal style anyway */
+#PanelUI-button{ border-left: 0px !important; margin-left: 0px !important; }
\ No newline at end of file
diff --git a/firefox/chrome/chrome/more_visible_tab_icon.css b/firefox/chrome/chrome/more_visible_tab_icon.css
new file mode 100644
index 0000000..9de2a57
--- /dev/null
+++ b/firefox/chrome/chrome/more_visible_tab_icon.css
@@ -0,0 +1,2 @@
+/* Makes black favicons more visible on dark background, contrast will be lowered though */
+.tab-icon-image{ filter: invert(40%) contrast(250%) saturate(250%) !important; }
\ No newline at end of file
diff --git a/firefox/chrome/chrome/multi-row_tabs.css b/firefox/chrome/chrome/multi-row_tabs.css
new file mode 100644
index 0000000..20c89b6
--- /dev/null
+++ b/firefox/chrome/chrome/multi-row_tabs.css
@@ -0,0 +1,27 @@
+/* Makes tabs to appear on multiple lines */
+/* Tab reordering will not work */
+
+#tabbrowser-tabs,
+#tabbrowser-tabs > .tabbrowser-arrowscrollbox{
+ min-height: unset !important;
+}
+#tabbrowser-tabs .scrollbox-innerbox{
+ display: flex;
+ flex-wrap: wrap;
+}
+#tabbrowser-tabs .arrowscrollbox-scrollbox {
+ overflow: -moz-hidden-unscrollable;
+ display: block;
+}
+.tabbrowser-tab{ max-height: 32px }
+
+.tabbrowser-tab[fadein]{
+ min-width: 100px !important;
+ flex-grow: 1;
+ /*
+ Uncomment to enable full-width tabs, also makes tab dragging a tiny bit more sensible
+ Don't set to none or you'll see errors in console when closing tabs
+ */
+ /*max-width: 100vw !important;*/
+}
+.tabbrowser-tab > stack{ width: 100%; height: 100% }
\ No newline at end of file
diff --git a/firefox/chrome/chrome/navbar_notabs.css b/firefox/chrome/chrome/navbar_notabs.css
new file mode 100644
index 0000000..74d73d3
--- /dev/null
+++ b/firefox/chrome/chrome/navbar_notabs.css
@@ -0,0 +1,53 @@
+/* Variables */
+:root {
+ --initial-width : 70px; /* initial width of the sidebar */
+ --sidebar-width : 250px; /* expanded width of the sidebar */
+ --toolbar-height : 0;
+ --menubar-height : -40px;
+ --toolmenubar-height: -40px; /* sum of previous two */
+ --shadow-color : #28282F; /* shadow color. set to #00000000 for no shadow. same as folder color from hntp and tab-hover color from tst*/
+}
+
+/* material firefox imports */
+@import "../global/variables.css";
+@import "../global/global.css";
+@import "../icons/icons.css";
+@import "../tabbar/tabbar.css";
+@import "../navbar/navbar.css";
+@import "../personalbar/personalbar.css";
+@import "../popup/popup.css";
+@import "../urlbar/urlbar.css";
+@import "../findbar/findbar.css";
+/* show bookmarks toolbar on new tab only */
+#main-window #PersonalToolbar {
+ visibility : collapse !important;
+ z-index : 1!important;
+ position : relative!important;
+ margin-left: var(--initial-width); /* shift toolbar to the right based on initial width */
+ margin-top : var(--toolbar-height) !important;
+}
+
+#main-window[title^="Firefox"] #PersonalToolbar {
+ visibility: visible !important;
+ margin-top: -1px !important;
+}
+
+/* Hide the title bar */
+#titlebar{ visibility: collapse; }
+
+/* hide normal horizontal tab bar */
+#TabsToolbar { visibility: collapse !important; }
+
+#sidebar { border-right: none !important; }
+
+toolbar#nav-bar {
+ padding-top : 12px;
+ padding-bottom: 7px;
+ margin-left : var(--initial-width);
+ padding-left : 7px;
+ border : none !important;
+}
+
+toolbar{
+ border: none !important;
+}
diff --git a/firefox/chrome/chrome/navbar_tabs_oneliner.css b/firefox/chrome/chrome/navbar_tabs_oneliner.css
new file mode 100644
index 0000000..48a4f2c
--- /dev/null
+++ b/firefox/chrome/chrome/navbar_tabs_oneliner.css
@@ -0,0 +1,27 @@
+/* Modify these to change relative widths or default height */
+#navigator-toolbox{ --uc-navigationbar-width: 40vw; --uc-toolbar-height: 40px; --window-drag-space-width: 0px}
+/* Override for other densities */
+:root[uidensity="compact"] > #navigator-toolbox{ --uc-toolbar-height: 32px; }
+:root[uidensity="touch"] > #navigator-toolbox{ --uc-toolbar-height: 40px; }
+
+/* prevent urlbar overflow on narrow windows */
+/* Dependent on how many items are in navigation toolbar ADJUST AS NEEDED */
+@media screen and (max-width: 1200px){
+ #urlbar-container{ min-width:unset !important }
+}
+
+#TabsToolbar{ margin-left: var(--uc-navigationbar-width); }
+#tabbrowser-tabs{ --tab-min-height: var(--uc-toolbar-height) !important; }
+/* This isn't useful when tabs start in the middle of the window */
+.titlebar-placeholder[type="pre-tabs"],
+.titlebar-spacer[type="pre-tabs"]{ display: none }
+#nav-bar{
+ margin-right:calc(100vw - var(--uc-navigationbar-width));
+ margin-top: calc(0px - var(--uc-toolbar-height));
+ padding-left: var(--window-drag-space-width);
+}
+/* 1px margin on touch density causes tabs to be too high */
+.tab-close-button{ margin-top: 0 }
+
+/* Hide dropdown placeholder */
+#urlbar-container:not(:hover) .urlbar-history-dropmarker{margin-inline-start: -28px;}
\ No newline at end of file
diff --git a/firefox/chrome/chrome/navbar_tabs_oneliner_menu_buttons_on_right.css b/firefox/chrome/chrome/navbar_tabs_oneliner_menu_buttons_on_right.css
new file mode 100644
index 0000000..41eb0e1
--- /dev/null
+++ b/firefox/chrome/chrome/navbar_tabs_oneliner_menu_buttons_on_right.css
@@ -0,0 +1,41 @@
+/* Modify these to change relative widths or default height */
+#navigator-toolbox{ --uc-navigationbar-width: 50vw; --uc-toolbar-height: 40px; --window-drag-space-width: 20px}
+/* reserved space for overflow + menu buttons */
+#navigator-toolbox{ --uc-buttons-width: calc(56px + 4 * var(--toolbarbutton-outer-padding) + var(--uc-menubutton-padding,6px))}
+#nav-bar:not([overflowing]) > #nav-bar-customization-target{ --uc-buttons-width: calc(28px + 2 * var(--toolbarbutton-outer-padding) + 6px) }
+/* Override for other densities */
+:root[uidensity="compact"] > #navigator-toolbox{ --uc-toolbar-height: 32px; --uc-menubutton-padding: 0px}
+:root[uidensity="touch"] > #navigator-toolbox{ --uc-toolbar-height: 40px; }
+
+/* prevent urlbar overflow on narrow windows */
+/* Dependent on how many items are in navigation toolbar ADJUST AS NEEDED */
+@media screen and (max-width: 1000px){
+ #urlbar-container{ min-width:unset !important }
+}
+
+#TabsToolbar{ margin-left: var(--uc-navigationbar-width); }
+#tabbrowser-tabs{ --tab-min-height: var(--uc-toolbar-height) !important; }
+/* This isn't useful when tabs start in the middle of the window */
+.titlebar-placeholder[type="pre-tabs"],.titlebar-spacer[type="pre-tabs"]{ width:8px !important}
+#nav-bar{
+ margin-right:calc(3 * 46px + var(--window-drag-space-width));
+ margin-top: calc(0px - var(--uc-toolbar-height));
+ padding-left: var(--window-drag-space-width);
+}
+#nav-bar-customization-target{ margin-right: calc(100vw - (var(--uc-navigationbar-width)) - var(--uc-buttons-width) - (3 * 46px) - var(--window-drag-space-width)) }
+#TabsToolbar > :not(hbox){ position: relative !important; z-index: 2 }
+.titlebar-placeholder[type="post-tabs"],
+.titlebar-spacer[type="post-tabs"]{
+ width: calc(var(--uc-buttons-width) + var(--window-drag-space-width)) !important;
+}
+#PanelUI-button,#nav-bar-overflow-button{
+ margin: 0px !important;
+ border: 0px !important;
+ position: relative;
+ z-index: 3;
+}
+/* 1px margin on touch density causes tabs to be too high */
+.tab-close-button{ margin-top: 0 }
+
+/* Hide dropdown placeholder */
+#urlbar-container:not(:hover) .urlbar-history-dropmarker{margin-inline-start: -28px;}
\ No newline at end of file
diff --git a/firefox/chrome/chrome/navbar_tabs_oneliner_tabs_on_left.css b/firefox/chrome/chrome/navbar_tabs_oneliner_tabs_on_left.css
new file mode 100644
index 0000000..e3370ae
--- /dev/null
+++ b/firefox/chrome/chrome/navbar_tabs_oneliner_tabs_on_left.css
@@ -0,0 +1,130 @@
+/* Modify these to change relative widths or default height */
+#navigator-toolbox{ --uc-navigationbar-width: 11vw; --uc-toolbar-height: 30px; --window-drag-space-width: 20px}
+/* Override for other densities */
+:root[uidensity="compact"] > #navigator-toolbox{ --uc-toolbar-height: 32px;}
+:root[uidensity="touch"] > #navigator-toolbox{ --uc-toolbar-height: 40px; }
+
+/* prevent urlbar overflow on narrow windows */
+/* Dependent on how many items are in navigation toolbar and tabs-/nav-bar ratio - ADJUST AS NEEDED */
+@media screen and (max-width: 1600px){
+ #urlbar-container{ min-width:unset !important }
+}
+
+
+#toolbar-menubar{ height:initial !important; }
+#toolbar-menubar[inactive] > #menubar-items{ opacity: 0; pointer-events: none; }
+#toolbar-menubar[inactive]{
+ margin-bottom: calc(0px - var(--uc-toolbar-height));
+ margin-left: 0px;
+}
+
+#TabsToolbar > .titlebar-buttonbox-container,
+#TabsToolbar > .toolbar-items > spacer,
+.titlebar-spacer[type="post-tabs"]{
+ display: none;
+ visibility: none;
+ max-width: 20px;
+}
+
+#TabsToolbar{
+ margin-right: calc(0px + var(--uc-navigationbar-width));
+ /* Remove empty space above tabs so that tabs are clickable at very top of screen */
+ margin-top: -2px;
+ margin-left: 10px;
+ z-index: 10;
+}
+#toolbar-menubar[autohide="true"] > .titlebar-buttonbox-container,
+#tabbrowser-tabs,
+.tabbrowser-tab[pinned]{
+ height: var(--uc-toolbar-height) !important;
+ min-height: var(--uc-toolbar-height) !important;
+ margin-left: -10px;
+}
+
+.tabbrowser-tab[selected]{
+ min-width: 200px !important;
+ box-shadow: 0px 0px 15px 4px #111;
+ /*margin-top: -10px;*/
+}
+
+.tabbrowser-tab[pinned]{
+ max-width: 35px !important;
+ min-width: 0px !important;
+}
+
+#nav-bar{
+ margin-left: calc(100vw - var(--uc-navigationbar-width));
+ margin-top: calc(0px - var(--uc-toolbar-height));
+ padding-right: calc(3 * 46px + var(--window-drag-space-width));
+}
+
+/* Hide dropdown placeholder */
+#urlbar-container:not(:hover) .urlbar-history-dropmarker{margin-inline-start: -28px;}
+
+
+/* Autohide Navbar */
+
+#nav-bar:not([customizing="true"]):not([inFullscreen]) {
+ /*visibility: collapse !important;*/
+ min-height: 0px !important;
+ max-height: 0px !important;
+ margin-top: -15px !important;
+ margin-bottom: 14px !important;
+ margin-right: 200px !important;
+ margin-left: 200px !important;
+ transition: all 300ms ease .5s !important;
+ z-index: -5 !important;
+ border-radius: 50px;
+ padding-left: 10px !important;
+ padding-right: 10px !important;
+}
+
+#navigator-toolbox:hover:not([inFullscreen]) :-moz-any(#nav-bar),
+#navigator-toolbox:focus-within :-moz-any(#nav-bar) {
+ /*visibility: visible !important;*/
+ min-height: 32px !important;
+ max-height: 32px !important;
+ margin-top: 5px !important;
+ margin-bottom: -38px !important;
+ transition: all 200ms ease 0s !important;
+ z-index: 5 !important;
+ border: 0px !important;
+ box-shadow: 3px 3px 8px 2px #111 !important;
+ }
+
+/* make urlbar rounded */
+#urlbar{
+ margin-top: 30px !important;
+ padding-right: 10px !important;
+ padding-left: 10px !important;
+}
+
+#urlbar-background{
+ border-radius: 50px !important;
+}
+
+#urlbar[open] > #urlbar-background{
+ animation-duration: 200ms !important;
+ border-radius: 15px !important;
+}
+
+#urlbar[breakout][breakout-extend] {
+ margin-top: 20px !important;
+ top: 0px !important;
+}
+
+#urlbar[breakout][breakout-extend] > #urlbar-input-container {
+ height: calc(var(--uc-toolbar-height) + 2 * 2px) !important;
+ padding-block: calc(2px + (var(--uc-toolbar-height) - var(--urlbar-height)) / 2);
+ padding-inline: calc(5px + 2px);
+}
+
+#nav-bar-customization-target{
+ margin-top: -15px;
+}
+#nav-bar-overflow-button{
+ margin-top: -15px !important;
+}
+#PanelUI-button{
+ margin-top: -15px !important;
+}
\ No newline at end of file
diff --git a/firefox/chrome/chrome/navigation_buttons_inside_urlbar.css b/firefox/chrome/chrome/navigation_buttons_inside_urlbar.css
new file mode 100644
index 0000000..b7987b8
--- /dev/null
+++ b/firefox/chrome/chrome/navigation_buttons_inside_urlbar.css
@@ -0,0 +1,60 @@
+/* Requires you to edit toolbar layout. Put buttons directly to the right of the urlbar in this order: */
+/* Actually, the order of reload and back-buttons doesn't matter */
+
+#urlbar{
+ margin-right:0px !important;
+ border-right:none !important;
+ border-top-right-radius: 0 !important;
+ border-bottom-right-radius: 0 !important;
+}
+
+#urlbar,
+#nav-bar-customization-target > .chromeclass-toolbar-additional[overflows="false"]:not(#downloads-button){
+ border-color: var(--lwt-toolbar-field-border-color, hsla(240,5%,5%,.25));
+}
+
+#nav-bar-customization-target > .chromeclass-toolbar-additional[overflows="false"]:not(#downloads-button){
+ margin: 3px 0 !important;
+ padding: 0 0px !important;
+ background-clip: padding-box;
+ border-style: solid;
+ border-width: 1px 0;
+ opacity: 1 !important;
+ background-color: var(--lwt-toolbar-field-background-color, hsla(0,0%,100%,.8));
+}
+
+#nav-bar-customization-target > .chromeclass-toolbar-additional[overflows="false"]:not(#downloads-button) .toolbarbutton-icon{
+ border: none !important;
+ border-radius: 0 !important;
+ margin: -3px 0 !important;
+ background-color:transparent;
+ width: calc(2 * var(--toolbarbutton-inner-padding) + 16px) !important;
+ height: calc(2 * var(--toolbarbutton-inner-padding) + 16px) !important;
+}
+
+#back-button{ --backbutton-background: transparent; --uc-back-extra-padding: 0px !important }
+
+#back-button > .toolbarbutton-icon{ padding: var(--toolbarbutton-inner-padding) }
+
+#nav-bar-customization-target > .chromeclass-toolbar-additional[overflows="false"]:not(#downloads-button):hover .toolbarbutton-icon{
+ background-color: transparent !important;
+ box-shadow: none !important;
+}
+
+#nav-bar-customization-target > .chromeclass-toolbar-additional[overflows="false"]:not(#downloads-button):not([disabled]):hover{
+ background-image: linear-gradient(to bottom, var(--uc-ext-active-color,hsla(0,0%,70%,.2)), var(--uc-ext-active-color,hsla(0,0%,70%,.2)))
+}
+
+#urlbar-container:focus-within ~ .chromeclass-toolbar-additional[overflows="false"]:not(#downloads-button){
+ border-color:Highlight !important;
+}
+
+#urlbar-container ~ .chromeclass-toolbar-additional[overflows="false"][disabled]:not(#downloads-button) .toolbarbutton-icon{ opacity: 0.4 !important }
+/* Change this if you want some other button to be the right-most one */
+#forward-button{
+ border-right-width: 1px !important;
+ border-radius: 0 2px 2px 0 !important;
+}
+
+#back-button, #back-button > image{ border-radius: 0 !important; }
+#stop-reload-button{ padding: 0 !important; }
\ No newline at end of file
diff --git a/firefox/chrome/chrome/page_action_buttons_on_hover.css b/firefox/chrome/chrome/page_action_buttons_on_hover.css
new file mode 100644
index 0000000..34da185
--- /dev/null
+++ b/firefox/chrome/chrome/page_action_buttons_on_hover.css
@@ -0,0 +1,14 @@
+/* Page action-buttons "slide in" when cursor is on top of them and don't reserve space when not used */
+
+#page-action-buttons > *[class^=urlbar-icon]{
+ margin-inline-end: -26px;
+ opacity: 0;
+ transition: margin-inline-end 200ms linear, opacity 200ms linear;
+}
+:root[uidensity="compact"] #page-action-buttons > *[class^=urlbar-icon]{ margin-inline-end: -22px; }
+#page-action-buttons:hover > *[class^=urlbar-icon],
+#page-action-buttons > *[class^=urlbar-icon][open],
+#page-action-buttons > *[class^=urlbar-icon][open] ~ *[class^=urlbar-icon]{
+ opacity: 1;
+ margin-inline-end: 0px !important;
+}
\ No newline at end of file
diff --git a/firefox/chrome/chrome/status_inside_urlbar.css b/firefox/chrome/chrome/status_inside_urlbar.css
new file mode 100644
index 0000000..89f3475
--- /dev/null
+++ b/firefox/chrome/chrome/status_inside_urlbar.css
@@ -0,0 +1,43 @@
+/* STATUSPANEL INSIDE URLBAR */
+
+#urlbar .urlbar-input-box{ display: -moz-stack; }
+/* -moz-stack causes an subtle issue where in certain scenarios a weirdly aligned "http(s)://" may show up */
+
+#urlbar .urlbar-input-box::after{
+ z-index: 2;
+ content: "";
+ width: 100%;
+ height: 100%;
+ pointer-events:none;
+ background: -moz-element(#statuspanel) left calc(90% - var(--toolbarbutton-outer-padding)) no-repeat !important;
+}
+
+#urlbar .urlbar-input-box::after{
+ display: -moz-box;
+}
+
+#statuspanel-inner > #statuspanel-label{
+ height:23px;
+ min-width: 500px;
+ background-color: var(--lwt-toolbar-field-background-color, hsla(0,0%,100%,.8)) !important;
+ border: none !important;
+ font-size: larger;
+ color: inherit !important;
+}
+/* If you use a theme where urlbar is partially transparent you should edit this color to something that closely matches the perceived color of urlbar. Or perhaps use background-image - linear-gradient() can work well here. But keep the color or image opaque or otherwise you'll face an issue where urlbar text bleeds through */
+#statuspanel-inner{ background-color: var(--toolbar-non-lwt-bgcolor) }
+
+#statuspanel{ color: lightpink; z-index: -1; }
+#statuspanel[type="status"] { color: skyblue }
+
+/* Don't show common values to save space (useful for oneliner) - safe to delete these */
+/* If you change the font size of the label then you'll have to modify these too */
+/* non-https links get a slight red hue */
+
+#statuspanel-inner > #statuspanel-label{ margin-left: -3px !important; }
+#statuspanel-inner > #statuspanel-label[value^="http"]{ margin-left: -3.7ch !important; }
+#statuspanel-inner > #statuspanel-label[value^="https"]{ margin-left: -6.1ch !important; color: var(--lwt-toolbar-field-color, black) !important}
+#statuspanel-inner > #statuspanel-label[value^="www"]{ margin-left: -4.5ch !important; }
+#statuspanel-inner > #statuspanel-label[value^="http://www"]{ margin-left: -9.7ch !important; }
+#statuspanel-inner > #statuspanel-label[value^="https://www"]{ margin-left: -10.1ch !important; }
+#statuspanel-inner{ margin-left: -1px; }
\ No newline at end of file
diff --git a/firefox/chrome/chrome/tab_close_button_always_on_hover.css b/firefox/chrome/chrome/tab_close_button_always_on_hover.css
new file mode 100644
index 0000000..49a0d48
--- /dev/null
+++ b/firefox/chrome/chrome/tab_close_button_always_on_hover.css
@@ -0,0 +1,7 @@
+/* Always show tab close button on hover and never otherwise */
+.tabbrowser-tab .tab-close-button{
+ display:none;
+}
+.tabbrowser-tab:not([pinned]):hover .tab-close-button{
+ display:-moz-box !important;
+}
\ No newline at end of file
diff --git a/firefox/chrome/chrome/tab_loading_progress_throbber.css b/firefox/chrome/chrome/tab_loading_progress_throbber.css
new file mode 100644
index 0000000..771293c
--- /dev/null
+++ b/firefox/chrome/chrome/tab_loading_progress_throbber.css
@@ -0,0 +1,44 @@
+/* Create a circular throbber inside tabs replacing the default one */
+/* Doesn't really measure loading progress but sort of looks like it */
+
+#tabbrowser-tabs{ --tab-loader-size: 18px; }
+.tabbrowser-tab .tab-throbber,
+.tabbrowser-tab[bursting] .tab-icon-image{
+ display: none !important;
+}
+.tabbrowser-tab .tab-content::before{
+ display: -moz-box;
+ content: "";
+ width:var(--tab-loader-size);
+ height:var(--tab-loader-size);
+ margin-right:6px;
+ background: center no-repeat url('data:image/svg+xml,') !important;
+ clip-path: polygon(50% 50%,50% 0%,50% 0%,50% 0%, 50% 0%,50% 0%, 50% 0%);
+ transition: clip-path 0.2s ease-out, opacity 0.3s linear 0.1s;
+}
+.tabbrowser-tab:-moz-any([busy],[bursting]) .tab-content{ padding-left: calc( 9px - (var(--tab-loader-size) - 16px)) !important; }
+.tabbrowser-tab[pinned] .tab-content::before{ margin-right: 0px }
+@keyframes loadprogress{
+ from{ clip-path: polygon(50% 50%,50% 0%,100% 0%,100% 50%, 100% 50%,100% 50%, 100% 50%); }
+ 25%{ clip-path: polygon(50% 50%,50% 0%,100% 0%,100% 100%, 100% 100%,100% 100%, 100% 100%); }
+ 50%{ clip-path: polygon(50% 50%,50% 0%,100% 0%,100% 100%, 0% 100%,0% 100%,0% 100%); }
+ 75%{ clip-path: polygon(50% 50%,50% 0%,100% 0%,100% 100%, 0% 100%,0% 0%,0% 0%); }
+ to{ clip-path: polygon(50% 50%,50% 0%,100% 0%,100% 100%, 0% 100%, 0% 0%, 50% 0%); }
+}
+@keyframes rotation{
+ from{ transform: rotateZ(0deg) }
+ to{ transform: rotateZ(360deg) }
+}
+.tabbrowser-tab:not([busy]):not([bursting]) .tab-content::before{ visibility: collapse; }
+.tabbrowser-tab:not([busy]) .tab-content::before{ opacity: 0 }
+.tabbrowser-tab[busy]:not([progress]) .tab-content::before{
+ clip-path: polygon(50% 50%,50% 0%,100% 0%,100% 50%, 100% 50%,100% 50%, 100% 50%);
+}
+.tabbrowser-tab[busy][progress] .tab-content::before{
+ animation: loadprogress 2s linear, rotation 0.7s linear 2s infinite !important;
+ animation-fill-mode: forwards !important;
+}
+.tabbrowser-tab[bursting] .tab-content::before{
+ clip-path: polygon(50% 50%,50% 0%,100% 0%,100% 100%, 0% 100%,0% 0%, 50% 0%) !important;
+}
+#tabbrowser-tabs[schedulepressure] .tab-content::before{ display:none !important; }
\ No newline at end of file
diff --git a/firefox/chrome/chrome/tabs_fill_available_width.css b/firefox/chrome/chrome/tabs_fill_available_width.css
new file mode 100644
index 0000000..6aef0f4
--- /dev/null
+++ b/firefox/chrome/chrome/tabs_fill_available_width.css
@@ -0,0 +1,2 @@
+/* Why 100vw? Tab closing requires width animation to end and "none" can't be animated */
+.tabbrowser-tab[fadein]{ max-width: 100vw !important }
\ No newline at end of file
diff --git a/firefox/chrome/chrome/theme_additional_windows.css b/firefox/chrome/chrome/theme_additional_windows.css
new file mode 100644
index 0000000..5ba9f4d
--- /dev/null
+++ b/firefox/chrome/chrome/theme_additional_windows.css
@@ -0,0 +1,66 @@
+/* Color editing should generally be done in theme_color_variables.css */
+
+/*!!! IMPORT theme_color_variables.css !!!*/
+
+/* Library window */
+@-moz-document url(chrome://browser/content/places/places.xul){
+ :root{ background-color: var(--uc-light-bkgnd-color,black) !important;}
+ #placesToolbar,
+ tree{
+ background: transparent !important;
+ color: var(--uc-text-color) !important;
+ }
+ textbox,
+ richlistbox,
+ treecol,
+ button{
+ -moz-appearance: none !important;
+ background-color: var(--uc-dark-bkgnd-color) !important;
+ color: var(--uc-text-color) !important;
+ }
+ treecol:not([hideheader]){ height: 24px; }
+ treecol:hover{ filter: brightness(160%) }
+ treechildren::-moz-tree-row(multicol, odd){ background-color: rgba(0,0,0,0.2) !important; }
+ treechildren::-moz-tree-row(hover),button:hover{ background-color: var(--uc-active-color) !important; }
+ treechildren::-moz-tree-row(selected){ background-color: var(--uc-border-color) !important; }
+ button{ padding: 3px }
+ #placesMenu > menu{ border: none !important; }
+ #detailsDeck{ color: var(--uc-text-color) }
+}
+
+/* Page-info window */
+@-moz-document url(chrome://browser/content/pageinfo/pageInfo.xul){
+ #main-window,
+ #topBar{
+ background-color: var(--uc-dark-bkgnd-color,black) !important;
+ color: var(--uc-text-color,white) !important;
+ }
+ textbox{ color: var(--uc-text-color) !important; }
+
+ richlistbox,
+ treecol,
+ button,
+ #permList{
+ -moz-appearance: none !important;
+ background-color: var(--uc-light-bkgnd-color) !important;
+ color: var(--uc-text-color) !important;
+ }
+ tree{
+ background: transparent !important;
+ color: var(--uc-text-color) !important;
+ }
+ treecol:not([hideheader]){ height: 24px; }
+ treecol:hover{ filter: brightness(140%) }
+ treechildren{ background-color: var(--uc-light-bkgnd-color) !important; }
+ treechildren::-moz-tree-row(multicol, odd){ background-color: rgba(0,0,0,0.2) !important; }
+ treechildren::-moz-tree-row(hover),
+ button:hover,
+ radiogroup > radio:hover,
+ #permList > .permission:hover{
+ background-color: var(--uc-active-color) !important;
+ }
+ treechildren::-moz-tree-row(selected),
+ radiogroup > radio[selected]{
+ background-color: var(--uc-border-color) !important;
+ }
+}
\ No newline at end of file
diff --git a/firefox/chrome/chrome/theme_color_variables.css b/firefox/chrome/chrome/theme_color_variables.css
new file mode 100644
index 0000000..ad62116
--- /dev/null
+++ b/firefox/chrome/chrome/theme_color_variables.css
@@ -0,0 +1,8 @@
+/* Color controls for theme_***.css files */
+:root{
+ --uc-dark-bkgnd-color: #2b2b2b;
+ --uc-light-bkgnd-color: rgb(24, 24, 24);
+ --uc-active-color: rgb(59, 59, 59);
+ --uc-text-color: rgb(228, 228, 228);
+ --uc-border-color: rgb(172, 172, 172);
+}
diff --git a/firefox/chrome/chrome/theme_popups_and_menus.css b/firefox/chrome/chrome/theme_popups_and_menus.css
new file mode 100644
index 0000000..3f0526f
--- /dev/null
+++ b/firefox/chrome/chrome/theme_popups_and_menus.css
@@ -0,0 +1,135 @@
+/* Makes popups, menus and context menus dark */
+/* Color editing should generally be done in theme_color_variables.css */
+
+/*!!! IMPORT theme_color_variables.css !!!*/
+
+/* Limit popups for general browser popups so that devtools is not affected */
+@-moz-document url-prefix(chrome://browser/content/){
+:root{ --panel-disabled-color: #888 !important; }
+
+.panel-arrowcontent,
+#alltabs-popup .arrowscrollbox-scrollbox,
+menupopup:not(#BMB_bookmarksPopup),
+.textbox-contextmenu{
+ border: 1px solid #434850 !important;
+ background: var(--uc-dark-bkgnd-color) !important;
+ border-radius: 5px !important;
+ color: var(--uc-text-color) !important;
+}
+
+/* bookmarks menu is different from others */
+#BMB_bookmarksPopup{
+ background-color: unset !important;
+}
+
+/* GENERAL */
+menupopup,
+menuitem,
+menu{
+ -moz-appearance: none !important;
+}
+
+menupopup{
+ background-color:var(--uc-dark-bkgnd-color) !important;
+ border:none;
+}
+
+menuitem,
+menu{
+ min-height:24px !important;
+ color: var(--uc-text-color) !important;
+}
+
+menuitem[disabled="true"],
+menu[disabled="true"]{
+ color: black !important;
+ text-shadow: 0 0 4px silver !important;
+}
+
+menuitem:hover,
+menu:hover{
+ background-color:var(--uc-active-color) !important;
+}
+
+menuitem[disabled="true"]:hover,
+menu[disabled="true"]:hover{
+ background-color: transparent !important;
+}
+
+.menu-right{ filter: invert(100%) }
+#context-navigation{ background-color: transparent !important; }
+
+/* POPUP PANELS */
+
+.panel-subviews,
+#mainPopupSet menupopup,
+#main-menubar menupopup,
+#bookmarks-menu-button menu menupopup > hbox,
+.search-panel-header.search-panel-current-engine,
+.search-panel-current-input,
+panelview,
+.PanelUI-subView,
+.autocomplete-richlistbox{
+ background-color: var(--uc-dark-bkgnd-color) !important;
+}
+
+.subviewbutton:hover,
+#widget-overflow-mainView .toolbarbutton-1:hover,
+#PopupAutoCompleteRichResult .autocomplete-richlistitem:hover,
+#PopupSearchAutoComplete .autocomplete-richlistitem:hover{
+ background-color: var(--uc-active-color) !important;
+}
+
+#widget-overflow-mainView #searchbar > .searchbar-textbox{
+ background-color: var(--uc-light-bkgnd-color) !important;
+ color: var(--uc-text-color) !important;
+}
+
+panelview toolbarbutton.subviewbutton .toolbarbutton-text,
+#downloadsFooter,
+#customizationui-widget-panel label,
+.autocomplete-richlistitem .ac-title,
+#widget-overflow-mainView toolbarbutton,
+#bookmarks-menu-button menu menupopup,
+#PopupSearchAutoComplete .autocomplete-tree.plain.search-panel-tree,
+#PanelUI-contents toolbarbutton,
+#alltabs_containersTab,
+#PopupAutoCompleteRichResult .ac-title,
+#PopupAutoCompleteRichResult .search-one-offs,
+.search-panel-input-value{
+ color: var(--uc-text-color)!important;
+}
+
+#alltabs-popup,
+#alltabs_containersMenuTab{
+ border: none !important;
+}
+
+.search-panel-one-offs,
+.downloadsPanelFooterButton:not(:hover),
+#overflowMenu-customize-button:not(:hover),
+#searchbar-anon-search-settings{
+ background-color: var(--uc-light-bkgnd-color) !important;
+}
+
+#PopupAutoCompleteRichResult .ac-emphasize-text.ac-emphasize-text-title{
+ color: var(--uc-border-color) !important;
+}
+
+#editBookmarkPanel textbox,
+#editBookmarkPanel menulist,
+#editBookmarkPanel button,
+#editBookmarkPanel richlistbox,
+#editBookmarkPanel tree{
+ -moz-appearance: none !important;
+ background-color: var(--uc-light-bkgnd-color) !important;
+ color: var(--uc-text-color) !important;
+}
+
+#editBookmarkPanel button:hover{ filter: brightness(150%) }
+#editBookmarkPanel menulist{ padding: 4px !important; }
+#editBookmarkPanel button{ padding: 3px !important; }
+
+#editBMPanel_folderTree treechildren::-moz-tree-cell(selected){ background-color: var(--uc-border-color) !important; }
+#editBMPanel_folderTree treechildren::-moz-tree-cell(hover){ background-color: var(--uc-active-color) !important; }
+}
\ No newline at end of file
diff --git a/firefox/chrome/chrome/theme_sidebar.css b/firefox/chrome/chrome/theme_sidebar.css
new file mode 100644
index 0000000..7b74c18
--- /dev/null
+++ b/firefox/chrome/chrome/theme_sidebar.css
@@ -0,0 +1,43 @@
+/* Colors for bookmarks and history sidebars */
+/* Color editing should generally be done in theme_color_variables.css */
+
+/*!!! IMPORT theme_color_variables.css !!!*/
+
+#sidebar-box{ --toolbar-non-lwt-bgcolor: var(--uc-light-bkgnd-color) }
+
+#sidebar-search-container #search-box{
+ -moz-appearance:none !important;
+ background-color: var(--uc-dark-bkgnd-color) !important;
+ border: none !important;
+ color: var(--uc-text-color) !important;
+}
+
+#history-panel,
+#bookmarksPanel,
+#sidebar-header{
+ background-color: var(--uc-light-bkgnd-color) !important;
+ color: var(--uc-text-color) !important;
+ border-top: none !important;
+ border-bottom:none !important;
+ scrollbar-color: rgb(210,210,210) var(--uc-light-bkgnd-color) !important;
+}
+
+.sidebar-placesTreechildren,
+#sidebar-box,
+#sidebar-header{
+ color: var(--uc-text-color) !important;
+}
+
+.sidebar-placesTreechildren::-moz-tree-cell{
+ outline:none;
+ border-radius:0px;
+ background-image:none;
+}
+
+.sidebar-placesTreechildren::-moz-tree-cell(selected){
+ background-color: var(--uc-border-color) !important;
+}
+
+.sidebar-placesTreechildren::-moz-tree-cell(hover){
+ background-color: var(--uc-active-color) !important;
+}
\ No newline at end of file
diff --git a/firefox/chrome/chrome/theme_toolbars.css b/firefox/chrome/chrome/theme_toolbars.css
new file mode 100644
index 0000000..17f7324
--- /dev/null
+++ b/firefox/chrome/chrome/theme_toolbars.css
@@ -0,0 +1,118 @@
+/* General toolbar coloring - buttons, text, findbar etc. */
+/* Color editing should generally be done in theme_color_variables.css */
+
+/*!!! IMPORT theme_color_variables.css !!!*/
+
+/* Override some default variables - stylesheet compatibility */
+:root{
+ --lwt-toolbar-field-background-color: var(--uc-dark-bkgnd-color) !important;
+ --lwt-toolbar-field-border-color: transparent !important;
+ --toolbar-bgcolor: var(--uc-dark-bkgnd-color) !important;
+}
+#nav-bar{--uc-ext-active-color: var(--uc-active-color);}
+
+#navigator-toolbox > toolbar:not(#toolbar-menubar):not(#TabsToolbar),
+#browser-bottombox,
+findbar{
+ background-color: var(--uc-light-bkgnd-color) !important;
+ color: var(--uc-text-color) !important;
+}
+
+findbar{ background-image: none !important; }
+
+#TabsToolbar,
+#toolbar-menubar,
+.findbar-find-previous,
+.findbar-find-next,
+#urlbar,
+.findbar-textbox,
+.searchbar-textbox{
+ color: var(--uc-text-color) !important;
+}
+
+#TabsToolbar,
+#toolbar-menubar{
+ background-color: var(--uc-light-bkgnd-color) !important;
+}
+
+.findbar-find-previous,
+.findbar-find-next{
+ background-color: var(--lwt-toolbar-field-background-color) !important;
+}
+
+#urlbar{ border-color: transparent !important; }
+
+#urlbar[focused]{
+ border-color: var(--uc-border-color) !important;
+}
+
+#urlbar .urlbar-icon:hover{
+ box-shadow: none !important;
+}
+
+#tabbrowser-tabs,
+.search-panel-input-value,
+.titlebar-buttonbox-container,
+.tab-close-button{
+ color: var(--uc-text-color) !important;
+}
+
+.toolbarbutton-icon:hover, toolbarbutton:hover > stack{ border-radius: 2px !important; }
+:root:not([uidensity="compact"]) #back-button > .toolbarbutton-icon{ border-radius: 10000px !important; }
+
+.toolbarbutton-1:not([disabled]):hover > .toolbarbutton-icon,
+.toolbarbutton-1:not([disabled]):hover > stack,
+.toolbarbutton-1[open="true"] > .toolbarbutton-icon,
+.toolbarbutton-1[open="true"] > stack,
+.toolbarbutton-1[checked="true"] > .toolbarbutton-icon,
+.toolbarbutton-1[checked="true"] > stack,
+#PlacesToolbarItems .bookmark-item:hover,
+#page-action-buttons image:hover,
+.urlbar-icon:hover,
+#TabsToolbar .scrollbutton-down:hover,
+#TabsToolbar .scrollbutton-up:hover{
+ background-color: var(--uc-active-color) !important;
+ box-shadow: inset 0 0 0px 0px var(--uc-border-color) !important;
+}
+
+findbar toolbarbutton:not([disabled]):not(.close-icon):hover,
+findbar toolbarbutton[checked="true"],
+findbar > .findbar-closebutton:hover > .toolbarbutton-icon{
+ background-color: var(--uc-active-color) !important;
+}
+
+.findbar-textbox:not(.minimal){ border-right: none !important; }
+.findbar-find-next{ border-left: none !important; }
+.findbar-textbox:focus-within ~ toolbarbutton{ border-color: var(--toolbar-field-focus-border-color, Highlight) !important; }
+
+/* Override some special cases */
+#TabsToolbar .scrollbutton-down > .toolbarbutton-icon,
+#TabsToolbar .scrollbutton-up > .toolbarbutton-icon,
+#downloads-indicator-anchor,
+#PersonalToolbar .bookmark-item > .toolbarbutton-icon,
+#titlebar .titlebar-button > .toolbarbutton-icon,
+#widget-overflow-mainView toolbarbutton > stack,
+#widget-overflow-mainView toolbarbutton > .toolbarbutton-icon{
+ background-color: transparent !important;
+ box-shadow: none !important;
+}
+
+#back-button {--backbutton-background: rgb(66,74,89) }
+
+.toolbarbutton-1{ fill: var(--uc-text-color) !important; }
+
+.tab-line{
+ height:0px !important;
+ border-bottom: solid 1px rgb(16, 69, 87) !important;
+}
+
+
+/* commented out to remove gradient from active tab */
+/*
+.tabbrowser-tab[selected] .tab-background{
+ background-image: linear-gradient(var(--uc-active-color) 75%,var(--uc-light-bkgnd-color)) !important;
+ box-shadow:0 3px 1px -1px white inset,
+ 0 10px 4px -5px var(--uc-border-color) inset,
+ 0 -2px 0 rgba(0,0,0,.06) inset !important;
+}
+*/
\ No newline at end of file
diff --git a/firefox/chrome/chrome/toggle_bookmarksbar_with_alt.css b/firefox/chrome/chrome/toggle_bookmarksbar_with_alt.css
new file mode 100644
index 0000000..833850d
--- /dev/null
+++ b/firefox/chrome/chrome/toggle_bookmarksbar_with_alt.css
@@ -0,0 +1,13 @@
+/* Pretty much requires either menubar_in-toolbar or the oneliner compatible one */
+/* Otherwise the changing vertical position causes bookmarks to be unclickable */
+/* NOT COMPATIBLE with Fx65+ */
+#main-window[sizemode="normal"]:not([customizing]) #PersonalToolbar{
+ transition: margin 0.15s ease-in-out 50ms, z-index 16ms linear 100ms!important;
+ height: 28px;
+ position: relative;
+ z-index: 1;
+}
+:root:not([customizing]) #toolbar-menubar[inactive] ~ #PersonalToolbar:not(:hover){
+ margin-top:-28px;
+ z-index: -1;
+}
\ No newline at end of file
diff --git a/firefox/chrome/chrome/urlbar_visible_on_active_tab_click.css b/firefox/chrome/chrome/urlbar_visible_on_active_tab_click.css
new file mode 100644
index 0000000..980eff2
--- /dev/null
+++ b/firefox/chrome/chrome/urlbar_visible_on_active_tab_click.css
@@ -0,0 +1,21 @@
+/* NOTE This only works if tabs are on top */
+.urlbar-input-box::before{
+ content:"";
+ display: block;
+ position: fixed;
+ top:0;
+ left:0;
+ width:100vw;
+ height:32px;
+}
+.tabbrowser-tab,
+#TabsToolbar toolbarbutton{
+ position: relative;
+ z-index: 2
+}
+#navigator-toolbox:not(:focus-within) .tabbrowser-tab[visuallyselected]{ z-index: 0 !important; }
+
+:root:not([customizing]) #urlbar{ opacity: 0; transition: opacity 200ms ease-in-out }
+:root:not([customizing]) #urlbar:focus-within{ opacity: 1 }
+
+#toolbar-menubar{ position: relative; z-index:3 }
\ No newline at end of file
diff --git a/firefox/chrome/content/about_page_scrollbars.css b/firefox/chrome/content/about_page_scrollbars.css
new file mode 100644
index 0000000..87e4f1d
--- /dev/null
+++ b/firefox/chrome/content/about_page_scrollbars.css
@@ -0,0 +1,8 @@
+@namespace xul url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
+@-moz-document url-prefix("about:"){
+ xul|page,
+ xul|scrollbar{
+ scrollbar-color: rgb(210,210,210) rgb(44, 46, 49);
+ scrollbar-width: thin;
+ }
+}
\ No newline at end of file
diff --git a/firefox/chrome/content/css_scrollbar_width_color.css b/firefox/chrome/content/css_scrollbar_width_color.css
new file mode 100644
index 0000000..1ca1977
--- /dev/null
+++ b/firefox/chrome/content/css_scrollbar_width_color.css
@@ -0,0 +1,4 @@
+/* Scrollbar colors and width - applied globally */
+@namespace url("http://www.w3.org/1999/xhtml");
+:root{ scrollbar-color: rgb(210,210,210) rgb(48, 50, 53) }
+*{ scrollbar-width: thin }
\ No newline at end of file
diff --git a/firefox/chrome/content/limit_css_data_leak.css b/firefox/chrome/content/limit_css_data_leak.css
new file mode 100644
index 0000000..b0055a3
--- /dev/null
+++ b/firefox/chrome/content/limit_css_data_leak.css
@@ -0,0 +1,37 @@
+/* Limit CSS data leak, POTENTIALLY BREAKS SOME SITES */
+@namespace html url("http://www.w3.org/1999/xhtml");
+
+body input:not([value=""])[type],
+body input:not([value=""])[type]:focus ~ *,
+body input:not([value=""])[type] * {
+ background-image: none !important;
+ border-image: none !important;
+ font-family: inherit !important;
+ list-style-image: none !important;
+ cursor: unset !important;
+ content: none !important;
+}
+body input:not([value=""])[type]::before,
+body input:not([value=""])[type]:focus ~ *::before,
+body input:not([value=""])[type] *::before,
+body input:not([value=""])[type]::after,
+body input:not([value=""])[type]:focus ~ *::after,
+body input:not([value=""])[type] *::after {
+ content:none !important;
+}
+
+/* Remove the comment to apply more strict version, causes even more trouble */
+/*
+body input:not([value=""])[type] ~ *{
+ background-image: none !important;
+ border-image: none !important;
+ font-family: inherit !important;
+ list-style-image: none !important;
+ cursor: unset !important;
+ content: none !important;
+}
+body input:not([value=""])[type] ~ *::before,
+body input:not([value=""])[type] ~ *::after{
+ content:none !important;
+}
+*/
\ No newline at end of file
diff --git a/firefox/chrome/content/newtab_background_color.css b/firefox/chrome/content/newtab_background_color.css
new file mode 100644
index 0000000..d5985cc
--- /dev/null
+++ b/firefox/chrome/content/newtab_background_color.css
@@ -0,0 +1,6 @@
+@namespace url("http://www.w3.org/1999/xhtml");
+
+@-moz-document url("about:home"),url("about:blank"),url("about:newtab"),url("about:privatebrowsing"){
+ body{background-color: rgb(44,44,44) !important;
+ color:white}
+}
\ No newline at end of file
diff --git a/firefox/chrome/content/transparent_reader_toolbar.css b/firefox/chrome/content/transparent_reader_toolbar.css
new file mode 100644
index 0000000..444aa55
--- /dev/null
+++ b/firefox/chrome/content/transparent_reader_toolbar.css
@@ -0,0 +1,12 @@
+/* Toolbar is invisible until hovered */
+
+@namespace html url("http://www.w3.org/1999/xhtml");
+
+@-moz-document url-prefix("about:reader"){
+ .reader-toolbar, .reader-toolbar .button:not(:hover) {
+ background-color: transparent !important;
+ border: none !important;
+ }
+ .reader-toolbar:not(:hover)>*:not([open]){ visibility:hidden; }
+ body{ text-align: justify; }
+}
\ No newline at end of file
diff --git a/firefox/chrome/findbar/findbar.css b/firefox/chrome/findbar/findbar.css
new file mode 100755
index 0000000..aac8cf3
--- /dev/null
+++ b/firefox/chrome/findbar/findbar.css
@@ -0,0 +1,65 @@
+.findbar-textbox
+{
+ background-color: transparent !important;
+ background-image: url(../icons/search.svg) !important;
+ background-repeat: no-repeat !important;
+ background-position: 5px center !important;
+ fill-opacity: 1 !important;
+ border: 0 !important;
+ box-shadow: none !important;
+ margin-inline-start: 2px !important;
+ padding-inline-start: 28px !important;
+}
+
+hbox[anonid="findbar-textbox-wrapper"]
+{
+ background-color: var(--toolbar-field-background-color) !important;
+ border-radius: 16px !important;
+ position: relative !important;
+ display: flex !important;
+ padding: 2px !important;
+ transition: background-color .1s var(--ease-basic) !important;
+}
+
+hbox[anonid="findbar-textbox-wrapper"]:hover
+{
+ background-color: var(--toolbar-field-hover-background-color) !important;
+}
+
+hbox[anonid="findbar-textbox-wrapper"]:focus-within
+{
+ background-color: var(--toolbar-field-focus-background-color) !important;
+ border: 2px solid var(--toolbar-field-focus-border-color) !important;
+ margin: -1px !important;
+ padding: 1px !important;
+}
+
+hbox[anonid="findbar-textbox-wrapper"] toolbarbutton
+{
+ border-radius: 99px !important;
+ border: 0 !important;
+ width: 24px !important;
+ height: 24px !important;
+ padding: 0 !important;
+ display: flex !important;
+ background: 0 !important;
+ transition: background-color .2s var(--ease-basic) !important;
+ margin: 0 !important;
+ box-shadow: none !important;
+}
+
+hbox[anonid="findbar-textbox-wrapper"] toolbarbutton .toolbarbutton-text
+{
+ visibility: collapse !important;
+}
+
+hbox[anonid="findbar-textbox-wrapper"] toolbarbutton:not([disabled]):hover
+{
+ background-color: var(--toolbarbutton-hover-background) !important;
+}
+
+hbox[anonid="findbar-textbox-wrapper"] toolbarbutton:not([disabled]):hover:active
+{
+ background-color: var(--toolbarbutton-active-background) !important;
+ transition-duration: 0 !important;
+}
\ No newline at end of file
diff --git a/firefox/chrome/global/circle.svg b/firefox/chrome/global/circle.svg
new file mode 100644
index 0000000..b4b4617
--- /dev/null
+++ b/firefox/chrome/global/circle.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/firefox/chrome/global/global.css b/firefox/chrome/global/global.css
new file mode 100755
index 0000000..98ddb67
--- /dev/null
+++ b/firefox/chrome/global/global.css
@@ -0,0 +1,308 @@
+@media (-moz-windows-compositor)
+{
+ @media not (-moz-os-version: windows-win7)
+ {
+ @media not (-moz-os-version: windows-win8)
+ {
+ @media (-moz-windows-default-theme)
+ {
+ :root[tabsintitlebar] .titlebar-buttonbox-container
+ {
+ height: 30px !important;
+ }
+
+ :root[tabsintitlebar][sizemode=normal] .titlebar-buttonbox-container
+ {
+ margin-block-start: calc(0px - (var(--space-above-tabbar) + 5px)) !important;
+ }
+
+ :root[tabsintitlebar][sizemode=maximized] .titlebar-buttonbox-container
+ {
+ margin-block-start: calc(2px - (var(--space-above-tabbar))) !important;
+ }
+
+ :root[tabsintitlebar][sizemode=maximized]:not([extradragspace]) .titlebar-buttonbox-container
+ {
+ -moz-box-align: start !important;
+ margin-block-start: -5px !important;
+ }
+
+ @media (-moz-windows-accent-color-in-titlebar: 0)
+ {
+ :root[tabsintitlebar]:not(:-moz-lwtheme):not([privatebrowsingmode=temporary])
+ {
+ background-color: #dee1e6 !important;
+ color: #3c4043 !important;
+ }
+
+ :root[tabsintitlebar]:not(:-moz-lwtheme):not([privatebrowsingmode=temporary]):-moz-window-inactive
+ {
+ background-color: #e7eaed !important;
+ color: #666a6d !important;
+ }
+ }
+ }
+ }
+ }
+}
+
+#navigator-toolbox :-moz-any(toolbar, #nav-bar-customization-target):not(#toolbar-menubar)
+{
+ -moz-box-align: center !important;
+}
+
+#navigator-toolbox :-moz-any(.toolbarbutton-1, toolbarbutton.bookmark-item:not(.subviewbutton)),
+/* no ::part workaround - may have side effects */
+#scrollbutton-up[part="scrollbutton-up"]:not(.menupopup-scrollbutton),
+#scrollbutton-down[part="scrollbutton-down"]:not(.menupopup-scrollbutton)
+{
+ border-radius: 99px !important;
+ transition-property:
+ background-color,
+ background-size,
+ fill-opacity !important;
+ transition-duration: .3s !important;
+ transition-timing-function:
+ var(--ease-basic),
+ var(--ease-out),
+ var(--ease-basic) !important;
+
+ fill: currentColor !important;
+ fill-opacity: 0 !important;
+
+ background-image:
+ url(circle.svg),
+ url(circle.svg) !important;
+ background-size: 25% !important;
+ background-repeat: no-repeat !important;
+ background-position: center !important;
+ background-color: transparent !important;
+}
+
+#navigator-toolbox :-moz-any(.toolbarbutton-1, toolbarbutton.bookmark-item:not(.subviewbutton)),
+/* no ::part workaround - may have side effects */
+#scrollbutton-up[part="scrollbutton-up"]:not(.menupopup-scrollbutton),
+#scrollbutton-down[part="scrollbutton-down"]:not(.menupopup-scrollbutton)
+{
+ font-size: 12px !important;
+ padding: 0 !important;
+ margin: 0 !important;
+ border: 2px solid transparent !important;
+ background-clip: padding-box !important;
+}
+
+#navigator-toolbox :-moz-any(.toolbarbutton-1, .scrollbutton-up, .scrollbutton-down),
+/* no ::part workaround - may have side effects */
+.#scrollbutton-up[part="scrollbutton-up"]:not(.menupopup-scrollbutton),
+.#scrollbutton-down[part="scrollbutton-down"]:not(.menupopup-scrollbutton)
+{
+ max-height: 32px !important;
+ height: 32px !important;
+ min-height: 32px !important;
+}
+
+#navigator-toolbox :-moz-any(.toolbarbutton-1, toolbarbutton.bookmark-item:not(.subviewbutton))[disabled],
+/* no ::part workaround - may have side effects */
+#scrollbutton-up[part="scrollbutton-up"]:not(.menupopup-scrollbutton)[disabled],
+#scrollbutton-down[part="scrollbutton-down"]:not(.menupopup-scrollbutton)[disabled]
+{
+ opacity: .42 !important;
+}
+
+#navigator-toolbox :-moz-any(.toolbarbutton-1, toolbarbutton.bookmark-item:not(.subviewbutton)):hover:not([disabled]),
+#navigator-toolbox :-moz-any(.toolbarbutton-1, toolbarbutton.bookmark-item:not(.subviewbutton)):-moz-any(:hover:active, [checked], [open]):not([disabled]),
+/* no ::part workaround - may have side effects */
+#scrollbutton-up[part="scrollbutton-up"]:not(.menupopup-scrollbutton):hover:not([disabled]),
+#scrollbutton-down[part="scrollbutton-down"]:not(.menupopup-scrollbutton):hover:not([disabled])
+{
+ background-color: var(--toolbarbutton-hover-background) !important;
+}
+
+#navigator-toolbox :-moz-any(.toolbarbutton-1, toolbarbutton.bookmark-item:not(.subviewbutton)):-moz-any(:hover:active, [checked], [open]):not([disabled]),
+/* no ::part workaround - may have side effects */
+#scrollbutton-up[part="scrollbutton-up"]:not(.menupopup-scrollbutton):hover:active:not([disabled]),
+#scrollbutton-down[part="scrollbutton-down"]:not(.menupopup-scrollbutton):hover:active:not([disabled])
+{
+ fill-opacity: .04 !important;
+ background-size: 100% !important;
+}
+
+#navigator-toolbox :-moz-any(.toolbarbutton-icon, .toolbarbutton-badge-stack),
+/* no ::part workaround - may have side effects */
+#scrollbutton-up[part="scrollbutton-up"]:not(.menupopup-scrollbutton) > .toolbarbutton-icon,
+#scrollbutton-down[part="scrollbutton-down"]:not(.menupopup-scrollbutton) > .toolbarbutton-icon
+{
+ fill-opacity: 1 !important;
+ border: 0 !important;
+ box-shadow: none !important;
+}
+
+#navigator-toolbox .toolbarbutton-1 > .toolbarbutton-icon
+{
+ width: calc(2 * var(--toolbarbutton-inner-padding) + 16px) !important;
+ height: calc(2 * var(--toolbarbutton-inner-padding) + 16px) !important;
+}
+
+#navigator-toolbox > #PersonalToolbar .toolbarbutton-1 > .toolbarbutton-icon,
+#navigator-toolbox .toolbarbutton-1 > :-moz-any(.toolbarbutton-icon, .toolbarbutton-badge-stack),
+/* no ::part workaround - may have side effects */
+#scrollbutton-up[part="scrollbutton-up"]:not(.menupopup-scrollbutton) > .toolbarbutton-icon,
+#scrollbutton-down[part="scrollbutton-down"]:not(.menupopup-scrollbutton) > .toolbarbutton-icon
+{
+ padding: 6px !important;
+ background: 0 !important;
+}
+
+/*
+ hack: fix customization screen popping bug when changing ui density
+ icon size is enforced and it doesn't like it when the normal density
+ nav-bar height is less than 38px (it's 36px due to smaller back icon)
+*/
+:root:not([uidensity=compact]) #customization-content-container
+{
+ padding-top: 1px !important;
+}
+
+:root:not([uidensity=compact]) :-moz-any(#customization-palette-container, #customization-panel-container)
+{
+ margin-top: -1px !important;
+}
+
+.menu-iconic,
+.menuitem-iconic
+{
+ fill: currentColor !important;
+}
+
+/* legacy */
+#navigator-toolbox
+{
+ border-bottom: 1px solid var(--chrome-content-separator-color, var(--toolbox-border-bottom-color)) !important;
+}
+
+/* legacy */
+#navigator-toolbox::after
+{
+ display: none !important;
+}
+
+.pointerlockfswarning
+{
+ display: flex !important;
+ border-radius: 4px !important;
+ padding: 6px !important;
+ background: #333 !important;
+ border: 0 !important;
+ font-size: 14px !important;
+ box-shadow:
+ 0 3px 5px -1px rgba(0,0,0,.2),
+ 0 6px 10px 0 rgba(0,0,0,.14),
+ 0 1px 18px 0 rgba(0,0,0,.12) !important;
+ color: hsla(0,0%,100%,.87) !important;
+ transition-timing-function: var(--ease-out), linear !important;
+ transition-property: transform, top !important;
+}
+
+#fullscreen-warning
+{
+ flex-direction: column !important;
+ min-width: 344px !important;
+}
+
+.pointerlockfswarning[hidden]
+{
+ visibility: hidden !important;
+}
+
+/* hack to keep it in same place as [ontop] */
+/* probably doesn't work for single-line */
+.pointerlockfswarning:not([hidden]):not([ontop])
+{
+ top: -32px !important;
+}
+
+.pointerlockfswarning[ontop]
+{
+ top: 28px !important;
+}
+
+.pointerlockfswarning::before
+{
+ display: none !important;
+}
+
+.pointerlockfswarning-domain-text
+{
+ margin-block: 8px 18px !important;
+ margin-inline: 10px !important;
+ font-size: unset !important;
+ font-weight: unset !important;
+ align-self: start !important;
+}
+
+.pointerlockfswarning-domain
+{
+ font-weight: unset !important;
+}
+
+#fullscreen-exit-button
+{
+ -moz-appearance: none !important;
+ border: 0 !important;
+ height: 32px !important;
+ display: flex !important;
+ align-items: center !important;
+ margin-inline: 8px 0 !important;
+ text-transform: uppercase !important;
+ font-weight: 500 !important;
+ letter-spacing: .0892857143em !important;
+ background: 0 !important;
+ position: relative !important;
+ color: var(--toolbarbutton-icon-fill-attention) !important;
+ align-self: end !important;
+ font-family: Roboto, inherit !important;
+}
+
+#fullscreen-exit-button::before
+{
+ content: "" !important;
+ display: block !important;
+ z-index: -1 !important;
+ position: absolute !important;
+ left: 0 !important;
+ right: 0 !important;
+ top: 0 !important;
+ bottom: 0 !important;
+ border-radius: 4px !important;
+ background: currentColor !important;
+ opacity: 0 !important;
+ transition: opacity .3s var(--ease-basic) !important;
+}
+
+#fullscreen-exit-button:hover::before
+{
+ opacity: .12 !important;
+}
+
+#fullscreen-exit-button:hover:active::before
+{
+ opacity: .24 !important;
+ transition-duration: .1s !important;
+}
+
+/* note: use Firefox account button instead */
+#TabsToolbar .private-browsing-indicator
+{
+ display: none !important;
+}
+
+/* high DPI adjustments */
+@media (min--moz-device-pixel-ratio: 2)
+{
+ #navigator-toolbox
+ {
+ border-bottom-width: .5px !important;
+ padding-bottom: .5px !important;
+ box-shadow: inset 0 -.5px var(--toolbar-bgcolor) !important;
+ }
+}
\ No newline at end of file
diff --git a/firefox/chrome/global/variables.css b/firefox/chrome/global/variables.css
new file mode 100755
index 0000000..98c4fd4
--- /dev/null
+++ b/firefox/chrome/global/variables.css
@@ -0,0 +1,213 @@
+/* light mode */
+:root:not([style]),
+:root[style*="--lwt-accent-color:rgb(227, 228, 230);"],
+:root[style*="--lwt-accent-color:white;"]
+{
+ /* accentcolor */
+ --lwt-accent-color: #dee1e6 !important;
+
+ /* textcolor */
+ --lwt-text-color: #606368 !important;
+
+ /* toolbar */
+ --toolbar-bgcolor: #fff !important;
+
+ /* toolbar_text */
+ --toolbar-color: #606368 !important;
+
+ /* toolbar_bottom_separator */
+ --toolbox-border-bottom-color: #b3b1b3 !important; /* legacy */
+ --chrome-content-separator-color: #b3b1b3 !important;
+
+ /* icons */
+ --lwt-toolbarbutton-icon-fill: #606368 !important;
+
+ /* icons_attention */
+ --lwt-toolbarbutton-icon-fill-attention: #5086ec !important;
+
+ /* button_background_hover */
+ --lwt-toolbarbutton-hover-background: rgba(0, 0, 0, .07) !important;
+
+ /* button_background_active */
+ --lwt-toolbarbutton-active-background: rgba(0, 0, 0, .11) !important;
+
+ --lwt-toolbar-field-color: #202124 !important;
+
+ /* popup_highlight */
+ --autocomplete-popup-highlight-background: #f2f2f2 !important;
+
+ /* popup_highlight_text */
+ --autocomplete-popup-highlight-color: #202124 !important;
+}
+
+/* don't bother with sidebar in light mode */
+
+/* dark mode */
+:root[style*="--lwt-accent-color:rgb(12, 12, 13);"],
+:root[privatebrowsingmode=temporary]
+{
+ /* accentcolor */
+ --lwt-accent-color: #202124 !important;
+
+ /* textcolor */
+ --lwt-text-color: #9ba0a5 !important;
+
+ /* toolbar */
+ --toolbar-bgcolor: #333639 !important;
+
+ /* toolbar_text */
+ --toolbar-color: #fff !important;
+
+ /* toolbar_bottom_separator */
+ --toolbox-border-bottom-color: #282828 !important; /* legacy */
+ --chrome-content-separator-color: #282828 !important;
+
+ /* icons */
+ --lwt-toolbarbutton-icon-fill: #fff !important;
+
+ /* icons_attention */
+ --lwt-toolbarbutton-icon-fill-attention: #5086ec !important;
+
+ /* button_background_hover */
+ --lwt-toolbarbutton-hover-background: #434649 !important;
+
+ /* button_background_active */
+ --lwt-toolbarbutton-active-background: #4e5153 !important;
+
+ --lwt-toolbar-field-color: #fff !important;
+
+ /* popup */
+ --arrowpanel-background: #373737 !important;
+
+ /* popup_text */
+ --arrowpanel-color: #fff !important;
+ --autocomplete-popup-color: #fff !important;
+ --panel-disabled-color: hsla(0, 0%, 100%, .5) !important;
+
+ /* popup_border */
+ --arrowpanel-border-color: #555 !important;
+ --autocomplete-popup-border-color: #555 !important;
+
+ /* popup_highlight */
+ --autocomplete-popup-highlight-background: #4c4f52 !important;
+
+ /* popup_highlight_text */
+ --autocomplete-popup-highlight-color: #fff !important;
+}
+
+:-moz-any(#sidebar-box, #sidebar)[style*="--sidebar-background-color:rgb(56, 56, 61);"]
+{
+ /* sidebar */
+ --sidebar-background-color: #333639 !important;
+
+ /* sidebar_text */
+ --sidebar-text-color: #f1f3ee !important;
+}
+
+:-moz-any(.sidebar-panel, body)[style*="--lwt-sidebar-background-color:rgb(56, 56, 61);"]
+{
+ /* sidebar */
+ --lwt-sidebar-background-color: #333639 !important;
+
+ /* sidebar_text */
+ --lwt-sidebar-text-color: #f1f3ee !important;
+}
+
+:root
+{
+ --ease-in: cubic-bezier(.4, 0, 1, 1);
+ --ease-out: cubic-bezier(0, 0, .2, 1);
+ --ease-basic: linear;
+
+ --button-size: 32px; /* is this used? */
+ --icon-size: 24px; /* is this used? */
+
+ --downloads-item-height: 48px !important;
+
+ --toolbar-non-lwt-bgcolor: var(--toolbar-bgcolor) !important;
+ --toolbar-non-lwt-textcolor: var(--toolbar-color) !important;
+}
+
+#titlebar,
+#tabbrowser-tabs
+{
+ --tab-min-height: 34px !important;
+}
+
+@supports -moz-bool-pref("materialFox.reduceTabOverflow")
+{
+ #tabbrowser-tabs
+ {
+ --tab-min-width: 32px !important;
+ }
+}
+
+:root
+{
+ --tab-separator-opacity: .35 !important;
+
+ --toolbar-field-background-color: hsl(200, 12%, 95%) !important;
+ --toolbar-field-hover-background-color: hsl(216, 12%, 92%) !important;
+ --toolbar-field-focus-background-color: hsl(0, 0%, 100%) !important;
+}
+
+:root:-moz-any(:-moz-lwtheme-brighttext, [privatebrowsingmode=temporary])
+{
+ --toolbar-field-background-color: #202124 !important;
+ --toolbar-field-hover-background-color: #292a2d !important;
+ --toolbar-field-focus-background-color: #202124 !important;
+}
+
+:root:not(:-moz-lwtheme):not([privatebrowsingmode=temporary])
+{
+ --toolbar-bgcolor: hsl(0, 0%, 100%) !important;
+ --toolbar-color: hsl(213, 5%, 39%) !important;
+ --toolbox-border-bottom-color: hsl(0, 0%, 70%) !important;
+}
+
+@media (-moz-mac-yosemite-theme)
+{
+ :root[extradragspace]
+ {
+ --space-above-tabbar: 8px !important;
+ }
+}
+
+/* Ubuntu */
+@media (-moz-gtk-csd-available)
+{
+ :root:not(:-moz-lwtheme):not([privatebrowsingmode=temporary])
+ {
+ --toolbar-bgcolor: -moz-dialog !important;
+ --toolbar-color: -moz-dialogtext !important;
+ }
+}
+
+:root:-moz-lwtheme-darktext,
+:root toolbar:not([brighttext]),
+.tabbrowser-tab[visuallyselected]
+{
+ --toolbarbutton-hover-background: var(--lwt-toolbarbutton-hover-background, hsla(0, 0%, 0%, .07)) !important;
+ --toolbarbutton-active-background: var(--lwt-toolbarbutton-active-background, hsla(0, 0%, 0%, .11)) !important;
+}
+
+:root:-moz-lwtheme-brighttext,
+:root toolbar[brighttext],
+.tabbrowser-tab[visuallyselected]:-moz-lwtheme-brighttext
+{
+ --toolbarbutton-hover-background: var(--lwt-toolbarbutton-hover-background, hsla(0, 0%, 100%, .1)) !important;
+ --toolbarbutton-active-background: var(--lwt-toolbarbutton-active-background, hsla(0, 0%, 100%, .17)) !important;
+}
+
+/* special case for urlbar buttons */
+:-moz-any(#urlbar, #searchbar)
+{
+ --toolbarbutton-hover-background: hsl(210, 5%, 85%) !important;
+ --toolbarbutton-active-background: hsl(210, 4%, 80%) !important;
+}
+
+:root:-moz-any([privatebrowsingmode=temporary], :-moz-lwtheme-brighttext) :-moz-any(#urlbar, #searchbar)
+{
+ --toolbarbutton-hover-background: hsl(206, 5%, 26%) !important;
+ --toolbarbutton-active-background: hsl(210, 4%, 31%) !important;
+}
\ No newline at end of file
diff --git a/firefox/chrome/icons/addons.svg b/firefox/chrome/icons/addons.svg
new file mode 100644
index 0000000..6369afb
--- /dev/null
+++ b/firefox/chrome/icons/addons.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/firefox/chrome/icons/arrow-back-1x.svg b/firefox/chrome/icons/arrow-back-1x.svg
new file mode 100644
index 0000000..026afad
--- /dev/null
+++ b/firefox/chrome/icons/arrow-back-1x.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/firefox/chrome/icons/arrow-back-2x.svg b/firefox/chrome/icons/arrow-back-2x.svg
new file mode 100644
index 0000000..8869d65
--- /dev/null
+++ b/firefox/chrome/icons/arrow-back-2x.svg
@@ -0,0 +1,8 @@
+
\ No newline at end of file
diff --git a/firefox/chrome/icons/audio-muted.svg b/firefox/chrome/icons/audio-muted.svg
new file mode 100644
index 0000000..c076c20
--- /dev/null
+++ b/firefox/chrome/icons/audio-muted.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/firefox/chrome/icons/audio.svg b/firefox/chrome/icons/audio.svg
new file mode 100644
index 0000000..5eeba1e
--- /dev/null
+++ b/firefox/chrome/icons/audio.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/firefox/chrome/icons/bookmark.svg b/firefox/chrome/icons/bookmark.svg
new file mode 100644
index 0000000..e5a7cba
--- /dev/null
+++ b/firefox/chrome/icons/bookmark.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/firefox/chrome/icons/bug.svg b/firefox/chrome/icons/bug.svg
new file mode 100644
index 0000000..c5aff2c
--- /dev/null
+++ b/firefox/chrome/icons/bug.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/firefox/chrome/icons/close.svg b/firefox/chrome/icons/close.svg
new file mode 100644
index 0000000..e750bba
--- /dev/null
+++ b/firefox/chrome/icons/close.svg
@@ -0,0 +1,3 @@
+
diff --git a/firefox/chrome/icons/copy.svg b/firefox/chrome/icons/copy.svg
new file mode 100644
index 0000000..8b357cc
--- /dev/null
+++ b/firefox/chrome/icons/copy.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/firefox/chrome/icons/cut.svg b/firefox/chrome/icons/cut.svg
new file mode 100644
index 0000000..282e6f0
--- /dev/null
+++ b/firefox/chrome/icons/cut.svg
@@ -0,0 +1,3 @@
+
diff --git a/firefox/chrome/icons/developer.svg b/firefox/chrome/icons/developer.svg
new file mode 100644
index 0000000..f99dbed
--- /dev/null
+++ b/firefox/chrome/icons/developer.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/firefox/chrome/icons/email.svg b/firefox/chrome/icons/email.svg
new file mode 100644
index 0000000..6c85cf3
--- /dev/null
+++ b/firefox/chrome/icons/email.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/firefox/chrome/icons/folder.svg b/firefox/chrome/icons/folder.svg
new file mode 100644
index 0000000..14f5f2a
--- /dev/null
+++ b/firefox/chrome/icons/folder.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/firefox/chrome/icons/forget.svg b/firefox/chrome/icons/forget.svg
new file mode 100644
index 0000000..69f1a84
--- /dev/null
+++ b/firefox/chrome/icons/forget.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/firefox/chrome/icons/globe.svg b/firefox/chrome/icons/globe.svg
new file mode 100644
index 0000000..7700ff4
--- /dev/null
+++ b/firefox/chrome/icons/globe.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/firefox/chrome/icons/history.svg b/firefox/chrome/icons/history.svg
new file mode 100644
index 0000000..3387c94
--- /dev/null
+++ b/firefox/chrome/icons/history.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/firefox/chrome/icons/home-1x.svg b/firefox/chrome/icons/home-1x.svg
new file mode 100644
index 0000000..7db9cc9
--- /dev/null
+++ b/firefox/chrome/icons/home-1x.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/firefox/chrome/icons/home-2x.svg b/firefox/chrome/icons/home-2x.svg
new file mode 100644
index 0000000..8a10654
--- /dev/null
+++ b/firefox/chrome/icons/home-2x.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/firefox/chrome/icons/hyperlink.svg b/firefox/chrome/icons/hyperlink.svg
new file mode 100644
index 0000000..f38bfde
--- /dev/null
+++ b/firefox/chrome/icons/hyperlink.svg
@@ -0,0 +1,7 @@
+
\ No newline at end of file
diff --git a/firefox/chrome/icons/icons.css b/firefox/chrome/icons/icons.css
new file mode 100755
index 0000000..2ad27bf
--- /dev/null
+++ b/firefox/chrome/icons/icons.css
@@ -0,0 +1,327 @@
+.toolbarbutton-1:-moz-any(#back-button, #forward-button),
+#context-back,
+#context-forward,
+.subviewbutton-back,
+.identity-popup-expander
+{
+ list-style-image: url(arrow-back-1x.svg) !important;
+}
+
+#PanelUI-menu-button
+{
+ list-style-image: url(menu.svg) !important;
+}
+
+#PanelUI-menu-button[badge-status|="update"]
+{
+ list-style-image: url(menu-update.svg) !important;
+}
+
+#reload-button,
+#context-reload
+{
+ list-style-image: url(refresh-1x.svg) !important;
+}
+
+#stop-button
+{
+ list-style-image: url(stop-1x.svg) !important;
+}
+
+.toolbarbutton-1#forward-button,
+#context-forward
+{
+ transform: scaleX(-1) !important;
+}
+
+#home-button
+{
+ list-style-image: url(home-1x.svg) !important;
+}
+
+#star-button,
+#context-bookmarkpage,
+#pageAction-panel-bookmark,
+#panelMenuBookmarkThisPage
+{
+ list-style-image: url(star-1x.svg) !important;
+ fill-opacity: 0 !important;
+}
+
+#star-button[starred],
+#tracking-protection-icon-box[active]
+{
+ fill: var(--toolbarbutton-icon-fill-attention) !important;
+}
+
+#star-button[starred],
+#context-bookmarkpage[starred],
+#panelMenuBookmarkThisPage
+{
+ fill-opacity: 1 !important;
+}
+
+#bookmarks-menu-button,
+#appMenu-library-bookmarks-button,
+#panelMenu_toggleBookmarksMenu
+{
+ list-style-image: url(bookmark.svg) !important;
+}
+
+#library-button,
+#appMenu-library-button
+{
+ list-style-image: url(library-1x.svg) !important;
+}
+
+#preferences-button,
+#appMenu-preferences-button,
+.identity-popup-preferences-button,
+#urlbar-anon-search-settings-compact .button-icon
+{
+ list-style-image: url(settings.svg) !important;
+}
+
+#history-panelmenu,
+#appMenu-library-history-button
+{
+ list-style-image: url(history.svg) !important;
+}
+
+#appMenu-logins-button,
+richlistitem[originaltype="loginWithOrigin"] .ac-site-icon,
+richlistitem[originaltype="loginsFooter"] .ac-site-icon
+{
+ list-style-image: url(key.svg) !important;
+}
+
+.subviewbutton[type="highlight-history"]::after
+{
+ content: url(history.svg) !important;
+}
+
+#panic-button
+{
+ list-style-image: url(forget.svg) !important;
+}
+
+#developer-button
+{
+ list-style-image: url(developer.svg) !important;
+}
+
+#add-ons-button,
+#appMenu-addons-button
+{
+ list-style-image: url(addons.svg) !important;
+}
+
+#email-link-button,
+#pageAction-panel-emailLink
+{
+ list-style-image: url(email.svg) !important;
+}
+
+#pageAction-panel-shareURL
+{
+ list-style-image: url(share.svg) !important;
+}
+
+#pageAction-panel-copyURL
+{
+ list-style-image: url(hyperlink.svg) !important;
+}
+
+#pageAction-panel-webcompat-reporter_mozilla_org
+{
+ list-style-image: url(bug.svg) !important;
+}
+
+#pageAction-panel-webcompat-reporter_mozilla_org > .toolbarbutton-icon
+{
+ list-style-image: inherit !important;
+}
+
+#screenshots_mozilla_org-menuitem-_create-screenshot .menu-iconic-left
+{
+ background-image: url(screenshot.svg) !important;
+ background-position: 4px center !important;
+ background-repeat: no-repeat !important;
+}
+
+#screenshots_mozilla_org-menuitem-_create-screenshot .menu-iconic-icon
+{
+ visibility: hidden !important;
+}
+
+#tabs-newtab-button,
+#new-tab-button
+{
+ list-style-image: url(new-tab.svg) !important;
+}
+
+#fxa-avatar-image
+{
+ /* icon should be 20px, but we don't want to affect button size */
+ transform: scale(1.25) !important;
+ border-radius: 50% !important;
+}
+
+:root:not([fxastatus=signedin]) #fxa-avatar-image
+{
+ list-style-image: url(profile-inactive.svg) !important;
+}
+
+:root[fxastatus=signedin]:not([style*="--avatar-image-url"]) #fxa-avatar-image
+{
+ list-style-image: url(profile.svg) !important;
+}
+
+:root[privatebrowsingmode] #fxa-avatar-image
+{
+ list-style-image: url(incognito.svg) !important;
+}
+
+#tracking-protection-icon
+{
+ list-style-image: url(tracking-protection.svg) !important;
+}
+
+#pageActionButton
+{
+ list-style-image: url(menu.svg) !important;
+}
+
+#urlbar[pageproxystate="invalid"] #identity-icon,
+.searchbar-search-icon,
+#PopupAutoCompleteRichResult .ac-type-icon[type="keyword"],
+#PopupAutoCompleteRichResult .ac-site-icon[type="searchengine"],
+#appMenu-find-button,
+#panelMenu_searchBookmarks
+{
+ list-style-image: url(search.svg) !important;
+}
+
+#appMenu-cut-button
+{
+ list-style-image: url(cut.svg) !important;
+}
+
+#appMenu-copy-button
+{
+ list-style-image: url(copy.svg) !important;
+}
+
+#appMenu-paste-button
+{
+ list-style-image: url(paste.svg) !important;
+}
+
+#appMenu-fxa-label,
+#PanelUI-fxa-menu-syncnow-button,
+#appMenu-fxa-icon,
+#PanelUI-remotetabs-syncnow
+{
+ list-style-image: url(sync.svg) !important;
+}
+
+.tab-icon-image:not([src])
+{
+ list-style-image: url(globe.svg) !important;
+}
+
+.tab-icon-image[src="chrome://browser/skin/settings.svg"]
+{
+ display: none !important;
+}
+
+.tab-icon-image[src="chrome://browser/skin/settings.svg"] ~ .tab-icon-overlay
+{
+ display: -moz-box !important;
+ margin: 0 !important;
+ list-style-image: url(settings.svg) !important;
+ -moz-context-properties: fill, fill-opacity !important;
+ fill: currentColor !important;
+}
+
+.tab-icon-overlay[soundplaying],
+.tab-icon-sound
+{
+ list-style-image: url(audio.svg) !important;
+}
+
+.tab-icon-overlay[muted],
+.tab-icon-sound[muted]
+{
+ list-style-image: url(audio-muted.svg) !important;
+}
+
+.tab-icon-overlay[activemedia-blocked],
+.tab-icon-sound[activemedia-blocked]
+{
+ list-style-image: url(media-blocked.svg) !important;
+}
+
+.downloadIconShow .button-icon
+{
+ list-style-image: url(folder.svg) !important;
+}
+
+.panel-banner-item[notificationid^="update"]
+{
+ list-style-image: url(menu-update.svg) !important;
+ -moz-context-properties: fill, fill-opacity !important;
+ fill: currentColor !important;
+}
+
+/* high DPI adjustments */
+@media (min--moz-device-pixel-ratio: 2)
+{
+ .toolbarbutton-1:-moz-any(#back-button, #forward-button),
+ #context-back,
+ #context-forward,
+ .subviewbutton-back,
+ .identity-popup-expander
+ {
+ list-style-image: url(arrow-back-2x.svg) !important;
+ }
+
+ #PanelUI-menu-button:not([badge-status|="update"]) .toolbarbutton-icon
+ {
+ transform: translate(-.5px, -.5px) !important;
+ }
+
+ #stop-button
+ {
+ list-style-image: url(stop-2x.svg) !important;
+ }
+
+ #reload-button,
+ #context-reload
+ {
+ list-style-image: url(refresh-2x.svg) !important;
+ }
+
+ #home-button
+ {
+ list-style-image: url(home-2x.svg) !important;
+ }
+
+ #star-button,
+ #context-bookmarkpage,
+ #pageAction-panel-bookmark,
+ #panelMenuBookmarkThisPage
+ {
+ list-style-image: url(star-2x.svg) !important;
+ }
+
+ #bookmarks-menu-button .toolbarbutton-icon
+ {
+ transform: translateX(.5px) !important;
+ }
+
+ #library-button
+ {
+ list-style-image: url(library-2x.svg) !important;
+ }
+}
\ No newline at end of file
diff --git a/firefox/chrome/icons/incognito.svg b/firefox/chrome/icons/incognito.svg
new file mode 100644
index 0000000..c8638d4
--- /dev/null
+++ b/firefox/chrome/icons/incognito.svg
@@ -0,0 +1,9 @@
+
\ No newline at end of file
diff --git a/firefox/chrome/icons/key.svg b/firefox/chrome/icons/key.svg
new file mode 100644
index 0000000..d03c814
--- /dev/null
+++ b/firefox/chrome/icons/key.svg
@@ -0,0 +1,3 @@
+
diff --git a/firefox/chrome/icons/library-1x.svg b/firefox/chrome/icons/library-1x.svg
new file mode 100644
index 0000000..4edae9c
--- /dev/null
+++ b/firefox/chrome/icons/library-1x.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/firefox/chrome/icons/library-2x.svg b/firefox/chrome/icons/library-2x.svg
new file mode 100644
index 0000000..c3e0ee9
--- /dev/null
+++ b/firefox/chrome/icons/library-2x.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/firefox/chrome/icons/media-blocked.svg b/firefox/chrome/icons/media-blocked.svg
new file mode 100644
index 0000000..5065c9e
--- /dev/null
+++ b/firefox/chrome/icons/media-blocked.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/firefox/chrome/icons/menu-update.svg b/firefox/chrome/icons/menu-update.svg
new file mode 100644
index 0000000..07cab79
--- /dev/null
+++ b/firefox/chrome/icons/menu-update.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/firefox/chrome/icons/menu.svg b/firefox/chrome/icons/menu.svg
new file mode 100644
index 0000000..23e93b3
--- /dev/null
+++ b/firefox/chrome/icons/menu.svg
@@ -0,0 +1,3 @@
+
diff --git a/firefox/chrome/icons/new-tab.svg b/firefox/chrome/icons/new-tab.svg
new file mode 100644
index 0000000..b071566
--- /dev/null
+++ b/firefox/chrome/icons/new-tab.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/firefox/chrome/icons/paste.svg b/firefox/chrome/icons/paste.svg
new file mode 100644
index 0000000..440efae
--- /dev/null
+++ b/firefox/chrome/icons/paste.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/firefox/chrome/icons/profile-inactive.svg b/firefox/chrome/icons/profile-inactive.svg
new file mode 100644
index 0000000..054fc42
--- /dev/null
+++ b/firefox/chrome/icons/profile-inactive.svg
@@ -0,0 +1,4 @@
+
\ No newline at end of file
diff --git a/firefox/chrome/icons/profile.svg b/firefox/chrome/icons/profile.svg
new file mode 100644
index 0000000..df12aa4
--- /dev/null
+++ b/firefox/chrome/icons/profile.svg
@@ -0,0 +1,9 @@
+
\ No newline at end of file
diff --git a/firefox/chrome/icons/refresh-1x.svg b/firefox/chrome/icons/refresh-1x.svg
new file mode 100644
index 0000000..428bbd7
--- /dev/null
+++ b/firefox/chrome/icons/refresh-1x.svg
@@ -0,0 +1,16 @@
+
\ No newline at end of file
diff --git a/firefox/chrome/icons/refresh-2x.svg b/firefox/chrome/icons/refresh-2x.svg
new file mode 100644
index 0000000..a39ce6f
--- /dev/null
+++ b/firefox/chrome/icons/refresh-2x.svg
@@ -0,0 +1,16 @@
+
\ No newline at end of file
diff --git a/firefox/chrome/icons/screenshot.svg b/firefox/chrome/icons/screenshot.svg
new file mode 100644
index 0000000..d28d202
--- /dev/null
+++ b/firefox/chrome/icons/screenshot.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/firefox/chrome/icons/search.svg b/firefox/chrome/icons/search.svg
new file mode 100644
index 0000000..677a77b
--- /dev/null
+++ b/firefox/chrome/icons/search.svg
@@ -0,0 +1,10 @@
+
\ No newline at end of file
diff --git a/firefox/chrome/icons/settings.svg b/firefox/chrome/icons/settings.svg
new file mode 100644
index 0000000..6da40ed
--- /dev/null
+++ b/firefox/chrome/icons/settings.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/firefox/chrome/icons/share.svg b/firefox/chrome/icons/share.svg
new file mode 100644
index 0000000..1ca669e
--- /dev/null
+++ b/firefox/chrome/icons/share.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/firefox/chrome/icons/star-1x.svg b/firefox/chrome/icons/star-1x.svg
new file mode 100644
index 0000000..5602b87
--- /dev/null
+++ b/firefox/chrome/icons/star-1x.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/firefox/chrome/icons/star-2x.svg b/firefox/chrome/icons/star-2x.svg
new file mode 100644
index 0000000..ecf9c8b
--- /dev/null
+++ b/firefox/chrome/icons/star-2x.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/firefox/chrome/icons/stop-1x.svg b/firefox/chrome/icons/stop-1x.svg
new file mode 100644
index 0000000..959a4b3
--- /dev/null
+++ b/firefox/chrome/icons/stop-1x.svg
@@ -0,0 +1,8 @@
+
\ No newline at end of file
diff --git a/firefox/chrome/icons/stop-2x.svg b/firefox/chrome/icons/stop-2x.svg
new file mode 100644
index 0000000..272a32f
--- /dev/null
+++ b/firefox/chrome/icons/stop-2x.svg
@@ -0,0 +1,8 @@
+
\ No newline at end of file
diff --git a/firefox/chrome/icons/sync.svg b/firefox/chrome/icons/sync.svg
new file mode 100644
index 0000000..09b6829
--- /dev/null
+++ b/firefox/chrome/icons/sync.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/firefox/chrome/icons/tracking-protection.svg b/firefox/chrome/icons/tracking-protection.svg
new file mode 100644
index 0000000..61bc438
--- /dev/null
+++ b/firefox/chrome/icons/tracking-protection.svg
@@ -0,0 +1,3 @@
+
diff --git a/firefox/chrome/navbar/connection-1x.svg b/firefox/chrome/navbar/connection-1x.svg
new file mode 100644
index 0000000..f8568ac
--- /dev/null
+++ b/firefox/chrome/navbar/connection-1x.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/firefox/chrome/navbar/connection-2x.svg b/firefox/chrome/navbar/connection-2x.svg
new file mode 100644
index 0000000..cfabbde
--- /dev/null
+++ b/firefox/chrome/navbar/connection-2x.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/firefox/chrome/navbar/connection-warning-1x.svg b/firefox/chrome/navbar/connection-warning-1x.svg
new file mode 100644
index 0000000..94e73cd
--- /dev/null
+++ b/firefox/chrome/navbar/connection-warning-1x.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/firefox/chrome/navbar/connection-warning-2x.svg b/firefox/chrome/navbar/connection-warning-2x.svg
new file mode 100644
index 0000000..ec5553b
--- /dev/null
+++ b/firefox/chrome/navbar/connection-warning-2x.svg
@@ -0,0 +1,3 @@
+
diff --git a/firefox/chrome/navbar/identity-icons-brand.svg b/firefox/chrome/navbar/identity-icons-brand.svg
new file mode 100644
index 0000000..4870645
--- /dev/null
+++ b/firefox/chrome/navbar/identity-icons-brand.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/firefox/chrome/navbar/info-1x.svg b/firefox/chrome/navbar/info-1x.svg
new file mode 100644
index 0000000..005445a
--- /dev/null
+++ b/firefox/chrome/navbar/info-1x.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/firefox/chrome/navbar/info-2x.svg b/firefox/chrome/navbar/info-2x.svg
new file mode 100644
index 0000000..39e87c3
--- /dev/null
+++ b/firefox/chrome/navbar/info-2x.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/firefox/chrome/navbar/naughty-shield-1x.svg b/firefox/chrome/navbar/naughty-shield-1x.svg
new file mode 100644
index 0000000..59327d5
--- /dev/null
+++ b/firefox/chrome/navbar/naughty-shield-1x.svg
@@ -0,0 +1,4 @@
+
\ No newline at end of file
diff --git a/firefox/chrome/navbar/naughty-shield-2x.svg b/firefox/chrome/navbar/naughty-shield-2x.svg
new file mode 100644
index 0000000..549aad2
--- /dev/null
+++ b/firefox/chrome/navbar/naughty-shield-2x.svg
@@ -0,0 +1,4 @@
+
\ No newline at end of file
diff --git a/firefox/chrome/navbar/navbar.css b/firefox/chrome/navbar/navbar.css
new file mode 100644
index 0000000..5944e9a
--- /dev/null
+++ b/firefox/chrome/navbar/navbar.css
@@ -0,0 +1,44 @@
+#nav-bar
+{
+ min-height: 36px !important;
+ box-shadow: none !important;
+ padding-inline: 5px 6px !important;
+ background-color: var(--toolbar-bgcolor) !important;
+}
+
+#reload-button[disabled]:not(:-moz-window-inactive) > .toolbarbutton-icon
+{
+ opacity: 1 !important;
+}
+
+/* Windows */
+#PanelUI-button
+{
+ border: none !important;
+ margin: 0 !important;
+ padding: 0 !important;
+}
+
+#PanelUI-menu-button[badge-status|="update"] .toolbarbutton-badge
+{
+ display: none !important;
+}
+
+:root[privatebrowsingmode] #fxa-toolbar-menu-button
+{
+ pointer-events: none !important;
+}
+
+/* show "Private" label for en languages only */
+:root[titlemodifier="(Private Browsing)"] #fxa-toolbar-menu-button::before
+{
+ content: "Private" !important;
+ display: -moz-box !important;
+ margin-inline-start: 12px !important;
+ margin-inline-end: 6px !important;
+}
+
+#nav-bar-customization-target
+{
+ overflow: visible !important;
+}
\ No newline at end of file
diff --git a/firefox/chrome/personalbar/personalbar.css b/firefox/chrome/personalbar/personalbar.css
new file mode 100755
index 0000000..905916f
--- /dev/null
+++ b/firefox/chrome/personalbar/personalbar.css
@@ -0,0 +1,4 @@
+#navigator-toolbox toolbarbutton.bookmark-item:not(.subviewbutton)
+{
+ padding: 6px !important;
+}
\ No newline at end of file
diff --git a/firefox/chrome/popup/checkmark-18dp.svg b/firefox/chrome/popup/checkmark-18dp.svg
new file mode 100644
index 0000000..99df627
--- /dev/null
+++ b/firefox/chrome/popup/checkmark-18dp.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/firefox/chrome/popup/menu-right-1x.svg b/firefox/chrome/popup/menu-right-1x.svg
new file mode 100644
index 0000000..defd15e
--- /dev/null
+++ b/firefox/chrome/popup/menu-right-1x.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/firefox/chrome/popup/menu-right-2x.svg b/firefox/chrome/popup/menu-right-2x.svg
new file mode 100644
index 0000000..7edab69
--- /dev/null
+++ b/firefox/chrome/popup/menu-right-2x.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/firefox/chrome/popup/popup.css b/firefox/chrome/popup/popup.css
new file mode 100755
index 0000000..43ce233
--- /dev/null
+++ b/firefox/chrome/popup/popup.css
@@ -0,0 +1,1016 @@
+menupopup,
+menupopup menuitem,
+menupopup menu,
+menupopup menuseparator
+{
+ -moz-appearance: none !important;
+}
+
+menupopup,
+panel[type="autocomplete-richlistbox"]
+{
+ -moz-window-shadow: none !important;
+ background: 0 !important;
+ border: 0 !important;
+ color: var(--arrowpanel-color) !important;
+ box-sizing: content-box !important;
+}
+
+menupopup
+{
+ padding: 11px 14px 18px !important;
+ margin: -19px -14px 0 !important;
+}
+
+/* needs to align with textbox/bookmark-button but can't overlap it */
+panel[type="autocomplete-richlistbox"],
+.bookmark-item:not(menu) > menupopup[placespopup]
+{
+ padding: 1px 14px 18px !important;
+ margin: 0 -14px 0 !important;
+}
+
+.panel-arrowcontent
+{
+ background: 0 !important;
+ padding: 0 !important;
+ box-shadow: none !important;
+ font: -moz-pull-down-menu !important;
+ border: 0 !important;
+}
+
+.popup-internal-box,
+panel[type="autocomplete-richlistbox"] > .autocomplete-richlistbox,
+#PopupSearchAutoComplete > *,
+.menupopup-arrowscrollbox
+{
+ background: var(--arrowpanel-background) !important;
+}
+
+/* themes a menupopup (or other root level / shadow dom popup) as a panel */
+/* Mozilla's use of shadow dom means we can't use a menupopup > .popup-internal-box */
+.popup-internal-box,
+panel[type="autocomplete-richlistbox"] > .autocomplete-richlistbox,
+.menupopup-arrowscrollbox
+{
+ margin: 0 !important;
+ padding: 8px 0 !important;
+ border-radius: 4px !important;
+ color: inherit !important;
+}
+
+.popup-internal-box,
+.menupopup-arrowscrollbox
+{
+ box-shadow:
+ 0 5px 5px -3px rgba(0,0,0,.2),
+ 0 8px 10px 1px rgba(0,0,0,.14),
+ 0 3px 14px 2px rgba(0,0,0,.12) !important;
+}
+
+#PopupSearchAutoComplete > *
+{
+ border-radius: 0 !important;
+}
+
+#PopupSearchAutoComplete > :first-child
+{
+ border-radius: 4px 4px 0 0 !important;
+}
+
+#PopupSearchAutoComplete > :last-child
+{
+ border-radius: 0 0 4px 4px !important;
+}
+
+/* autocomplete panel can't overlap the textbox, so shadow can't go up
+ more than 1px */
+panel[type="autocomplete-richlistbox"] > .autocomplete-richlistbox
+{
+ box-shadow:
+ 0 0 0 1px rgba(0, 0, 0, .03),
+ 0 5px 5px -3px rgba(0, 0, 0, .2),
+ 0 8px 10px -0px rgba(0, 0, 0, .14),
+ 0 3px 14px -5px rgba(0, 0, 0, .12) !important;
+}
+
+/* search panel gets special treatment; it has multiple children */
+#PopupSearchAutoComplete > .autocomplete-richlistbox
+{
+ box-shadow: none !important;
+}
+
+#PopupSearchAutoComplete
+{
+ filter:
+ drop-shadow(0 8px 6px rgba(0, 0, 0, .25))
+ drop-shadow(0 1px 1px rgba(0, 0, 0, .125)) !important;
+}
+
+/* reset non-layout props when embedded in a panel
+ (panel handles panel theming in this case) */
+.panel-arrowcontent > .popup-internal-box
+{
+ background: 0 !important;
+ border-radius: 0 !important;
+ box-shadow: none !important;
+}
+
+/* shotgun approach to undo this selector...
+ #BMB_bookmarksPopup menupopup[placespopup="true"]:-moz-lwtheme::part(innerbox)
+ ...without being able to use ::part() in userChrome.css */
+[part="innerbox"]
+{
+ /* this could cause side effects elsewhere */
+ box-shadow: none !important;
+ margin: 0 !important;
+}
+
+menupopup menuseparator
+{
+ margin: 8px 0 !important;
+ padding: 0 !important;
+ height: 1px !important;
+ background: currentColor !important;
+ opacity: .12 !important;
+}
+
+menupopup menuitem,
+menupopup menu,
+.autocomplete-richlistitem
+{
+ height: 32px !important;
+ padding: 0 16px !important;
+ border: 0 !important;
+ background: 0 !important;
+ color: inherit !important;
+ fill-opacity: initial !important;
+}
+
+menupopup menuitem:hover:not([disabled=true]),
+menupopup menu:hover:not([disabled=true]),
+.autocomplete-richlistitem:hover:not([disabled=true]):not([selected=true])
+{
+ background-color: var(--arrowpanel-dimmed) !important;
+}
+
+menupopup menuitem:hover:active:not([disabled=true]),
+menupopup menu:hover:active:not([disabled=true]),
+.autocomplete-richlistitem:hover:active:not([disabled=true]),
+.autocomplete-richlistitem[selected=true]
+{
+ background-color: var(--arrowpanel-dimmed-further) !important;
+}
+
+menupopup menuitem[disabled=true],
+menupopup menu[disabled=true],
+.autocomplete-richlistitem[disabled=true]
+{
+ opacity: .5 !important;
+}
+
+/* disable vertical menu scroll buttons and use a good ol' scrollbar */
+/* this is a shotgun approach, expect side effects */
+scrollbox[orient=vertical] /* >=71 */
+{
+ overflow-y: auto !important;
+}
+
+/* why still use scroll buttons; is this the middle ages? */
+.menupopup-scrollbutton
+{
+ display: none !important;
+}
+
+.menu-iconic-left
+{
+ -moz-appearance: none !important;
+}
+
+/* hide icon if no image (default on macOS but not Windows) */
+.subviewbutton:not(:-moz-any([image], [targetURI], .bookmark-item)) > .menu-iconic-left
+{
+ display: none;
+}
+
+.menu-iconic-icon
+{
+ fill: currentColor !important;
+ -moz-context-properties: fill, fill-opacity, stroke, stroke-opacity !important;
+ margin-inline-start: 0 !important;
+ margin-inline-end: 16px !important;
+ width: 24px !important;
+ height: 24px !important;
+ padding: 4px !important;
+}
+
+.menu-text
+{
+ -moz-appearance: none !important;
+ padding: 0 !important;
+}
+
+.menu-right
+{
+ -moz-appearance: none !important;
+ -moz-context-properties: fill !important;
+ fill: currentColor !important;
+ list-style-image: url(menu-right-2x.svg) !important;
+ margin-inline-end: 0 !important;
+ margin-inline-start: 16px !important;
+}
+
+menuitem[type="checkbox"] > .menu-iconic-left > .menu-iconic-icon,
+menuitem[checked="true"] > .menu-iconic-left > .menu-iconic-icon,
+menuitem[type="radio"] > .menu-iconic-left > .menu-iconic-icon
+{
+ display: -moz-box !important;
+ padding: 3px !important;
+}
+
+menuitem[checked="true"] > .menu-iconic-left > .menu-iconic-icon
+{
+ /* checkmark is 18px, not 16px, hence reduced padding */
+ list-style-image: url(checkmark-18dp.svg) !important;
+}
+
+#context-navigation
+{
+ background: 0 !important;
+}
+
+#context-navigation .menuitem-iconic
+{
+ background: 0 !important;
+ padding: 0 !important;
+ margin: 0 !important;
+}
+
+#context-navigation .menu-iconic-left
+{
+ border-radius: 50% !important;
+ padding: 8px !important;
+}
+
+#context-navigation .menu-iconic-icon
+{
+ padding: 0 !important;
+ margin: 0 !important;
+ width: 16px !important;
+ height: 16px !important;
+}
+
+#context-navigation .menuitem-iconic:hover:not([disabled]) .menu-iconic-left
+{
+ background-color: var(--arrowpanel-dimmed) !important;
+}
+
+#context-navigation .menuitem-iconic:hover:active:not([disabled]) .menu-iconic-left
+{
+ background-color: var(--arrowpanel-dimmed-further) !important;
+}
+
+panel[type="arrow"]
+{
+ -moz-window-shadow: none !important;
+
+ margin: 0 -14px -18px !important;
+ padding: 0 14px 18px !important;
+}
+
+panel[type="arrow"][side="top"],
+panel[type="arrow"][side="bottom"]
+{
+ margin-left: -39px !important;
+ margin-right: -39px !important;
+}
+
+panel[type="arrow"][side="left"],
+panel[type="arrow"][side="right"]
+{
+ margin-top: -44px;
+ margin-bottom: -44px;
+}
+
+.panel-arrowcontent
+{
+ background: var(--arrowpanel-background) !important;
+ border: 0 !important;
+ border-radius: 4px !important;
+ box-shadow:
+ 0 5px 5px -3px rgba(0, 0, 0, .2),
+ 0 8px 10px 1px rgba(0, 0, 0, .14),
+ 0 3px 14px 2px rgba(0, 0, 0, .12) !important;
+ color: var(--arrowpanel-color) !important;
+}
+
+.panel-arrowbox,
+.cui-widget-panel .panel-arrowbox
+{
+ display: none !important;
+}
+
+/* .subview-subheader, */
+panelview .toolbarbutton-1,
+.subviewbutton,
+.widget-overflow-list .toolbarbutton-1,
+.panel-banner-item
+{
+ min-height: 32px !important;
+ padding: 0 16px !important;
+}
+
+.subviewbutton .toolbarbutton-icon,
+.panel-banner-item .toolbarbutton-icon
+{
+ margin-inline-end: 16px !important;
+ width: 24px !important;
+ height: 24px !important;
+ padding: 4px !important;
+}
+
+.subviewbutton label,
+.panel-banner-item label
+{
+ padding-inline-start: 0 !important;
+}
+
+#appMenu-zoom-controls > .subviewbutton,
+#appMenu-edit-controls > .subviewbutton
+{
+ min-width: 32px !important;
+ border-radius: 16px !important;
+ padding: 0 8px !important;
+ border: 0 !important;
+ margin-inline-start: 4px !important;
+}
+
+#appMenu-zoom-controls > toolbarseparator[orient="vertical"] + .subviewbutton
+{
+ margin-inline-start: 0 !important;
+}
+
+#appMenu-zoom-controls > .subviewbutton-iconic,
+#appMenu-edit-controls > .subviewbutton-iconic
+{
+ padding: 0 !important;
+}
+
+.panel-banner-item
+{
+ border: 0 !important;
+}
+
+#appMenu-addon-banners:not(:empty) ~ #appMenu-fxa-status,
+.panel-banner-item:not([hidden]) + #appMenu-fxa-status
+{
+ border-top: 1px solid var(--panel-separator-color) !important;
+ margin-top: 5px !important;
+ padding-top: 5px !important;
+}
+
+#appMenu-fxa-avatar
+{
+ display: none !important;
+}
+
+:root[fxastatus="signedin"] #appMenu-fxa-label
+{
+ list-style-image: var(--avatar-image-url) !important;
+ margin: 0 !important;
+}
+
+:root[fxastatus="signedin"] #appMenu-fxa-label > .toolbarbutton-icon
+{
+ display: -moz-box !important;
+ border-radius: 99px !important;
+ padding: 2px !important;
+}
+
+.panel-banner-item[notificationid="update-restart"]::after
+{
+ display: none !important;
+}
+
+.toolbaritem-combined-buttons:-moz-any(:not([cui-areatype="toolbar"]),
+[overflowedItem="true"]) > toolbarbutton > .toolbarbutton-icon
+{
+ margin: 0 !important;
+}
+
+panelmultiview .toolbaritem-combined-buttons > spacer.before-label
+{
+ width: 20px !important;
+}
+
+panelmultiview .toolbaritem-combined-buttons > spacer.after-label
+{
+ width: 14px !important;
+}
+
+.subviewbutton-back
+{
+ padding: 4px !important;
+ border-radius: 16px !important;
+}
+
+.subviewbutton-back .toolbarbutton-icon
+{
+ margin: 0 !important;
+}
+
+.subviewbutton[type="highlight-history"]::after
+{
+ transform: none !important;
+}
+
+.subviewbutton[type="highlight-history"]::after,
+.subviewbutton[shortcut]::after,
+.PanelUI-subView .subviewbutton-nav::after
+{
+ margin-inline-start: 14px !important;
+}
+
+.PanelUI-subView .subviewbutton-nav::after
+{
+ transform: none !important;
+ content: url(menu-right-1x.svg) !important;
+ fill-opacity: 1 !important;
+}
+
+#identity-popup > .panel-arrowcontainer > .panel-arrowcontent
+{
+ fill-opacity: inherit !important;
+}
+
+.identity-popup-preferences-button
+{
+ border-radius: 16px !important;
+ background-image: none !important;
+}
+
+.identity-popup-preferences-button > .toolbarbutton-icon
+{
+ margin: 0 !important;
+}
+
+#identity-popup-permission-preferences-button
+{
+ padding: 0 !important;
+}
+
+#tracking-protection-preferences-button > .toolbarbutton-icon
+{
+ margin-inline-end: -8px !important;
+}
+
+#tracking-protection-preferences-button > .toolbarbutton-text
+{
+ padding-inline-end: 4px !important;
+ -moz-box-ordinal-group: 0 !important;
+}
+
+.identity-popup-section
+{
+ padding: 16px !important;
+ display: flex !important;
+}
+
+.identity-popup-security-content,
+#identity-popup-content-blocking-content,
+#identity-popup-permissions-content
+{
+ padding: 0 !important;
+ background: 0 !important;
+ fill-opacity: inherit !important;
+}
+
+.identity-popup-expander
+{
+ border-radius: 16px !important;
+ width: 32px !important;
+ max-height: 32px !important;
+ margin-inline-start: auto !important;
+ -moz-box-pack: center !important;
+ -moz-box-align: center !important;
+ background-image: none !important;
+}
+
+.identity-popup-expander > .button-box
+{
+ border: 0 !important;
+ display: flex !important;
+ justify-content: center !important;
+}
+
+.identity-popup-expander .button-icon
+{
+ margin: 0 !important;
+}
+
+.identity-popup-expander .button-text
+{
+ display: none !important;
+}
+
+.identity-popup-headline
+{
+ margin: 0 !important;
+}
+
+.PanelUI-subView > .identity-popup-security-content,
+#identity-popup-securityView-body
+{
+ padding: 16px !important;
+}
+
+#identity-popup-mainView-panel-header
+{
+ -moz-box-align: start !important;
+ padding: 16px !important;
+}
+
+#identity-popup-securityView-body
+{
+ margin: 0 !important;
+}
+
+#identity-popup-content-blocking-content,
+#identity-popup-permissions-content
+{
+ display: flex !important;
+ flex-direction: column !important;
+ width: 100% !important;
+}
+
+#identity-popup-content-blocking-content > hbox:first-child,
+#identity-popup-permissions-content > hbox:first-child
+{
+ display: flex !important;
+}
+
+#identity-popup-content-blocking-category-list,
+#identity-popup-permission-list
+{
+ display: flex !important;
+ flex-direction: column !important;
+ margin: 0 -16px !important;
+ width: calc(100% + 32px) !important;
+ padding-top: 8px !important;
+}
+
+.identity-popup-permission-item
+{
+ display: flex !important;
+ align-items: center !important;
+}
+
+.identity-popup-permission-label,
+#identity-popup-content-blocking-report-breakage
+{
+ flex: 1 !important;
+ text-decoration: none !important;
+ cursor: auto !important;
+ color: inherit !important;
+}
+
+.identity-popup-content-blocking-category,
+.identity-popup-permission-item
+{
+ height: 32px !important;
+ padding: 0 16px !important;
+}
+
+.identity-popup-content-blocking-category-icon,
+.identity-popup-permission-icon
+{
+ margin: 0 !important;
+ margin-inline-end: 16px !important;
+}
+
+.popup-notification-icon,
+.identity-popup-permission-icon
+{
+ fill-opacity: 1 !important;
+}
+
+.identity-popup-content-blocking-category-label,
+.identity-popup-permission-label
+{
+ margin: 0 !important;
+}
+
+.identity-popup-content-blocking-category::after
+{
+ transform: translateY(1px) !important;
+ content: url(menu-right-1x.svg) !important;
+ margin: 0 !important;
+}
+
+.identity-popup-preferences-button
+{
+ margin-inline-start: auto !important;
+}
+
+.identity-popup-permission-remove-button
+{
+ opacity: 1 !important;
+}
+
+.tracking-protection-button,
+#identity-popup-content-blocking-report-breakage
+{
+ margin: 0 -16px !important;
+ height: 32px !important;
+ padding: 0 16px !important;
+ background: 0 !important;
+ color: inherit !important;
+ line-height: 32px !important;
+}
+
+#identity-popup-content-blocking-report-breakage
+{
+ padding-inline-start: 50px !important;
+}
+
+.tracking-protection-button > .button-box
+{
+ padding: 0 !important;
+}
+
+.tracking-protection-button .button-icon
+{
+ margin: 0 !important;
+}
+
+#customization-lwtheme-menu-header
+{
+ display: none !important;
+}
+
+#identity-popup-content-blocking-report-breakage,
+{
+ padding-inline-start: 48px !important;
+ line-height: 32px !important;
+ text-decoration: none !important;
+ cursor: auto !important;
+}
+
+.tracking-protection-button:hover:not([disabled=true]),
+#identity-popup-content-blocking-report-breakage:hover,
+#blocked-popup-indicator-item:hover,
+.customization-lwtheme-menu-theme:hover,
+#customization-lwtheme-menu-footer toolbarbutton:hover
+{
+ background-color: var(--arrowpanel-dimmed) !important;
+}
+
+.tracking-protection-button:hover:active:not([disabled=true]),
+#identity-popup-content-blocking-report-breakage:hover:active,
+#blocked-popup-indicator-item:hover:active,
+.customization-lwtheme-menu-theme:hover:active,
+#customization-lwtheme-menu-footer toolbarbutton:hover:active
+{
+ background-color: var(--arrowpanel-dimmed-further) !important;
+}
+
+.identity-popup-content-blocking-empty-label,
+#tracking-protection-preferences-button > .toolbarbutton-text,
+.tracking-protection-button,
+#identity-popup-trackersView-strict-info > label,
+.identity-popup-cookiesView-list-header,
+.identity-popup-content-blocking-list-item > label,
+#identity-popup-mainView-panel-header > label,
+#identity-popup-trackersView > .panel-header,
+#identity-popup-securityView > .panel-header,
+#identity-popup-breakageReportView > .panel-header,
+#identity-popup-content-blocking-report-breakage,
+.identity-popup-content-blocking-category-label,
+.identity-popup-content-blocking-category-state-label,
+.identity-popup-permission-label,
+.identity-popup-permission-state-label,
+#identity-popup-security-descriptions > description,
+#identity-popup-securityView-body > description,
+#identity-popup-permissions-content > description,
+#identity-popup-content-blocking-content > description
+{
+ font-size: 100% !important;
+}
+
+.panel-header > label
+{
+ text-align: start !important;
+ margin-inline-start: 4px !important;
+}
+
+.identity-popup-headline
+{
+ font-size: 110% !important;
+}
+
+.identity-popup-security-content > description,
+#identity-popup-content-blocking-content > description,
+#identity-popup-permissions-content > description,
+.identity-popup-content-blocking-category-state-label,
+.identity-popup-permission-state-label
+{
+ font-size: 85% !important;
+}
+
+#identity-popup-permissions-content > description,
+#identity-popup-content-blocking-content > description
+{
+ color: inherit !important;
+ opacity: .6 !important;
+}
+
+.identity-popup-content-blocking-category-state-label
+{
+ transform: translateY(1px) !important;
+}
+
+.tracking-protection-button > .button-box,
+.panel-footer button > .button-box
+{
+ display: flex !important;
+ align-items: center !important;
+}
+
+.tracking-protection-button .button-icon,
+.panel-footer button .button-icon
+{
+ padding-inline-end: 16px !important;
+}
+
+.tracking-protection-button .button-text,
+.panel-footer button .button-text
+{
+ margin: 0 !important;
+}
+
+#downloadsPanel-multiView
+{
+ padding-top: 8px !important;
+}
+
+#downloadsListBox .download-state
+{
+ display: flex !important;
+ width: 100% !important;
+ align-items: center !important;
+}
+
+#downloadsListBox .downloadMainArea
+{
+ padding: 0 !important;
+ display: flex !important;
+ flex: 1 !important;
+ margin-inline-end: -48px !important;
+ padding-inline-end: 48px !important;
+ padding-inline-start: 16px !important;
+ height: 100% !important;
+ align-items: center !important;
+}
+
+#downloadsListBox .downloadContainer
+{
+ display: flex !important;
+ flex-direction: column !important;
+ flex: 1 !important;
+}
+
+#downloadsListBox .downloadTypeIcon
+{
+ margin: 0 !important;
+ margin-inline-end: 16px !important;
+}
+
+#downloadsListBox .downloadTarget
+{
+ font-size: 100% !important;
+}
+
+#downloadsListBox .downloadDetails
+{
+ font-size: 85% !important;
+}
+
+#downloadsListBox > richlistitem > toolbarseparator
+{
+ display: none !important;
+}
+
+#downloadsListBox .downloadButton
+{
+ margin-inline-end: 16px !important;
+ height: 32px !important;
+ min-width: 32px !important;
+ border-radius: 16px !important;
+ fill: currentColor !important;
+ -moz-context-properties: fill, fill-opacity !important;
+ display: block !important;
+}
+
+#downloadsListBox .downloadButton .button-box
+{
+ display: flex !important;
+ align-items: center !important;
+ justify-content: center !important;
+ max-width: 32px !important;
+}
+
+#confirmation-hint .panel-arrowcontent,
+#UITourTooltip .panel-arrowcontent,
+#customization-lwtheme-menu .panel-arrowcontent,
+#customization-uidensity-menu .panel-arrowcontent
+{
+ padding: 16px !important;
+}
+
+#customization-uidensity-menu .panel-arrowcontent,
+#customization-lwtheme-menu .panel-arrowcontent
+{
+ padding-top: 8px !important;
+}
+
+.customization-lwtheme-menu-theme,
+.customization-uidensity-menuitem
+{
+ padding: 0 16px !important;
+ margin: 0 -16px !important;
+ border: 0 !important;
+ height: 48px !important;
+}
+
+.customization-lwtheme-menu-theme .toolbarbutton-icon,
+.customization-uidensity-menuitem .menu-iconic-icon
+{
+ margin: 0 !important;
+ margin-inline-end: 16px !important;
+ padding: 0 !important;
+ width: 24px !important;
+ height: 24px !important;
+}
+
+.customization-lwtheme-menu-theme[active]:not(:hover):not(:active),
+.customization-uidensity-menuitem[active]:not(:hover):not(:active)
+{
+ background: 0 !important;
+}
+
+.customization-lwtheme-menu-theme[active]::after,
+.customization-uidensity-menuitem[active]::after
+{
+ content: url(checkmark-18dp.svg) !important;
+ -moz-context-properties: fill, fill-opacity !important;
+ fill: currentColor !important;
+ display: -moz-box !important;
+ width: 18px !important;
+ height: 18px !important;
+ margin-inline-start: 16px !important;
+}
+
+#customization-lwtheme-menu-footer
+{
+ padding: 0 !important;
+ background: 0 !important;
+ border: 0 !important;
+ display: flex !important;
+ flex-direction: column !important;
+}
+
+#customization-lwtheme-menu-footer toolbarbutton
+{
+ border: 0 !important;
+ margin: 0 -6px 0 !important;
+ height: 48px !important;
+ padding: 0 16px !important;
+ display: flex !important;
+ background-image: none !important;
+}
+
+#customization-lwtheme-menu-footer toolbarbutton .toolbarbutton-text
+{
+ text-align: start !important;
+}
+
+.panel-footer
+{
+ padding: 4px !important;
+ background: 0 !important;
+ border-top: 1px solid var(--panel-separator-color) !important;
+ justify-content: end !important;
+ display: flex !important;
+}
+
+.panel-footer button
+{
+ border: 0 !important;
+ border-radius: 4px !important;
+ margin: 4px !important;
+ height: 32px !important;
+ padding: 0 !important;
+ flex: 0 0 auto !important;
+ position: relative !important;
+ outline: 0 !important;
+}
+
+.panel-footer button > .button-box
+{
+ -moz-appearance: none !important;
+ position: relative !important;
+ padding-inline-end: 16px !important;
+}
+
+.panel-footer button .button-menu-dropmarker
+{
+ margin-inline-start: 8px !important;
+ margin-inline-end: -8px !important;
+}
+
+.panel-footer button:not([default]) > .button-box::before
+{
+ content: "" !important;
+ display: block !important;
+ border-radius: 4px !important;
+ position: absolute !important;
+ left: 0 !important;
+ top: 0 !important;
+ width: 100% !important;
+ height: 100% !important;
+ border: 1px solid currentColor !important;
+ opacity: .42 !important;
+ box-sizing: border-box !important;
+}
+
+.panel-footer button:not([default]):hover:active:not([disabled]) > .button-box::before
+{
+ border-width: 0 !important;
+}
+
+.panel-footer button:not([default]):hover:active:not([disabled])
+{
+ border-width: 0 !important;
+ background: #002275 !important;
+ color: #FFF !important;
+}
+
+#PopupAutoComplete > richlistbox > richlistitem[originaltype="loginWithOrigin"]
+{
+ height: 48px !important;
+}
+
+richlistitem[originaltype="loginsFooter"],
+richlistitem[originaltype="generatedPassword"] > .two-line-wrapper
+{
+ display: flex !important;
+ align-items: center !important;
+}
+
+richlistitem:-moz-any(
+ [originaltype="generatedPassword"],
+ [originaltype="loginWithOrigin"],
+ [originaltype="login"],
+ [originaltype="loginsFooter"]) .ac-site-icon
+{
+ display: block !important;
+ align-self: center !important;
+ margin-inline: 0 16px !important;
+ fill: currentColor !important;
+}
+
+richlistitem[originaltype="loginsFooter"] .ac-site-icon
+{
+ visibility: hidden !important;
+}
+
+richlistitem:-moz-any(
+ [originaltype="generatedPassword"],
+ [originaltype="loginWithOrigin"],
+ [originaltype="login"],
+ [originaltype="loginsFooter"]) .ac-title
+{
+ margin: 0 !important;
+}
+
+#confirmation-hint-message-container,
+#confirmation-hint-checkmark-animation-container
+{
+ margin-block: 8px !important;
+ margin-inline: 8px !important;
+}
+
+#confirmation-hint-checkmark-animation-container
+{
+ margin-inline-end: 0 !important;
+}
+
+/* high DPI adjustments */
+@media (min--moz-device-pixel-ratio: 2)
+{
+ .PanelUI-subView .subviewbutton-nav::after,
+ .identity-popup-content-blocking-category::after
+ {
+ content: url(menu-right-2x.svg) !important;
+ }
+}
\ No newline at end of file
diff --git a/firefox/chrome/popup/urlbar-results.css b/firefox/chrome/popup/urlbar-results.css
new file mode 100755
index 0000000..b25d1ee
--- /dev/null
+++ b/firefox/chrome/popup/urlbar-results.css
@@ -0,0 +1,582 @@
+.ac-type-icon
+{
+ order: 9 !important;
+ margin-inline-start: 16px !important;
+ margin-inline-end: 0 !important;
+}
+
+.ac-site-icon
+{
+ margin-inline-end: 16px !important;
+}
+
+.ac-separator
+{
+ display: none !important;
+}
+
+.ac-title,
+.ac-url
+{
+ flex: 1 !important;
+}
+
+.search-panel-one-offs
+{
+ border-radius: 0 0 8px 8px !important;
+ margin-bottom: 18px !important;
+}
+
+.search-one-offs
+{
+ display: block !important;
+}
+
+#urlbarView-results
+{
+ padding: 0 !important;
+}
+
+.urlbarView-row
+{
+ padding: 0 16px !important;
+ height: 32px !important;
+ border-radius: 0 !important;
+}
+
+.urlbarView-row-inner
+{
+ height: 100% !important;
+ align-items: center !important;
+}
+
+.urlbarView-favicon
+{
+ margin-inline-end: 16px !important;
+}
+
+.urlbarView-title-separator
+{
+ flex: 1 !important;
+}
+
+.urlbarView-title-separator::before
+{
+ display: none !important;
+}
+
+.urlbarView-type-icon
+{
+ order: 1 !important;
+ margin-inline-start: 16px !important;
+ margin-inline-end: 0 !important;
+}
+
+/* .search-one-offs
+{
+ padding: 4px !important;
+ display: flex !important;
+ flex-direction: column !important;
+}
+
+.search-panel-one-offs
+{
+ display: flex !important;
+ flex-direction: row !important;
+ padding: 0 !important;
+}
+
+.searchbar-engine-one-off-item
+{
+ height: 32px !important;
+ border-radius: 16px !important;
+ padding: 0 8px !important;
+ margin: 4px !important;
+ background-image: none !important;
+ color: inherit !important;
+ border: 0 !important;
+ display: flex !important;
+ justify-content: center !important;
+ align-items: center !important;
+ align-content: center !important;
+}
+
+.searchbar-engine-one-off-item > .button-box
+{
+ width: 16px !important;
+ max-height: 16px !important;
+ transform: translateY(50%) !important;
+}
+
+.searchbar-engine-one-off-item::after
+{
+ margin-inline-start: 8px !important;
+ content: attr(tooltiptext) !important;
+ line-height: 16px !important;
+ transform: translateY(calc(50% - 1px)) !important;
+}
+
+
+.searchbar-engine-one-off-item.dummy
+{
+ display: none !important;
+} */
+
+/* 70+ */
+
+#urlbar-container
+{
+ max-height: 37px !important;
+}
+
+#urlbar,
+#searchbar
+{
+ font-size: 14px !important;
+ border-radius: 99px !important;
+ background-color: var(--toolbar-field-background-color) !important;
+ border: 0 !important;
+ box-shadow: none !important;
+ padding: 2px !important;
+ background-clip: padding-box !important;
+ min-height: 28px !important;
+ transition: background-color .1s var(--ease-basic) !important;
+ -moz-box-align: center !important;
+
+ display: block !important;
+ margin: 0 !important;
+}
+
+#urlbar:not(:-moz-lwtheme),
+#searchbar:not(:-moz-lwtheme)
+{
+ color: inherit !important;
+}
+
+#urlbar:hover,
+#searchbar:hover
+{
+ background-color: var(--toolbar-field-hover-background-color) !important;
+}
+
+#urlbar[focused],
+#urlbar[open],
+#searchbar[focused],
+#searchbar[open]
+{
+ background-color: var(--toolbar-field-focus-background-color) !important;
+}
+
+#urlbar[focused],
+#searchbar[focused]
+{
+ border: 2px solid var(--toolbar-field-focus-border-color) !important;
+ padding: 0 !important;
+ margin: 0 !important;
+}
+
+#urlbar[open],
+#searchbar[open]
+{
+ border: 0 !important;
+ padding: 0 !important;
+ border-radius: 8px 8px 0 0 !important;
+ min-height: 37px !important;
+ margin: 0 -5px -1px !important;
+ box-shadow:
+ 0 5px 5px -3px rgba(0,0,0,.2),
+ 0 8px 10px 1px rgba(0,0,0,.14),
+ 0 3px 14px 2px rgba(0,0,0,.12) !important;
+ position: relative !important;
+ z-index: 99999 !important;
+}
+
+#urlbar-input-container
+{
+ width: 100% !important;
+ display: flex !important;
+ align-items: center !important;
+}
+
+.urlbar-input-box
+{
+ flex: 1 !important;
+}
+
+#urlbar-input
+{
+ width: 100% !important;
+}
+
+#urlbar[open] #urlbar-input-container
+{
+ height: 37px !important;
+}
+
+#urlbar[open] #identity-box
+{
+ margin-inline-start: 8px !important;
+ margin-inline-end: 8px !important;
+}
+
+.urlbarView
+{
+ top: 0 !important;
+ left: 0 !important;
+ right: 0 !important;
+ position: relative !important;
+ box-shadow: none !important;
+ background: 0 !important;
+ border: 0 !important;
+ background: white !important;
+}
+
+#urlbar[open] .urlbarView
+{
+ display: block !important;
+ width: 100% !important;
+}
+
+#urlbar-results
+{
+ padding: 0 !important;
+}
+
+#urlbar-container,
+#searchbar-container
+{
+ overflow: visible !important;
+ padding: 0 5px !important;
+}
+
+.searchbar-textbox
+{
+ color: inherit !important;
+ font-size: inherit !important;
+ min-height: auto !important;
+}
+
+#urlbar[pageproxystate=valid] > #identity-box:not(.no-hover) > #identity-icon
+{
+ fill-opacity: 1 !important;
+}
+
+#identity-icon-labels
+{
+ transform: translateY(-3px) !important;
+ color: inherit !important;
+ opacity: 1 !important;
+ padding: 0 !important;
+ margin-inline-start: 8px !important;
+ display: none !important;
+}
+
+#identity-box,
+#urlbar-display-box
+{
+ position: relative !important;
+}
+
+/* separator */
+#urlbar[pageproxystate=valid]:not([open]) #identity-box:-moz-any(.notSecureText, .verifiedIdentity, .chromeUI, .extensionPage, .certUserOverridden)::after,
+#urlbar-display-box::after
+{
+ content: "" !important;
+ display: -moz-box !important;
+ position: absolute !important;
+ top: 4px !important;
+ bottom: 4px !important;
+ right: 0 !important;
+ background: #9d9e9f !important;
+ width: 1px !important;
+ transition: opacity .2s var(--ease-basic) !important;
+}
+
+#urlbar[pageproxystate=valid]:not([open]) #identity-box:-moz-any(.notSecureText, .verifiedIdentity, .chromeUI, .extensionPage, .certUserOverridden),
+#urlbar-display-box
+{
+ margin-inline-end: 8px !important;
+}
+
+#urlbar[pageproxystate=valid]:not([open]) #identity-box:-moz-any(.notSecureText, .verifiedIdentity, .chromeUI, .extensionPage, .certUserOverridden) #identity-icon-labels
+{
+ display: -moz-box !important;
+}
+
+
+#urlbar[pageproxystate=valid] #identity-box:-moz-any(.notSecureText, .verifiedIdentity, .chromeUI, .extensionPage, .certUserOverridden):hover:not(.no-hover)::after,
+#urlbar[pageproxystate=valid] #identity-box:-moz-any(.notSecureText, .verifiedIdentity, .chromeUI, .extensionPage, .certUserOverridden)[open]::after
+{
+ opacity: 0 !important;
+}
+
+#identity-box.extensionPage > #identity-icon
+{
+ list-style-image: none !important;
+ margin-inline-end: -16px !important;
+}
+
+/* no longer used as a connection icon */
+#connection-icon
+{
+ display: none !important;
+}
+
+#identity-box:-moz-any(
+ .mixedActiveBlocked,
+ .mixedDisplayContentLoadedActiveBlocked,
+ .mixedActiveContent
+) > #connection-icon
+{
+ display: -moz-box !important;
+}
+
+#identity-box:-moz-any(.certUserOverridden, .unknownIdentity)
+{
+ color: #c94031 !important;
+}
+
+.urlbar-input
+{
+ padding: 0 !important;
+}
+
+.searchbar-textbox
+{
+ border: 0 !important;
+ background: 0 !important;
+ box-shadow: none !important;
+ margin: 0 !important;
+}
+
+#page-action-buttons > #pageActionSeparator,
+.urlbar-history-dropmarker
+{
+ display: none !important;
+}
+
+#pageActionSeparator
+{
+ height: 24px !important;
+}
+
+.urlbar-icon-wrapper
+{
+ background: 0 !important;
+}
+
+.urlbar-icon,
+#identity-box,
+#tracking-protection-icon-container
+{
+ min-width: 32px !important;
+ height: 24px !important;
+ padding: 4px 8px !important;
+ margin: 0 !important;
+ border: 0 !important;
+ border-radius: 99px !important;
+ fill-opacity: 1 !important;
+ transition: background-color .2s var(--ease-basic) !important;
+ background: 0 !important;
+ background-color: transparent !important;
+}
+
+#identity-box #notification-popup-box
+{
+ padding: 0 !important;
+ margin: 0 !important;
+}
+
+#page-action-buttons
+{
+ height: 24px !important;
+}
+
+#urlbar[open] #page-action-buttons
+{
+ display: none !important;
+}
+
+.urlbar-icon:hover:not([disabled]),
+#identity-box:hover:not(.no-hover),
+#tracking-protection-icon-container:hover
+{
+ background-color: var(--toolbarbutton-hover-background) !important;
+}
+
+.urlbar-icon:hover:active:not([disabled]),
+.urlbar-icon[open],
+#identity-box:hover:active:not(.no-hover),
+#identity-box[open]:not(.no-hover),
+#tracking-protection-icon-container[open]
+{
+ background-color: var(--toolbarbutton-active-background) !important;
+ transition-duration: 0 !important;
+}
+
+#star-button-box
+{
+ -moz-box-ordinal-group: 99 !important;
+}
+
+#pageActionButton
+{
+ -moz-box-ordinal-group: 98 !important;
+}
+
+#contextual-feature-recommendation
+{
+ -moz-box-ordinal-group: 97 !important;
+ width: auto !important;
+}
+
+.urlbar-page-action:-moz-any(
+ #reader-mode-button,
+ #pageActionButton,
+ #pocket-button-box,
+ #pageAction-urlbar-screenshots_mozilla_org,
+ #pageAction-urlbar-sendToDevice,
+ #pageAction-urlbar-emailLink,
+ #pageAction-urlbar-copyURL,
+ #pageAction-urlbar-shareURL,
+ #pageAction-urlbar-addSearchEngine
+)
+{
+ transition:
+ background-color .2s var(--ease-basic),
+ margin .15s var(--ease-in),
+ opacity .15s var(--ease-basic),
+ visibility 0s .2s !important;
+ opacity: 0 !important;
+ visibility: hidden !important;
+ margin-inline-start: -32px !important;
+}
+
+#urlbar:hover .urlbar-page-action:-moz-any(
+ #reader-mode-button,
+ #pageActionButton,
+ #pocket-button-box,
+ #pageAction-urlbar-screenshots_mozilla_org,
+ #pageAction-urlbar-sendToDevice,
+ #pageAction-urlbar-emailLink,
+ #pageAction-urlbar-copyURL,
+ #pageAction-urlbar-shareURL,
+ #pageAction-urlbar-addSearchEngine
+),
+.urlbar-page-action:-moz-any(
+ #reader-mode-button,
+ #pageActionButton,
+ #pocket-button-box,
+ #pageAction-urlbar-screenshots_mozilla_org,
+ #pageAction-urlbar-sendToDevice,
+ #pageAction-urlbar-emailLink,
+ #pageAction-urlbar-copyURL,
+ #pageAction-urlbar-shareURL,
+ #pageAction-urlbar-addSearchEngine
+):-moz-any(:hover, [open], [readeractive])
+{
+ transition:
+ background-color .2s var(--ease-basic),
+ margin .3s var(--ease-out),
+ opacity .3s var(--ease-basic) !important;
+ opacity: 1 !important;
+ visibility: visible !important;
+ margin-inline-start: 0 !important;
+}
+
+.urlbar-display
+{
+ color: inherit !important;
+ margin: 0 !important;
+}
+
+#pocket-button-box[animate] > #pocket-animatable-box
+{
+ margin-inline-start: 6px !important;
+}
+
+#star-button-animatable-box
+{
+ display: none !important;
+}
+
+#cfr-label-container
+{
+ background: 0 !important;
+}
+
+#cfr-label
+{
+ display: none !important;
+}
+
+#cfr-button
+{
+ fill: currentColor !important;
+}
+
+#urlbar[open] .urlbar-go-button,
+#searchbar[open] .search-go-button
+{
+ height: 32px !important;
+}
+
+/* icons 1x */
+#urlbar
+{
+ --info-icon: url(../navbar/info-1x.svg);
+ --lock-icon: url(../navbar/connection-1x.svg);
+ --warning-icon: url(../navbar/connection-warning-1x.svg);
+}
+
+/* icons 2x */
+@media (min--moz-device-pixel-ratio: 2)
+{
+ #urlbar
+ {
+ --info-icon: url(../navbar/info-2x.svg);
+ --lock-icon: url(../navbar/connection-2x.svg);
+ --warning-icon: url(../navbar/connection-warning-2x.svg);
+ }
+}
+
+/* info (not secure) */
+#identity-box[pageproxystate="valid"]:-moz-any(.notSecure, .insecureLoginForms, .mixedActiveContent) > #identity-icon
+{
+ list-style-image: var(--info-icon) !important;
+}
+
+#identity-box[pageproxystate="valid"]:-moz-any(
+ .certUserOverridden,
+ .weakCipher,
+ .unknownIdentity) > #identity-icon
+{
+ list-style-image: var(--warning-icon) !important;
+}
+
+/* lock (secure) */
+#identity-box[pageproxystate="valid"]:-moz-any(.verifiedDomain, .verifiedIdentity, .mixedActiveBlocked) > #identity-icon
+{
+ list-style-image: var(--lock-icon) !important;
+}
+
+/* high DPI adjustments */
+@media (min--moz-device-pixel-ratio: 2)
+{
+ #identity-icon-labels
+ {
+ padding-inline-end: .5px !important;
+ }
+
+ #urlbar[pageproxystate=valid] > #identity-box:-moz-any(.unknownIdentity, .notSecure) > #identity-icon
+ {
+ transform: translate(.5px, .5px) !important;
+ }
+
+ #identity-icon-labels,
+ .urlbar-input,
+ .searchbar-textbox
+ {
+ transform: translateY(-.5px) !important;
+ }
+}
\ No newline at end of file
diff --git a/firefox/chrome/tabbar/close-tab.svg b/firefox/chrome/tabbar/close-tab.svg
new file mode 100644
index 0000000..9010d56
--- /dev/null
+++ b/firefox/chrome/tabbar/close-tab.svg
@@ -0,0 +1,14 @@
+
\ No newline at end of file
diff --git a/firefox/chrome/tabbar/spinner-busy.svg b/firefox/chrome/tabbar/spinner-busy.svg
new file mode 100644
index 0000000..0d7ce65
--- /dev/null
+++ b/firefox/chrome/tabbar/spinner-busy.svg
@@ -0,0 +1,28 @@
+
\ No newline at end of file
diff --git a/firefox/chrome/tabbar/spinner-progress.svg b/firefox/chrome/tabbar/spinner-progress.svg
new file mode 100644
index 0000000..fbe4f23
--- /dev/null
+++ b/firefox/chrome/tabbar/spinner-progress.svg
@@ -0,0 +1,43 @@
+
\ No newline at end of file
diff --git a/firefox/chrome/tabbar/tabbar.css b/firefox/chrome/tabbar/tabbar.css
new file mode 100755
index 0000000..3d39afe
--- /dev/null
+++ b/firefox/chrome/tabbar/tabbar.css
@@ -0,0 +1,569 @@
+:-moz-any(.titlebar-placeholder, .titlebar-spacer)[type=pre-tabs]
+{
+ width: 0 !important;
+}
+
+@media (-moz-mac-yosemite-theme)
+{
+ #TabsToolbar
+ {
+ -moz-appearance: none !important;
+ }
+
+ :root:-moz-any([inFullscreen], [tabsintitlebar]):not([privatebrowsingmode=temporary]) #TabsToolbar:not(:-moz-lwtheme)
+ {
+ background-color: #dee1e5 !important;
+ color: #606367 !important;
+ --toolbarbutton-hover-background: #cbced2 !important;
+ --toolbarbutton-active-background: #bec0c5 !important;
+ }
+
+ :root:-moz-any([inFullscreen], [tabsintitlebar]):not([privatebrowsingmode=temporary]) #TabsToolbar:not(:-moz-lwtheme):-moz-window-inactive
+ {
+ background-color: #e7eaed !important;
+ }
+
+ :-moz-any(.titlebar-placeholder, .titlebar-spacer)[type=pre-tabs]
+ {
+ width: 4px !important;
+ }
+}
+
+@media (-moz-os-version: windows-win7)
+{
+ :root:not([privatebrowsingmode=temporary]) #TabsToolbar:not(:-moz-lwtheme)
+ {
+ color: #808387 !important;
+ --toolbarbutton-hover-background: rgba(196, 198, 204, .8) !important;
+ --toolbarbutton-active-background: #bec0c6 !important;
+ }
+
+ :root:not([privatebrowsingmode=temporary]) #TabsToolbar toolbarbutton:not(:-moz-lwtheme):not(:hover):not([open])
+ {
+ background-color: rgba(218, 220, 227, .8) !important;
+ }
+
+ :root:not([privatebrowsingmode=temporary]) .tabbrowser-tab:not([visuallyselected]):not(:-moz-lwtheme)
+ {
+ --tab-bgcolor: rgb(218, 220, 227) !important;
+ --tab-opacity: .8 !important;
+ }
+
+ :root:not([privatebrowsingmode=temporary]) .tabbrowser-tab:hover:not([visuallyselected]):not(:-moz-lwtheme)
+ {
+ --tab-bgcolor: #e9ebef !important;
+ }
+}
+
+ /* < FF 65, >= FF 65 */
+:-moz-any(.titlebar-placeholder, .titlebar-spacer)
+{
+ border: 0 !important;
+ display: -moz-box !important;
+}
+
+:-moz-any(.titlebar-placeholder, .titlebar-spacer)[type=post-tabs]
+{
+ width: 48px !important;
+ transition: width .666s cubic-bezier(.4, 0, .2, 1) !important;
+}
+
+@media (max-width: 700px)
+{
+ :-moz-any(.titlebar-placeholder, .titlebar-spacer)[type=post-tabs]
+ {
+ width: 8px !important;
+ }
+}
+
+/* vertically center buttons in tab bar */
+#TabsToolbar toolbarbutton,
+/* >= 72 */
+#TabsToolbar .tabbrowser-arrowscrollbox::part(scrollbutton-up),
+#TabsToolbar .tabbrowser-arrowscrollbox::part(scrollbutton-down),
+/* no ::part workaround - may have side effects */
+#scrollbutton-up[part="scrollbutton-up"]:not(.menupopup-scrollbutton),
+#scrollbutton-down[part="scrollbutton-down"]:not(.menupopup-scrollbutton)
+{
+ margin-top: calc((var(--tab-min-height) - var(--button-size)) / 2) !important;
+ margin-bottom: calc((var(--tab-min-height) - var(--button-size)) / 2) !important;
+}
+
+.tabbrowser-tab
+{
+ min-height: var(--tab-min-height) !important;
+ overflow: visible !important;
+ font-size: 12px !important;
+ background: 0 !important;
+ border: 0 !important;
+}
+
+.tabbrowser-tab[visuallyselected]
+{
+ color: var(--toolbar-color) !important;
+}
+
+/* regular */
+.tabbrowser-tab[fadein]:not([pinned]):not([style*="max-width"])
+{
+ max-width: 240px !important;
+}
+
+/* neighbouring tabs should "pinch" together */
+.tabbrowser-tab:not([last-visible-tab])
+{
+ margin-inline-end: -.5px !important;
+}
+
+/* special case for pinned tabs when overflowing */
+#tabbrowser-tabs:not([overflow]) .tabbrowser-tab:not([first-visible-tab]),
+#tabbrowser-tabs[overflow] .tabbrowser-tab:not([first-visible-tab]):not([pinned])
+{
+ margin-inline-start: -.5px !important;
+}
+
+#tabbrowser-tabs[overflow] .tabbrowser-tab[pinned] .tab-background
+{
+ margin: 0 -1px !important;
+}
+
+.tab-content
+{
+ position: relative !important;
+ overflow: hidden !important;
+ padding-inline-start: 12px !important;
+ padding-inline-end: 8px !important;
+}
+
+.tab-content::before,
+.tab-content::after
+{
+ content: "" !important;
+ display: block !important;
+ position: absolute !important;
+ background-color: currentColor !important;
+ width: 1px !important;
+ height: 20px !important;
+ transform: translateY(-10px) !important;
+ opacity: 0 !important;
+ transition: opacity .2s var(--ease-basic) !important;
+}
+
+.tab-content::before
+{
+ left: 0 !important;
+}
+
+.tab-content::after
+{
+ right: 0 !important;
+}
+
+.tab-throbber,
+.tab-throbber-fallback,
+.tab-icon-image,
+.tab-sharing-icon-overlay,
+.tab-icon-sound,
+.tab-close-button
+{
+ margin-top: 0 !important;
+}
+
+.tabbrowser-tab::before,
+.tabbrowser-tab::after,
+.tab-line
+{
+ display: none !important;
+}
+
+/* tab background color */
+
+.tabbrowser-tab
+{
+ --tab-opacity: 0;
+ --tab-bgcolor: #000;
+ --tab-transition-duration: .2s;
+}
+
+:-moz-any(:root[privatebrowsingmode=temporary], #TabsToolbar[brighttext]) .tabbrowser-tab
+{
+ --tab-opacity: 0;
+ --tab-bgcolor: #fff;
+}
+
+.tabbrowser-tab:not([selected=true]):hover,
+.tabbrowser-tab[multiselected]:not([selected=true])
+{
+ --tab-opacity: .1;
+}
+
+:-moz-any(:root[privatebrowsingmode=temporary], #TabsToolbar[brighttext]) .tabbrowser-tab:not([selected=true]):hover,
+:-moz-any(:root[privatebrowsingmode=temporary], #TabsToolbar[brighttext]) .tabbrowser-tab[multiselected]:not([selected=true])
+{
+ --tab-opacity: .06;
+}
+
+:-moz-any(#TabsToolbar) .tabbrowser-tab[visuallyselected]
+{
+ --tab-bgcolor: var(--toolbar-bgcolor);
+ --tab-opacity: 1;
+}
+
+.tab-background
+{
+ background: var(--tab-bgcolor) !important;
+ /* rounded top corners */
+ border-radius: 8px 8px 0 0 !important;
+ position: relative !important;
+ border: 0 !important;
+ transition:
+ opacity var(--tab-transition-duration) var(--ease-basic),
+ background-color 0s var(--tab-transition-duration) var(--ease-basic) !important;
+ opacity: var(--tab-opacity) !important;
+ visibility: visible !important;
+}
+
+/* rounded bottom corners */
+.tab-background::before,
+.tab-background::after
+{
+ content: "" !important;
+ display: block !important;
+ position: absolute !important;
+ width: 8px !important;
+ height: 8px !important;
+ bottom: 0 !important;
+ pointer-events: none !important;
+ transition: box-shadow 0s var(--tab-transition-duration) var(--ease-basic) !important;
+}
+
+.tab-background::before
+{
+ border-bottom-right-radius: 8px !important;
+ left: 0 !important;
+ transform: translateX(-8px) !important;
+ box-shadow: 4px 4px 0 4px var(--tab-bgcolor) !important;
+}
+
+.tab-background::after
+{
+ border-bottom-left-radius: 8px !important;
+ right: 0 !important;
+ transform: translateX(8px) !important;
+ box-shadow: -4px 4px 0 4px var(--tab-bgcolor) !important;
+}
+
+.tabbrowser-tab[visuallyselected][style*=transform] + .tabbrowser-tab[style*=transform] .tab-content::after,
+.tabbrowser-tab[style*=transform]:not([visuallyselected]) .tab-content::before,
+.tabbrowser-tab[style*=transform] + .tabbrowser-tab:not([visuallyselected]) .tab-content::before,
+.tabbrowser-tab:not([visuallyselected]):not(:hover):not([multiselected]) + .tabbrowser-tab:not([visuallyselected]):not(:hover):not([multiselected]) .tab-content::before,
+#tabbrowser-tabs[hasadjacentnewtabbutton]:not([overflow]) .tabbrowser-tab[last-visible-tab]:not([visuallyselected]):not(:hover):not([multiselected]) .tab-content::after
+{
+ opacity: var(--tab-separator-opacity) !important;
+}
+
+#tabbrowser-tabs[overflow] .tabbrowser-tab[pinned] + .tabbrowser-tab:not([pinned]) .tab-content::before
+{
+ opacity: 0 !important;
+}
+
+.tabbrowser-tab[visuallyselected]
+{
+ --tab-transition-duration: 0s;
+}
+
+.tab-throbber,
+.tab-throbber-fallback
+{
+ margin-inline-end: 8px !important;
+}
+
+.tab-icon-image
+{
+ margin: 0 !important;
+}
+
+/* hide new tab favicon */
+.tabbrowser-tab[image^="chrome://branding/"]:not([pinned]) .tab-icon-image
+{
+ display: none !important;
+}
+
+.tab-label-container
+{
+ margin-top: -2px !important;
+ opacity: 1 !important;
+}
+
+.tabbrowser-tab[image]:not([image^="chrome://branding/"]) .tab-label-container,
+.tabbrowser-tab:-moz-any([progress], [busy]) .tab-label-container
+{
+ padding-inline-start: 8px !important;
+}
+
+.tabbrowser-tab[pinned]:-moz-any([soundplaying], [muted], [activemedia-blocked]) .tab-icon-image
+{
+ visibility: hidden !important;
+}
+
+.tabbrowser-tab[fadein] .tab-close-button
+{
+ visibility: visible !important;
+}
+
+.tab-close-button
+{
+ list-style-image: url(close-tab.svg) !important;
+ width: 16px !important;
+ height: 16px !important;
+ margin: 0 !important;
+ padding: 0 !important;
+}
+
+.tab-close-button,
+.tab-icon-overlay:-moz-any([soundplaying], [muted], [activemedia-blocked]),
+.tab-icon-sound
+{
+ border-radius: 99px !important;
+ color: inherit !important;
+ -moz-context-properties: fill, fill-opacity !important;
+ transition-property: fill-opacity, background-color !important;
+ transition-duration: .15s !important;
+ transition-timing-function: var(--ease-basic) !important;
+ fill-opacity: 1 !important;
+ opacity: 1 !important;
+}
+
+.tab-close-button:hover,
+.tab-icon-overlay:-moz-any([soundplaying], [muted], [activemedia-blocked]):hover,
+.tab-icon-sound:hover
+{
+ background-color: var(--toolbarbutton-hover-background) !important;
+}
+
+.tab-close-button:hover:active,
+.tab-icon-overlay:-moz-any([soundplaying], [muted], [activemedia-blocked]):hover:active,
+.tab-icon-sound:hover:active
+{
+ background-color: var(--toolbarbutton-active-background) !important;
+}
+
+.tab-icon-overlay[pinned]
+{
+ margin: 0 !important;
+ margin-inline-start: -16px !important;
+}
+
+@keyframes rotate-360
+{
+ 0% { transform: rotate(0); }
+ 100% { transform: rotate(1turn); }
+}
+
+.tab-throbber
+{
+ -moz-context-properties: fill !important;
+ fill: currentColor !important;
+ background-image: url(spinner-busy.svg) !important;
+ margin: 0 !important;
+ transform-origin: center !important;
+ animation: rotate-360 1.333s linear infinite reverse !important;
+ position: static !important;
+}
+
+.tab-throbber[progress]
+{
+ background-image: url(spinner-progress.svg) !important;
+ animation-direction: normal !important;
+}
+
+.tab-throbber::before
+{
+ display: none !important;
+}
+
+/* clipped tabs */
+#tabbrowser-tabs[closebuttons=activetab] .tab-content:not([pinned])
+{
+ padding-inline-start: 8px !important;
+}
+
+#tabbrowser-tabs[closebuttons=activetab] .tabbrowser-tab:not([visuallyselected]) .tab-close-button
+{
+ visibility: collapse !important;
+}
+
+#tabbrowser-tabs[closebuttons=activetab] .tab-label-container[textoverflow][labeldirection="ltr"]:not([pinned]),
+#tabbrowser-tabs[closebuttons=activetab] .tab-label-container[textoverflow]:not([labeldirection]):-moz-locale-dir(ltr):not([pinned])
+{
+ mask-image: linear-gradient(to right, black 70%, transparent) !important;
+}
+
+#tabbrowser-tabs[closebuttons=activetab] .tab-label-container[textoverflow][labeldirection="rtl"]:not([pinned]),
+#tabbrowser-tabs[closebuttons=activetab] .tab-label-container[textoverflow]:not([labeldirection]):-moz-locale-dir(rtl):not([pinned])
+{
+ mask-image: linear-gradient(to left, black 70%, transparent) !important;
+}
+
+.tab-content[pinned]
+{
+ -moz-box-pack: center !important;
+}
+
+.tab-icon-image[pinned],
+.tab-throbber[pinned]
+{
+ margin: auto !important;
+}
+
+.tab-content[pinned]
+{
+ width: 36px !important;
+ padding: 0 !important;
+ padding-inline-start: 10px !important;
+ padding-inline-end: 0 !important;
+}
+
+.tab-label-container[pinned],
+.tab-close-button[pinned]
+{
+ visibility: hidden !important;
+}
+
+/* close button / favicon is centered within 36px tab */
+@supports -moz-bool-pref("materialFox.reduceTabOverflow")
+{
+ #main-window
+ {
+ /* same as Chrome */
+ min-width: 500px !important;
+ }
+
+ #tabbrowser-tabs[overflow] .tab-content
+ {
+ -moz-box-pack: center !important;
+ }
+
+ #tabbrowser-tabs[overflow] .tab-icon-image
+ {
+ margin: auto !important;
+ }
+
+ #tabbrowser-tabs[overflow] .tab-content[image]:not([image^="chrome://branding/"]):not([pinned])
+ {
+ width: 36px !important;
+ padding: 0 !important;
+ padding-inline-start: 0 !important;
+ padding-inline-end: 0 !important;
+ }
+
+ #tabbrowser-tabs[overflow] .tabbrowser-tab:not([visuallyselected]):not([pinned]) .tab-close-button,
+ #tabbrowser-tabs[overflow] .tabbrowser-tab[visuallyselected]:not([pinned]) :-moz-any(.tab-label-container, .tab-icon-image),
+ #tabbrowser-tabs[overflow] .tabbrowser-tab[image]:not([image^="chrome://branding/"]):not([pinned]) .tab-label-container
+ {
+ display: none !important;
+ }
+}
+
+#tabbrowser-tabs #tabs-newtab-button
+{
+ margin-inline-start: 6px !important;
+}
+
+#tabbrowser-tabs[overflow] .tabbrowser-arrowscrollbox
+{
+ border-radius: 8px 8px 0 0 !important;
+ background-color: rgba(0, 0, 0, .1) !important;
+ padding-inline-start: 0 !important;
+}
+
+#tabbrowser-tabs[overflow]
+{
+ margin-inline-start: 8px !important;
+}
+
+#tabbrowser-tabs[overflow] .tabbrowser-tab[first-visible-tab]:not([pinned]),
+#tabbrowser-tabs[overflow] .tabbrowser-tab[pinned] + .tabbrowser-tab:not([pinned]),
+#tabbrowser-tabs:not([overflow]) .tabbrowser-tab[first-visible-tab]
+{
+ margin-inline-start: 8px !important;
+}
+
+#tabbrowser-tabs[overflow] .tabbrowser-tab[last-visible-tab]:not([pinned])
+{
+ margin-inline-end: 8px !important;
+}
+
+.tabbrowser-tab[usercontextid] > .tab-stack::after
+{
+ content: "" !important;
+ position: absolute !important;
+ display: flex !important;
+ bottom: 0 !important;
+ left: 8px !important;
+ width: calc(100% - 16px) !important;
+ height: 2px !important;
+ box-sizing: border-box !important;
+ border-radius: 99px 99px 0 0 !important;
+ transform: none !important;
+ background: var(--identity-tab-color) !important;
+ transition-property: top, bottom, left, right, width, height, border-radius;
+ transition-duration: .225s !important;
+ transition-timing-function: var(--ease-out) !important;
+}
+
+.tab-bottom-line
+{
+ display: none !important;
+}
+
+.tabbrowser-tab[usercontextid][selected] > .tab-stack::after
+{
+ bottom: calc(100% - 9px) !important;
+ left: calc(100% - 9px) !important;
+ width: 6px !important;
+ height: 6px !important;
+ border-radius: 99px !important;
+}
+
+/* < 72 */
+#tabbrowser-tabs .arrowscrollbox-overflow-start-indicator,
+#tabbrowser-tabs .arrowscrollbox-overflow-end-indicator,
+/* >= 72 */
+#tabbrowser-tabs::part(arrowscrollbox-overflow-start-indicator),
+#tabbrowser-tabs::part(arrowscrollbox-overflow-end-indicator),
+/* no ::part workaround - may have side effects */
+spacer[part="overflow-start-indicator"],
+spacer[part="overflow-end-indicator"]
+{
+ display: none !important;
+}
+
+.tab-loading-burst[bursting]::before
+{
+ display: none !important;
+}
+
+/* high DPI adjustments */
+@media (min--moz-device-pixel-ratio: 2)
+{
+ .tabbrowser-tab::before
+ {
+ transform: translateY(.5px) !important;
+ }
+
+ .tabbrowser-tab:last-of-type::after
+ {
+ transform: translate(-1px, .5px) !important;
+ }
+
+ /* macOS */
+ @media (-moz-mac-yosemite-theme)
+ {
+ .titlebar-buttonbox
+ {
+ margin-top: .5px !important;
+ margin-bottom: -.5px !important;
+ }
+ }
+}
diff --git a/firefox/chrome/urlbar/connection-1x.svg b/firefox/chrome/urlbar/connection-1x.svg
new file mode 100644
index 0000000..f8568ac
--- /dev/null
+++ b/firefox/chrome/urlbar/connection-1x.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/firefox/chrome/urlbar/connection-2x.svg b/firefox/chrome/urlbar/connection-2x.svg
new file mode 100644
index 0000000..cfabbde
--- /dev/null
+++ b/firefox/chrome/urlbar/connection-2x.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/firefox/chrome/urlbar/connection-warning-1x.svg b/firefox/chrome/urlbar/connection-warning-1x.svg
new file mode 100644
index 0000000..94e73cd
--- /dev/null
+++ b/firefox/chrome/urlbar/connection-warning-1x.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/firefox/chrome/urlbar/connection-warning-2x.svg b/firefox/chrome/urlbar/connection-warning-2x.svg
new file mode 100644
index 0000000..ec5553b
--- /dev/null
+++ b/firefox/chrome/urlbar/connection-warning-2x.svg
@@ -0,0 +1,3 @@
+
diff --git a/firefox/chrome/urlbar/go.svg b/firefox/chrome/urlbar/go.svg
new file mode 100644
index 0000000..d819ee6
--- /dev/null
+++ b/firefox/chrome/urlbar/go.svg
@@ -0,0 +1,14 @@
+
\ No newline at end of file
diff --git a/firefox/chrome/urlbar/identity-icons-brand.svg b/firefox/chrome/urlbar/identity-icons-brand.svg
new file mode 100644
index 0000000..4870645
--- /dev/null
+++ b/firefox/chrome/urlbar/identity-icons-brand.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/firefox/chrome/urlbar/info-1x.svg b/firefox/chrome/urlbar/info-1x.svg
new file mode 100644
index 0000000..a88c105
--- /dev/null
+++ b/firefox/chrome/urlbar/info-1x.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/firefox/chrome/urlbar/info-2x.svg b/firefox/chrome/urlbar/info-2x.svg
new file mode 100644
index 0000000..158df0c
--- /dev/null
+++ b/firefox/chrome/urlbar/info-2x.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/firefox/chrome/urlbar/naughty-shield-1x.svg b/firefox/chrome/urlbar/naughty-shield-1x.svg
new file mode 100644
index 0000000..59327d5
--- /dev/null
+++ b/firefox/chrome/urlbar/naughty-shield-1x.svg
@@ -0,0 +1,4 @@
+
\ No newline at end of file
diff --git a/firefox/chrome/urlbar/naughty-shield-2x.svg b/firefox/chrome/urlbar/naughty-shield-2x.svg
new file mode 100644
index 0000000..549aad2
--- /dev/null
+++ b/firefox/chrome/urlbar/naughty-shield-2x.svg
@@ -0,0 +1,4 @@
+
\ No newline at end of file
diff --git a/firefox/chrome/urlbar/urlbar.css b/firefox/chrome/urlbar/urlbar.css
new file mode 100755
index 0000000..78f8502
--- /dev/null
+++ b/firefox/chrome/urlbar/urlbar.css
@@ -0,0 +1,793 @@
+.urlbarView-body-inner
+{
+ border: 0 !important;
+}
+
+.urlbarView-row
+{
+ padding: 0 !important;
+ border-radius: 0 !important;
+}
+
+.urlbarView-row-inner
+{
+ align-items: center !important;
+ position: relative !important;
+ padding: 12px 0 !important;
+ padding-inline: 48px 16px !important;
+ max-width: 100% !important;
+ width: auto !important;
+}
+
+.urlbarView-no-wrap
+{
+ height: 100% !important;
+ align-items: center !important;
+ margin-inline-start: 0 !important;
+ max-width: 100% !important;
+}
+
+.urlbarView-row[has-url][type]:not([type=bookmark]) .urlbarView-row-inner
+{
+ flex-direction: column !important;
+ align-items: flex-start !important;
+}
+
+.urlbarView-row[has-url][type]:not([type=bookmark]) .urlbarView-no-wrap
+{
+ height: auto !important;
+ align-self: flex-start !important;
+ width: 100% !important;
+}
+
+.urlbarView-title-separator
+{
+ visibility: visible !important;
+}
+
+.urlbarView-title-separator::before
+{
+ content: "-" !important;
+ color: inherit !important;
+}
+
+.urlbarView-title-separator,
+.urlbarView-action
+{
+ opacity: .6 !important;
+ color: inherit !important;
+ font-size: revert !important;
+}
+
+.urlbarView-favicon
+{
+ position: absolute !important;
+ left: 16px !important;
+ top: 50% !important;
+ transform: translateY(-50%) !important;
+ fill-opacity: .6 !important;
+ flex: unset !important;
+ margin: unset !important;
+}
+
+.urlbarView-title,
+.urlbarView-url
+{
+ text-overflow: ellipsis !important;
+ mask-image: none !important;
+}
+
+.urlbarView-title
+{
+ flex: 1 !important;
+ flex-basis: unset !important;
+}
+
+.urlbarView-url
+{
+ max-width: 100% !important;
+ font-size: revert !important;
+ color: var(--urlbar-popup-url-color) !important;
+ padding: 0 !important;
+}
+
+.urlbarView-url:not(:empty)
+{
+ visibility: visible !important;
+}
+
+.urlbarView-action:not(:empty)
+{
+ display: flex !important;
+}
+
+.urlbarView-row[type=search] ~ .urlbarView-row[type=search] .urlbarView-title-separator,
+.urlbarView-row[type=search] ~ .urlbarView-row[type=search] .urlbarView-action,
+.urlbarView-row[has-url][type]:not([type=bookmark]) .urlbarView-title-separator,
+.urlbarView-type-icon
+{
+ display: none !important;
+}
+
+.urlbarView-row[type=tip] > .urlbarView-row-inner > .urlbarView-favicon,
+.urlbarView-row[type=tip] > .urlbarView-row-inner > .urlbarView-title,
+.urlbarView-tip-button,
+.urlbarView-tip-help
+{
+ margin-block-end: 0 !important;
+}
+
+.urlbarView .search-one-offs
+{
+ padding: 4px !important;
+ display: flex !important;
+}
+
+.urlbarView .search-panel-one-offs-header
+{
+ margin-inline-start: 12px !important;
+ line-height: 40px !important;
+ transform: translateY(-1px) !important;
+}
+
+.urlbarView .search-panel-one-offs
+{
+ border-radius: 0 0 8px 8px !important;
+ display: inline-flex !important;
+ flex-direction: row !important;
+ padding: 0 !important;
+ margin: 0 !important;
+ float: left !important;
+ max-width: none !important;
+ height: auto !important;
+}
+
+.urlbarView .searchbar-engine-one-off-item
+{
+ height: 32px !important;
+ border-radius: 16px !important;
+ padding: 0 8px !important;
+ margin: 4px !important;
+ background-image: none !important;
+ color: inherit !important;
+ border: 0 !important;
+}
+
+#urlbar-container
+{
+ max-height: 36px !important;
+}
+
+#urlbar,
+#searchbar
+{
+ font-size: 14px !important;
+ border-radius: 99px !important;
+ background-color: var(--toolbar-field-background-color) !important;
+ border: 0 !important;
+ box-shadow: none !important;
+ padding: 2px !important;
+ background-clip: padding-box !important;
+ transition: background-color .1s var(--ease-basic) !important;
+ -moz-box-align: center !important;
+ display: block !important;
+ margin: 0 !important;
+ position: relative !important; /* 74+ */
+
+ --urlbar-height: 28px !important;
+
+ min-height: var(--urlbar-height) !important;
+}
+
+#urlbar:not(:-moz-lwtheme),
+#searchbar:not(:-moz-lwtheme)
+{
+ color: inherit !important;
+}
+
+#urlbar:hover,
+#searchbar:hover
+{
+ background-color: var(--toolbar-field-hover-background-color) !important;
+}
+
+#urlbar[focused],
+#urlbar[open],
+#searchbar[focused],
+#searchbar[open]
+{
+ background-color: var(--toolbar-field-focus-background-color) !important;
+}
+
+#urlbar[focused],
+#searchbar[focused]
+{
+ border: 2px solid var(--toolbar-field-focus-border-color) !important;
+ padding: 0 !important;
+ margin: 0 !important;
+}
+
+#urlbar[open],
+#searchbar[open]
+{
+ border: 0 !important;
+ padding: 0 !important;
+ border-radius: 8px !important;
+ min-height: 37px !important;
+ margin: 0 -5px -1px !important;
+ box-shadow:
+ 0 5px 5px -3px rgba(0,0,0,.2),
+ 0 8px 10px 1px rgba(0,0,0,.14),
+ 0 3px 14px 2px rgba(0,0,0,.12) !important;
+ position: relative !important;
+ z-index: 99999 !important;
+}
+
+/* 71+ */
+#urlbar-background
+{
+ display: none !important;
+}
+
+#urlbar-input-container,
+#searchbar
+{
+ display: flex !important;
+ align-items: center !important;
+}
+
+#urlbar-input-container
+{
+ height: auto !important;
+ padding: 0 !important;
+ border: 0 !important;
+}
+
+.urlbar-input-box,
+.searchbar-textbox
+{
+ flex: 1 !important;
+}
+
+#urlbar-input
+{
+ width: 100% !important;
+}
+
+#urlbar-input,
+.searchbar-textbox
+{
+ color: var(--lwt-toolbar-field-color) !important;
+}
+
+#urlbar-input::placeholder,
+.searchbar-textbox::placeholder
+{
+ opacity: .66 !important;
+}
+
+#urlbar[open] #urlbar-input-container
+{
+ height: 37px !important;
+}
+
+#urlbar[open] #identity-box
+{
+ margin-inline-start: 8px !important;
+ margin-inline-end: 8px !important;
+}
+
+.urlbarView
+{
+ top: 0 !important;
+ left: 0 !important;
+ right: 0 !important;
+ position: relative !important;
+ box-shadow: none !important;
+ border: 0 !important;
+ background: 0 !important;
+ margin: 0 !important;
+}
+
+#urlbar[open] .urlbarView
+{
+ display: block !important;
+ width: 100% !important;
+}
+
+#urlbar-results
+{
+ padding: 0 !important;
+}
+
+#urlbar-container,
+#searchbar-container
+{
+ overflow: visible !important;
+ padding: 0 !important;
+ margin-inline: 6px !important;
+}
+
+#identity-icon
+{
+ fill-opacity: 1 !important;
+}
+
+#identity-icon-labels
+{
+ color: inherit !important;
+ opacity: 1 !important;
+ padding: 0 !important;
+ margin-inline-start: 8px !important;
+ margin-block-start: -1px !important;
+ display: none !important;
+ align-items: center !important;
+}
+
+#identity-box
+{
+ display: flex !important;
+ position: relative !important;
+}
+
+#urlbar-label-box
+{
+ border: 0 !important;
+ padding: 0 !important;
+}
+
+/* separator */
+#identity-icon-labels::after
+{
+ content: "" !important;
+ display: block !important;
+ position: absolute !important;
+ height: 16px !important;
+ right: 0 !important;
+ background: #9d9e9f !important;
+ width: 1px !important;
+ transition: opacity .2s var(--ease-basic) !important;
+}
+
+#urlbar[pageproxystate=valid]:not([open]) #identity-box:-moz-any(.notSecureText, .verifiedIdentity, .chromeUI, .extensionPage, .certUserOverridden),
+#urlbar-label-box
+{
+ margin-inline-end: 8px !important;
+}
+
+#urlbar[pageproxystate=valid]:not([open]) #identity-box:-moz-any(.notSecureText, .verifiedIdentity, .chromeUI, .extensionPage, .certUserOverridden) #identity-icon-labels
+{
+ display: flex !important;
+}
+
+
+#urlbar[pageproxystate=valid] #identity-box:-moz-any(.notSecureText, .verifiedIdentity, .chromeUI, .extensionPage, .certUserOverridden):not(.no-hover):-moz-any([open], :hover) #identity-icon-labels::after
+{
+ opacity: 0 !important;
+}
+
+#identity-box.extensionPage > #identity-icon
+{
+ list-style-image: none !important;
+ margin-inline-end: -16px !important;
+}
+
+/* no longer used as a connection icon */
+#connection-icon
+{
+ display: none !important;
+}
+
+#urlbar[pageproxystate=valid] #identity-box:-moz-any(
+ .mixedActiveBlocked,
+ .mixedDisplayContentLoadedActiveBlocked,
+ .mixedActiveContent
+) > #connection-icon
+{
+ display: -moz-box !important;
+}
+
+#urlbar[pageproxystate=valid] #identity-box:-moz-any(.weakCipher, .certUserOverridden, .certErrorPage, .insecureLoginForms, .mixedActiveContent)
+{
+ color: #c94031 !important;
+}
+
+.urlbar-input
+{
+ padding: 0 !important;
+}
+
+.searchbar-textbox
+{
+ border: 0 !important;
+ background: 0 !important;
+ box-shadow: none !important;
+ margin: 0 !important;
+ -moz-appearance: none !important;
+}
+
+.searchbar-search-icon
+{
+ margin: 0 !important;
+ fill-opacity: 1 !important;
+}
+
+.searchbar-search-icon-overlay
+{
+ margin-inline-start: -11px !important;
+ margin-inline-end: 0 !important;
+
+ /* not really useful anyway */
+ display: none !important;
+}
+
+#page-action-buttons > #pageActionSeparator,
+.urlbar-history-dropmarker
+{
+ display: none !important;
+}
+
+#pageActionSeparator
+{
+ height: 24px !important;
+}
+
+.urlbar-icon-wrapper
+{
+ background: 0 !important;
+}
+
+.urlbar-icon,
+#page-action-buttons > toolbarbutton,
+.searchbar-search-button,
+#identity-box,
+#tracking-protection-icon-box
+{
+ min-width: 32px !important;
+ height: 24px !important;
+ padding: 4px 8px !important;
+ margin: 0 !important;
+ border: 0 !important;
+ border-radius: 99px !important;
+ fill-opacity: 1 !important;
+ transition: background-color .2s var(--ease-basic) !important;
+ background: 0 !important;
+ background-color: transparent !important;
+}
+
+#tracking-protection-icon-container
+{
+ background: 0 !important;
+ border: 0 !important;
+ margin: 0 !important;
+ padding: 0 !important;
+ width: auto !important;
+ order: 97 !important;
+}
+
+#tracking-protection-icon-box
+{
+ display: block !important;
+ width: 32px !important;
+}
+
+#tracking-protection-icon-box
+{
+ transition:
+ background-color .2s var(--ease-basic),
+ width .15s var(--ease-in),
+ opacity .15s var(--ease-basic),
+ visibility 0s .2s !important;
+ opacity: 0 !important;
+ visibility: hidden !important;
+ width: 0 !important;
+}
+
+#urlbar:hover #tracking-protection-icon-box,
+#tracking-protection-icon-container[open] #tracking-protection-icon-box,
+#tracking-protection-icon-box[active]
+{
+ transition:
+ background-color .2s var(--ease-basic),
+ width .3s var(--ease-out),
+ opacity .3s var(--ease-basic) !important;
+ opacity: 1 !important;
+ visibility: visible !important;
+ width: 32px !important;
+}
+
+#tracking-protection-icon
+{
+ display: block !important;
+}
+
+#tracking-protection-icon-animatable-box
+{
+ display: none !important;
+}
+
+#identity-box #notification-popup-box
+{
+ padding: 0 !important;
+ margin: 0 !important;
+}
+
+#page-action-buttons
+{
+ height: 24px !important;
+ display: flex !important;
+ order: 99 !important;
+}
+
+#urlbar[open] #page-action-buttons,
+#urlbar[open] #tracking-protection-icon-container
+{
+ display: none !important;
+}
+
+.urlbar-icon:hover:not([disabled]),
+#page-action-buttons > toolbarbutton:hover:not([disabled]),
+.searchbar-search-button:hover,
+#identity-box:hover:not(.no-hover),
+#tracking-protection-icon-container:hover #tracking-protection-icon-box
+{
+ background-color: var(--toolbarbutton-hover-background) !important;
+}
+
+.urlbar-icon:hover:active:not([disabled]),
+.urlbar-icon[open],
+#page-action-buttons > toolbarbutton:hover:active:not([disabled]),
+.searchbar-search-button:hover:active,
+#identity-box:hover:active:not(.no-hover),
+#identity-box[open]:not(.no-hover),
+#tracking-protection-icon-container[open] #tracking-protection-icon-box
+{
+ background-color: var(--toolbarbutton-active-background) !important;
+ transition-duration: 0 !important;
+}
+
+#contextual-feature-recommendation
+{
+ width: auto !important;
+}
+
+.urlbar-page-action:-moz-any(
+ #reader-mode-button,
+ #pageActionButton,
+ #pocket-button-box,
+ #pageAction-urlbar-screenshots_mozilla_org,
+ #pageAction-urlbar-sendToDevice,
+ #pageAction-urlbar-emailLink,
+ #pageAction-urlbar-copyURL,
+ #pageAction-urlbar-shareURL,
+ #pageAction-urlbar-addSearchEngine
+)
+{
+ transition:
+ background-color .2s var(--ease-basic),
+ margin .15s var(--ease-in),
+ opacity .15s var(--ease-basic),
+ visibility 0s 4s !important;
+ opacity: 0 !important;
+ visibility: hidden !important;
+ margin-inline-start: -32px !important;
+}
+
+#urlbar:hover .urlbar-page-action:-moz-any(
+ #reader-mode-button,
+ #pageActionButton,
+ #pocket-button-box,
+ #pageAction-urlbar-screenshots_mozilla_org,
+ #pageAction-urlbar-sendToDevice,
+ #pageAction-urlbar-emailLink,
+ #pageAction-urlbar-copyURL,
+ #pageAction-urlbar-shareURL,
+ #pageAction-urlbar-addSearchEngine
+),
+.urlbar-page-action:-moz-any(
+ #reader-mode-button,
+ #pageActionButton,
+ #pocket-button-box,
+ #pageAction-urlbar-screenshots_mozilla_org,
+ #pageAction-urlbar-sendToDevice,
+ #pageAction-urlbar-emailLink,
+ #pageAction-urlbar-copyURL,
+ #pageAction-urlbar-shareURL,
+ #pageAction-urlbar-addSearchEngine
+):-moz-any(:hover, [open], [readeractive]),
+.urlbar-page-action:-moz-any(:hover, [open]) ~ .urlbar-page-action:-moz-any(
+ #reader-mode-button,
+ #pageActionButton,
+ #pocket-button-box,
+ #pageAction-urlbar-screenshots_mozilla_org,
+ #pageAction-urlbar-sendToDevice,
+ #pageAction-urlbar-emailLink,
+ #pageAction-urlbar-copyURL,
+ #pageAction-urlbar-shareURL,
+ #pageAction-urlbar-addSearchEngine),
+#tracking-protection-icon-container[open] ~ #page-action-buttons .urlbar-page-action:-moz-any(
+ #reader-mode-button,
+ #pageActionButton,
+ #pocket-button-box,
+ #pageAction-urlbar-screenshots_mozilla_org,
+ #pageAction-urlbar-sendToDevice,
+ #pageAction-urlbar-emailLink,
+ #pageAction-urlbar-copyURL,
+ #pageAction-urlbar-shareURL,
+ #pageAction-urlbar-addSearchEngine)
+{
+ transition:
+ background-color .2s var(--ease-basic),
+ margin .3s var(--ease-out),
+ opacity .3s var(--ease-basic) !important;
+ opacity: 1 !important;
+ visibility: visible !important;
+ margin-inline-start: 0 !important;
+}
+
+.urlbar-display
+{
+ color: inherit !important;
+ margin: 0 !important;
+}
+
+#pocket-button-box[animate] > #pocket-animatable-box
+{
+ margin-inline-start: 6px !important;
+}
+
+#star-button-animatable-box
+{
+ display: none !important;
+}
+
+#userContext-icons
+{
+ flex-direction: row !important;
+ align-items: center !important;
+ justify-content: center !important;
+ position: relative !important;
+ padding-inline: 8px !important;
+ margin: 0 !important;
+ color: var(--identity-tab-color) !important;
+}
+
+#userContext-icons:not([hidden])
+{
+ display: flex !important;
+}
+
+#userContext-icons > *
+{
+ z-index: 1 !important;
+ color: inherit !important;
+ fill: currentColor !important;
+}
+
+#userContext-label
+{
+ margin: 0 !important;
+}
+
+#userContext-label + #userContext-indicator
+{
+ margin-inline-start: 6px !important;
+}
+
+#userContext-icons::before
+{
+ content: '' !important;
+ position: absolute !important;
+ left: 0 !important;
+ right: 0 !important;
+ top: 0 !important;
+ bottom: 0 !important;
+ background: var(--identity-tab-color) !important;
+ border-radius: 99px !important;
+ opacity: .1 !important;
+}
+
+#cfr-label-container
+{
+ background: 0 !important;
+}
+
+#cfr-label
+{
+ display: none !important;
+}
+
+#cfr-button
+{
+ fill: currentColor !important;
+}
+
+#urlbar[open] #urlbar-go-button,
+#searchbar[open] #search-go-button,
+/* < 71 */
+#urlbar[open] .urlbar-go-button,
+#searchbar[open] .search-go-button
+{
+ height: 32px !important;
+}
+
+#urlbar-go-button,
+#search-go-button,
+/* < 71 */
+.urlbar-go-button,
+.search-go-button
+{
+ list-style-image: url(go.svg) !important;
+}
+
+.search-go-container
+{
+ display: flex !important;
+}
+
+#searchbar .textbox-input
+{
+ padding: 0 !important;
+}
+
+/* lock (secure) */
+#identity-box[pageproxystate="valid"]:-moz-any(.verifiedDomain, .verifiedIdentity, .mixedActiveBlocked) > #identity-icon
+{
+ list-style-image: var(--lock-icon) !important;
+}
+
+/* info (not secure) */
+#identity-box[pageproxystate="valid"]:-moz-any(.mixedDisplayContent, .mixedDisplayContentLoadedActiveBlocked, .unknownIdentity) > #identity-icon
+{
+ list-style-image: var(--info-icon) !important;
+}
+
+/* warning (dangerous) */
+#identity-box[pageproxystate="valid"]:-moz-any(.notSecure, .weakCipher, .certUserOverridden, .certErrorPage, .insecureLoginForms, .mixedActiveContent) > #identity-icon
+{
+ list-style-image: var(--warning-icon) !important;
+}
+
+#urlbar-input,
+#searchbar-input,
+.searchbar-textbox /* < 71 */
+{
+ transform: translateY(var(--input-offset)) !important;
+ line-height: 1.745em !important;
+}
+
+/* 1x */
+#urlbar
+{
+ --info-icon: url(info-1x.svg);
+ --lock-icon: url(connection-1x.svg);
+ --warning-icon: url(connection-warning-1x.svg);
+}
+
+#urlbar,
+#searchbar
+{
+ --input-offset: -1px;
+}
+
+/* 2x */
+@media (min--moz-device-pixel-ratio: 2)
+{
+ #urlbar
+ {
+ --info-icon: url(info-2x.svg);
+ --lock-icon: url(connection-2x.svg);
+ --warning-icon: url(connection-warning-2x.svg);
+ }
+
+ #urlbar,
+ #searchbar
+ {
+ --input-offset: -.5px;
+ }
+
+ #identity-icon-labels
+ {
+ padding-inline-end: .5px !important;
+ }
+}
\ No newline at end of file
diff --git a/firefox/chrome/userChrome.css b/firefox/chrome/userChrome.css
new file mode 100644
index 0000000..eec82f5
--- /dev/null
+++ b/firefox/chrome/userChrome.css
@@ -0,0 +1,30 @@
+/* Example file enabling theme + some features */
+
+/* material firefox imports */
+/* @import "global/variables.css"; */
+/* @import "global/global.css"; */
+/* @import "icons/icons.css"; */
+/* @import "tabbar/tabbar.css"; */
+/* @import "navbar/navbar.css"; */
+/* @import "personalbar/personalbar.css"; */
+/* @import "popup/popup.css"; */
+/* @import "urlbar/urlbar.css"; */
+/* @import "findbar/findbar.css"; */
+
+/*@import url(chrome/theme_color_variables.css);
+@import url(chrome/theme_toolbars.css);
+@import url(chrome/theme_sidebar.css);
+@import url(chrome/theme_popups_and_menus.css);
+@import url(chrome/theme_additional_windows.css);*/
+/* @import url(chrome/status_inside_urlbar.css); */
+/*@import url(chrome/navigation_buttons_inside_urlbar.css);*/
+@import url(chrome/tab_close_button_always_on_hover.css);
+@import url(chrome/button_effect_scale_onclick.css);
+@import url(chrome/blank_page_background.css);
+/* @import url(chrome/navbar_tabs_oneliner.css); */
+@import url(chrome/navbar_tabs_oneliner_tabs_on_left.css);
+/* @import url(chrome/navbar_notabs.css); */
+/* @import url(chrome/page_action_buttons_on_hover.css); */
+@import url(chrome/autohide_sidebar.css);
+@import url(chrome/menubar_in_toolbar.css);
+@import url(chrome/hide_toolbox_top_bottom_borders.css);
diff --git a/firefox/chrome/userContent.css b/firefox/chrome/userContent.css
new file mode 100644
index 0000000..d5e1f00
--- /dev/null
+++ b/firefox/chrome/userContent.css
@@ -0,0 +1,6 @@
+/* Example file */
+
+@import url(content/css_scrollbar_width_color.css);
+/* @import url(content/limit_css_data_leak.css); */ /* Could induce site problems */
+@import url(content/newtab_background_color.css);
+@import url(content/transparent_reader_toolbar.css);
\ No newline at end of file
diff --git a/rofi/launchers-git/blurry.rasi b/rofi/launchers-git/blurry.rasi
index 4e3178e..f82c168 100644
--- a/rofi/launchers-git/blurry.rasi
+++ b/rofi/launchers-git/blurry.rasi
@@ -8,7 +8,7 @@
*/
configuration {
- font: "Noto Sans 10";
+ font: "VictorMono Nerd Font 11";
show-icons: true;
icon-theme: "Papirus";
display-drun: "⮞";